nearx-sdk
v1.1.1-fix-browser-issue
Published
An sdk for for third party clients to programatically interact with nearx.
Downloads
4
Readme
nearx-sdk
An sdk for for third party clients to programatically interact with nearx.
Get Started
- Add nearx-sdk to your package.json file. Pick the latest version(which is currently 1.0.0)
- Run
near login
to import the private keys of your account to ~/.near-credentials directory. If you intend to interact with the mainnet contract then runNEAR_ENV=mainnet near login
.
Important Parameters
- accountId: All the commands which performs a state change like stake, unstake and withdraw take in an accountId parameters.
- network: Network can be either be mainnet or testnet. Mainnet option will perform the operations on v2-nearx.stader-labs.near contract and the testnet option will perform the operations on v2-nearx.staderlabs.testnet.
Usage
To check a user's NEARX balance on mainnet contract
export const getUserNearxBalance = async (
network: Network,
accountId: string
) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
return nearxPoolClient.getUserNearxBalance(accountId);
};
To check a user's account on mainnet contract
export const getUserAccount = async (network: Network, accountId: string) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
return nearxPoolClient.getUserAccount(accountId);
};
To get the NEARX price
export const getNearxPrice = async (network: Network, accountId: string) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
return nearxPoolClient.getNearxPrice();
};
To get the NEARX supply
export const getTotalNearxSupply = async (
network: Network,
accountId: string
) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
return nearxPoolClient.getTotalNearxSupply();
};
To get the NEARX validators
export const getNearxValidators = async (
network: Network,
accountId: string
) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
return nearxPoolClient.getValidators();
};
To get the total NEAR staked with the NEARX validator pool
export const getTotalNearStaked = async (
network: Network,
accountId: string
) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
return nearxPoolClient.getTotalNearStaked();
};
To stake NEAR and get NEARX
export const depositAndStake = async (
network: Network,
accountId: string,
amount: string
) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
nearxPoolClient.depositAndStake(amount);
};
To unstake NEARX
export const unstake = async (
network: Network,
accountId: string,
amount: string
) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
nearxPoolClient.unstake(amount);
};
To unstake all NEARX
export const unstakeAll = async (network: Network, accountId: string) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
nearxPoolClient.unstakeAll();
};
To withdraw your unstaked NEAR
export const withdraw = async (
network: Network,
accountId: string,
amount: string
) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
nearxPoolClient.withdraw(amount);
};
To withdraw all your unstaked NEAR
export const withdrawAll = async (network: Network, accountId: string) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
nearxPoolClient.withdrawAll();
};