@paraswap/dex-lib 2.19.1 → 2.20.0

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.
Files changed (131) hide show
  1. package/build/abi/DirectSwap.json +1018 -0
  2. package/build/dex/balancer-v2/balancer-v2.d.ts +9 -3
  3. package/build/dex/balancer-v2/balancer-v2.js +83 -0
  4. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  5. package/build/dex/balancer-v2/constants.d.ts +4 -0
  6. package/build/dex/balancer-v2/constants.js +6 -1
  7. package/build/dex/balancer-v2/constants.js.map +1 -1
  8. package/build/dex/balancer-v2/types.d.ts +20 -1
  9. package/build/dex/balancer-v2/types.js.map +1 -1
  10. package/build/dex/curve-v1/constants.d.ts +1 -0
  11. package/build/dex/curve-v1/constants.js +2 -1
  12. package/build/dex/curve-v1/constants.js.map +1 -1
  13. package/build/dex/curve-v1/curve-v1.d.ts +9 -3
  14. package/build/dex/curve-v1/curve-v1.js +92 -4
  15. package/build/dex/curve-v1/curve-v1.js.map +1 -1
  16. package/build/dex/curve-v1/types.d.ts +24 -0
  17. package/build/dex/curve-v1/types.js +6 -1
  18. package/build/dex/curve-v1/types.js.map +1 -1
  19. package/build/dex/curve-v1-factory/constants.d.ts +1 -0
  20. package/build/dex/curve-v1-factory/constants.js +2 -1
  21. package/build/dex/curve-v1-factory/constants.js.map +1 -1
  22. package/build/dex/curve-v1-factory/curve-v1-factory.d.ts +11 -4
  23. package/build/dex/curve-v1-factory/curve-v1-factory.js +87 -0
  24. package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
  25. package/build/dex/curve-v1-factory/types.d.ts +24 -0
  26. package/build/dex/curve-v1-factory/types.js +6 -1
  27. package/build/dex/curve-v1-factory/types.js.map +1 -1
  28. package/build/dex/curve-v2.d.ts +29 -7
  29. package/build/dex/curve-v2.js +91 -1
  30. package/build/dex/curve-v2.js.map +1 -1
  31. package/build/dex/idex.d.ts +1 -1
  32. package/build/dex/pancakeswap-v3/pancakeswap-v3.d.ts +2 -2
  33. package/build/dex/pancakeswap-v3/utils.js.map +1 -1
  34. package/build/dex/simple-exchange.d.ts +2 -0
  35. package/build/dex/simple-exchange.js +1 -0
  36. package/build/dex/simple-exchange.js.map +1 -1
  37. package/build/dex/swaap-v2/swaap-v2.js +5 -1
  38. package/build/dex/swaap-v2/swaap-v2.js.map +1 -1
  39. package/build/dex/swaap-v2/utils.js.map +1 -1
  40. package/build/dex/swaap-v2/validators.js +1 -2
  41. package/build/dex/swaap-v2/validators.js.map +1 -1
  42. package/build/dex/test-dex/config.d.ts +4 -0
  43. package/build/dex/test-dex/config.js +15 -0
  44. package/build/dex/test-dex/config.js.map +1 -0
  45. package/build/dex/test-dex/test-dex-pool.d.ts +39 -0
  46. package/build/dex/test-dex/test-dex-pool.js +63 -0
  47. package/build/dex/test-dex/test-dex-pool.js.map +1 -0
  48. package/build/dex/test-dex/test-dex.d.ts +37 -0
  49. package/build/dex/test-dex/test-dex.js +126 -0
  50. package/build/dex/test-dex/test-dex.js.map +1 -0
  51. package/build/dex/test-dex/types.d.ts +6 -0
  52. package/build/dex/{pancakeswap-v3 → test-dex}/types.js.map +1 -1
  53. package/build/dex/uniswap-v2/uniswap-v2.d.ts +1 -1
  54. package/build/dex/uniswap-v2/uniswap-v2.js +1 -1
  55. package/build/dex/uniswap-v2/uniswap-v2.js.map +1 -1
  56. package/build/dex/uniswap-v3/constants.d.ts +4 -0
  57. package/build/dex/uniswap-v3/constants.js +6 -1
  58. package/build/dex/uniswap-v3/constants.js.map +1 -1
  59. package/build/dex/uniswap-v3/types.d.ts +20 -3
  60. package/build/dex/uniswap-v3/types.js.map +1 -1
  61. package/build/dex/uniswap-v3/uniswap-v3.d.ts +7 -1
  62. package/build/dex/uniswap-v3/uniswap-v3.js +85 -1
  63. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  64. package/build/dex/woo-fi-v2/woo-fi-math.d.ts +16 -0
  65. package/build/dex/woo-fi-v2/woo-fi-math.js +137 -0
  66. package/build/dex/woo-fi-v2/woo-fi-math.js.map +1 -0
  67. package/build/dex/zerox/index.d.ts +1 -1
  68. package/build/dex/zerox/index.js +1 -1
  69. package/build/dex/zerox/index.js.map +1 -1
  70. package/build/implementations/local-paraswap-sdk.js +5 -1
  71. package/build/implementations/local-paraswap-sdk.js.map +1 -1
  72. package/build/router/directswap.js +7 -1
  73. package/build/router/directswap.js.map +1 -1
  74. package/build/router/index.js.map +1 -1
  75. package/build/router/payload-encoder.js +14 -3
  76. package/build/router/payload-encoder.js.map +1 -1
  77. package/build/types.d.ts +1 -0
  78. package/build/utils.js.map +1 -1
  79. package/package.json +5 -3
  80. package/src/abi/DirectSwap.json +1018 -0
  81. package/src/dex/balancer-v2/balancer-v2-e2e.test.ts +79 -0
  82. package/src/dex/balancer-v2/balancer-v2.ts +153 -4
  83. package/src/dex/balancer-v2/constants.ts +5 -0
  84. package/src/dex/balancer-v2/types.ts +21 -1
  85. package/src/dex/curve-v1/constants.ts +2 -0
  86. package/src/dex/curve-v1/curve-v1-e2e.test.ts +57 -0
  87. package/src/dex/curve-v1/curve-v1.ts +144 -5
  88. package/src/dex/curve-v1/types.ts +26 -0
  89. package/src/dex/curve-v1-factory/constants.ts +2 -0
  90. package/src/dex/curve-v1-factory/curve-v1-factory-e2e.test.ts +1 -0
  91. package/src/dex/curve-v1-factory/curve-v1-factory.ts +140 -4
  92. package/src/dex/curve-v1-factory/types.ts +26 -0
  93. package/src/dex/curve-v2.ts +169 -8
  94. package/src/dex/idex.ts +6 -0
  95. package/src/dex/pancakeswap-v3/pancakeswap-v3-e2e.test.ts +3 -6
  96. package/src/dex/pancakeswap-v3/pancakeswap-v3-integration.test.ts +3 -14
  97. package/src/dex/pancakeswap-v3/pancakeswap-v3.ts +3 -3
  98. package/src/dex/pancakeswap-v3/utils.ts +1 -4
  99. package/src/dex/simple-exchange.ts +6 -0
  100. package/src/dex/solidly/solidly-e2e.test.ts +31 -32
  101. package/src/dex/swaap-v2/swaap-v2.ts +19 -11
  102. package/src/dex/swaap-v2/types.ts +4 -4
  103. package/src/dex/swaap-v2/utils.ts +4 -4
  104. package/src/dex/swaap-v2/validators.ts +4 -7
  105. package/src/dex/uniswap-v2/uniswap-v2.ts +6 -0
  106. package/src/dex/uniswap-v3/constants.ts +5 -0
  107. package/src/dex/uniswap-v3/types.ts +23 -3
  108. package/src/dex/uniswap-v3/uniswap-v3-e2e.test.ts +100 -2
  109. package/src/dex/uniswap-v3/uniswap-v3.ts +138 -3
  110. package/src/dex/zerox/index.ts +7 -0
  111. package/src/implementations/local-paraswap-sdk.ts +8 -1
  112. package/src/router/directswap.ts +23 -0
  113. package/src/router/index.ts +0 -2
  114. package/src/router/payload-encoder.ts +19 -3
  115. package/src/types.ts +1 -0
  116. package/src/utils.ts +1 -1
  117. package/tests/constants-e2e.ts +3 -3
  118. package/tests/utils-e2e.ts +136 -21
  119. package/tests/utils.ts +52 -0
  120. package/.idea/aws.xml +0 -17
  121. package/.idea/codeStyles/Project.xml +0 -19
  122. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  123. package/.idea/misc.xml +0 -6
  124. package/.idea/modules.xml +0 -8
  125. package/.idea/paraswap-dex-lib.iml +0 -9
  126. package/.idea/vcs.xml +0 -6
  127. package/build/dex/pancakeswap-v3/types.d.ts +0 -14
  128. package/build/dex/solidly/forks-override/chronos.d.ts +0 -20
  129. package/build/dex/solidly/forks-override/chronos.js +0 -44
  130. package/build/dex/solidly/forks-override/chronos.js.map +0 -1
  131. /package/build/dex/{pancakeswap-v3 → test-dex}/types.js +0 -0
@@ -0,0 +1,1018 @@
1
+ [
2
+ {
3
+ "inputs": [
4
+ {
5
+ "internalType": "address",
6
+ "name": "_weth",
7
+ "type": "address"
8
+ },
9
+ {
10
+ "internalType": "uint256",
11
+ "name": "_partnerSharePercent",
12
+ "type": "uint256"
13
+ },
14
+ {
15
+ "internalType": "uint256",
16
+ "name": "_maxFeePercent",
17
+ "type": "uint256"
18
+ },
19
+ {
20
+ "internalType": "uint256",
21
+ "name": "_paraswapReferralShare",
22
+ "type": "uint256"
23
+ },
24
+ {
25
+ "internalType": "uint256",
26
+ "name": "_paraswapSlippageShare",
27
+ "type": "uint256"
28
+ },
29
+ {
30
+ "internalType": "contract IFeeClaimer",
31
+ "name": "_feeClaimer",
32
+ "type": "address"
33
+ }
34
+ ],
35
+ "stateMutability": "nonpayable",
36
+ "type": "constructor"
37
+ },
38
+ {
39
+ "anonymous": false,
40
+ "inputs": [
41
+ {
42
+ "indexed": false,
43
+ "internalType": "bytes16",
44
+ "name": "uuid",
45
+ "type": "bytes16"
46
+ },
47
+ {
48
+ "indexed": false,
49
+ "internalType": "address",
50
+ "name": "partner",
51
+ "type": "address"
52
+ },
53
+ {
54
+ "indexed": false,
55
+ "internalType": "uint256",
56
+ "name": "feePercent",
57
+ "type": "uint256"
58
+ },
59
+ {
60
+ "indexed": false,
61
+ "internalType": "address",
62
+ "name": "initiator",
63
+ "type": "address"
64
+ },
65
+ {
66
+ "indexed": true,
67
+ "internalType": "address",
68
+ "name": "beneficiary",
69
+ "type": "address"
70
+ },
71
+ {
72
+ "indexed": true,
73
+ "internalType": "address",
74
+ "name": "srcToken",
75
+ "type": "address"
76
+ },
77
+ {
78
+ "indexed": true,
79
+ "internalType": "address",
80
+ "name": "destToken",
81
+ "type": "address"
82
+ },
83
+ {
84
+ "indexed": false,
85
+ "internalType": "uint256",
86
+ "name": "srcAmount",
87
+ "type": "uint256"
88
+ },
89
+ {
90
+ "indexed": false,
91
+ "internalType": "uint256",
92
+ "name": "receivedAmount",
93
+ "type": "uint256"
94
+ },
95
+ {
96
+ "indexed": false,
97
+ "internalType": "uint256",
98
+ "name": "expectedAmount",
99
+ "type": "uint256"
100
+ }
101
+ ],
102
+ "name": "BoughtV3",
103
+ "type": "event"
104
+ },
105
+ {
106
+ "anonymous": false,
107
+ "inputs": [
108
+ {
109
+ "indexed": false,
110
+ "internalType": "bytes16",
111
+ "name": "uuid",
112
+ "type": "bytes16"
113
+ },
114
+ {
115
+ "indexed": false,
116
+ "internalType": "address",
117
+ "name": "partner",
118
+ "type": "address"
119
+ },
120
+ {
121
+ "indexed": false,
122
+ "internalType": "uint256",
123
+ "name": "feePercent",
124
+ "type": "uint256"
125
+ },
126
+ {
127
+ "indexed": false,
128
+ "internalType": "address",
129
+ "name": "initiator",
130
+ "type": "address"
131
+ },
132
+ {
133
+ "indexed": false,
134
+ "internalType": "enum DirectSwap.DirectSwapKind",
135
+ "name": "kind",
136
+ "type": "uint8"
137
+ },
138
+ {
139
+ "indexed": true,
140
+ "internalType": "address",
141
+ "name": "beneficiary",
142
+ "type": "address"
143
+ },
144
+ {
145
+ "indexed": true,
146
+ "internalType": "address",
147
+ "name": "srcToken",
148
+ "type": "address"
149
+ },
150
+ {
151
+ "indexed": true,
152
+ "internalType": "address",
153
+ "name": "destToken",
154
+ "type": "address"
155
+ },
156
+ {
157
+ "indexed": false,
158
+ "internalType": "uint256",
159
+ "name": "srcAmount",
160
+ "type": "uint256"
161
+ },
162
+ {
163
+ "indexed": false,
164
+ "internalType": "uint256",
165
+ "name": "receivedAmount",
166
+ "type": "uint256"
167
+ },
168
+ {
169
+ "indexed": false,
170
+ "internalType": "uint256",
171
+ "name": "expectedAmount",
172
+ "type": "uint256"
173
+ }
174
+ ],
175
+ "name": "SwappedDirect",
176
+ "type": "event"
177
+ },
178
+ {
179
+ "anonymous": false,
180
+ "inputs": [
181
+ {
182
+ "indexed": false,
183
+ "internalType": "bytes16",
184
+ "name": "uuid",
185
+ "type": "bytes16"
186
+ },
187
+ {
188
+ "indexed": false,
189
+ "internalType": "address",
190
+ "name": "partner",
191
+ "type": "address"
192
+ },
193
+ {
194
+ "indexed": false,
195
+ "internalType": "uint256",
196
+ "name": "feePercent",
197
+ "type": "uint256"
198
+ },
199
+ {
200
+ "indexed": false,
201
+ "internalType": "address",
202
+ "name": "initiator",
203
+ "type": "address"
204
+ },
205
+ {
206
+ "indexed": true,
207
+ "internalType": "address",
208
+ "name": "beneficiary",
209
+ "type": "address"
210
+ },
211
+ {
212
+ "indexed": true,
213
+ "internalType": "address",
214
+ "name": "srcToken",
215
+ "type": "address"
216
+ },
217
+ {
218
+ "indexed": true,
219
+ "internalType": "address",
220
+ "name": "destToken",
221
+ "type": "address"
222
+ },
223
+ {
224
+ "indexed": false,
225
+ "internalType": "uint256",
226
+ "name": "srcAmount",
227
+ "type": "uint256"
228
+ },
229
+ {
230
+ "indexed": false,
231
+ "internalType": "uint256",
232
+ "name": "receivedAmount",
233
+ "type": "uint256"
234
+ },
235
+ {
236
+ "indexed": false,
237
+ "internalType": "uint256",
238
+ "name": "expectedAmount",
239
+ "type": "uint256"
240
+ }
241
+ ],
242
+ "name": "SwappedV3",
243
+ "type": "event"
244
+ },
245
+ {
246
+ "inputs": [],
247
+ "name": "ROUTER_ROLE",
248
+ "outputs": [
249
+ {
250
+ "internalType": "bytes32",
251
+ "name": "",
252
+ "type": "bytes32"
253
+ }
254
+ ],
255
+ "stateMutability": "view",
256
+ "type": "function"
257
+ },
258
+ {
259
+ "inputs": [],
260
+ "name": "WHITELISTED_ROLE",
261
+ "outputs": [
262
+ {
263
+ "internalType": "bytes32",
264
+ "name": "",
265
+ "type": "bytes32"
266
+ }
267
+ ],
268
+ "stateMutability": "view",
269
+ "type": "function"
270
+ },
271
+ {
272
+ "inputs": [
273
+ {
274
+ "components": [
275
+ {
276
+ "components": [
277
+ {
278
+ "internalType": "bytes32",
279
+ "name": "poolId",
280
+ "type": "bytes32"
281
+ },
282
+ {
283
+ "internalType": "uint256",
284
+ "name": "assetInIndex",
285
+ "type": "uint256"
286
+ },
287
+ {
288
+ "internalType": "uint256",
289
+ "name": "assetOutIndex",
290
+ "type": "uint256"
291
+ },
292
+ {
293
+ "internalType": "uint256",
294
+ "name": "amount",
295
+ "type": "uint256"
296
+ },
297
+ {
298
+ "internalType": "bytes",
299
+ "name": "userData",
300
+ "type": "bytes"
301
+ }
302
+ ],
303
+ "internalType": "struct IBalancerV2Vault.BatchSwapStep[]",
304
+ "name": "swaps",
305
+ "type": "tuple[]"
306
+ },
307
+ {
308
+ "internalType": "address[]",
309
+ "name": "assets",
310
+ "type": "address[]"
311
+ },
312
+ {
313
+ "components": [
314
+ {
315
+ "internalType": "address",
316
+ "name": "sender",
317
+ "type": "address"
318
+ },
319
+ {
320
+ "internalType": "bool",
321
+ "name": "fromInternalBalance",
322
+ "type": "bool"
323
+ },
324
+ {
325
+ "internalType": "address payable",
326
+ "name": "recipient",
327
+ "type": "address"
328
+ },
329
+ {
330
+ "internalType": "bool",
331
+ "name": "toInternalBalance",
332
+ "type": "bool"
333
+ }
334
+ ],
335
+ "internalType": "struct IBalancerV2Vault.FundManagement",
336
+ "name": "funds",
337
+ "type": "tuple"
338
+ },
339
+ {
340
+ "internalType": "int256[]",
341
+ "name": "limits",
342
+ "type": "int256[]"
343
+ },
344
+ {
345
+ "internalType": "uint256",
346
+ "name": "fromAmount",
347
+ "type": "uint256"
348
+ },
349
+ {
350
+ "internalType": "uint256",
351
+ "name": "toAmount",
352
+ "type": "uint256"
353
+ },
354
+ {
355
+ "internalType": "uint256",
356
+ "name": "expectedAmount",
357
+ "type": "uint256"
358
+ },
359
+ {
360
+ "internalType": "uint256",
361
+ "name": "deadline",
362
+ "type": "uint256"
363
+ },
364
+ {
365
+ "internalType": "uint256",
366
+ "name": "feePercent",
367
+ "type": "uint256"
368
+ },
369
+ {
370
+ "internalType": "address",
371
+ "name": "vault",
372
+ "type": "address"
373
+ },
374
+ {
375
+ "internalType": "address payable",
376
+ "name": "partner",
377
+ "type": "address"
378
+ },
379
+ {
380
+ "internalType": "bool",
381
+ "name": "isApproved",
382
+ "type": "bool"
383
+ },
384
+ {
385
+ "internalType": "address payable",
386
+ "name": "beneficiary",
387
+ "type": "address"
388
+ },
389
+ {
390
+ "internalType": "bytes",
391
+ "name": "permit",
392
+ "type": "bytes"
393
+ },
394
+ {
395
+ "internalType": "bytes16",
396
+ "name": "uuid",
397
+ "type": "bytes16"
398
+ }
399
+ ],
400
+ "internalType": "struct Utils.DirectBalancerV2",
401
+ "name": "data",
402
+ "type": "tuple"
403
+ }
404
+ ],
405
+ "name": "directBalancerV2GivenInSwap",
406
+ "outputs": [],
407
+ "stateMutability": "payable",
408
+ "type": "function"
409
+ },
410
+ {
411
+ "inputs": [
412
+ {
413
+ "components": [
414
+ {
415
+ "components": [
416
+ {
417
+ "internalType": "bytes32",
418
+ "name": "poolId",
419
+ "type": "bytes32"
420
+ },
421
+ {
422
+ "internalType": "uint256",
423
+ "name": "assetInIndex",
424
+ "type": "uint256"
425
+ },
426
+ {
427
+ "internalType": "uint256",
428
+ "name": "assetOutIndex",
429
+ "type": "uint256"
430
+ },
431
+ {
432
+ "internalType": "uint256",
433
+ "name": "amount",
434
+ "type": "uint256"
435
+ },
436
+ {
437
+ "internalType": "bytes",
438
+ "name": "userData",
439
+ "type": "bytes"
440
+ }
441
+ ],
442
+ "internalType": "struct IBalancerV2Vault.BatchSwapStep[]",
443
+ "name": "swaps",
444
+ "type": "tuple[]"
445
+ },
446
+ {
447
+ "internalType": "address[]",
448
+ "name": "assets",
449
+ "type": "address[]"
450
+ },
451
+ {
452
+ "components": [
453
+ {
454
+ "internalType": "address",
455
+ "name": "sender",
456
+ "type": "address"
457
+ },
458
+ {
459
+ "internalType": "bool",
460
+ "name": "fromInternalBalance",
461
+ "type": "bool"
462
+ },
463
+ {
464
+ "internalType": "address payable",
465
+ "name": "recipient",
466
+ "type": "address"
467
+ },
468
+ {
469
+ "internalType": "bool",
470
+ "name": "toInternalBalance",
471
+ "type": "bool"
472
+ }
473
+ ],
474
+ "internalType": "struct IBalancerV2Vault.FundManagement",
475
+ "name": "funds",
476
+ "type": "tuple"
477
+ },
478
+ {
479
+ "internalType": "int256[]",
480
+ "name": "limits",
481
+ "type": "int256[]"
482
+ },
483
+ {
484
+ "internalType": "uint256",
485
+ "name": "fromAmount",
486
+ "type": "uint256"
487
+ },
488
+ {
489
+ "internalType": "uint256",
490
+ "name": "toAmount",
491
+ "type": "uint256"
492
+ },
493
+ {
494
+ "internalType": "uint256",
495
+ "name": "expectedAmount",
496
+ "type": "uint256"
497
+ },
498
+ {
499
+ "internalType": "uint256",
500
+ "name": "deadline",
501
+ "type": "uint256"
502
+ },
503
+ {
504
+ "internalType": "uint256",
505
+ "name": "feePercent",
506
+ "type": "uint256"
507
+ },
508
+ {
509
+ "internalType": "address",
510
+ "name": "vault",
511
+ "type": "address"
512
+ },
513
+ {
514
+ "internalType": "address payable",
515
+ "name": "partner",
516
+ "type": "address"
517
+ },
518
+ {
519
+ "internalType": "bool",
520
+ "name": "isApproved",
521
+ "type": "bool"
522
+ },
523
+ {
524
+ "internalType": "address payable",
525
+ "name": "beneficiary",
526
+ "type": "address"
527
+ },
528
+ {
529
+ "internalType": "bytes",
530
+ "name": "permit",
531
+ "type": "bytes"
532
+ },
533
+ {
534
+ "internalType": "bytes16",
535
+ "name": "uuid",
536
+ "type": "bytes16"
537
+ }
538
+ ],
539
+ "internalType": "struct Utils.DirectBalancerV2",
540
+ "name": "data",
541
+ "type": "tuple"
542
+ }
543
+ ],
544
+ "name": "directBalancerV2GivenOutSwap",
545
+ "outputs": [],
546
+ "stateMutability": "payable",
547
+ "type": "function"
548
+ },
549
+ {
550
+ "inputs": [
551
+ {
552
+ "components": [
553
+ {
554
+ "internalType": "address",
555
+ "name": "fromToken",
556
+ "type": "address"
557
+ },
558
+ {
559
+ "internalType": "address",
560
+ "name": "toToken",
561
+ "type": "address"
562
+ },
563
+ {
564
+ "internalType": "address",
565
+ "name": "exchange",
566
+ "type": "address"
567
+ },
568
+ {
569
+ "internalType": "uint256",
570
+ "name": "fromAmount",
571
+ "type": "uint256"
572
+ },
573
+ {
574
+ "internalType": "uint256",
575
+ "name": "toAmount",
576
+ "type": "uint256"
577
+ },
578
+ {
579
+ "internalType": "uint256",
580
+ "name": "expectedAmount",
581
+ "type": "uint256"
582
+ },
583
+ {
584
+ "internalType": "uint256",
585
+ "name": "feePercent",
586
+ "type": "uint256"
587
+ },
588
+ {
589
+ "internalType": "int128",
590
+ "name": "i",
591
+ "type": "int128"
592
+ },
593
+ {
594
+ "internalType": "int128",
595
+ "name": "j",
596
+ "type": "int128"
597
+ },
598
+ {
599
+ "internalType": "address payable",
600
+ "name": "partner",
601
+ "type": "address"
602
+ },
603
+ {
604
+ "internalType": "bool",
605
+ "name": "isApproved",
606
+ "type": "bool"
607
+ },
608
+ {
609
+ "internalType": "enum Utils.CurveSwapType",
610
+ "name": "swapType",
611
+ "type": "uint8"
612
+ },
613
+ {
614
+ "internalType": "address payable",
615
+ "name": "beneficiary",
616
+ "type": "address"
617
+ },
618
+ {
619
+ "internalType": "bool",
620
+ "name": "needWrapNative",
621
+ "type": "bool"
622
+ },
623
+ {
624
+ "internalType": "bytes",
625
+ "name": "permit",
626
+ "type": "bytes"
627
+ },
628
+ {
629
+ "internalType": "bytes16",
630
+ "name": "uuid",
631
+ "type": "bytes16"
632
+ }
633
+ ],
634
+ "internalType": "struct Utils.DirectCurveV1",
635
+ "name": "data",
636
+ "type": "tuple"
637
+ }
638
+ ],
639
+ "name": "directCurveV1Swap",
640
+ "outputs": [],
641
+ "stateMutability": "payable",
642
+ "type": "function"
643
+ },
644
+ {
645
+ "inputs": [
646
+ {
647
+ "components": [
648
+ {
649
+ "internalType": "address",
650
+ "name": "fromToken",
651
+ "type": "address"
652
+ },
653
+ {
654
+ "internalType": "address",
655
+ "name": "toToken",
656
+ "type": "address"
657
+ },
658
+ {
659
+ "internalType": "address",
660
+ "name": "exchange",
661
+ "type": "address"
662
+ },
663
+ {
664
+ "internalType": "address",
665
+ "name": "poolAddress",
666
+ "type": "address"
667
+ },
668
+ {
669
+ "internalType": "uint256",
670
+ "name": "fromAmount",
671
+ "type": "uint256"
672
+ },
673
+ {
674
+ "internalType": "uint256",
675
+ "name": "toAmount",
676
+ "type": "uint256"
677
+ },
678
+ {
679
+ "internalType": "uint256",
680
+ "name": "expectedAmount",
681
+ "type": "uint256"
682
+ },
683
+ {
684
+ "internalType": "uint256",
685
+ "name": "feePercent",
686
+ "type": "uint256"
687
+ },
688
+ {
689
+ "internalType": "uint256",
690
+ "name": "i",
691
+ "type": "uint256"
692
+ },
693
+ {
694
+ "internalType": "uint256",
695
+ "name": "j",
696
+ "type": "uint256"
697
+ },
698
+ {
699
+ "internalType": "address payable",
700
+ "name": "partner",
701
+ "type": "address"
702
+ },
703
+ {
704
+ "internalType": "bool",
705
+ "name": "isApproved",
706
+ "type": "bool"
707
+ },
708
+ {
709
+ "internalType": "enum Utils.CurveSwapType",
710
+ "name": "swapType",
711
+ "type": "uint8"
712
+ },
713
+ {
714
+ "internalType": "address payable",
715
+ "name": "beneficiary",
716
+ "type": "address"
717
+ },
718
+ {
719
+ "internalType": "bool",
720
+ "name": "needWrapNative",
721
+ "type": "bool"
722
+ },
723
+ {
724
+ "internalType": "bytes",
725
+ "name": "permit",
726
+ "type": "bytes"
727
+ },
728
+ {
729
+ "internalType": "bytes16",
730
+ "name": "uuid",
731
+ "type": "bytes16"
732
+ }
733
+ ],
734
+ "internalType": "struct Utils.DirectCurveV2",
735
+ "name": "data",
736
+ "type": "tuple"
737
+ }
738
+ ],
739
+ "name": "directCurveV2Swap",
740
+ "outputs": [],
741
+ "stateMutability": "payable",
742
+ "type": "function"
743
+ },
744
+ {
745
+ "inputs": [
746
+ {
747
+ "components": [
748
+ {
749
+ "internalType": "address",
750
+ "name": "fromToken",
751
+ "type": "address"
752
+ },
753
+ {
754
+ "internalType": "address",
755
+ "name": "toToken",
756
+ "type": "address"
757
+ },
758
+ {
759
+ "internalType": "address",
760
+ "name": "exchange",
761
+ "type": "address"
762
+ },
763
+ {
764
+ "internalType": "uint256",
765
+ "name": "fromAmount",
766
+ "type": "uint256"
767
+ },
768
+ {
769
+ "internalType": "uint256",
770
+ "name": "toAmount",
771
+ "type": "uint256"
772
+ },
773
+ {
774
+ "internalType": "uint256",
775
+ "name": "expectedAmount",
776
+ "type": "uint256"
777
+ },
778
+ {
779
+ "internalType": "uint256",
780
+ "name": "feePercent",
781
+ "type": "uint256"
782
+ },
783
+ {
784
+ "internalType": "uint256",
785
+ "name": "deadline",
786
+ "type": "uint256"
787
+ },
788
+ {
789
+ "internalType": "address payable",
790
+ "name": "partner",
791
+ "type": "address"
792
+ },
793
+ {
794
+ "internalType": "bool",
795
+ "name": "isApproved",
796
+ "type": "bool"
797
+ },
798
+ {
799
+ "internalType": "address payable",
800
+ "name": "beneficiary",
801
+ "type": "address"
802
+ },
803
+ {
804
+ "internalType": "bytes",
805
+ "name": "path",
806
+ "type": "bytes"
807
+ },
808
+ {
809
+ "internalType": "bytes",
810
+ "name": "permit",
811
+ "type": "bytes"
812
+ },
813
+ {
814
+ "internalType": "bytes16",
815
+ "name": "uuid",
816
+ "type": "bytes16"
817
+ }
818
+ ],
819
+ "internalType": "struct Utils.DirectUniV3",
820
+ "name": "data",
821
+ "type": "tuple"
822
+ }
823
+ ],
824
+ "name": "directUniV3Buy",
825
+ "outputs": [],
826
+ "stateMutability": "payable",
827
+ "type": "function"
828
+ },
829
+ {
830
+ "inputs": [
831
+ {
832
+ "components": [
833
+ {
834
+ "internalType": "address",
835
+ "name": "fromToken",
836
+ "type": "address"
837
+ },
838
+ {
839
+ "internalType": "address",
840
+ "name": "toToken",
841
+ "type": "address"
842
+ },
843
+ {
844
+ "internalType": "address",
845
+ "name": "exchange",
846
+ "type": "address"
847
+ },
848
+ {
849
+ "internalType": "uint256",
850
+ "name": "fromAmount",
851
+ "type": "uint256"
852
+ },
853
+ {
854
+ "internalType": "uint256",
855
+ "name": "toAmount",
856
+ "type": "uint256"
857
+ },
858
+ {
859
+ "internalType": "uint256",
860
+ "name": "expectedAmount",
861
+ "type": "uint256"
862
+ },
863
+ {
864
+ "internalType": "uint256",
865
+ "name": "feePercent",
866
+ "type": "uint256"
867
+ },
868
+ {
869
+ "internalType": "uint256",
870
+ "name": "deadline",
871
+ "type": "uint256"
872
+ },
873
+ {
874
+ "internalType": "address payable",
875
+ "name": "partner",
876
+ "type": "address"
877
+ },
878
+ {
879
+ "internalType": "bool",
880
+ "name": "isApproved",
881
+ "type": "bool"
882
+ },
883
+ {
884
+ "internalType": "address payable",
885
+ "name": "beneficiary",
886
+ "type": "address"
887
+ },
888
+ {
889
+ "internalType": "bytes",
890
+ "name": "path",
891
+ "type": "bytes"
892
+ },
893
+ {
894
+ "internalType": "bytes",
895
+ "name": "permit",
896
+ "type": "bytes"
897
+ },
898
+ {
899
+ "internalType": "bytes16",
900
+ "name": "uuid",
901
+ "type": "bytes16"
902
+ }
903
+ ],
904
+ "internalType": "struct Utils.DirectUniV3",
905
+ "name": "data",
906
+ "type": "tuple"
907
+ }
908
+ ],
909
+ "name": "directUniV3Swap",
910
+ "outputs": [],
911
+ "stateMutability": "payable",
912
+ "type": "function"
913
+ },
914
+ {
915
+ "inputs": [],
916
+ "name": "feeClaimer",
917
+ "outputs": [
918
+ {
919
+ "internalType": "contract IFeeClaimer",
920
+ "name": "",
921
+ "type": "address"
922
+ }
923
+ ],
924
+ "stateMutability": "view",
925
+ "type": "function"
926
+ },
927
+ {
928
+ "inputs": [],
929
+ "name": "getKey",
930
+ "outputs": [
931
+ {
932
+ "internalType": "bytes32",
933
+ "name": "",
934
+ "type": "bytes32"
935
+ }
936
+ ],
937
+ "stateMutability": "pure",
938
+ "type": "function"
939
+ },
940
+ {
941
+ "inputs": [
942
+ {
943
+ "internalType": "bytes",
944
+ "name": "",
945
+ "type": "bytes"
946
+ }
947
+ ],
948
+ "name": "initialize",
949
+ "outputs": [],
950
+ "stateMutability": "pure",
951
+ "type": "function"
952
+ },
953
+ {
954
+ "inputs": [],
955
+ "name": "maxFeePercent",
956
+ "outputs": [
957
+ {
958
+ "internalType": "uint256",
959
+ "name": "",
960
+ "type": "uint256"
961
+ }
962
+ ],
963
+ "stateMutability": "view",
964
+ "type": "function"
965
+ },
966
+ {
967
+ "inputs": [],
968
+ "name": "paraswapReferralShare",
969
+ "outputs": [
970
+ {
971
+ "internalType": "uint256",
972
+ "name": "",
973
+ "type": "uint256"
974
+ }
975
+ ],
976
+ "stateMutability": "view",
977
+ "type": "function"
978
+ },
979
+ {
980
+ "inputs": [],
981
+ "name": "paraswapSlippageShare",
982
+ "outputs": [
983
+ {
984
+ "internalType": "uint256",
985
+ "name": "",
986
+ "type": "uint256"
987
+ }
988
+ ],
989
+ "stateMutability": "view",
990
+ "type": "function"
991
+ },
992
+ {
993
+ "inputs": [],
994
+ "name": "partnerSharePercent",
995
+ "outputs": [
996
+ {
997
+ "internalType": "uint256",
998
+ "name": "",
999
+ "type": "uint256"
1000
+ }
1001
+ ],
1002
+ "stateMutability": "view",
1003
+ "type": "function"
1004
+ },
1005
+ {
1006
+ "inputs": [],
1007
+ "name": "weth",
1008
+ "outputs": [
1009
+ {
1010
+ "internalType": "address",
1011
+ "name": "",
1012
+ "type": "address"
1013
+ }
1014
+ ],
1015
+ "stateMutability": "view",
1016
+ "type": "function"
1017
+ }
1018
+ ]