@rabby-wallet/rabby-swap 0.0.18 → 0.0.20
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/package.json +6 -3
- package/__tests__/decodeCalldata.ts +0 -338
- package/babel.config.json +0 -3
- package/jest.config.ts +0 -10
- package/src/abi.ts +0 -769
- package/src/consts.ts +0 -132
- package/src/dexs/0xapi.ts +0 -158
- package/src/dexs/1inch.ts +0 -165
- package/src/dexs/openocean.ts +0 -217
- package/src/dexs/paraswap.ts +0 -280
- package/src/dexs/wrapToken.ts +0 -74
- package/src/index.ts +0 -17
- package/src/quote.ts +0 -85
- package/src/utils.ts +0 -4
- package/svgTransform.js +0 -11
- package/tsconfig.json +0 -14
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rabby-wallet/rabby-swap",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.20",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -12,8 +12,11 @@
|
|
|
12
12
|
"type": "git",
|
|
13
13
|
"url": "git+https://github.com/RabbyHub/rabby-swap.git"
|
|
14
14
|
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
15
18
|
"dependencies": {
|
|
16
|
-
"@debank/common": "^0.
|
|
19
|
+
"@debank/common": "^0.3.0",
|
|
17
20
|
"@ethersproject/abi": "^5.7.0",
|
|
18
21
|
"axios": "^0.27.2",
|
|
19
22
|
"bignumber.js": "^9.1.1",
|
|
@@ -33,7 +36,7 @@
|
|
|
33
36
|
"typescript": "^4.8.3"
|
|
34
37
|
},
|
|
35
38
|
"peerDependencies": {
|
|
36
|
-
"@debank/common": "
|
|
39
|
+
"@debank/common": ">= 0.2.x"
|
|
37
40
|
},
|
|
38
41
|
"author": "vvvvvv1vvvvvv",
|
|
39
42
|
"license": "ISC",
|
|
@@ -1,338 +0,0 @@
|
|
|
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
|
-
});
|
|
280
|
-
|
|
281
|
-
describe("openOcean calldata decode", () => {
|
|
282
|
-
it("swap from ERC20 to ERC20", () => {
|
|
283
|
-
const res = decodeCalldata(DEX_ENUM.OPENOCEAN, {
|
|
284
|
-
from: "0xf08c90c7f470b640a21dd9b3744eca3d1d16a044",
|
|
285
|
-
to: "",
|
|
286
|
-
data: "0x90411a3200000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000055d398326f99059ff775485246999027b319795500000000000000000000000060d01ec2d5e98ac51c8b4cf84dfcce98d527c74700000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad000000000000000000000000f08c90c7f470b640a21dd9b3744eca3d1d16a044000000000000000000000000000000000000314dc6448d9338c15b0a000000000000000000000000000000000000000000000000000005fd730f430c82f5045100000000000000000000000000000000000000000000064e2845f5bc53f470550000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007e00000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000000b600000000000000000000000000000000000000000000000000000000000000dc00000000000000000000000000000000000000000000000000000000000000ee000000000000000000000000000000000000000000000000000000000000011e000000000000000000000000000000000000000000000000000000000000014e00000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000002449f86542200000000000000000000000055d398326f99059ff775485246999027b3197955000000000000000000000000000000010000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000010457618804000000000000000000000000de49eec134fe9ab82e8d1e92215dbfa7868525490000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000003fd7de110bd452aab96608ac3750c3730a17993de055d398326f99059ff775485246999027b31979550007d060d01ec2d5e98ac51c8b4cf84dfcce98d527c747000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001a49f86542200000000000000000000000055d398326f99059ff775485246999027b319795500000000000000000000000000000087000000000000000000000000000000b40000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d1660f9900000000000000000000000055d398326f99059ff775485246999027b319795500000000000000000000000016b9a82891338f9ba80e2d6970fdda79d1eb0dae0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064cac460ee00000000000000003b74a46016b9a82891338f9ba80e2d6970fdda79d1eb0dae00000000000000000000000055d398326f99059ff775485246999027b319795500000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001a49f86542200000000000000000000000055d398326f99059ff775485246999027b3197955000000000000000000000000000000090000000000000000000000000000002d0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d1660f9900000000000000000000000055d398326f99059ff775485246999027b319795500000000000000000000000009cb618bf5ef305fadfd2c8fc0c26eecf8c6d5fd0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064cac460ee00000000000000003b7c458009cb618bf5ef305fadfd2c8fc0c26eecf8c6d5fd00000000000000000000000055d398326f99059ff775485246999027b319795500000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001a49f86542200000000000000000000000055d398326f99059ff775485246999027b319795500000000000000000000000000000024000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d1660f9900000000000000000000000055d398326f99059ff775485246999027b31979550000000000000000000000008840c6252e2e86e545defb6da98b2a0e26d8c1ba0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064cac460ee00000000000000003b7c45808840c6252e2e86e545defb6da98b2a0e26d8c1ba00000000000000000000000055d398326f99059ff775485246999027b319795500000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000002449f865422000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c00000000000000000000000000000001000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104576188040000000000000000000000007aaf1f85425b1226718d6772a4c3d6d99fd8001f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000003fd7de110bd452aab96608ac3750c3730a17993de0bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c00006460d01ec2d5e98ac51c8b4cf84dfcce98d527c747000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000002449f865422000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c0000000000000000000000000000001300000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000010457618804000000000000000000000000f5167d362fcb54eb2a40ff5296e468042f3670f50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000003fd7de110bd452aab96608ac3750c3730a17993de0bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c0007d060d01ec2d5e98ac51c8b4cf84dfcce98d527c747000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000648a6a1e8500000000000000000000000060d01ec2d5e98ac51c8b4cf84dfcce98d527c747000000000000000000000000353c1f0bc78fbbc245b3c93ef77b1dcc5b77d2a027100000000000000000000000000000000000000000064e2845f5bc53f4705500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001a49f86542200000000000000000000000060d01ec2d5e98ac51c8b4cf84dfcce98d527c74700000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d1660f9900000000000000000000000060d01ec2d5e98ac51c8b4cf84dfcce98d527c747000000000000000000000000f08c90c7f470b640a21dd9b3744eca3d1d16a04400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
287
|
-
value: "0x0",
|
|
288
|
-
chainId: 56,
|
|
289
|
-
});
|
|
290
|
-
|
|
291
|
-
const expectResult: DecodeCalldataResult = {
|
|
292
|
-
fromToken: "0x55d398326f99059fF775485246999027B3197955",
|
|
293
|
-
fromTokenAmount: "1000000000000000000000000000000000",
|
|
294
|
-
minReceiveToTokenAmount: "28287149584156770763857",
|
|
295
|
-
toToken: "0x60D01EC2D5E98Ac51C8B4cF84DfCCE98D527c747",
|
|
296
|
-
toTokenReceiver: "0xf08c90c7f470b640a21dd9b3744eca3d1d16a044",
|
|
297
|
-
};
|
|
298
|
-
expect(res).toEqual(expectResult);
|
|
299
|
-
});
|
|
300
|
-
|
|
301
|
-
it("swap from NativeToken to ERC20", () => {
|
|
302
|
-
const res = decodeCalldata(DEX_ENUM.OPENOCEAN, {
|
|
303
|
-
from: "0xf08c90c7f470b640a21dd9b3744eca3d1d16a044",
|
|
304
|
-
to: "",
|
|
305
|
-
data: "0x90411a3200000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000060d01ec2d5e98ac51c8b4cf84dfcce98d527c74700000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad000000000000000000000000f08c90c7f470b640a21dd9b3744eca3d1d16a044000000000000000000000000000000000000314dc6448d9338c15b0a0000000000000000000000000000000000000000000000000000039736b55b8ae4ec90270000000000000000000000000000000000000000000003c797e752e30beb8a430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000007600000000000000000000000000000000000000000000000000000000000000880000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000314dc6448d9338c15b0a0000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000004d0e30db000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000002449f865422000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c00000000000000000000000000000001000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104576188040000000000000000000000007aaf1f85425b1226718d6772a4c3d6d99fd8001f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000003fd7de110bd452aab96608ac3750c3730a17993de0bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c00006460d01ec2d5e98ac51c8b4cf84dfcce98d527c747000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000002449f865422000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c0000000000000000000000000000001300000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000010457618804000000000000000000000000f5167d362fcb54eb2a40ff5296e468042f3670f50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000003fd7de110bd452aab96608ac3750c3730a17993de0bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c0007d060d01ec2d5e98ac51c8b4cf84dfcce98d527c747000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000648a6a1e8500000000000000000000000060d01ec2d5e98ac51c8b4cf84dfcce98d527c747000000000000000000000000353c1f0bc78fbbc245b3c93ef77b1dcc5b77d2a02710000000000000000000000000000000000000000003c797e752e30beb8a4300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001a49f86542200000000000000000000000060d01ec2d5e98ac51c8b4cf84dfcce98d527c74700000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d1660f9900000000000000000000000060d01ec2d5e98ac51c8b4cf84dfcce98d527c747000000000000000000000000f08c90c7f470b640a21dd9b3744eca3d1d16a04400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
306
|
-
value: "0x314dc6448d933800000000000000",
|
|
307
|
-
chainId: 56,
|
|
308
|
-
});
|
|
309
|
-
|
|
310
|
-
const expectResult: DecodeCalldataResult = {
|
|
311
|
-
fromToken: CHAINS[CHAINS_ENUM.BSC].nativeTokenAddress,
|
|
312
|
-
fromTokenAmount: "1000000000000000000000000000000000",
|
|
313
|
-
minReceiveToTokenAmount: "16956499961440014995495",
|
|
314
|
-
toToken: "0x60D01EC2D5E98Ac51C8B4cF84DfCCE98D527c747",
|
|
315
|
-
toTokenReceiver: "0xf08c90c7f470b640a21dd9b3744eca3d1d16a044",
|
|
316
|
-
};
|
|
317
|
-
expect(res).toEqual(expectResult);
|
|
318
|
-
});
|
|
319
|
-
|
|
320
|
-
it("swap from ERC20 to NativeToken", () => {
|
|
321
|
-
const res = decodeCalldata(DEX_ENUM.OPENOCEAN, {
|
|
322
|
-
from: "0xf08c90c7f470b640a21dd9b3744eca3d1d16a044",
|
|
323
|
-
to: "",
|
|
324
|
-
data: "0x90411a3200000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000060d01ec2d5e98ac51c8b4cf84dfcce98d527c747000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad000000000000000000000000f08c90c7f470b640a21dd9b3744eca3d1d16a044000000000000000000000000000000000000314dc6448d9338c15b0a00000000000000000000000000000000000000000000000000000000017d8097dde91a0e000000000000000000000000000000000000000000000000019194d5c12b43d80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000009600000000000000000000000000000000000000000000000000000000000000b800000000000000000000000000000000000000000000000000000000000000de00000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000146000000000000000000000000000000000000000000000000000000000000015800000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001d200000000000000000000000000000000000000000000000000000000000001e4000000000000000000000000000000000000000000000000000000000000022e00000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000002449f86542200000000000000000000000060d01ec2d5e98ac51c8b4cf84dfcce98d527c747000000000000000000000000000000010000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000010457618804000000000000000000000000de49eec134fe9ab82e8d1e92215dbfa7868525490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000003fd7de110bd452aab96608ac3750c3730a17993de060d01ec2d5e98ac51c8b4cf84dfcce98d527c7470007d055d398326f99059ff775485246999027b3197955000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003e451a7431600000000000000000000000055d398326f99059ff775485246999027b319795500000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d1660f9900000000000000000000000055d398326f99059ff775485246999027b319795500000000000000000000000059de3b49314bf5067719364a2cb43e8525ab93fa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000059de3b49314bf5067719364a2cb43e8525ab93fa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c47dc2038200000000000000000000000055d398326f99059ff775485246999027b3197955000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad000000000000000000000000353c1f0bc78fbbc245b3c93ef77b1dcc5b77d2a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001649f865422000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c000000000000000000000000000000010000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000004000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000242e1a7d4d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001a49f86542200000000000000000000000060d01ec2d5e98ac51c8b4cf84dfcce98d527c74700000000000000000000000000000098000000000000000000000000000000b40000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d1660f9900000000000000000000000060d01ec2d5e98ac51c8b4cf84dfcce98d527c747000000000000000000000000c0155abc2cdfd3b041cc3ed103a1fb40fe8347390000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064cac460ee00000000000000003b74a460c0155abc2cdfd3b041cc3ed103a1fb40fe83473900000000000000000000000060d01ec2d5e98ac51c8b4cf84dfcce98d527c74700000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000002449f86542200000000000000000000000060d01ec2d5e98ac51c8b4cf84dfcce98d527c747000000000000000000000000000000080000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104576188040000000000000000000000008a8d11ece5225c03df3a71a844fd490824a1b3d60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000003fd7de110bd452aab96608ac3750c3730a17993de060d01ec2d5e98ac51c8b4cf84dfcce98d527c747000190bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001a49f865422000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c00000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d1660f99000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c0000000000000000000000004b56ee85949164519bba2e454269de156930a4c80000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064cac460ee80000000000000003b6d03404b56ee85949164519bba2e454269de156930a4c8000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c00000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003e451a743160000000000000000000000008ac76a51cc950d9822d68b83fe1ad97b32cd580d00000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d90000000000000000000000008ac76a51cc950d9822d68b83fe1ad97b32cd580d0000000000000000000000002ef6ced7713c4c8e60690cb5d5180a38951cee820000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000002ef6ced7713c4c8e60690cb5d5180a38951cee8200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c4e331d0390000000000000000000000008ac76a51cc950d9822d68b83fe1ad97b32cd580d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000002449f86542200000000000000000000000060d01ec2d5e98ac51c8b4cf84dfcce98d527c74700000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104576188040000000000000000000000001968fcbc9738a26df18f423f503c4557c953ae66000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000ed8e0a2d99643e1e65cca22ed4424090b8b745800000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000003fd7de110bd452aab96608ac3750c3730a17993de060d01ec2d5e98ac51c8b4cf84dfcce98d527c747000064e9e7cea3dedca5984780bafc599bd69add087d5600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064cac460ee80000000000000003b7c45800ed8e0a2d99643e1e65cca22ed4424090b8b7458000000000000000000000000e9e7cea3dedca5984780bafc599bd69add087d5600000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003e451a743160000000000000000000000000e09fabb73bd3ade0a17ecc321fd13a19e81ce8200000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d90000000000000000000000000e09fabb73bd3ade0a17ecc321fd13a19e81ce8200000000000000000000000037f56df34529edfba81e270003b599df0ff94f3c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000037f56df34529edfba81e270003b599df0ff94f3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c4e331d0390000000000000000000000000e09fabb73bd3ade0a17ecc321fd13a19e81ce82000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023ebcd701fd92867235aeb0174b7c444b9b2b3ad0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000648a6a1e85000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000353c1f0bc78fbbc245b3c93ef77b1dcc5b77d2a0271000000000000000000000000000000000000000000000019194d5c12b43d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001a49f865422000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d1660f99000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000f08c90c7f470b640a21dd9b3744eca3d1d16a04400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
325
|
-
value: "0x0",
|
|
326
|
-
chainId: 56,
|
|
327
|
-
});
|
|
328
|
-
|
|
329
|
-
const expectResult: DecodeCalldataResult = {
|
|
330
|
-
fromToken: "0x60D01EC2D5E98Ac51C8B4cF84DfCCE98D527c747",
|
|
331
|
-
fromTokenAmount: "1000000000000000000000000000000000",
|
|
332
|
-
minReceiveToTokenAmount: "107383355878218254",
|
|
333
|
-
toToken: CHAINS[CHAINS_ENUM.BSC].nativeTokenAddress,
|
|
334
|
-
toTokenReceiver: "0xf08c90c7f470b640a21dd9b3744eca3d1d16a044",
|
|
335
|
-
};
|
|
336
|
-
expect(res).toEqual(expectResult);
|
|
337
|
-
});
|
|
338
|
-
});
|
package/babel.config.json
DELETED
package/jest.config.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
testEnvironment: 'node',
|
|
3
|
-
transformIgnorePatterns: ['<rootDir>/node_modules/(?!@debank|@rabby-wallet)'],
|
|
4
|
-
resetMocks: false,
|
|
5
|
-
transform: {
|
|
6
|
-
'^.+\\.js$': 'babel-jest',
|
|
7
|
-
'^.+\\.ts$': 'ts-jest',
|
|
8
|
-
'^.+\\.(svg|png|jpg)$': '<rootDir>/svgTransform.js'
|
|
9
|
-
}
|
|
10
|
-
};
|