@gearbox-protocol/sdk 18.2.0-next.1 → 18.2.0-next.11

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 (135) hide show
  1. package/dist/cjs/abi/compressors/subcompressors/liquidation/treehouseLiquidationSubcompressor.js +179 -0
  2. package/dist/cjs/abi/compressors/subcompressors/withdrawal/treehouseWithdrawalSubcompressor.js +534 -0
  3. package/dist/cjs/abi/router/treehouseWorker.js +885 -0
  4. package/dist/cjs/dev/AccountOpener.js +1 -1
  5. package/dist/cjs/dev/withdrawalUtils.js +1 -1
  6. package/dist/cjs/history/trace/extractTransfers.js +1 -1
  7. package/dist/cjs/onchain/accounts/CreditAccountsServiceV310.js +2 -2
  8. package/dist/cjs/onchain/accounts/liquidations/LiquidationsService.js +1 -1
  9. package/dist/cjs/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +1 -2
  10. package/dist/cjs/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -2
  11. package/dist/cjs/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -2
  12. package/dist/cjs/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +1 -1
  13. package/dist/cjs/onchain/base/TokensMeta.js +3 -3
  14. package/dist/cjs/onchain/core/createAddressProvider.js +1 -1
  15. package/dist/cjs/onchain/market/adapters/abi/actionAbi.js +1 -0
  16. package/dist/cjs/onchain/market/adapters/abi/conctructorAbi.js +3 -0
  17. package/dist/cjs/onchain/market/adapters/contracts/AccountMigratorAdapterContract.js +1 -1
  18. package/dist/cjs/onchain/market/adapters/contracts/ERC4626AdapterContract.js +1 -1
  19. package/dist/cjs/onchain/market/adapters/types.js +3 -0
  20. package/dist/cjs/onchain/market/credit/CreditFacadeV310BaseContract.js +1 -1
  21. package/dist/cjs/onchain/market/pool/PoolV310Contract.js +1 -1
  22. package/dist/cjs/onchain/market/rwa/createDegenNFT.js +1 -1
  23. package/dist/cjs/onchain/market/zapper/IETHZapperContract.js +1 -2
  24. package/dist/cjs/onchain/market/zapper/ZapperContract.js +1 -1
  25. package/dist/cjs/onchain/preview/preview/previewPoolPositionOperation.js +2 -2
  26. package/dist/cjs/onchain/utils/viem/simulateWithPriceUpdates.js +1 -1
  27. package/dist/cjs/permissionless/api/index.js +26 -0
  28. package/dist/cjs/permissionless/api/oracles/PermissionlessOracles.js +585 -47
  29. package/dist/cjs/permissionless/api/oracles/enrich.js +99 -0
  30. package/dist/cjs/permissionless/api/oracles/index.js +28 -0
  31. package/dist/cjs/permissionless/api/oracles/schemas.js +102 -35
  32. package/dist/cjs/permissionless/api/oracles/score/formula.js +99 -0
  33. package/dist/cjs/permissionless/api/oracles/score/index.js +8 -0
  34. package/dist/cjs/permissionless/api/oracles/score/run.js +88 -0
  35. package/dist/cjs/permissionless/api/oracles/score/types.js +1 -0
  36. package/dist/cjs/permissionless/api/oracles/stress/classify.js +258 -0
  37. package/dist/cjs/permissionless/api/oracles/stress/index.js +22 -0
  38. package/dist/cjs/permissionless/api/oracles/stress/override.js +125 -0
  39. package/dist/cjs/permissionless/api/oracles/stress/run.js +432 -0
  40. package/dist/cjs/permissionless/api/oracles/stress/score.js +98 -0
  41. package/dist/cjs/permissionless/api/oracles/stress/types.js +1 -0
  42. package/dist/cjs/permissionless/api/schemas.js +0 -3
  43. package/dist/cjs/permissionless/bindings/index.js +1 -1
  44. package/dist/cjs/permissionless/index.js +29 -1
  45. package/dist/cjs/permissionless/utils/index.js +2 -0
  46. package/dist/cjs/permissionless/utils/price-update/get-prices.js +64 -0
  47. package/dist/cjs/permissionless/utils/price-update/index.js +2 -0
  48. package/dist/cjs/testnets/TestnetsAPI.js +179 -0
  49. package/dist/cjs/testnets/errors/TestnetNotFoundError.js +15 -0
  50. package/dist/cjs/testnets/errors/TestnetRequestFailedError.js +24 -0
  51. package/dist/cjs/testnets/errors/TestnetStatusError.js +19 -0
  52. package/dist/cjs/testnets/errors/TestnetValidationError.js +24 -0
  53. package/dist/cjs/testnets/errors/TestnetWaitTimeoutError.js +30 -0
  54. package/dist/cjs/testnets/errors/TestnetsError.js +34 -0
  55. package/dist/cjs/testnets/errors/index.js +13 -0
  56. package/dist/cjs/testnets/index.js +32 -0
  57. package/dist/cjs/testnets/package.json +1 -0
  58. package/dist/cjs/testnets/schemas.js +242 -0
  59. package/dist/cjs/testnets/types.js +1 -0
  60. package/dist/esm/abi/compressors/subcompressors/liquidation/treehouseLiquidationSubcompressor.js +178 -0
  61. package/dist/esm/abi/compressors/subcompressors/withdrawal/treehouseWithdrawalSubcompressor.js +533 -0
  62. package/dist/esm/abi/router/treehouseWorker.js +884 -0
  63. package/dist/esm/onchain/market/adapters/abi/actionAbi.js +1 -0
  64. package/dist/esm/onchain/market/adapters/abi/conctructorAbi.js +3 -0
  65. package/dist/esm/onchain/market/adapters/types.js +3 -0
  66. package/dist/esm/permissionless/api/index.js +7 -1
  67. package/dist/esm/permissionless/api/oracles/PermissionlessOracles.js +587 -49
  68. package/dist/esm/permissionless/api/oracles/enrich.js +94 -0
  69. package/dist/esm/permissionless/api/oracles/index.js +10 -1
  70. package/dist/esm/permissionless/api/oracles/schemas.js +95 -35
  71. package/dist/esm/permissionless/api/oracles/score/formula.js +96 -0
  72. package/dist/esm/permissionless/api/oracles/score/index.js +4 -0
  73. package/dist/esm/permissionless/api/oracles/score/run.js +87 -0
  74. package/dist/esm/permissionless/api/oracles/score/types.js +1 -0
  75. package/dist/esm/permissionless/api/oracles/stress/classify.js +256 -0
  76. package/dist/esm/permissionless/api/oracles/stress/index.js +6 -0
  77. package/dist/esm/permissionless/api/oracles/stress/override.js +119 -0
  78. package/dist/esm/permissionless/api/oracles/stress/run.js +427 -0
  79. package/dist/esm/permissionless/api/oracles/stress/score.js +95 -0
  80. package/dist/esm/permissionless/api/oracles/stress/types.js +1 -0
  81. package/dist/esm/permissionless/api/schemas.js +2 -4
  82. package/dist/esm/permissionless/bindings/index.js +1 -1
  83. package/dist/esm/permissionless/index.js +9 -3
  84. package/dist/esm/permissionless/utils/index.js +2 -2
  85. package/dist/esm/permissionless/utils/price-update/get-prices.js +63 -1
  86. package/dist/esm/permissionless/utils/price-update/index.js +2 -2
  87. package/dist/esm/testnets/TestnetsAPI.js +178 -0
  88. package/dist/esm/testnets/errors/TestnetNotFoundError.js +14 -0
  89. package/dist/esm/testnets/errors/TestnetRequestFailedError.js +23 -0
  90. package/dist/esm/testnets/errors/TestnetStatusError.js +18 -0
  91. package/dist/esm/testnets/errors/TestnetValidationError.js +23 -0
  92. package/dist/esm/testnets/errors/TestnetWaitTimeoutError.js +29 -0
  93. package/dist/esm/testnets/errors/TestnetsError.js +33 -0
  94. package/dist/esm/testnets/errors/index.js +7 -0
  95. package/dist/esm/testnets/index.js +11 -0
  96. package/dist/esm/testnets/package.json +1 -0
  97. package/dist/esm/testnets/schemas.js +228 -0
  98. package/dist/esm/testnets/types.js +1 -0
  99. package/dist/types/abi/compressors/subcompressors/liquidation/treehouseLiquidationSubcompressor.d.ts +148 -0
  100. package/dist/types/abi/compressors/subcompressors/withdrawal/treehouseWithdrawalSubcompressor.d.ts +440 -0
  101. package/dist/types/abi/router/treehouseWorker.d.ts +728 -0
  102. package/dist/types/onchain/market/adapters/types.d.ts +4 -1
  103. package/dist/types/permissionless/api/index.d.ts +10 -2
  104. package/dist/types/permissionless/api/oracles/PermissionlessOracles.d.ts +232 -35
  105. package/dist/types/permissionless/api/oracles/enrich.d.ts +59 -0
  106. package/dist/types/permissionless/api/oracles/index.d.ts +12 -2
  107. package/dist/types/permissionless/api/oracles/schemas.d.ts +209 -22
  108. package/dist/types/permissionless/api/oracles/score/formula.d.ts +46 -0
  109. package/dist/types/permissionless/api/oracles/score/index.d.ts +4 -0
  110. package/dist/types/permissionless/api/oracles/score/run.d.ts +21 -0
  111. package/dist/types/permissionless/api/oracles/score/types.d.ts +85 -0
  112. package/dist/types/permissionless/api/oracles/stress/classify.d.ts +57 -0
  113. package/dist/types/permissionless/api/oracles/stress/index.d.ts +6 -0
  114. package/dist/types/permissionless/api/oracles/stress/override.d.ts +59 -0
  115. package/dist/types/permissionless/api/oracles/stress/run.d.ts +73 -0
  116. package/dist/types/permissionless/api/oracles/stress/score.d.ts +57 -0
  117. package/dist/types/permissionless/api/oracles/stress/types.d.ts +272 -0
  118. package/dist/types/permissionless/api/oracles/types.d.ts +408 -63
  119. package/dist/types/permissionless/api/schemas.d.ts +0 -2
  120. package/dist/types/permissionless/index.d.ts +11 -3
  121. package/dist/types/permissionless/utils/index.d.ts +2 -2
  122. package/dist/types/permissionless/utils/price-update/get-prices.d.ts +33 -0
  123. package/dist/types/permissionless/utils/price-update/index.d.ts +2 -2
  124. package/dist/types/testnets/TestnetsAPI.d.ts +108 -0
  125. package/dist/types/testnets/errors/TestnetNotFoundError.d.ts +12 -0
  126. package/dist/types/testnets/errors/TestnetRequestFailedError.d.ts +11 -0
  127. package/dist/types/testnets/errors/TestnetStatusError.d.ts +15 -0
  128. package/dist/types/testnets/errors/TestnetValidationError.d.ts +16 -0
  129. package/dist/types/testnets/errors/TestnetWaitTimeoutError.d.ts +21 -0
  130. package/dist/types/testnets/errors/TestnetsError.d.ts +47 -0
  131. package/dist/types/testnets/errors/index.d.ts +7 -0
  132. package/dist/types/testnets/index.d.ts +11 -0
  133. package/dist/types/testnets/schemas.d.ts +554 -0
  134. package/dist/types/testnets/types.d.ts +717 -0
  135. package/package.json +9 -3
@@ -0,0 +1,884 @@
1
+ //#region src/abi/router/treehouseWorker.ts
2
+ const treehouseWorkerAbi = [
3
+ {
4
+ type: "constructor",
5
+ inputs: [{
6
+ name: "_router",
7
+ type: "address",
8
+ internalType: "address"
9
+ }],
10
+ stateMutability: "nonpayable"
11
+ },
12
+ {
13
+ type: "function",
14
+ name: "buildEdges",
15
+ inputs: [{
16
+ name: "graph",
17
+ type: "tuple",
18
+ internalType: "struct Graph",
19
+ components: [{
20
+ name: "vertices",
21
+ type: "tuple[]",
22
+ internalType: "struct Vertex[]",
23
+ components: [
24
+ {
25
+ name: "token",
26
+ type: "address",
27
+ internalType: "address"
28
+ },
29
+ {
30
+ name: "balance",
31
+ type: "uint256",
32
+ internalType: "uint256"
33
+ },
34
+ {
35
+ name: "leftoverBalance",
36
+ type: "uint256",
37
+ internalType: "uint256"
38
+ },
39
+ {
40
+ name: "numSplits",
41
+ type: "uint256",
42
+ internalType: "uint256"
43
+ },
44
+ {
45
+ name: "currentOptimalEdge",
46
+ type: "uint256",
47
+ internalType: "uint256"
48
+ }
49
+ ]
50
+ }, {
51
+ name: "edges",
52
+ type: "tuple[]",
53
+ internalType: "struct Edge[]",
54
+ components: [
55
+ {
56
+ name: "id",
57
+ type: "uint256",
58
+ internalType: "uint256"
59
+ },
60
+ {
61
+ name: "tokenIn",
62
+ type: "address",
63
+ internalType: "address"
64
+ },
65
+ {
66
+ name: "tokenOut",
67
+ type: "address",
68
+ internalType: "address"
69
+ },
70
+ {
71
+ name: "adapter",
72
+ type: "address",
73
+ internalType: "address"
74
+ },
75
+ {
76
+ name: "worker",
77
+ type: "address",
78
+ internalType: "address"
79
+ },
80
+ {
81
+ name: "extraData",
82
+ type: "bytes",
83
+ internalType: "bytes"
84
+ },
85
+ {
86
+ name: "amountInTotal",
87
+ type: "uint256",
88
+ internalType: "uint256"
89
+ },
90
+ {
91
+ name: "amountOutTotal",
92
+ type: "uint256",
93
+ internalType: "uint256"
94
+ },
95
+ {
96
+ name: "amountInCurrent",
97
+ type: "uint256",
98
+ internalType: "uint256"
99
+ },
100
+ {
101
+ name: "amountOutCurrent",
102
+ type: "uint256",
103
+ internalType: "uint256"
104
+ }
105
+ ]
106
+ }]
107
+ }, {
108
+ name: "adapter",
109
+ type: "address",
110
+ internalType: "address"
111
+ }],
112
+ outputs: [{
113
+ name: "",
114
+ type: "tuple",
115
+ internalType: "struct Graph",
116
+ components: [{
117
+ name: "vertices",
118
+ type: "tuple[]",
119
+ internalType: "struct Vertex[]",
120
+ components: [
121
+ {
122
+ name: "token",
123
+ type: "address",
124
+ internalType: "address"
125
+ },
126
+ {
127
+ name: "balance",
128
+ type: "uint256",
129
+ internalType: "uint256"
130
+ },
131
+ {
132
+ name: "leftoverBalance",
133
+ type: "uint256",
134
+ internalType: "uint256"
135
+ },
136
+ {
137
+ name: "numSplits",
138
+ type: "uint256",
139
+ internalType: "uint256"
140
+ },
141
+ {
142
+ name: "currentOptimalEdge",
143
+ type: "uint256",
144
+ internalType: "uint256"
145
+ }
146
+ ]
147
+ }, {
148
+ name: "edges",
149
+ type: "tuple[]",
150
+ internalType: "struct Edge[]",
151
+ components: [
152
+ {
153
+ name: "id",
154
+ type: "uint256",
155
+ internalType: "uint256"
156
+ },
157
+ {
158
+ name: "tokenIn",
159
+ type: "address",
160
+ internalType: "address"
161
+ },
162
+ {
163
+ name: "tokenOut",
164
+ type: "address",
165
+ internalType: "address"
166
+ },
167
+ {
168
+ name: "adapter",
169
+ type: "address",
170
+ internalType: "address"
171
+ },
172
+ {
173
+ name: "worker",
174
+ type: "address",
175
+ internalType: "address"
176
+ },
177
+ {
178
+ name: "extraData",
179
+ type: "bytes",
180
+ internalType: "bytes"
181
+ },
182
+ {
183
+ name: "amountInTotal",
184
+ type: "uint256",
185
+ internalType: "uint256"
186
+ },
187
+ {
188
+ name: "amountOutTotal",
189
+ type: "uint256",
190
+ internalType: "uint256"
191
+ },
192
+ {
193
+ name: "amountInCurrent",
194
+ type: "uint256",
195
+ internalType: "uint256"
196
+ },
197
+ {
198
+ name: "amountOutCurrent",
199
+ type: "uint256",
200
+ internalType: "uint256"
201
+ }
202
+ ]
203
+ }]
204
+ }],
205
+ stateMutability: "view"
206
+ },
207
+ {
208
+ type: "function",
209
+ name: "contractType",
210
+ inputs: [],
211
+ outputs: [{
212
+ name: "",
213
+ type: "bytes32",
214
+ internalType: "bytes32"
215
+ }],
216
+ stateMutability: "view"
217
+ },
218
+ {
219
+ type: "function",
220
+ name: "getEdgeAmountOutCurrent",
221
+ inputs: [{
222
+ name: "edge",
223
+ type: "tuple",
224
+ internalType: "struct Edge",
225
+ components: [
226
+ {
227
+ name: "id",
228
+ type: "uint256",
229
+ internalType: "uint256"
230
+ },
231
+ {
232
+ name: "tokenIn",
233
+ type: "address",
234
+ internalType: "address"
235
+ },
236
+ {
237
+ name: "tokenOut",
238
+ type: "address",
239
+ internalType: "address"
240
+ },
241
+ {
242
+ name: "adapter",
243
+ type: "address",
244
+ internalType: "address"
245
+ },
246
+ {
247
+ name: "worker",
248
+ type: "address",
249
+ internalType: "address"
250
+ },
251
+ {
252
+ name: "extraData",
253
+ type: "bytes",
254
+ internalType: "bytes"
255
+ },
256
+ {
257
+ name: "amountInTotal",
258
+ type: "uint256",
259
+ internalType: "uint256"
260
+ },
261
+ {
262
+ name: "amountOutTotal",
263
+ type: "uint256",
264
+ internalType: "uint256"
265
+ },
266
+ {
267
+ name: "amountInCurrent",
268
+ type: "uint256",
269
+ internalType: "uint256"
270
+ },
271
+ {
272
+ name: "amountOutCurrent",
273
+ type: "uint256",
274
+ internalType: "uint256"
275
+ }
276
+ ]
277
+ }],
278
+ outputs: [{
279
+ name: "amountOutCurrent",
280
+ type: "uint256",
281
+ internalType: "uint256"
282
+ }],
283
+ stateMutability: "view"
284
+ },
285
+ {
286
+ type: "function",
287
+ name: "getMulticalls",
288
+ inputs: [{
289
+ name: "edge",
290
+ type: "tuple",
291
+ internalType: "struct Edge",
292
+ components: [
293
+ {
294
+ name: "id",
295
+ type: "uint256",
296
+ internalType: "uint256"
297
+ },
298
+ {
299
+ name: "tokenIn",
300
+ type: "address",
301
+ internalType: "address"
302
+ },
303
+ {
304
+ name: "tokenOut",
305
+ type: "address",
306
+ internalType: "address"
307
+ },
308
+ {
309
+ name: "adapter",
310
+ type: "address",
311
+ internalType: "address"
312
+ },
313
+ {
314
+ name: "worker",
315
+ type: "address",
316
+ internalType: "address"
317
+ },
318
+ {
319
+ name: "extraData",
320
+ type: "bytes",
321
+ internalType: "bytes"
322
+ },
323
+ {
324
+ name: "amountInTotal",
325
+ type: "uint256",
326
+ internalType: "uint256"
327
+ },
328
+ {
329
+ name: "amountOutTotal",
330
+ type: "uint256",
331
+ internalType: "uint256"
332
+ },
333
+ {
334
+ name: "amountInCurrent",
335
+ type: "uint256",
336
+ internalType: "uint256"
337
+ },
338
+ {
339
+ name: "amountOutCurrent",
340
+ type: "uint256",
341
+ internalType: "uint256"
342
+ }
343
+ ]
344
+ }, {
345
+ name: "currentBalance",
346
+ type: "uint256",
347
+ internalType: "uint256"
348
+ }],
349
+ outputs: [{
350
+ name: "calls",
351
+ type: "tuple[]",
352
+ internalType: "struct MultiCall[]",
353
+ components: [{
354
+ name: "target",
355
+ type: "address",
356
+ internalType: "address"
357
+ }, {
358
+ name: "callData",
359
+ type: "bytes",
360
+ internalType: "bytes"
361
+ }]
362
+ }],
363
+ stateMutability: "pure"
364
+ },
365
+ {
366
+ type: "function",
367
+ name: "isNonLinear",
368
+ inputs: [],
369
+ outputs: [{
370
+ name: "",
371
+ type: "bool",
372
+ internalType: "bool"
373
+ }],
374
+ stateMutability: "view"
375
+ },
376
+ {
377
+ type: "function",
378
+ name: "migrate",
379
+ inputs: [],
380
+ outputs: [],
381
+ stateMutability: "nonpayable"
382
+ },
383
+ {
384
+ type: "function",
385
+ name: "processClaims",
386
+ inputs: [
387
+ {
388
+ name: "",
389
+ type: "tuple",
390
+ internalType: "struct Edge",
391
+ components: [
392
+ {
393
+ name: "id",
394
+ type: "uint256",
395
+ internalType: "uint256"
396
+ },
397
+ {
398
+ name: "tokenIn",
399
+ type: "address",
400
+ internalType: "address"
401
+ },
402
+ {
403
+ name: "tokenOut",
404
+ type: "address",
405
+ internalType: "address"
406
+ },
407
+ {
408
+ name: "adapter",
409
+ type: "address",
410
+ internalType: "address"
411
+ },
412
+ {
413
+ name: "worker",
414
+ type: "address",
415
+ internalType: "address"
416
+ },
417
+ {
418
+ name: "extraData",
419
+ type: "bytes",
420
+ internalType: "bytes"
421
+ },
422
+ {
423
+ name: "amountInTotal",
424
+ type: "uint256",
425
+ internalType: "uint256"
426
+ },
427
+ {
428
+ name: "amountOutTotal",
429
+ type: "uint256",
430
+ internalType: "uint256"
431
+ },
432
+ {
433
+ name: "amountInCurrent",
434
+ type: "uint256",
435
+ internalType: "uint256"
436
+ },
437
+ {
438
+ name: "amountOutCurrent",
439
+ type: "uint256",
440
+ internalType: "uint256"
441
+ }
442
+ ]
443
+ },
444
+ {
445
+ name: "graph",
446
+ type: "tuple",
447
+ internalType: "struct Graph",
448
+ components: [{
449
+ name: "vertices",
450
+ type: "tuple[]",
451
+ internalType: "struct Vertex[]",
452
+ components: [
453
+ {
454
+ name: "token",
455
+ type: "address",
456
+ internalType: "address"
457
+ },
458
+ {
459
+ name: "balance",
460
+ type: "uint256",
461
+ internalType: "uint256"
462
+ },
463
+ {
464
+ name: "leftoverBalance",
465
+ type: "uint256",
466
+ internalType: "uint256"
467
+ },
468
+ {
469
+ name: "numSplits",
470
+ type: "uint256",
471
+ internalType: "uint256"
472
+ },
473
+ {
474
+ name: "currentOptimalEdge",
475
+ type: "uint256",
476
+ internalType: "uint256"
477
+ }
478
+ ]
479
+ }, {
480
+ name: "edges",
481
+ type: "tuple[]",
482
+ internalType: "struct Edge[]",
483
+ components: [
484
+ {
485
+ name: "id",
486
+ type: "uint256",
487
+ internalType: "uint256"
488
+ },
489
+ {
490
+ name: "tokenIn",
491
+ type: "address",
492
+ internalType: "address"
493
+ },
494
+ {
495
+ name: "tokenOut",
496
+ type: "address",
497
+ internalType: "address"
498
+ },
499
+ {
500
+ name: "adapter",
501
+ type: "address",
502
+ internalType: "address"
503
+ },
504
+ {
505
+ name: "worker",
506
+ type: "address",
507
+ internalType: "address"
508
+ },
509
+ {
510
+ name: "extraData",
511
+ type: "bytes",
512
+ internalType: "bytes"
513
+ },
514
+ {
515
+ name: "amountInTotal",
516
+ type: "uint256",
517
+ internalType: "uint256"
518
+ },
519
+ {
520
+ name: "amountOutTotal",
521
+ type: "uint256",
522
+ internalType: "uint256"
523
+ },
524
+ {
525
+ name: "amountInCurrent",
526
+ type: "uint256",
527
+ internalType: "uint256"
528
+ },
529
+ {
530
+ name: "amountOutCurrent",
531
+ type: "uint256",
532
+ internalType: "uint256"
533
+ }
534
+ ]
535
+ }]
536
+ },
537
+ {
538
+ name: "",
539
+ type: "address",
540
+ internalType: "address"
541
+ }
542
+ ],
543
+ outputs: [{
544
+ name: "",
545
+ type: "tuple",
546
+ internalType: "struct Graph",
547
+ components: [{
548
+ name: "vertices",
549
+ type: "tuple[]",
550
+ internalType: "struct Vertex[]",
551
+ components: [
552
+ {
553
+ name: "token",
554
+ type: "address",
555
+ internalType: "address"
556
+ },
557
+ {
558
+ name: "balance",
559
+ type: "uint256",
560
+ internalType: "uint256"
561
+ },
562
+ {
563
+ name: "leftoverBalance",
564
+ type: "uint256",
565
+ internalType: "uint256"
566
+ },
567
+ {
568
+ name: "numSplits",
569
+ type: "uint256",
570
+ internalType: "uint256"
571
+ },
572
+ {
573
+ name: "currentOptimalEdge",
574
+ type: "uint256",
575
+ internalType: "uint256"
576
+ }
577
+ ]
578
+ }, {
579
+ name: "edges",
580
+ type: "tuple[]",
581
+ internalType: "struct Edge[]",
582
+ components: [
583
+ {
584
+ name: "id",
585
+ type: "uint256",
586
+ internalType: "uint256"
587
+ },
588
+ {
589
+ name: "tokenIn",
590
+ type: "address",
591
+ internalType: "address"
592
+ },
593
+ {
594
+ name: "tokenOut",
595
+ type: "address",
596
+ internalType: "address"
597
+ },
598
+ {
599
+ name: "adapter",
600
+ type: "address",
601
+ internalType: "address"
602
+ },
603
+ {
604
+ name: "worker",
605
+ type: "address",
606
+ internalType: "address"
607
+ },
608
+ {
609
+ name: "extraData",
610
+ type: "bytes",
611
+ internalType: "bytes"
612
+ },
613
+ {
614
+ name: "amountInTotal",
615
+ type: "uint256",
616
+ internalType: "uint256"
617
+ },
618
+ {
619
+ name: "amountOutTotal",
620
+ type: "uint256",
621
+ internalType: "uint256"
622
+ },
623
+ {
624
+ name: "amountInCurrent",
625
+ type: "uint256",
626
+ internalType: "uint256"
627
+ },
628
+ {
629
+ name: "amountOutCurrent",
630
+ type: "uint256",
631
+ internalType: "uint256"
632
+ }
633
+ ]
634
+ }]
635
+ }, {
636
+ name: "",
637
+ type: "tuple[]",
638
+ internalType: "struct MultiCall[]",
639
+ components: [{
640
+ name: "target",
641
+ type: "address",
642
+ internalType: "address"
643
+ }, {
644
+ name: "callData",
645
+ type: "bytes",
646
+ internalType: "bytes"
647
+ }]
648
+ }],
649
+ stateMutability: "pure"
650
+ },
651
+ {
652
+ type: "function",
653
+ name: "router",
654
+ inputs: [],
655
+ outputs: [{
656
+ name: "",
657
+ type: "address",
658
+ internalType: "contract IGearboxRouter"
659
+ }],
660
+ stateMutability: "view"
661
+ },
662
+ {
663
+ type: "function",
664
+ name: "trimSpecialVertex",
665
+ inputs: [
666
+ {
667
+ name: "",
668
+ type: "tuple",
669
+ internalType: "struct Edge",
670
+ components: [
671
+ {
672
+ name: "id",
673
+ type: "uint256",
674
+ internalType: "uint256"
675
+ },
676
+ {
677
+ name: "tokenIn",
678
+ type: "address",
679
+ internalType: "address"
680
+ },
681
+ {
682
+ name: "tokenOut",
683
+ type: "address",
684
+ internalType: "address"
685
+ },
686
+ {
687
+ name: "adapter",
688
+ type: "address",
689
+ internalType: "address"
690
+ },
691
+ {
692
+ name: "worker",
693
+ type: "address",
694
+ internalType: "address"
695
+ },
696
+ {
697
+ name: "extraData",
698
+ type: "bytes",
699
+ internalType: "bytes"
700
+ },
701
+ {
702
+ name: "amountInTotal",
703
+ type: "uint256",
704
+ internalType: "uint256"
705
+ },
706
+ {
707
+ name: "amountOutTotal",
708
+ type: "uint256",
709
+ internalType: "uint256"
710
+ },
711
+ {
712
+ name: "amountInCurrent",
713
+ type: "uint256",
714
+ internalType: "uint256"
715
+ },
716
+ {
717
+ name: "amountOutCurrent",
718
+ type: "uint256",
719
+ internalType: "uint256"
720
+ }
721
+ ]
722
+ },
723
+ {
724
+ name: "",
725
+ type: "tuple",
726
+ internalType: "struct Graph",
727
+ components: [{
728
+ name: "vertices",
729
+ type: "tuple[]",
730
+ internalType: "struct Vertex[]",
731
+ components: [
732
+ {
733
+ name: "token",
734
+ type: "address",
735
+ internalType: "address"
736
+ },
737
+ {
738
+ name: "balance",
739
+ type: "uint256",
740
+ internalType: "uint256"
741
+ },
742
+ {
743
+ name: "leftoverBalance",
744
+ type: "uint256",
745
+ internalType: "uint256"
746
+ },
747
+ {
748
+ name: "numSplits",
749
+ type: "uint256",
750
+ internalType: "uint256"
751
+ },
752
+ {
753
+ name: "currentOptimalEdge",
754
+ type: "uint256",
755
+ internalType: "uint256"
756
+ }
757
+ ]
758
+ }, {
759
+ name: "edges",
760
+ type: "tuple[]",
761
+ internalType: "struct Edge[]",
762
+ components: [
763
+ {
764
+ name: "id",
765
+ type: "uint256",
766
+ internalType: "uint256"
767
+ },
768
+ {
769
+ name: "tokenIn",
770
+ type: "address",
771
+ internalType: "address"
772
+ },
773
+ {
774
+ name: "tokenOut",
775
+ type: "address",
776
+ internalType: "address"
777
+ },
778
+ {
779
+ name: "adapter",
780
+ type: "address",
781
+ internalType: "address"
782
+ },
783
+ {
784
+ name: "worker",
785
+ type: "address",
786
+ internalType: "address"
787
+ },
788
+ {
789
+ name: "extraData",
790
+ type: "bytes",
791
+ internalType: "bytes"
792
+ },
793
+ {
794
+ name: "amountInTotal",
795
+ type: "uint256",
796
+ internalType: "uint256"
797
+ },
798
+ {
799
+ name: "amountOutTotal",
800
+ type: "uint256",
801
+ internalType: "uint256"
802
+ },
803
+ {
804
+ name: "amountInCurrent",
805
+ type: "uint256",
806
+ internalType: "uint256"
807
+ },
808
+ {
809
+ name: "amountOutCurrent",
810
+ type: "uint256",
811
+ internalType: "uint256"
812
+ }
813
+ ]
814
+ }]
815
+ },
816
+ {
817
+ name: "",
818
+ type: "address",
819
+ internalType: "address"
820
+ }
821
+ ],
822
+ outputs: [{
823
+ name: "",
824
+ type: "bool",
825
+ internalType: "bool"
826
+ }],
827
+ stateMutability: "pure"
828
+ },
829
+ {
830
+ type: "function",
831
+ name: "updateRouter",
832
+ inputs: [{
833
+ name: "newRouter",
834
+ type: "address",
835
+ internalType: "address"
836
+ }],
837
+ outputs: [],
838
+ stateMutability: "nonpayable"
839
+ },
840
+ {
841
+ type: "function",
842
+ name: "version",
843
+ inputs: [],
844
+ outputs: [{
845
+ name: "",
846
+ type: "uint256",
847
+ internalType: "uint256"
848
+ }],
849
+ stateMutability: "view"
850
+ },
851
+ {
852
+ type: "event",
853
+ name: "NewRouter",
854
+ inputs: [{
855
+ name: "",
856
+ type: "address",
857
+ indexed: true,
858
+ internalType: "address"
859
+ }],
860
+ anonymous: false
861
+ },
862
+ {
863
+ type: "error",
864
+ name: "FutureRouterOnlyException",
865
+ inputs: []
866
+ },
867
+ {
868
+ type: "error",
869
+ name: "MigrationErrorException",
870
+ inputs: []
871
+ },
872
+ {
873
+ type: "error",
874
+ name: "RouterOnlyException",
875
+ inputs: []
876
+ },
877
+ {
878
+ type: "error",
879
+ name: "RouterOwnerOnlyException",
880
+ inputs: []
881
+ }
882
+ ];
883
+ //#endregion
884
+ export { treehouseWorkerAbi };