@paraswap/dex-lib 2.20.3 → 2.21.1-chronos

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 (144) hide show
  1. package/.idea/aws.xml +17 -0
  2. package/.idea/codeStyles/Project.xml +19 -0
  3. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  4. package/.idea/misc.xml +6 -0
  5. package/.idea/modules.xml +8 -0
  6. package/.idea/paraswap-dex-lib.iml +9 -0
  7. package/.idea/vcs.xml +6 -0
  8. package/build/config.js +2 -4
  9. package/build/config.js.map +1 -1
  10. package/build/dex/aave-v3/tokens/arbitrum.json +50 -0
  11. package/build/dex/aave-v3/tokens/avalanche.json +74 -0
  12. package/build/dex/aave-v3/tokens/fantom.json +62 -0
  13. package/build/dex/aave-v3/tokens/optimism.json +50 -0
  14. package/build/dex/aave-v3/tokens/polygon.json +116 -0
  15. package/build/dex/balancer-v2/balancer-v2.d.ts +3 -9
  16. package/build/dex/balancer-v2/balancer-v2.js +0 -83
  17. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  18. package/build/dex/balancer-v2/constants.d.ts +0 -4
  19. package/build/dex/balancer-v2/constants.js +1 -6
  20. package/build/dex/balancer-v2/constants.js.map +1 -1
  21. package/build/dex/balancer-v2/types.d.ts +1 -20
  22. package/build/dex/balancer-v2/types.js.map +1 -1
  23. package/build/dex/curve-v1/constants.d.ts +0 -1
  24. package/build/dex/curve-v1/constants.js +1 -2
  25. package/build/dex/curve-v1/constants.js.map +1 -1
  26. package/build/dex/curve-v1/curve-v1.d.ts +3 -9
  27. package/build/dex/curve-v1/curve-v1.js +4 -92
  28. package/build/dex/curve-v1/curve-v1.js.map +1 -1
  29. package/build/dex/curve-v1/types.d.ts +0 -24
  30. package/build/dex/curve-v1/types.js +1 -6
  31. package/build/dex/curve-v1/types.js.map +1 -1
  32. package/build/dex/curve-v1-factory/constants.d.ts +0 -1
  33. package/build/dex/curve-v1-factory/constants.js +1 -2
  34. package/build/dex/curve-v1-factory/constants.js.map +1 -1
  35. package/build/dex/curve-v1-factory/curve-v1-factory.d.ts +4 -11
  36. package/build/dex/curve-v1-factory/curve-v1-factory.js +0 -87
  37. package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
  38. package/build/dex/curve-v1-factory/types.d.ts +0 -24
  39. package/build/dex/curve-v1-factory/types.js +1 -6
  40. package/build/dex/curve-v1-factory/types.js.map +1 -1
  41. package/build/dex/curve-v2.d.ts +7 -29
  42. package/build/dex/curve-v2.js +1 -91
  43. package/build/dex/curve-v2.js.map +1 -1
  44. package/build/dex/idex.d.ts +1 -1
  45. package/build/dex/index.js +2 -2
  46. package/build/dex/index.js.map +1 -1
  47. package/build/dex/pancakeswap-v3/pancakeswap-v3.d.ts +2 -2
  48. package/build/dex/pancakeswap-v3/types.d.ts +14 -0
  49. package/build/dex/pancakeswap-v3/types.js +3 -0
  50. package/build/dex/pancakeswap-v3/types.js.map +1 -0
  51. package/build/dex/pancakeswap-v3/utils.js.map +1 -1
  52. package/build/dex/quickswap/camelot-v3.d.ts +6 -0
  53. package/build/dex/quickswap/camelot-v3.js +19 -0
  54. package/build/dex/quickswap/camelot-v3.js.map +1 -0
  55. package/build/dex/simple-exchange.d.ts +0 -2
  56. package/build/dex/simple-exchange.js +0 -1
  57. package/build/dex/simple-exchange.js.map +1 -1
  58. package/build/dex/solidly/config.js +13 -0
  59. package/build/dex/solidly/config.js.map +1 -1
  60. package/build/dex/solidly/forks-override/chronos.d.ts +23 -0
  61. package/build/dex/solidly/forks-override/chronos.js +132 -0
  62. package/build/dex/solidly/forks-override/chronos.js.map +1 -0
  63. package/build/dex/solidly/solidly.js +1 -0
  64. package/build/dex/solidly/solidly.js.map +1 -1
  65. package/build/dex/uniswap-v2/uniswap-v2.d.ts +1 -1
  66. package/build/dex/uniswap-v2/uniswap-v2.js +1 -1
  67. package/build/dex/uniswap-v2/uniswap-v2.js.map +1 -1
  68. package/build/dex/uniswap-v3/constants.d.ts +0 -4
  69. package/build/dex/uniswap-v3/constants.js +1 -6
  70. package/build/dex/uniswap-v3/constants.js.map +1 -1
  71. package/build/dex/uniswap-v3/types.d.ts +3 -20
  72. package/build/dex/uniswap-v3/types.js.map +1 -1
  73. package/build/dex/uniswap-v3/uniswap-v3.d.ts +1 -7
  74. package/build/dex/uniswap-v3/uniswap-v3.js +1 -85
  75. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  76. package/build/dex/woo-fi-v2/config.js +6 -6
  77. package/build/dex/zerox/index.d.ts +1 -1
  78. package/build/dex/zerox/index.js +1 -1
  79. package/build/dex/zerox/index.js.map +1 -1
  80. package/build/implementations/local-paraswap-sdk.js +1 -5
  81. package/build/implementations/local-paraswap-sdk.js.map +1 -1
  82. package/build/router/directswap.js +1 -7
  83. package/build/router/directswap.js.map +1 -1
  84. package/build/router/index.js.map +1 -1
  85. package/build/router/payload-encoder.js +6 -16
  86. package/build/router/payload-encoder.js.map +1 -1
  87. package/build/types.d.ts +0 -2
  88. package/build/utils.d.ts +0 -2
  89. package/build/utils.js +1 -5
  90. package/build/utils.js.map +1 -1
  91. package/package.json +4 -6
  92. package/src/config.ts +2 -5
  93. package/src/dex/balancer-v2/balancer-v2-e2e.test.ts +0 -79
  94. package/src/dex/balancer-v2/balancer-v2.ts +4 -153
  95. package/src/dex/balancer-v2/constants.ts +0 -5
  96. package/src/dex/balancer-v2/types.ts +1 -21
  97. package/src/dex/curve-v1/constants.ts +0 -2
  98. package/src/dex/curve-v1/curve-v1-e2e.test.ts +0 -57
  99. package/src/dex/curve-v1/curve-v1.ts +5 -144
  100. package/src/dex/curve-v1/types.ts +0 -26
  101. package/src/dex/curve-v1-factory/constants.ts +0 -2
  102. package/src/dex/curve-v1-factory/curve-v1-factory-e2e.test.ts +0 -1
  103. package/src/dex/curve-v1-factory/curve-v1-factory.ts +4 -140
  104. package/src/dex/curve-v1-factory/types.ts +0 -26
  105. package/src/dex/curve-v2.ts +8 -169
  106. package/src/dex/idex.ts +0 -6
  107. package/src/dex/index.ts +2 -2
  108. package/src/dex/pancakeswap-v3/pancakeswap-v3-e2e.test.ts +6 -3
  109. package/src/dex/pancakeswap-v3/pancakeswap-v3-integration.test.ts +14 -3
  110. package/src/dex/pancakeswap-v3/pancakeswap-v3.ts +3 -3
  111. package/src/dex/pancakeswap-v3/utils.ts +4 -1
  112. package/src/dex/simple-exchange.ts +0 -6
  113. package/src/dex/solidly/config.ts +14 -0
  114. package/src/dex/solidly/forks-override/chronos.ts +206 -0
  115. package/src/dex/solidly/solidly-e2e.test.ts +205 -31
  116. package/src/dex/solidly/solidly-integration.test.ts +141 -0
  117. package/src/dex/solidly/solidly.ts +1 -0
  118. package/src/dex/uniswap-v2/uniswap-v2.ts +0 -6
  119. package/src/dex/uniswap-v3/constants.ts +0 -5
  120. package/src/dex/uniswap-v3/types.ts +3 -23
  121. package/src/dex/uniswap-v3/uniswap-v3-e2e.test.ts +2 -100
  122. package/src/dex/uniswap-v3/uniswap-v3.ts +3 -138
  123. package/src/dex/woo-fi-v2/config.ts +6 -6
  124. package/src/dex/zerox/index.ts +0 -7
  125. package/src/implementations/local-paraswap-sdk.ts +1 -8
  126. package/src/router/directswap.ts +0 -23
  127. package/src/router/index.ts +2 -0
  128. package/src/router/payload-encoder.ts +5 -22
  129. package/src/types.ts +0 -2
  130. package/src/utils.ts +0 -5
  131. package/tests/constants-e2e.ts +9 -4
  132. package/tests/utils-e2e.ts +20 -140
  133. package/tests/utils.ts +0 -52
  134. package/src/abi/DirectSwap.json +0 -1018
  135. package/src/abi/swaap-v2/vault.json +0 -918
  136. package/src/dex/swaap-v2/config.ts +0 -19
  137. package/src/dex/swaap-v2/constants.ts +0 -37
  138. package/src/dex/swaap-v2/rate-fetcher.ts +0 -214
  139. package/src/dex/swaap-v2/swaap-v2-e2e.test.ts +0 -172
  140. package/src/dex/swaap-v2/swaap-v2-integration.test.ts +0 -142
  141. package/src/dex/swaap-v2/swaap-v2.ts +0 -901
  142. package/src/dex/swaap-v2/types.ts +0 -95
  143. package/src/dex/swaap-v2/utils.ts +0 -36
  144. package/src/dex/swaap-v2/validators.ts +0 -128
@@ -1,918 +0,0 @@
1
- [
2
- {
3
- "inputs": [
4
- {
5
- "internalType": "contract IAuthorizer",
6
- "name": "authorizer",
7
- "type": "address"
8
- },
9
- { "internalType": "contract IWETH", "name": "weth", "type": "address" },
10
- {
11
- "internalType": "uint256",
12
- "name": "pauseWindowDuration",
13
- "type": "uint256"
14
- },
15
- {
16
- "internalType": "uint256",
17
- "name": "bufferPeriodDuration",
18
- "type": "uint256"
19
- }
20
- ],
21
- "stateMutability": "nonpayable",
22
- "type": "constructor"
23
- },
24
- {
25
- "anonymous": false,
26
- "inputs": [
27
- {
28
- "indexed": true,
29
- "internalType": "contract IAuthorizer",
30
- "name": "newAuthorizer",
31
- "type": "address"
32
- }
33
- ],
34
- "name": "AuthorizerChanged",
35
- "type": "event"
36
- },
37
- {
38
- "anonymous": false,
39
- "inputs": [
40
- {
41
- "indexed": true,
42
- "internalType": "contract IERC20",
43
- "name": "token",
44
- "type": "address"
45
- },
46
- {
47
- "indexed": true,
48
- "internalType": "address",
49
- "name": "sender",
50
- "type": "address"
51
- },
52
- {
53
- "indexed": false,
54
- "internalType": "address",
55
- "name": "recipient",
56
- "type": "address"
57
- },
58
- {
59
- "indexed": false,
60
- "internalType": "uint256",
61
- "name": "amount",
62
- "type": "uint256"
63
- }
64
- ],
65
- "name": "ExternalBalanceTransfer",
66
- "type": "event"
67
- },
68
- {
69
- "anonymous": false,
70
- "inputs": [
71
- {
72
- "indexed": true,
73
- "internalType": "contract IFlashLoanRecipient",
74
- "name": "recipient",
75
- "type": "address"
76
- },
77
- {
78
- "indexed": true,
79
- "internalType": "contract IERC20",
80
- "name": "token",
81
- "type": "address"
82
- },
83
- {
84
- "indexed": false,
85
- "internalType": "uint256",
86
- "name": "amount",
87
- "type": "uint256"
88
- },
89
- {
90
- "indexed": false,
91
- "internalType": "uint256",
92
- "name": "feeAmount",
93
- "type": "uint256"
94
- }
95
- ],
96
- "name": "FlashLoan",
97
- "type": "event"
98
- },
99
- {
100
- "anonymous": false,
101
- "inputs": [
102
- {
103
- "indexed": true,
104
- "internalType": "address",
105
- "name": "user",
106
- "type": "address"
107
- },
108
- {
109
- "indexed": true,
110
- "internalType": "contract IERC20",
111
- "name": "token",
112
- "type": "address"
113
- },
114
- {
115
- "indexed": false,
116
- "internalType": "int256",
117
- "name": "delta",
118
- "type": "int256"
119
- }
120
- ],
121
- "name": "InternalBalanceChanged",
122
- "type": "event"
123
- },
124
- {
125
- "anonymous": false,
126
- "inputs": [
127
- {
128
- "indexed": false,
129
- "internalType": "bool",
130
- "name": "paused",
131
- "type": "bool"
132
- }
133
- ],
134
- "name": "PausedStateChanged",
135
- "type": "event"
136
- },
137
- {
138
- "anonymous": false,
139
- "inputs": [
140
- {
141
- "indexed": true,
142
- "internalType": "bytes32",
143
- "name": "poolId",
144
- "type": "bytes32"
145
- },
146
- {
147
- "indexed": true,
148
- "internalType": "address",
149
- "name": "liquidityProvider",
150
- "type": "address"
151
- },
152
- {
153
- "indexed": false,
154
- "internalType": "contract IERC20[]",
155
- "name": "tokens",
156
- "type": "address[]"
157
- },
158
- {
159
- "indexed": false,
160
- "internalType": "int256[]",
161
- "name": "deltas",
162
- "type": "int256[]"
163
- },
164
- {
165
- "indexed": false,
166
- "internalType": "uint256[]",
167
- "name": "protocolFeeAmounts",
168
- "type": "uint256[]"
169
- }
170
- ],
171
- "name": "PoolBalanceChanged",
172
- "type": "event"
173
- },
174
- {
175
- "anonymous": false,
176
- "inputs": [
177
- {
178
- "indexed": true,
179
- "internalType": "bytes32",
180
- "name": "poolId",
181
- "type": "bytes32"
182
- },
183
- {
184
- "indexed": true,
185
- "internalType": "address",
186
- "name": "assetManager",
187
- "type": "address"
188
- },
189
- {
190
- "indexed": true,
191
- "internalType": "contract IERC20",
192
- "name": "token",
193
- "type": "address"
194
- },
195
- {
196
- "indexed": false,
197
- "internalType": "int256",
198
- "name": "cashDelta",
199
- "type": "int256"
200
- },
201
- {
202
- "indexed": false,
203
- "internalType": "int256",
204
- "name": "managedDelta",
205
- "type": "int256"
206
- }
207
- ],
208
- "name": "PoolBalanceManaged",
209
- "type": "event"
210
- },
211
- {
212
- "anonymous": false,
213
- "inputs": [
214
- {
215
- "indexed": true,
216
- "internalType": "bytes32",
217
- "name": "poolId",
218
- "type": "bytes32"
219
- },
220
- {
221
- "indexed": true,
222
- "internalType": "address",
223
- "name": "poolAddress",
224
- "type": "address"
225
- },
226
- {
227
- "indexed": false,
228
- "internalType": "enum IVault.PoolSpecialization",
229
- "name": "specialization",
230
- "type": "uint8"
231
- }
232
- ],
233
- "name": "PoolRegistered",
234
- "type": "event"
235
- },
236
- {
237
- "anonymous": false,
238
- "inputs": [
239
- {
240
- "indexed": true,
241
- "internalType": "address",
242
- "name": "relayer",
243
- "type": "address"
244
- },
245
- {
246
- "indexed": true,
247
- "internalType": "address",
248
- "name": "sender",
249
- "type": "address"
250
- },
251
- {
252
- "indexed": false,
253
- "internalType": "bool",
254
- "name": "approved",
255
- "type": "bool"
256
- }
257
- ],
258
- "name": "RelayerApprovalChanged",
259
- "type": "event"
260
- },
261
- {
262
- "anonymous": false,
263
- "inputs": [
264
- {
265
- "indexed": true,
266
- "internalType": "bytes32",
267
- "name": "poolId",
268
- "type": "bytes32"
269
- },
270
- {
271
- "indexed": true,
272
- "internalType": "contract IERC20",
273
- "name": "tokenIn",
274
- "type": "address"
275
- },
276
- {
277
- "indexed": true,
278
- "internalType": "contract IERC20",
279
- "name": "tokenOut",
280
- "type": "address"
281
- },
282
- {
283
- "indexed": false,
284
- "internalType": "uint256",
285
- "name": "amountIn",
286
- "type": "uint256"
287
- },
288
- {
289
- "indexed": false,
290
- "internalType": "uint256",
291
- "name": "amountOut",
292
- "type": "uint256"
293
- }
294
- ],
295
- "name": "Swap",
296
- "type": "event"
297
- },
298
- {
299
- "anonymous": false,
300
- "inputs": [
301
- {
302
- "indexed": true,
303
- "internalType": "bytes32",
304
- "name": "poolId",
305
- "type": "bytes32"
306
- },
307
- {
308
- "indexed": false,
309
- "internalType": "contract IERC20[]",
310
- "name": "tokens",
311
- "type": "address[]"
312
- }
313
- ],
314
- "name": "TokensDeregistered",
315
- "type": "event"
316
- },
317
- {
318
- "anonymous": false,
319
- "inputs": [
320
- {
321
- "indexed": true,
322
- "internalType": "bytes32",
323
- "name": "poolId",
324
- "type": "bytes32"
325
- },
326
- {
327
- "indexed": false,
328
- "internalType": "contract IERC20[]",
329
- "name": "tokens",
330
- "type": "address[]"
331
- },
332
- {
333
- "indexed": false,
334
- "internalType": "address[]",
335
- "name": "assetManagers",
336
- "type": "address[]"
337
- }
338
- ],
339
- "name": "TokensRegistered",
340
- "type": "event"
341
- },
342
- {
343
- "inputs": [],
344
- "name": "WETH",
345
- "outputs": [
346
- { "internalType": "contract IWETH", "name": "", "type": "address" }
347
- ],
348
- "stateMutability": "view",
349
- "type": "function"
350
- },
351
- {
352
- "inputs": [
353
- {
354
- "internalType": "enum IVault.SwapKind",
355
- "name": "kind",
356
- "type": "uint8"
357
- },
358
- {
359
- "components": [
360
- { "internalType": "bytes32", "name": "poolId", "type": "bytes32" },
361
- {
362
- "internalType": "uint256",
363
- "name": "assetInIndex",
364
- "type": "uint256"
365
- },
366
- {
367
- "internalType": "uint256",
368
- "name": "assetOutIndex",
369
- "type": "uint256"
370
- },
371
- { "internalType": "uint256", "name": "amount", "type": "uint256" },
372
- { "internalType": "bytes", "name": "userData", "type": "bytes" }
373
- ],
374
- "internalType": "struct IVault.BatchSwapStep[]",
375
- "name": "swaps",
376
- "type": "tuple[]"
377
- },
378
- {
379
- "internalType": "contract IAsset[]",
380
- "name": "assets",
381
- "type": "address[]"
382
- },
383
- {
384
- "components": [
385
- { "internalType": "address", "name": "sender", "type": "address" },
386
- {
387
- "internalType": "bool",
388
- "name": "fromInternalBalance",
389
- "type": "bool"
390
- },
391
- {
392
- "internalType": "address payable",
393
- "name": "recipient",
394
- "type": "address"
395
- },
396
- {
397
- "internalType": "bool",
398
- "name": "toInternalBalance",
399
- "type": "bool"
400
- }
401
- ],
402
- "internalType": "struct IVault.FundManagement",
403
- "name": "funds",
404
- "type": "tuple"
405
- },
406
- { "internalType": "int256[]", "name": "limits", "type": "int256[]" },
407
- { "internalType": "uint256", "name": "deadline", "type": "uint256" }
408
- ],
409
- "name": "batchSwap",
410
- "outputs": [
411
- { "internalType": "int256[]", "name": "assetDeltas", "type": "int256[]" }
412
- ],
413
- "stateMutability": "payable",
414
- "type": "function"
415
- },
416
- {
417
- "inputs": [
418
- { "internalType": "bytes32", "name": "poolId", "type": "bytes32" },
419
- {
420
- "internalType": "contract IERC20[]",
421
- "name": "tokens",
422
- "type": "address[]"
423
- }
424
- ],
425
- "name": "deregisterTokens",
426
- "outputs": [],
427
- "stateMutability": "nonpayable",
428
- "type": "function"
429
- },
430
- {
431
- "inputs": [
432
- { "internalType": "bytes32", "name": "poolId", "type": "bytes32" },
433
- { "internalType": "address", "name": "sender", "type": "address" },
434
- {
435
- "internalType": "address payable",
436
- "name": "recipient",
437
- "type": "address"
438
- },
439
- {
440
- "components": [
441
- {
442
- "internalType": "contract IAsset[]",
443
- "name": "assets",
444
- "type": "address[]"
445
- },
446
- {
447
- "internalType": "uint256[]",
448
- "name": "minAmountsOut",
449
- "type": "uint256[]"
450
- },
451
- { "internalType": "bytes", "name": "userData", "type": "bytes" },
452
- {
453
- "internalType": "bool",
454
- "name": "toInternalBalance",
455
- "type": "bool"
456
- }
457
- ],
458
- "internalType": "struct IVault.ExitPoolRequest",
459
- "name": "request",
460
- "type": "tuple"
461
- }
462
- ],
463
- "name": "exitPool",
464
- "outputs": [],
465
- "stateMutability": "nonpayable",
466
- "type": "function"
467
- },
468
- {
469
- "inputs": [
470
- {
471
- "internalType": "contract IFlashLoanRecipient",
472
- "name": "recipient",
473
- "type": "address"
474
- },
475
- {
476
- "internalType": "contract IERC20[]",
477
- "name": "tokens",
478
- "type": "address[]"
479
- },
480
- { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" },
481
- { "internalType": "bytes", "name": "userData", "type": "bytes" }
482
- ],
483
- "name": "flashLoan",
484
- "outputs": [],
485
- "stateMutability": "nonpayable",
486
- "type": "function"
487
- },
488
- {
489
- "inputs": [
490
- { "internalType": "bytes4", "name": "selector", "type": "bytes4" }
491
- ],
492
- "name": "getActionId",
493
- "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }],
494
- "stateMutability": "view",
495
- "type": "function"
496
- },
497
- {
498
- "inputs": [],
499
- "name": "getAuthorizer",
500
- "outputs": [
501
- { "internalType": "contract IAuthorizer", "name": "", "type": "address" }
502
- ],
503
- "stateMutability": "view",
504
- "type": "function"
505
- },
506
- {
507
- "inputs": [],
508
- "name": "getDomainSeparator",
509
- "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }],
510
- "stateMutability": "view",
511
- "type": "function"
512
- },
513
- {
514
- "inputs": [
515
- { "internalType": "address", "name": "user", "type": "address" },
516
- {
517
- "internalType": "contract IERC20[]",
518
- "name": "tokens",
519
- "type": "address[]"
520
- }
521
- ],
522
- "name": "getInternalBalance",
523
- "outputs": [
524
- { "internalType": "uint256[]", "name": "balances", "type": "uint256[]" }
525
- ],
526
- "stateMutability": "view",
527
- "type": "function"
528
- },
529
- {
530
- "inputs": [
531
- { "internalType": "address", "name": "user", "type": "address" }
532
- ],
533
- "name": "getNextNonce",
534
- "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
535
- "stateMutability": "view",
536
- "type": "function"
537
- },
538
- {
539
- "inputs": [],
540
- "name": "getPausedState",
541
- "outputs": [
542
- { "internalType": "bool", "name": "paused", "type": "bool" },
543
- {
544
- "internalType": "uint256",
545
- "name": "pauseWindowEndTime",
546
- "type": "uint256"
547
- },
548
- {
549
- "internalType": "uint256",
550
- "name": "bufferPeriodEndTime",
551
- "type": "uint256"
552
- }
553
- ],
554
- "stateMutability": "view",
555
- "type": "function"
556
- },
557
- {
558
- "inputs": [
559
- { "internalType": "bytes32", "name": "poolId", "type": "bytes32" }
560
- ],
561
- "name": "getPool",
562
- "outputs": [
563
- { "internalType": "address", "name": "", "type": "address" },
564
- {
565
- "internalType": "enum IVault.PoolSpecialization",
566
- "name": "",
567
- "type": "uint8"
568
- }
569
- ],
570
- "stateMutability": "view",
571
- "type": "function"
572
- },
573
- {
574
- "inputs": [
575
- { "internalType": "bytes32", "name": "poolId", "type": "bytes32" },
576
- { "internalType": "contract IERC20", "name": "token", "type": "address" }
577
- ],
578
- "name": "getPoolTokenInfo",
579
- "outputs": [
580
- { "internalType": "uint256", "name": "cash", "type": "uint256" },
581
- { "internalType": "uint256", "name": "managed", "type": "uint256" },
582
- {
583
- "internalType": "uint256",
584
- "name": "lastChangeBlock",
585
- "type": "uint256"
586
- },
587
- { "internalType": "address", "name": "assetManager", "type": "address" }
588
- ],
589
- "stateMutability": "view",
590
- "type": "function"
591
- },
592
- {
593
- "inputs": [
594
- { "internalType": "bytes32", "name": "poolId", "type": "bytes32" }
595
- ],
596
- "name": "getPoolTokens",
597
- "outputs": [
598
- {
599
- "internalType": "contract IERC20[]",
600
- "name": "tokens",
601
- "type": "address[]"
602
- },
603
- { "internalType": "uint256[]", "name": "balances", "type": "uint256[]" },
604
- {
605
- "internalType": "uint256",
606
- "name": "lastChangeBlock",
607
- "type": "uint256"
608
- }
609
- ],
610
- "stateMutability": "view",
611
- "type": "function"
612
- },
613
- {
614
- "inputs": [],
615
- "name": "getProtocolFeesCollector",
616
- "outputs": [
617
- {
618
- "internalType": "contract ProtocolFeesCollector",
619
- "name": "",
620
- "type": "address"
621
- }
622
- ],
623
- "stateMutability": "view",
624
- "type": "function"
625
- },
626
- {
627
- "inputs": [
628
- { "internalType": "address", "name": "user", "type": "address" },
629
- { "internalType": "address", "name": "relayer", "type": "address" }
630
- ],
631
- "name": "hasApprovedRelayer",
632
- "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
633
- "stateMutability": "view",
634
- "type": "function"
635
- },
636
- {
637
- "inputs": [
638
- { "internalType": "bytes32", "name": "poolId", "type": "bytes32" },
639
- { "internalType": "address", "name": "sender", "type": "address" },
640
- { "internalType": "address", "name": "recipient", "type": "address" },
641
- {
642
- "components": [
643
- {
644
- "internalType": "contract IAsset[]",
645
- "name": "assets",
646
- "type": "address[]"
647
- },
648
- {
649
- "internalType": "uint256[]",
650
- "name": "maxAmountsIn",
651
- "type": "uint256[]"
652
- },
653
- { "internalType": "bytes", "name": "userData", "type": "bytes" },
654
- {
655
- "internalType": "bool",
656
- "name": "fromInternalBalance",
657
- "type": "bool"
658
- }
659
- ],
660
- "internalType": "struct IVault.JoinPoolRequest",
661
- "name": "request",
662
- "type": "tuple"
663
- }
664
- ],
665
- "name": "joinPool",
666
- "outputs": [],
667
- "stateMutability": "payable",
668
- "type": "function"
669
- },
670
- {
671
- "inputs": [
672
- {
673
- "components": [
674
- {
675
- "internalType": "enum IVault.PoolBalanceOpKind",
676
- "name": "kind",
677
- "type": "uint8"
678
- },
679
- { "internalType": "bytes32", "name": "poolId", "type": "bytes32" },
680
- {
681
- "internalType": "contract IERC20",
682
- "name": "token",
683
- "type": "address"
684
- },
685
- { "internalType": "uint256", "name": "amount", "type": "uint256" }
686
- ],
687
- "internalType": "struct IVault.PoolBalanceOp[]",
688
- "name": "ops",
689
- "type": "tuple[]"
690
- }
691
- ],
692
- "name": "managePoolBalance",
693
- "outputs": [],
694
- "stateMutability": "nonpayable",
695
- "type": "function"
696
- },
697
- {
698
- "inputs": [
699
- {
700
- "components": [
701
- {
702
- "internalType": "enum IVault.UserBalanceOpKind",
703
- "name": "kind",
704
- "type": "uint8"
705
- },
706
- {
707
- "internalType": "contract IAsset",
708
- "name": "asset",
709
- "type": "address"
710
- },
711
- { "internalType": "uint256", "name": "amount", "type": "uint256" },
712
- { "internalType": "address", "name": "sender", "type": "address" },
713
- {
714
- "internalType": "address payable",
715
- "name": "recipient",
716
- "type": "address"
717
- }
718
- ],
719
- "internalType": "struct IVault.UserBalanceOp[]",
720
- "name": "ops",
721
- "type": "tuple[]"
722
- }
723
- ],
724
- "name": "manageUserBalance",
725
- "outputs": [],
726
- "stateMutability": "payable",
727
- "type": "function"
728
- },
729
- {
730
- "inputs": [
731
- {
732
- "internalType": "enum IVault.SwapKind",
733
- "name": "kind",
734
- "type": "uint8"
735
- },
736
- {
737
- "components": [
738
- { "internalType": "bytes32", "name": "poolId", "type": "bytes32" },
739
- {
740
- "internalType": "uint256",
741
- "name": "assetInIndex",
742
- "type": "uint256"
743
- },
744
- {
745
- "internalType": "uint256",
746
- "name": "assetOutIndex",
747
- "type": "uint256"
748
- },
749
- { "internalType": "uint256", "name": "amount", "type": "uint256" },
750
- { "internalType": "bytes", "name": "userData", "type": "bytes" }
751
- ],
752
- "internalType": "struct IVault.BatchSwapStep[]",
753
- "name": "swaps",
754
- "type": "tuple[]"
755
- },
756
- {
757
- "internalType": "contract IAsset[]",
758
- "name": "assets",
759
- "type": "address[]"
760
- },
761
- {
762
- "components": [
763
- { "internalType": "address", "name": "sender", "type": "address" },
764
- {
765
- "internalType": "bool",
766
- "name": "fromInternalBalance",
767
- "type": "bool"
768
- },
769
- {
770
- "internalType": "address payable",
771
- "name": "recipient",
772
- "type": "address"
773
- },
774
- {
775
- "internalType": "bool",
776
- "name": "toInternalBalance",
777
- "type": "bool"
778
- }
779
- ],
780
- "internalType": "struct IVault.FundManagement",
781
- "name": "funds",
782
- "type": "tuple"
783
- }
784
- ],
785
- "name": "queryBatchSwap",
786
- "outputs": [{ "internalType": "int256[]", "name": "", "type": "int256[]" }],
787
- "stateMutability": "nonpayable",
788
- "type": "function"
789
- },
790
- {
791
- "inputs": [
792
- {
793
- "internalType": "enum IVault.PoolSpecialization",
794
- "name": "specialization",
795
- "type": "uint8"
796
- }
797
- ],
798
- "name": "registerPool",
799
- "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }],
800
- "stateMutability": "nonpayable",
801
- "type": "function"
802
- },
803
- {
804
- "inputs": [
805
- { "internalType": "bytes32", "name": "poolId", "type": "bytes32" },
806
- {
807
- "internalType": "contract IERC20[]",
808
- "name": "tokens",
809
- "type": "address[]"
810
- },
811
- {
812
- "internalType": "address[]",
813
- "name": "assetManagers",
814
- "type": "address[]"
815
- }
816
- ],
817
- "name": "registerTokens",
818
- "outputs": [],
819
- "stateMutability": "nonpayable",
820
- "type": "function"
821
- },
822
- {
823
- "inputs": [
824
- {
825
- "internalType": "contract IAuthorizer",
826
- "name": "newAuthorizer",
827
- "type": "address"
828
- }
829
- ],
830
- "name": "setAuthorizer",
831
- "outputs": [],
832
- "stateMutability": "nonpayable",
833
- "type": "function"
834
- },
835
- {
836
- "inputs": [{ "internalType": "bool", "name": "paused", "type": "bool" }],
837
- "name": "setPaused",
838
- "outputs": [],
839
- "stateMutability": "nonpayable",
840
- "type": "function"
841
- },
842
- {
843
- "inputs": [
844
- { "internalType": "address", "name": "sender", "type": "address" },
845
- { "internalType": "address", "name": "relayer", "type": "address" },
846
- { "internalType": "bool", "name": "approved", "type": "bool" }
847
- ],
848
- "name": "setRelayerApproval",
849
- "outputs": [],
850
- "stateMutability": "nonpayable",
851
- "type": "function"
852
- },
853
- {
854
- "inputs": [
855
- {
856
- "components": [
857
- { "internalType": "bytes32", "name": "poolId", "type": "bytes32" },
858
- {
859
- "internalType": "enum IVault.SwapKind",
860
- "name": "kind",
861
- "type": "uint8"
862
- },
863
- {
864
- "internalType": "contract IAsset",
865
- "name": "assetIn",
866
- "type": "address"
867
- },
868
- {
869
- "internalType": "contract IAsset",
870
- "name": "assetOut",
871
- "type": "address"
872
- },
873
- { "internalType": "uint256", "name": "amount", "type": "uint256" },
874
- { "internalType": "bytes", "name": "userData", "type": "bytes" }
875
- ],
876
- "internalType": "struct IVault.SingleSwap",
877
- "name": "singleSwap",
878
- "type": "tuple"
879
- },
880
- {
881
- "components": [
882
- { "internalType": "address", "name": "sender", "type": "address" },
883
- {
884
- "internalType": "bool",
885
- "name": "fromInternalBalance",
886
- "type": "bool"
887
- },
888
- {
889
- "internalType": "address payable",
890
- "name": "recipient",
891
- "type": "address"
892
- },
893
- {
894
- "internalType": "bool",
895
- "name": "toInternalBalance",
896
- "type": "bool"
897
- }
898
- ],
899
- "internalType": "struct IVault.FundManagement",
900
- "name": "funds",
901
- "type": "tuple"
902
- },
903
- { "internalType": "uint256", "name": "limit", "type": "uint256" },
904
- { "internalType": "uint256", "name": "deadline", "type": "uint256" }
905
- ],
906
- "name": "swap",
907
- "outputs": [
908
- {
909
- "internalType": "uint256",
910
- "name": "amountCalculated",
911
- "type": "uint256"
912
- }
913
- ],
914
- "stateMutability": "payable",
915
- "type": "function"
916
- },
917
- { "stateMutability": "payable", "type": "receive" }
918
- ]