nearx-sdk
TypeScript icon, indicating that this package has built-in type declarations

1.1.1-fix-browser-issue • Public • Published

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();
};

Readme

Keywords

none

Package Sidebar

Install

npm i nearx-sdk

Weekly Downloads

0

Version

1.1.1-fix-browser-issue

License

MIT

Unpacked Size

198 kB

Total Files

24

Last publish

Collaborators

  • bchain