We moved all SDK example into the SDK repository. Please find them there: https://github.com/lifinance/sdk?tab=readme-ov-file#examples
The demo of our SDK executes a simple cross chain transfer of 1 USDT from Polygon to xDai using the best bridge it can find.
It needs access to an actual wallet and makes real transactions on chain.
- First you need to specify your
MNEMONIC
in your enviroment, e.g.
export MNEMONIC="..."
- Execute the script.
Either the TypeScript version:
ts-node index.ts
Or the Javascript version:
node index.js
- Sit back, relax and watch the show.
First a route is searched and the script prints out what it found. The property toAmount
will tell you how much USDT will end up on xDAI.
Then the SDK will execute all nessesarry steps to do the transfer (approval, send Transaction, wait the bridge, claim, ... ). It prints out status updates for each of these steps
Sample output:
{
route: {
id: '0xcae9da9a53573ee1b5f81f6fe7ebfcb49945a082455fa2be3662b44434cd156b',
fromChainId: 137,
fromAmountUSD: '1.00',
fromAmount: '1000000',
fromToken: {
id: '0xc2132d05d31c914a87c6611c10748aeb04b58e8f',
symbol: 'USDT',
decimals: 6,
chainId: 137,
name: '(PoS) Tether USD',
chainKey: 'pol',
key: 'USDT',
priceUSD: '1',
logoURI: 'https://static.debank.com/image/matic_token/logo_url/0xc2132d05d31c914a87c6611c10748aeb04b58e8f/66eadee7b7bb16b75e02b570ab8d5c01.png'
},
toChainId: 100,
toAmountUSD: '0.85',
toAmount: '851698',
toAmountMin: '851698',
toToken: {
id: '0x4ecaba5870353805a9f068101a40e0f32ed605c6',
symbol: 'USDT',
decimals: 6,
chainId: 100,
name: 'Tether USD on xDai',
chainKey: 'dai',
key: 'USDT',
priceUSD: '1',
logoURI: 'https://static.debank.com/image/xdai_token/logo_url/0x4ecaba5870353805a9f068101a40e0f32ed605c6/66eadee7b7bb16b75e02b570ab8d5c01.png'
},
gasCostUSD: '0.01',
steps: [ [Object] ]
}
}
{ status: 'NOT_STARTED', process: [] }
{
status: 'PENDING',
process: [
{
id: 'allowanceProcess',
startedAt: 1638960397132,
message: 'Set Allowance for USDT',
status: 'PENDING'
}
]
}
...
{
status: 'DONE',
process: [
{
id: 'allowanceProcess',
startedAt: 1638960397132,
message: 'Already Approved',
status: 'DONE',
doneAt: 1638960397438
},
{
id: 'crossProcess',
startedAt: 1638960397438,
message: 'Transfer started: ',
status: 'DONE',
txHash: '0xfc8f43109ccdd7ea6446b770e99b0e3e449ebb13b0d07aae3553bb10994ac24d',
txLink: 'https://polygonscan.com/tx/0xfc8f43109ccdd7ea6446b770e99b0e3e449ebb13b0d07aae3553bb10994ac24d',
doneAt: 1638960430378
},
{
id: 'claimProcess',
startedAt: 1638960430378,
message: 'Swapped:',
status: 'DONE',
txHash: '0x55b2472502a6e7768eea47add832d06f5c7083ff2a808e5648985197bd84ed04',
txLink: 'https://blockscout.com/xdai/mainnet/tx/0x55b2472502a6e7768eea47add832d06f5c7083ff2a808e5648985197bd84ed04',
doneAt: 1638960852668
}
],
fromAmount: '1000000',
toAmount: '851698'
}
DONE