@transitswap/js-sdk
v1.0.2
Published
Transit Swap js SDK
Readme
transit-js-sdk
This SDK is a JavaScript library for buying or selling and cross swap on Transit Swap, so you don't need to interact with the Transit Swap API and smart contracts directly.
If you just want to get information about api params or return result, call the API directly.
Getting Started
The SDK without requires an Transit Swap API key.
Install
Install with
npm i @transitswap/js-sdkInitiating SDK
const transit = require("@transitswap/js-sdk")Constant Methods
- Query all supported chains for Transit Swap. Return
chainjson array.
//chain json
//{
// chain: 'ETH',
// chainId: 1,
// icon: 'https://tp-statics.tokenpocket.pro/token/tokenpocket-1654746200716.png'
//}
const chainList = await transit.swapV1.getSupportChain()- Query the smart contract address of the specified chain.
- Before swap, the signer must approve ERC20 spending by the
approveProxy contract multiRouteris the router of aggregator swap.crossRouteris the router of cross chain swap.
const approveProxy = await transit.swapV1.getApproveProxy(chain)
const multiRouter = await transit.swapV1.getMultiRouter(chain)
const crossRouter = await transit.swapV1.getCrossRouter(chain)Other Methods
- Query Transaction details on Transit Swap
const hash = "0x0cec30133c4362c9053266e3bc67a5f2d25aac5d0a75a5a46e3cbc37a9a91573"
const res = await transitSwap.swapV1.quoteDetails(hash)
console.log("amount out:", res.getAmountOut())- To swap Native(
0x0000000000000000000000000000000000000000) or Token, call thequoteSwapmethod:
const data = {
chain: "BSC",
token0: "0x0000000000000000000000000000000000000000",
token1: "0x55d398326f99059ff775485246999027b3197955",
decimal0: 18,
decimal1: 18,
to: "Your wallet address",
amountIn: "1000000000000000000",
impact: "300",
amountOutMin: "0",
part: 10,
channel: "Your specified channel",
issuer: "Your wallet address"
}
const res = await transitSwap.swapV1.quoteSwap(data)
if (res.isSuccess) {
console.log("returun data:", res)
} else {
console.log("query failure:", res.msg)
}- Query supported tokens & chains of cross, call the
quoteCrossTokensmethod:
const res = await transitSwap.swapV1.quoteCrossTokens()
if (res.isSuccess) {
console.log("returun data:", res.getBridgers(),res.getChains(),res.getTokens())
} else {
console.log("query failure:", res.msg)
}- Before cross swap, should query the transfer limit amount, call the
quoteCrossTransferLimitmethod:
const data = {
token0: "0xa71edc38d189767582c38a3145b5873052c3e47a",
token1: "0x55d398326f99059ff775485246999027b3197955",
fromChainID: 128,
toChainID: 56,
bridge: "METAPATH"
}
const res = await transitSwap.swapV1.quoteCrossTransferLimit(data)
if (res.isSuccess) {
console.log("returun data:", res.getMaximumSwap(),res.getMinimumSwap())
} else {
console.log("query failure:", res.msg)
}About channel
Transit Swap supports partner’s "channel merchants" who can set special channel rates and rebates. Welcome to be our partner!
Email: [email protected]
Twitter: https://twitter.com/TransitFinance
Telegram: https://t.me/Transit_Finance
Example: Cross swap USDT(BSC) to USDT(TRON) by METAPATH
If the bridge is METAPATH , should call the method CallbackSwap to speed up cross's transaction. You don't need to process the callback returned information.
const data = {
bridge: "METAPATH",
token0: "0x55d398326f99059ff775485246999027b3197955",
token1: "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
decimal0: 18,
decimal1: 6,
to: "The recipient wallet",
amountIn: "11000000",
fromChainID: 56,
toChainID: 95500,
channel: "Your specified channel",
issuer: "The signer wallet"
}
const res = await transitSwap.swapV1.quoteCrossSwap(data)
if(res.isSuccess) {
//use res.getRouter(),res.getData() to send transaction...
} else {
console.log("query failure:",res.msg)
}
// optional
const callbackData = {
bridge: "METAPATH",
token0: "0x55d398326f99059ff775485246999027b3197955",
token1: "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
decimal0: 18,
decimal1: 6,
to: "The recipient wallet",
amountIn: "11000000",
fromChainID: 56,
toChainID: 95500,
channel: "Your specified channel",
issuer: "The signer wallet",
amountOutMin: res.getAmountOut(),
hash: ${hash}
}
if (res.getExchange()=="MetaPath") {
await transitSwap.swapV1.CallbackSwap(callbackData)
}Error Codes of API Response
This section is in the works and will provide more comprehensive documentation once completed.
The error information can now be fetched from 'msg'. If result='Failure' or isSuccess=false, it works.
Contributing
Transit Swap welcomes contributions in the form of GitHub issues and pull-requests.
