An sdk for for third party clients to programatically interact with nearx.
- 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
.
- 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.
export const getUserNearxBalance = async (
network: Network,
accountId: string
) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
return nearxPoolClient.getUserNearxBalance(accountId);
};
export const getUserAccount = async (network: Network, accountId: string) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
return nearxPoolClient.getUserAccount(accountId);
};
export const getNearxPrice = async (network: Network, accountId: string) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
return nearxPoolClient.getNearxPrice();
};
export const getTotalNearxSupply = async (
network: Network,
accountId: string
) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
return nearxPoolClient.getTotalNearxSupply();
};
export const getNearxValidators = async (
network: Network,
accountId: string
) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
return nearxPoolClient.getValidators();
};
export const getTotalNearStaked = async (
network: Network,
accountId: string
) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
return nearxPoolClient.getTotalNearStaked();
};
export const depositAndStake = async (
network: Network,
accountId: string,
amount: string
) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
nearxPoolClient.depositAndStake(amount);
};
export const unstake = async (
network: Network,
accountId: string,
amount: string
) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
nearxPoolClient.unstake(amount);
};
export const unstakeAll = async (network: Network, accountId: string) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
nearxPoolClient.unstakeAll();
};
export const withdraw = async (
network: Network,
accountId: string,
amount: string
) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
nearxPoolClient.withdraw(amount);
};
export const withdrawAll = async (network: Network, accountId: string) => {
const nearxPoolClient = await NearxPoolClient.create(network, accountId);
nearxPoolClient.withdrawAll();
};