yarn add @thorchain/multichain-sdk
OR
yarn add git+https://github.com/skyorion427/multichain-sdk.git
set env variable for etherscan api key to get the explorer urls
ETHERSCAN_API_KEY=xxx
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()
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
Write unit test