Skip to content

stader-labs/nearx-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nearx-sdk

An sdk for for third party clients to programatically interact with nearx.

Get Started

  1. Add nearx-sdk to your package.json file. Pick the latest version(which is currently 1.0.0)
  2. 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 run NEAR_ENV=mainnet near login.

Important Parameters

  1. accountId: All the commands which performs a state change like stake, unstake and withdraw take in an accountId parameters.
  2. 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();
};

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published