@rabby-wallet/rabby-swap 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__tests__/decodeCalldata.ts +279 -0
- package/dist/abi.d.ts +106 -0
- package/dist/abi.js +545 -0
- package/dist/consts.d.ts +61 -1
- package/dist/consts.js +74 -14
- package/dist/dexs/0xapi.d.ts +2 -1
- package/dist/dexs/0xapi.js +42 -7
- package/dist/dexs/1inch.d.ts +2 -1
- package/dist/dexs/1inch.js +41 -5
- package/dist/dexs/paraswap.d.ts +2 -1
- package/dist/dexs/paraswap.js +70 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/quote.d.ts +11 -0
- package/dist/quote.js +15 -3
- package/package.json +2 -1
- package/src/abi.ts +548 -0
- package/src/consts.ts +81 -20
- package/src/dexs/0xapi.ts +57 -8
- package/src/dexs/1inch.ts +65 -6
- package/src/dexs/paraswap.ts +105 -1
- package/src/dexs/wrapToken.ts +1 -1
- package/src/index.ts +15 -4
- package/src/quote.ts +29 -4
- package/svgTransform.js +11 -0
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
import { decodeCalldata, DecodeCalldataResult } from "../src/quote";
|
|
2
|
+
import { DEX_ENUM } from "../src/consts";
|
|
3
|
+
import { CHAINS_ENUM, CHAINS } from '@debank/common';
|
|
4
|
+
|
|
5
|
+
describe('1inch calldata decode', () => {
|
|
6
|
+
it("swap from ERC20 to ERC20", () => {
|
|
7
|
+
const res = decodeCalldata(DEX_ENUM.ONEINCH, {
|
|
8
|
+
from: "",
|
|
9
|
+
to: "",
|
|
10
|
+
data: "0x12aa3caf0000000000000000000000003b17056cc4439c61cea41fe1c9f517af75a978f7000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000002217e5921b7edfb4bb193a6228459974010d2198000000000000000000000000e7b0ce0526fbe3969035a145c9e9691d4d9d216c00000000000000000000000026f16667830dc45a21517c5b25476463bbbe820c000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000052b500875885d59b5b000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003298cdc6a5396d1f141a696999b5db4f7761d250a70403f995c8bff480cbe5ebda120958e57bdc6398587f2f8f2c3ff329565e9a1e867b2ddefb93409d4a942b18d0000000000000000000000000000000000000000000002cb00029d00025300a007e5c0d200000000000000000000000000000000000000000000022f0001b400019a4020e7b0ce0526fbe3969035a145c9e9691d4d9d216c2b651a6c000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000056ccab0f536ec400000000005f5dbaf0000001dc688b6a000b1a2bc2ec5000001310064638875680000000000000000000000003b17056cc4439c61cea41fe1c9f517af75a978f7000000000000000000000000000000000000000000000000000000000000001c3c9039f4693fb481f2782bc4707baeaf7fe47db91611369900e40f4f0cd152e42f1bb96f25e9f2598b0900a2b0245fc47d93bd2cf854fef0b1d6767b4fc85ccb0000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000002031494e43480000000000000000000000000000000000000000000000000000000020d6bdbf78c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20c20c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2b34716031c7196ac4a8914b164119e74d921a7fb6ae4071198002dc6c0b34716031c7196ac4a8914b164119e74d921a7fb0000000000000000000000000000000000000000000000524abe91645a03ad90c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200a0f2fa6b662217e5921b7edfb4bb193a6228459974010d21980000000000000000000000000000000000000000000000531f6628d47711db2c0000000000000000000000000000000280a06c4eca272217e5921b7edfb4bb193a6228459974010d21981111111254eeb25477b68fb85ed929f73a9605820000000000000000000000000000000000000000000000e26b9977",
|
|
11
|
+
value: '0x0',
|
|
12
|
+
chainId: 1,
|
|
13
|
+
});
|
|
14
|
+
const expectResult: DecodeCalldataResult = {
|
|
15
|
+
fromToken: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
|
|
16
|
+
toToken: '0x2217e5921B7edfB4BB193a6228459974010D2198',
|
|
17
|
+
toTokenReceiver: '0x26f16667830dC45A21517C5b25476463BbBe820C',
|
|
18
|
+
fromTokenAmount: '500000000',
|
|
19
|
+
minReceiveToTokenAmount: '1525675587379320429403'
|
|
20
|
+
}
|
|
21
|
+
expect(res).toEqual(expectResult);
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
it('swap from ETH to ERC20', () => {
|
|
25
|
+
const res = decodeCalldata(DEX_ENUM.ONEINCH, {
|
|
26
|
+
from: '',
|
|
27
|
+
to: '',
|
|
28
|
+
data: '0x12aa3caf0000000000000000000000003b17056cc4439c61cea41fe1c9f517af75a978f7000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca0000000000000000000000003b17056cc4439c61cea41fe1c9f517af75a978f7000000000000000000000000865281fba7f14511d77674a02c2f01c019d1982600000000000000000000000000000000000000000000000002c407558fa2638d000000000000000000000000000000000000000000000001d310ee9609e826bc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bfe8e79c86075ff746e3b7269d19ff413e264a6b21fa4e1fe1e5567384a0e8f463ede4e28b0454b1f784c9d6fec8756abca4a358b82d2f96e08707a2f188a7758500000000000000000000000000000000000000000000026100023300001a4041c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2d0e30db000a0860a32ec00000000000000000000000000000000000000000000000002c4bceac38840000001f051201111111254fb6c44bac0bed2854e76f90643097dc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20124d0a3b6650000000000000000000000000000000000000000638876110000000000120288000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000b3c839dbde6b96d37c56ee4f9dad3390d49310aa0000000000000000000000003b17056cc4439c61cea41fe1c9f517af75a978f7000000000000000000000000000000000000000000000001d64a0c8f6227500000000000000000000000000000000000000000000000000002c4bceac388400000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000451b75168be6e0076bfedb343f2f1ef1000e981b90253e7aab860d4452240583b16717a125a192edad04758e804d45ffadc94744e2f1c964c8445410798a2ad0e2966388759900000000000000000000000000000000000000000000000000000080a06c4eca27514910771af9ca656af840dff83e8264ecf986ca1111111254eeb25477b68fb85ed929f73a96058200e26b9977',
|
|
29
|
+
value: '0x0',
|
|
30
|
+
chainId: 1,
|
|
31
|
+
});
|
|
32
|
+
const expectResult: DecodeCalldataResult = {
|
|
33
|
+
fromToken: CHAINS[CHAINS_ENUM.ETH].nativeTokenAddress,
|
|
34
|
+
toToken: '0x514910771AF9Ca656af840dff83E8264EcF986CA',
|
|
35
|
+
toTokenReceiver: '0x865281fba7F14511D77674A02C2f01C019d19826',
|
|
36
|
+
fromTokenAmount: '199292347574543245',
|
|
37
|
+
minReceiveToTokenAmount: '33655662343518430908'
|
|
38
|
+
}
|
|
39
|
+
expect(res).toEqual(expectResult);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
it('swap from ERC20 to ETH', () => {
|
|
43
|
+
const res = decodeCalldata(DEX_ENUM.ONEINCH, {
|
|
44
|
+
from: '',
|
|
45
|
+
to: '',
|
|
46
|
+
data: '0x12aa3caf00000000000000000000000053222470cdcfb8081c0e3a50fd106f0d69e63f20000000000000000000000000cc578f173851cfad2fc124e1499bd492849b2b6d000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000a22a7e23966fcc6f4877699b6b0be655fbd861620000000000000000000000000502e9c06602b25d0812fb3662d16662d96004210000000000000000000000000000000000000000000000000000156aeb10ab6700000000000000000000000000000000000000000000000001b953b69086c144000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c30000000000000000000000000000000000000000000000a500008f00005300206ae4071198002dc6c0a22a7e23966fcc6f4877699b6b0be655fbd861620000000000000000000000000000000000000000000000000000000000000001cc578f173851cfad2fc124e1499bd492849b2b6d4101c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200042e1a7d4d0000000000000000000000000000000000000000000000000000000000000000c0601111111254eeb25477b68fb85ed929f73a9605820000000000000000000000000000000000000000000000000000000000e26b9977',
|
|
47
|
+
value: '0x0',
|
|
48
|
+
chainId: 1,
|
|
49
|
+
});
|
|
50
|
+
const expectResult: DecodeCalldataResult = {
|
|
51
|
+
fromToken: '0xcC578F173851CFaD2FC124E1499bD492849B2B6D',
|
|
52
|
+
toToken: CHAINS[CHAINS_ENUM.ETH].nativeTokenAddress,
|
|
53
|
+
toTokenReceiver: '0x0502E9c06602b25d0812fB3662D16662D9600421',
|
|
54
|
+
fromTokenAmount: '23548954454887',
|
|
55
|
+
minReceiveToTokenAmount: '124222508303302980'
|
|
56
|
+
}
|
|
57
|
+
expect(res).toEqual(expectResult);
|
|
58
|
+
});
|
|
59
|
+
})
|
|
60
|
+
|
|
61
|
+
describe('0x calldata decode', () => {
|
|
62
|
+
it("swap from ERC20 to ERC20", () => {
|
|
63
|
+
const res = decodeCalldata(DEX_ENUM.ZEROXAPI, {
|
|
64
|
+
from: "0x856565db827588a88780454863f98a4a323e13aa",
|
|
65
|
+
to: "",
|
|
66
|
+
data: "0x415565b00000000000000000000000004a527d8fc13c5203ab24ba0944f4cb14658d1db6000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000006ab9db1484a11c5400000000000000000000000000000000000000000000000000000000000060533c00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000004200000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a527d8fc13c5203ab24ba0944f4cb14658d1db6000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000006ab9db1484a11c5400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000002556e697377617056320000000000000000000000000000000000000000000000000000000000006ab9db1484a11c5400000000000000000000000000000000000000000000000000000000000060ce87000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000f164fc0ec4e93095b804a4795bbe1e041497b92a000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000030000000000000000000000004a527d8fc13c5203ab24ba0944f4cb14658d1db6000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000007b4b0000000000000000000000004a183b7ed67b9e14b3f45abfb2cf44ed22c29e54000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000020000000000000000000000004a527d8fc13c5203ab24ba0944f4cb14658d1db6000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000869584cd0000000000000000000000007cba0eb7a94068324583be7771c5ecda25e4c4d10000000000000000000000000000000000000000000000c6b15b2af363884abb",
|
|
67
|
+
value: '0x0',
|
|
68
|
+
chainId: 1,
|
|
69
|
+
});
|
|
70
|
+
const expectResult: DecodeCalldataResult = {
|
|
71
|
+
fromToken: '0x4a527d8fc13C5203AB24BA0944F4Cb14658D1Db6',
|
|
72
|
+
toToken: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
|
|
73
|
+
toTokenReceiver: '0x856565db827588a88780454863f98a4a323e13aa',
|
|
74
|
+
fromTokenAmount: '1968747192290000000000',
|
|
75
|
+
minReceiveToTokenAmount: '6312764'
|
|
76
|
+
}
|
|
77
|
+
expect(res).toEqual(expectResult);
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
it('swap from ETH to ERC20', () => {
|
|
81
|
+
const res = decodeCalldata(DEX_ENUM.ZEROXAPI, {
|
|
82
|
+
from: "0x74d9599350f1d37c805bc3a46d7d4a81232b3176",
|
|
83
|
+
to: "",
|
|
84
|
+
data: "0x415565b0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000003accd90d29548000000000000000000000000000000000000000000000000000000000013852da7f00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005c0000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000003accd90d29548000000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000003accd90d29548000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000012556e69737761705633000000000000000000000000000000000000000000000000000000000000003accd90d29548000000000000000000000000000000000000000000000000000000000014021b98e000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000e592427a0aece92de3edee1f18e0157c058615640000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000007cedf0f000000000000000000000000249347381eb6909c5b5854733251a7678212ac3f000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000869584cd000000000000000000000000100000000000000000000000000000000000001100000000000000000000000000000000000000000000003ed2babba5638840c1",
|
|
85
|
+
value: '0x0',
|
|
86
|
+
chainId: 1,
|
|
87
|
+
});
|
|
88
|
+
const expectResult: DecodeCalldataResult = {
|
|
89
|
+
fromToken: CHAINS[CHAINS_ENUM.ETH].nativeTokenAddress,
|
|
90
|
+
toToken: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
|
|
91
|
+
toTokenReceiver: '0x74d9599350f1d37c805bc3a46d7d4a81232b3176',
|
|
92
|
+
fromTokenAmount: '4237000000000000000',
|
|
93
|
+
minReceiveToTokenAmount: '5239921279'
|
|
94
|
+
}
|
|
95
|
+
expect(res).toEqual(expectResult);
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
it('swap from ERC20 to ETH', () => {
|
|
99
|
+
const res = decodeCalldata(DEX_ENUM.ZEROXAPI, {
|
|
100
|
+
from: "0x74d9599350f1d37c805bc3a46d7d4a81232b3176",
|
|
101
|
+
to: "",
|
|
102
|
+
data: "0x415565b000000000000000000000000016cc8367055ae7e9157dbcb9d86fd6ce82522b31000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000e7fd2024d181b7c00000000000000000000000000000000000000000000000000000b8e9d35eecad71d00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004a0000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016cc8367055ae7e9157dbcb9d86fd6ce82522b31000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000e7fd2024d181b7c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000253686962615377617000000000000000000000000000000000000000000000000000000000000e7fd2024d181b7c00000000000000000000000000000000000000000000000000000b8e9d35eecad71d000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000003f7724180aa6b939894b5ca4314783b0b36b3290000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000016cc8367055ae7e9157dbcb9d86fd6ce82522b31000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000016cc8367055ae7e9157dbcb9d86fd6ce82522b310000000000000000000000000000000000000000000000000000000000000000869584cd00000000000000000000000086003b044f70dac0abc80ac8957305b6370893ed000000000000000000000000000000000000000000000042a5bdf16663883b7f",
|
|
103
|
+
value: '0x0',
|
|
104
|
+
chainId: 1,
|
|
105
|
+
});
|
|
106
|
+
const expectResult: DecodeCalldataResult = {
|
|
107
|
+
fromToken: '0x16CC8367055aE7e9157DBcB9d86Fd6CE82522b31',
|
|
108
|
+
toToken: CHAINS[CHAINS_ENUM.ETH].nativeTokenAddress,
|
|
109
|
+
toTokenReceiver: '0x74d9599350f1d37c805bc3a46d7d4a81232b3176',
|
|
110
|
+
fromTokenAmount: '68471000000000000000000',
|
|
111
|
+
minReceiveToTokenAmount: '832775836075218717'
|
|
112
|
+
}
|
|
113
|
+
expect(res).toEqual(expectResult);
|
|
114
|
+
})
|
|
115
|
+
})
|
|
116
|
+
|
|
117
|
+
describe('paraswap calldata decode', () => {
|
|
118
|
+
it("[simpleSawp] swap from ERC20 to ERC20", () => {
|
|
119
|
+
const res = decodeCalldata(DEX_ENUM.PARASWAP, {
|
|
120
|
+
from: "0x7fb610713c8404e21676c01c271bb662df6eb63c",
|
|
121
|
+
to: "",
|
|
122
|
+
data: "0x54e3f31b0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000000000000000000000000000000000004a817c80000000000000000000000000000000000000000000000043b251cda18dc4ab30c00000000000000000000000000000000000000000000043c3aace5973840862000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e4d12a78a24f63f856b7192beaacc9875d387fec01000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000006388c6e3cb9e34238c7d43c6b749e7e45e3e7cd2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a356867fdcea8e71aeaf87805808803806231fdc0000000000000000000000000000000000000000000000000000000000000144f87dc1b7000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000000000000000000000000000000000004a817c8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000010000000000000000000000003058ef90929cb8180174d74c507176cca6835d7300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000144000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
123
|
+
value: '0x0',
|
|
124
|
+
chainId: 1,
|
|
125
|
+
});
|
|
126
|
+
const expectResult: DecodeCalldataResult = {
|
|
127
|
+
fromToken: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
|
|
128
|
+
toToken: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
|
|
129
|
+
toTokenReceiver: '0x7fb610713c8404e21676c01c271bb662df6eb63c',
|
|
130
|
+
fromTokenAmount: '20000000000',
|
|
131
|
+
minReceiveToTokenAmount: '19980498083906505585420'
|
|
132
|
+
}
|
|
133
|
+
expect(res).toEqual(expectResult);
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
it('[simpleSawp] swap from ETH to ERC20', () => {
|
|
137
|
+
const res = decodeCalldata(DEX_ENUM.PARASWAP, {
|
|
138
|
+
from: "0x74d9599350f1d37c805bc3a46d7d4a81232b3176",
|
|
139
|
+
to: "",
|
|
140
|
+
data: "0x54e3f31b0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000007d1afa7b718fb893db30a3abc0cfc608aacfebb00000000000000000000000000000000000000000000000000745321598ee80000000000000000000000000000000000000000000000000278a3a0f3888dfc321000000000000000000000000000000000000000000000027bd179e175f1c100300000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000558247e365be655f9144e1a0140d793984372ef3010000000000000000000000000000000000000000000000000000000000405f000000000000000000000000000000000000000000000000000000000000054000000000000000000000000000000000000000000000000000000000638874f88be580ae64fa477bb44c5b82d51f15a5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff00000000000000000000000000000000000000000000000000000000000001e8d0e30db0aa77476c0000000000000000000000007d1afa7b718fb893db30a3abc0cfc608aacfebb0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000028212637b9e24bf5190000000000000000000000000000000000000000000000000757cebec5fb200000000000000000000000000056178a0d5f301baf6cf3e1cd53d9863437345bf9000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57000000000000000000000000843ffc230f59d3fb2bfbb6a41d4693eb747aa397000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000638874f801ffffffffffffffffffffffffffffffffffffff0ac0da086388749e0000002b0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000001b1559a8625f6611e49f5e3f6290c8fe84f60e1e66676071276c28be12200a7f2e22b8b00e540ab944adff5257d45b59d708db22456275f51bf4b5f44316ddee180000000000000000000000000000000000000000000000000745321598ee800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000745321598ee800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
141
|
+
value: '0x0',
|
|
142
|
+
chainId: 1,
|
|
143
|
+
});
|
|
144
|
+
const expectResult: DecodeCalldataResult = {
|
|
145
|
+
fromToken: CHAINS[CHAINS_ENUM.ETH].nativeTokenAddress,
|
|
146
|
+
toToken: '0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0',
|
|
147
|
+
toTokenReceiver: '0x74d9599350f1d37c805bc3a46d7d4a81232b3176',
|
|
148
|
+
fromTokenAmount: '523880000000000000',
|
|
149
|
+
minReceiveToTokenAmount: '729383309136044737313'
|
|
150
|
+
}
|
|
151
|
+
expect(res).toEqual(expectResult);
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
it('[simpleSawp] swap from ERC20 to ETH', () => {
|
|
155
|
+
const res = decodeCalldata(DEX_ENUM.PARASWAP, {
|
|
156
|
+
from: "0x74d9599350f1d37c805bc3a46d7d4a81232b3176",
|
|
157
|
+
to: "",
|
|
158
|
+
data: "0x54e3f31b000000000000000000000000000000000000000000000000000000000000002000000000000000000000000092d6c1e31e14520e676a687f0a93788b716beff5000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000002fe03f05072b20d960000000000000000000000000000000000000000000000000104e34bb63cf134000000000000000000000000000000000000000000000000010632e9097c489c00000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e4d12a78a24f63f856b7192beaacc9875d387fec010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000004a0000000000000000000000000000000000000000000000000000000006388c836d7e7fd88cb884efc9083b3cbd38e6eea000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee570000000000000000000000000000000000000000000000000000000000000148c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee5700000000000000000000000000000000000000000000000000000000638881e6000000000000000000000000000000000000000000000002fe03f05072b20d960000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002b92d6c1e31e14520e676a687f0a93788b716beff5002710c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000e1829cfe000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012400000000000000000000000000000000000000000000000000000000000001480000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
159
|
+
value: '0x0',
|
|
160
|
+
chainId: 1,
|
|
161
|
+
});
|
|
162
|
+
const expectResult: DecodeCalldataResult = {
|
|
163
|
+
fromToken: '0x92D6C1e31e14520e676a687F0a93788B716BEff5',
|
|
164
|
+
toToken: CHAINS[CHAINS_ENUM.ETH].nativeTokenAddress,
|
|
165
|
+
toTokenReceiver: '0x74d9599350f1d37c805bc3a46d7d4a81232b3176',
|
|
166
|
+
fromTokenAmount: '55197225686295252374',
|
|
167
|
+
minReceiveToTokenAmount: '73433408264270132'
|
|
168
|
+
}
|
|
169
|
+
expect(res).toEqual(expectResult);
|
|
170
|
+
})
|
|
171
|
+
|
|
172
|
+
it("[megaSwap] swap from ERC20 to ERC20", () => {
|
|
173
|
+
const res = decodeCalldata(DEX_ENUM.PARASWAP, {
|
|
174
|
+
from: "0x7fb610713c8404e21676c01c271bb662df6eb63c",
|
|
175
|
+
to: "",
|
|
176
|
+
data: "0x46c67b6d0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000006fc23ac0000000000000000000000000000000000000000000000014954ae2bce9bb8f34400000000000000000000000000000000000000000000014afc5791a7c46266fc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000e4d12a78a24f63f856b7192beaacc9875d387fec01000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e40000000000000000000000000000000000000000000000000000000006388d4da98962f95dc4e4688b7b99254babe88330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000068000000000000000000000000000000000000000000000000000000000000004b00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000063888e8a000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb480001f4c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000003432b6a60d23ca0dfca7761b7ab56459d9c964d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000f9234cb08edb93c0d4a4d4c70cc3ffd070e78e07000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000004de561eb53ee427ab4e007d78a9134aacb3101a2dc2300000000000000000000000000000000000000000000000000000000000022600000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000853d955acef822db058eb8505911ed77f175b99e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000063888e8a000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064853d955acef822db058eb8505911ed77f175b99e0000000000000000000000000000000000000000000000000000000000000000003432b6a60d23ca0dfca7761b7ab56459d9c964d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000f9234cb08edb93c0d4a4d4c70cc3ffd070e78e07000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000004de5e1573b9d29e2183b1af0e743dc2754979a40d23700000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000988e886b14a58dffa124230a489ad83f64008854000000000000000000000000216b4b4ba9f3e719726886d34a177484278bfcae00000000000000000000000000000000000000000000000000000006fc23ac0000000000000000000000000000000000000000000000000000000000638c74da000000000000000000000000000000000000000000000000000000000000001b68d4c2dd2e3d25487bfc8b42f41bc3ef7e49102f682fb7611eb901dd68d1fd9b2db27a175c4a87cf33c3f2e364ce0ede26a608b6498eeb120a01824ade547021",
|
|
177
|
+
value: '0x0',
|
|
178
|
+
chainId: 1,
|
|
179
|
+
});
|
|
180
|
+
const expectResult: DecodeCalldataResult = {
|
|
181
|
+
fromToken: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
|
|
182
|
+
toToken: '0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0',
|
|
183
|
+
toTokenReceiver: '0x7fb610713c8404e21676c01c271bb662df6eb63c',
|
|
184
|
+
fromTokenAmount: '30000000000',
|
|
185
|
+
minReceiveToTokenAmount: '6075080662961951929156'
|
|
186
|
+
}
|
|
187
|
+
expect(res).toEqual(expectResult);
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
it('[megaSwap] swap from ETH to ERC20', () => {
|
|
191
|
+
const res = decodeCalldata(DEX_ENUM.PARASWAP, {
|
|
192
|
+
from: "0x74d9599350f1d37c805bc3a46d7d4a81232b3176",
|
|
193
|
+
to: "",
|
|
194
|
+
data: "0x46c67b6d0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000021a6940ffb60a600a000000000000000000000000000000000000000000000a7c2ca415bc11540b78000000000000000000000000000000000000000000000a89a9a6322536b8cf1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000e4d12a78a24f63f856b7192beaacc9875d387fec01000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d40000000000000000000000000000000000000000000000000000000006388a6d6d286efd8f8d047a8bcf3122ffbf7b5210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000084000000000000000000000000000000000000000000000000000000000000023f000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000248400000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000063886085000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000028c00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000063886085000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000064a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000000004fabb145d64652a948d72533023f6e7a623c7c5300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000063886085000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000644fabb145d64652a948d72533023f6e7a623c7c5300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004fabb145d64652a948d72533023f6e7a623c7c5300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000638860850000000000000000000000000000000000000000000000000000000000000042c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f46b175474e89094c44da98b954eedeac495271d0f0000644fabb145d64652a948d72533023f6e7a623c7c530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
195
|
+
value: '0x0',
|
|
196
|
+
chainId: 1,
|
|
197
|
+
});
|
|
198
|
+
const expectResult: DecodeCalldataResult = {
|
|
199
|
+
fromToken: CHAINS[CHAINS_ENUM.ETH].nativeTokenAddress,
|
|
200
|
+
toToken: '0x4Fabb145d64652a948d72533023f6E7A623C7C53',
|
|
201
|
+
toTokenReceiver: '0x74d9599350f1d37c805bc3a46d7d4a81232b3176',
|
|
202
|
+
fromTokenAmount: '38796611931974819850',
|
|
203
|
+
minReceiveToTokenAmount: '49514277813767774669688'
|
|
204
|
+
}
|
|
205
|
+
expect(res).toEqual(expectResult);
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
it('[megaSwap] swap from ERC20 to ETH', () => {
|
|
209
|
+
const res = decodeCalldata(DEX_ENUM.PARASWAP, {
|
|
210
|
+
from: "0x74d9599350f1d37c805bc3a46d7d4a81232b3176",
|
|
211
|
+
to: "",
|
|
212
|
+
data: "0x46c67b6d0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000ae7ab96520de3a18e5e111b5eaab095312d7fe8400000000000000000000000000000000000000000000000036109247a153aa63000000000000000000000000000000000000000000000000353550e19ffc3d2b0000000000000000000000000000000000000000000000003579c3c7be608fcf00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000e4d12a78a24f63f856b7192beaacc9875d387fec01000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000740000000000000000000000000000000000000000000000000000000006388a3e7160580eb58464545b3bcf80e6c2afa680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002600000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000079359292ffd5c3307084084b5b7c3e81d733ee9800000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000063885d96000000000000000000000000000000000000000000000000000000000000002b7f39c581f595b53c5cb19bd0b3f8da6c935e2ca00001f4c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
213
|
+
value: '0x0',
|
|
214
|
+
chainId: 1,
|
|
215
|
+
});
|
|
216
|
+
const expectResult: DecodeCalldataResult = {
|
|
217
|
+
fromToken: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84',
|
|
218
|
+
toToken: CHAINS[CHAINS_ENUM.ETH].nativeTokenAddress,
|
|
219
|
+
toTokenReceiver: '0x74d9599350f1d37c805bc3a46d7d4a81232b3176',
|
|
220
|
+
fromTokenAmount: '3895774514022427235',
|
|
221
|
+
minReceiveToTokenAmount: '3834059587757817131'
|
|
222
|
+
}
|
|
223
|
+
expect(res).toEqual(expectResult);
|
|
224
|
+
})
|
|
225
|
+
|
|
226
|
+
it("[multiSwap] swap from ERC20 to ERC20", () => {
|
|
227
|
+
const res = decodeCalldata(DEX_ENUM.PARASWAP, {
|
|
228
|
+
from: "0x7fb610713c8404e21676c01c271bb662df6eb63c",
|
|
229
|
+
to: "",
|
|
230
|
+
data: "0xa94e78ef0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000000000000000004fb100400000000000000000000000000000000000000000000002f9fa190b7a21f263bd0000000000000000000000000000000000000000000002fdce5458b87ebd93d700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000e4d12a78a24f63f856b7192beaacc9875d387fec010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000007600000000000000000000000000000000000000000000000000000000063889507bdb92db4a163409698763a2d253cce6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000063884eb6000000000000000000000000000000000000000000000000000000000000002bdac17f958d2ee523a2206206994597c13d831ec70001f4c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000006b1a8f210ec6b7b6643cea3583fb0c079f36789800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000f9234cb08edb93c0d4a4d4c70cc3ffd070e78e07000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000004de591204649a5c9ab2cadfc2089fd22ed0fbfe170ed0000000000000000000000000000000000000000000000000000000000000000",
|
|
231
|
+
value: '0x0',
|
|
232
|
+
chainId: 1,
|
|
233
|
+
});
|
|
234
|
+
const expectResult: DecodeCalldataResult = {
|
|
235
|
+
fromToken: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
|
|
236
|
+
toToken: '0x6b1a8f210Ec6b7B6643cea3583Fb0c079f367898',
|
|
237
|
+
toTokenReceiver: '0x7fb610713c8404e21676c01c271bb662df6eb63c',
|
|
238
|
+
fromTokenAmount: '1337000000',
|
|
239
|
+
minReceiveToTokenAmount: '14055993688096051979197'
|
|
240
|
+
}
|
|
241
|
+
expect(res).toEqual(expectResult);
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
it('[multiSwap] swap from ETH to ERC20', () => {
|
|
245
|
+
const res = decodeCalldata(DEX_ENUM.PARASWAP, {
|
|
246
|
+
from: "0x74d9599350f1d37c805bc3a46d7d4a81232b3176",
|
|
247
|
+
to: "",
|
|
248
|
+
data: "0xa94e78ef0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000dc4f546401538000000000000000000000000000000000000000000000000446aa2ed9b0143ccec400000000000000000000000000000000000000000000044c2a651dad1ac5799d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000e4d12a78a24f63f856b7192beaacc9875d387fec01000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000638875de53bbb98d926645e3ad805a406e5ed672000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005c0000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff00000000000000000000000000000000000000000000000000000000000024b800000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000047d94c44c600000000000000000000000000000000000000000000000d15f11b5fa4488000000000000000000000000000b3c839dbde6b96d37c56ee4f9dad3390d49310aa000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee570000000000000000000000008eb634b824b2d4342108d68f8bb63d341c9cb266000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000638875de00000000000000000000000000000000000000000000000000000184cd0c6b300000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000001c614dd024bd26e4106c294de92961023bba6458b5a1be487d79316378f53319db66b0bb737d5f0d968ec9d0745942d482bfd6ef9b34847f9d6f5289edefad3e340000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000025800000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000063888376000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000006b175474e89094c44da98b954eedeac495271d0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000fc2ba6e830a04c25e207b8214b26d8c713f6881f000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000a356867fdcea8e71aeaf87805808803806231fdc000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000003058ef90929cb8180174d74c507176cca6835d730000000000000000000000000000000000000000000000000000000000000000",
|
|
249
|
+
value: '0x0',
|
|
250
|
+
chainId: 1,
|
|
251
|
+
});
|
|
252
|
+
const expectResult: DecodeCalldataResult = {
|
|
253
|
+
fromToken: CHAINS[CHAINS_ENUM.ETH].nativeTokenAddress,
|
|
254
|
+
toToken: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
|
|
255
|
+
toTokenReceiver: '0x74d9599350f1d37c805bc3a46d7d4a81232b3176',
|
|
256
|
+
fromTokenAmount: '254000000000000000000',
|
|
257
|
+
minReceiveToTokenAmount: '323088015917182446529600'
|
|
258
|
+
}
|
|
259
|
+
expect(res).toEqual(expectResult);
|
|
260
|
+
});
|
|
261
|
+
|
|
262
|
+
it('[multiSwap] swap from ERC20 to ETH', () => {
|
|
263
|
+
const res = decodeCalldata(DEX_ENUM.PARASWAP, {
|
|
264
|
+
from: "0x74d9599350f1d37c805bc3a46d7d4a81232b3176",
|
|
265
|
+
to: "",
|
|
266
|
+
data: "0xa94e78ef000000000000000000000000000000000000000000000000000000000000002000000000000000000000000057ab1ec28d129707052df4df418d58a2d46d5f5100000000000000000000000000000000000000000000000ad78ebc5ac62000000000000000000000000000000000000000000000000000000236528165d5156e00000000000000000000000000000000000000000000000002392b0a68eabcc700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000e4d12a78a24f63f856b7192beaacc9875d387fec010000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000008200000000000000000000000000000000000000000000000000000000063882690da913b5d828049ea87c27cad1cdd1720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000005e74c9036fb86bd7ecdcb084a0673efc32ea31cb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a730000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000050000000000000000000000006317c5e82a06e1d8bf200d21f4510ac2c038ac81000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000028e598846febb750effc384853fbce82988eaaa2000000000000000000000000000000000000000000000007ce66c50e284000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000003029c3763d4b61b255b5eea5a506cb2f080487a70000000000000000000000000000000000000000000000030927f74c9de000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009be264469ef954c139da4a45cf76cbcc5e3a6a73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000006387e03f000000000000000000000000000000000000000000000000000000000000002b5e74c9036fb86bd7ecdcb084a0673efc32ea31cb0001f4c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
267
|
+
value: '0x0',
|
|
268
|
+
chainId: 1,
|
|
269
|
+
});
|
|
270
|
+
const expectResult: DecodeCalldataResult = {
|
|
271
|
+
fromToken: '0x57Ab1ec28D129707052df4dF418D58a2D46d5f51',
|
|
272
|
+
toToken: CHAINS[CHAINS_ENUM.ETH].nativeTokenAddress,
|
|
273
|
+
toTokenReceiver: '0x74d9599350f1d37c805bc3a46d7d4a81232b3176',
|
|
274
|
+
fromTokenAmount: '200000000000000000000',
|
|
275
|
+
minReceiveToTokenAmount: '159405552530953582'
|
|
276
|
+
}
|
|
277
|
+
expect(res).toEqual(expectResult);
|
|
278
|
+
})
|
|
279
|
+
})
|
package/dist/abi.d.ts
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
export declare const OneInchABI: {
|
|
2
|
+
inputs: ({
|
|
3
|
+
internalType: string;
|
|
4
|
+
name: string;
|
|
5
|
+
type: string;
|
|
6
|
+
components?: undefined;
|
|
7
|
+
} | {
|
|
8
|
+
components: {
|
|
9
|
+
internalType: string;
|
|
10
|
+
name: string;
|
|
11
|
+
type: string;
|
|
12
|
+
}[];
|
|
13
|
+
internalType: string;
|
|
14
|
+
name: string;
|
|
15
|
+
type: string;
|
|
16
|
+
})[];
|
|
17
|
+
name: string;
|
|
18
|
+
outputs: {
|
|
19
|
+
internalType: string;
|
|
20
|
+
name: string;
|
|
21
|
+
type: string;
|
|
22
|
+
}[];
|
|
23
|
+
stateMutability: string;
|
|
24
|
+
type: string;
|
|
25
|
+
}[];
|
|
26
|
+
export declare const ZeroXABI: {
|
|
27
|
+
inputs: ({
|
|
28
|
+
name: string;
|
|
29
|
+
type: string;
|
|
30
|
+
components?: undefined;
|
|
31
|
+
} | {
|
|
32
|
+
name: string;
|
|
33
|
+
type: string;
|
|
34
|
+
components: {
|
|
35
|
+
name: string;
|
|
36
|
+
type: string;
|
|
37
|
+
}[];
|
|
38
|
+
})[];
|
|
39
|
+
name: string;
|
|
40
|
+
outputs: {
|
|
41
|
+
name: string;
|
|
42
|
+
type: string;
|
|
43
|
+
}[];
|
|
44
|
+
stateMutability: string;
|
|
45
|
+
type: string;
|
|
46
|
+
}[];
|
|
47
|
+
export declare const ParaSwapABI: {
|
|
48
|
+
inputs: {
|
|
49
|
+
components: ({
|
|
50
|
+
internalType: string;
|
|
51
|
+
name: string;
|
|
52
|
+
type: string;
|
|
53
|
+
components?: undefined;
|
|
54
|
+
} | {
|
|
55
|
+
components: ({
|
|
56
|
+
internalType: string;
|
|
57
|
+
name: string;
|
|
58
|
+
type: string;
|
|
59
|
+
components?: undefined;
|
|
60
|
+
} | {
|
|
61
|
+
components: ({
|
|
62
|
+
internalType: string;
|
|
63
|
+
name: string;
|
|
64
|
+
type: string;
|
|
65
|
+
components?: undefined;
|
|
66
|
+
} | {
|
|
67
|
+
components: ({
|
|
68
|
+
internalType: string;
|
|
69
|
+
name: string;
|
|
70
|
+
type: string;
|
|
71
|
+
components?: undefined;
|
|
72
|
+
} | {
|
|
73
|
+
components: {
|
|
74
|
+
internalType: string;
|
|
75
|
+
name: string;
|
|
76
|
+
type: string;
|
|
77
|
+
}[];
|
|
78
|
+
internalType: string;
|
|
79
|
+
name: string;
|
|
80
|
+
type: string;
|
|
81
|
+
})[];
|
|
82
|
+
internalType: string;
|
|
83
|
+
name: string;
|
|
84
|
+
type: string;
|
|
85
|
+
})[];
|
|
86
|
+
internalType: string;
|
|
87
|
+
name: string;
|
|
88
|
+
type: string;
|
|
89
|
+
})[];
|
|
90
|
+
internalType: string;
|
|
91
|
+
name: string;
|
|
92
|
+
type: string;
|
|
93
|
+
})[];
|
|
94
|
+
internalType: string;
|
|
95
|
+
name: string;
|
|
96
|
+
type: string;
|
|
97
|
+
}[];
|
|
98
|
+
name: string;
|
|
99
|
+
outputs: {
|
|
100
|
+
internalType: string;
|
|
101
|
+
name: string;
|
|
102
|
+
type: string;
|
|
103
|
+
}[];
|
|
104
|
+
stateMutability: string;
|
|
105
|
+
type: string;
|
|
106
|
+
}[];
|