LiquidSwap SDK
The typescript SDK for Liquidswap.
Usage
Init SDK
import { SDK } from '@pontem/liquidswap-sdk';
const sdk = new SDK({
nodeUrl: 'https://fullnode.devnet.aptoslabs.com',
networkOptions: {
nativeToken: '0x1::test_coin::TestCoin',
modules: {
Scripts:
'0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9::scripts',
CoinInfo: '0x1::coin::CoinInfo',
CoinStore: '0x1::coin::CoinStore',
},
}
})
You want swap EXACTLY 1 APTOS to SLIPPAGED BTC amount
(async () => {
const amount = await sdk.Swap.calculateRates({
fromToken: '0x1::test_coin::TestCoin',
toToken: '0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9::coins::BTC',
amount: 1000000,
interactiveToken: 'from',
pool: {
address: '0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9',
moduleAddress: '0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9',
lpToken: '0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9::lp::LP<0x1::test_coin::TestCoin, 0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9::coins::BTC>'
}
})
console.log(amount)
const txPayload = sdk.Swap.createSwapTransactionPayload({
fromToken: '0x1::test_coin::TestCoin',
toToken: '0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9::coins::BTC',
fromAmount: 1000000,
toAmount: 1584723,
interactiveToken: 'from',
slippage: 0.05,
pool: {
address: '0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9',
moduleAddress: '0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9',
lpToken: '0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9::lp::LP<0x1::test_coin::TestCoin, 0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9::coins::BTC>'
}
})
console.log(txPayload);
})()
You want get EXACTLY 0.001 BTC and send SLIPPAGED APTOS amount
(async () => {
const amount = await sdk.Swap.calculateRates({
fromToken: '0x1::test_coin::TestCoin',
toToken: '0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9::coins::BTC',
amount: 100000,
interactiveToken: 'to',
pool: {
address: '0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9',
moduleAddress: '0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9',
lpToken: '0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9::lp::LP<0x1::test_coin::TestCoin, 0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9::coins::BTC>'
}
})
console.log(amount)
const txPayload = sdk.Swap.createSwapTransactionPayload({
fromToken: '0x1::test_coin::TestCoin',
toToken: '0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9::coins::BTC',
fromAmount: 116831,
toAmount: 100000,
interactiveToken: 'to',
slippage: 0.05,
pool: {
address: '0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9',
moduleAddress: '0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9',
lpToken: '0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9::lp::LP<0x1::test_coin::TestCoin, 0x43417434fd869edee76cca2a4d2301e528a1551b1d719b75c350c3c97d15b8b9::coins::BTC>'
}
})
console.log(txPayload);
})()