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

/nearx-sdk/

    Package Sidebar

    Install

    npm i nearx-sdk

    Weekly Downloads

    9

    Version

    1.1.1-fix-browser-issue

    License

    MIT

    Unpacked Size

    198 kB

    Total Files

    24

    Last publish

    Collaborators

    • bchain