Skip to content

matheus-gsilva-ifood/multichain-sdk

Repository files navigation

Multichain SDK

License ts code style: prettier

Installation

yarn add @thorchain/multichain-sdk

OR

yarn add git+https://github.com/skyorion427/multichain-sdk.git

Env variable

set env variable for etherscan api key to get the explorer urls

ETHERSCAN_API_KEY=xxx

Usage

Please refer examples for the detailed usage

import { ThorchainSDk } from 'thorchain-sdk'

const thorchain = new ThorchainSDk({ network: 'testnet', phrase: 'xxxx' })
)

const useThorchain = async () => {
  try {
    // quote swap
    const swapEntity = thorchain.quote('BTC.BTC', 'BNB.BNB', 100)

    console.log(swapEntity.outputAmount.assetAmount.toNumber())
    console.log(swapEntity.slip.assetAmount.toNumber())
    console.log(swapEntity.hasInSufficientFee)
    console.log(swapEntity.estimatedNetworkFee.assetAmount.toNumber())

    // refresh
    thorchain.refresh()

    // execute swap
    const txExplorerUrl = await thorchain.swap(swapEntity)

    console.log(txExplorerUrl)
  } catch (error) {
    console.log(error)
  }
}

useThorchain()


Entities

Amount: represent asset/base amount, support calculations, compare, format

Asset: represent any asset in the chain, support sort, format, price, currency

AssetAmount: represent amount of asset, support calculations, unitPrice, totalPrice

Percent: represent percentage of asset

Pool: represent a Pool Information

Price: represent a price of asset, support unit price, amount price, inverted price

Swap: represent all data needed for swap, provide everything for calculations, validation

Liquidity: represent pool liquidity and provide liquidity calculations

Memo: represent a memo and provide get memo utils

TODO

Write unit test

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published