@gearbox-protocol/sdk 9.12.13 → 9.13.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 (230) hide show
  1. package/dist/cjs/abi/310/configure/creditSuiteParams.js +130 -0
  2. package/dist/cjs/abi/310/configure/iCreditConfigureActions.js +181 -0
  3. package/dist/cjs/abi/310/configure/iPoolConfigureActions.js +80 -0
  4. package/dist/cjs/abi/310/configure/iPriceOracleConfigureActions.js +49 -0
  5. package/dist/cjs/abi/310/crossChainMultisig.js +540 -0
  6. package/dist/cjs/abi/{v310.js → 310/generated.js} +3 -3
  7. package/dist/cjs/abi/310/iBytecodeRepository.js +897 -0
  8. package/dist/cjs/abi/310/iMarketConfiguratorFactory.js +189 -0
  9. package/dist/cjs/abi/310/iPriceFeedStore.js +417 -0
  10. package/dist/cjs/abi/310/iTreasurySplitter.js +36 -0
  11. package/dist/cjs/abi/310/instanceManager.js +274 -0
  12. package/dist/cjs/abi/compressors/creditAccountCompressor.js +456 -0
  13. package/dist/cjs/abi/compressors/creditSuiteCompressor.js +774 -0
  14. package/dist/cjs/abi/compressors/defillamaCompressor.js +183 -0
  15. package/dist/cjs/abi/compressors/gaugeCompressor.js +184 -0
  16. package/dist/cjs/abi/compressors/marketCompressor.js +2477 -0
  17. package/dist/cjs/abi/compressors/peripheryCompressor.js +202 -0
  18. package/dist/cjs/abi/compressors/priceFeedCompressor.js +581 -0
  19. package/dist/cjs/abi/compressors/rewardsCompressor.js +82 -0
  20. package/dist/cjs/abi/compressors/subcompressors/infinifiWithdrawalSubcompressor.js +187 -0
  21. package/dist/cjs/abi/compressors/subcompressors/mellowWithdrawalSubcompressor.js +187 -0
  22. package/dist/cjs/abi/compressors/subcompressors/midasWithdrawalSubcompressor.js +187 -0
  23. package/dist/cjs/abi/compressors/subcompressors/upshiftWithdrawalSubcompressor.js +187 -0
  24. package/dist/cjs/abi/compressors/tokenCompressor.js +95 -0
  25. package/dist/cjs/abi/compressors/withdrawalCompressor.js +272 -0
  26. package/dist/cjs/abi/governance/batchesChain.js +68 -0
  27. package/dist/cjs/abi/governance/governor.js +472 -0
  28. package/dist/cjs/abi/governance/iTimeLock.js +257 -0
  29. package/dist/cjs/abi/router/balancerV2Worker.js +730 -0
  30. package/dist/cjs/abi/router/balancerV3Worker.js +734 -0
  31. package/dist/cjs/abi/router/camelotV3Worker.js +558 -0
  32. package/dist/cjs/abi/router/convexWorker.js +541 -0
  33. package/dist/cjs/abi/router/curveWorker.js +718 -0
  34. package/dist/cjs/abi/router/daiUsdsWorker.js +541 -0
  35. package/dist/cjs/abi/router/equalizerRouterWorker.js +541 -0
  36. package/dist/cjs/abi/router/erc4626Worker.js +572 -0
  37. package/dist/cjs/abi/router/fluidDexWorker.js +551 -0
  38. package/dist/cjs/abi/router/gearboxRouter.js +651 -0
  39. package/dist/cjs/abi/router/infraredVaultWorker.js +541 -0
  40. package/dist/cjs/abi/router/kodiakWorker.js +732 -0
  41. package/dist/cjs/abi/router/lidoWorker.js +541 -0
  42. package/dist/cjs/abi/router/mellow4626Worker.js +541 -0
  43. package/dist/cjs/abi/router/mellowDVVWorker.js +541 -0
  44. package/dist/cjs/abi/router/mellowVaultWorker.js +551 -0
  45. package/dist/cjs/abi/router/pendleRouterWorker.js +567 -0
  46. package/dist/cjs/abi/router/routingManager.js +397 -0
  47. package/dist/cjs/abi/router/stakingRewardsWorker.js +541 -0
  48. package/dist/cjs/abi/router/traderJoeWorker.js +541 -0
  49. package/dist/cjs/abi/router/uniswapV2Worker.js +541 -0
  50. package/dist/cjs/abi/router/uniswapV3Worker.js +568 -0
  51. package/dist/cjs/abi/router/upshiftWorker.js +541 -0
  52. package/dist/cjs/abi/router/velodromeV2Worker.js +541 -0
  53. package/dist/cjs/abi/router/wstETHWorker.js +541 -0
  54. package/dist/cjs/abi/router/yearnV2Worker.js +541 -0
  55. package/dist/cjs/dev/migrateFaucet.js +6 -6
  56. package/dist/cjs/plugins/accounts-counter/AccountsCounterPlugin.js +3 -3
  57. package/dist/cjs/plugins/bots/BotsPlugin.js +2 -2
  58. package/dist/cjs/plugins/pools-history/Pools7DAgoPlugin.js +2 -2
  59. package/dist/cjs/plugins/zappers/ZappersPlugin.js +2 -2
  60. package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +11 -9
  61. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +2 -2
  62. package/dist/cjs/sdk/chain/detectNetwork.js +2 -2
  63. package/dist/cjs/sdk/core/address-provider/AddressProviderV310Contract.js +2 -2
  64. package/dist/cjs/sdk/gauges/GaugeStakingService.js +2 -2
  65. package/dist/cjs/sdk/market/MarketConfiguratorContract.js +2 -2
  66. package/dist/cjs/sdk/market/MarketRegister.js +3 -3
  67. package/dist/cjs/sdk/market/credit/CreditConfiguratorV310Contract.js +2 -2
  68. package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +3 -3
  69. package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +2 -2
  70. package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +2 -2
  71. package/dist/cjs/sdk/market/oracle/PriceOracleV310Contract.js +3 -3
  72. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
  73. package/dist/cjs/sdk/market/pool/PoolV310Contract.js +2 -2
  74. package/dist/cjs/sdk/market/pool/TumblerContract.js +2 -2
  75. package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +3 -3
  76. package/dist/cjs/sdk/router/RouterV310Contract.js +2 -2
  77. package/dist/cjs/sdk/sdk-legacy/tokens/tokenData.js +2 -1
  78. package/dist/cjs/sdk/utils/viem/simulateWithPriceUpdates.js +3 -2
  79. package/dist/esm/abi/310/configure/creditSuiteParams.js +104 -0
  80. package/dist/esm/abi/310/configure/iCreditConfigureActions.js +157 -0
  81. package/dist/esm/abi/310/configure/iPoolConfigureActions.js +56 -0
  82. package/dist/esm/abi/310/configure/iPriceOracleConfigureActions.js +25 -0
  83. package/dist/esm/abi/310/crossChainMultisig.js +516 -0
  84. package/dist/esm/abi/310/iBytecodeRepository.js +873 -0
  85. package/dist/esm/abi/310/iMarketConfiguratorFactory.js +165 -0
  86. package/dist/esm/abi/310/iPriceFeedStore.js +393 -0
  87. package/dist/esm/abi/310/iTreasurySplitter.js +12 -0
  88. package/dist/esm/abi/310/instanceManager.js +250 -0
  89. package/dist/esm/abi/compressors/creditAccountCompressor.js +432 -0
  90. package/dist/esm/abi/compressors/creditSuiteCompressor.js +750 -0
  91. package/dist/esm/abi/compressors/defillamaCompressor.js +159 -0
  92. package/dist/esm/abi/compressors/gaugeCompressor.js +160 -0
  93. package/dist/esm/abi/compressors/marketCompressor.js +2453 -0
  94. package/dist/esm/abi/compressors/peripheryCompressor.js +178 -0
  95. package/dist/esm/abi/compressors/priceFeedCompressor.js +557 -0
  96. package/dist/esm/abi/compressors/rewardsCompressor.js +58 -0
  97. package/dist/esm/abi/compressors/subcompressors/infinifiWithdrawalSubcompressor.js +163 -0
  98. package/dist/esm/abi/compressors/subcompressors/mellowWithdrawalSubcompressor.js +163 -0
  99. package/dist/esm/abi/compressors/subcompressors/midasWithdrawalSubcompressor.js +163 -0
  100. package/dist/esm/abi/compressors/subcompressors/upshiftWithdrawalSubcompressor.js +163 -0
  101. package/dist/esm/abi/compressors/tokenCompressor.js +71 -0
  102. package/dist/esm/abi/compressors/withdrawalCompressor.js +248 -0
  103. package/dist/esm/abi/governance/batchesChain.js +44 -0
  104. package/dist/esm/abi/governance/governor.js +448 -0
  105. package/dist/esm/abi/governance/iTimeLock.js +233 -0
  106. package/dist/esm/abi/router/balancerV2Worker.js +706 -0
  107. package/dist/esm/abi/router/balancerV3Worker.js +710 -0
  108. package/dist/esm/abi/router/camelotV3Worker.js +534 -0
  109. package/dist/esm/abi/router/convexWorker.js +517 -0
  110. package/dist/esm/abi/router/curveWorker.js +694 -0
  111. package/dist/esm/abi/router/daiUsdsWorker.js +517 -0
  112. package/dist/esm/abi/router/equalizerRouterWorker.js +517 -0
  113. package/dist/esm/abi/router/erc4626Worker.js +548 -0
  114. package/dist/esm/abi/router/fluidDexWorker.js +527 -0
  115. package/dist/esm/abi/router/gearboxRouter.js +627 -0
  116. package/dist/esm/abi/router/infraredVaultWorker.js +517 -0
  117. package/dist/esm/abi/router/kodiakWorker.js +708 -0
  118. package/dist/esm/abi/router/lidoWorker.js +517 -0
  119. package/dist/esm/abi/router/mellow4626Worker.js +517 -0
  120. package/dist/esm/abi/router/mellowDVVWorker.js +517 -0
  121. package/dist/esm/abi/router/mellowVaultWorker.js +527 -0
  122. package/dist/esm/abi/router/pendleRouterWorker.js +543 -0
  123. package/dist/esm/abi/router/routingManager.js +373 -0
  124. package/dist/esm/abi/router/stakingRewardsWorker.js +517 -0
  125. package/dist/esm/abi/router/traderJoeWorker.js +517 -0
  126. package/dist/esm/abi/router/uniswapV2Worker.js +517 -0
  127. package/dist/esm/abi/router/uniswapV3Worker.js +544 -0
  128. package/dist/esm/abi/router/upshiftWorker.js +517 -0
  129. package/dist/esm/abi/router/velodromeV2Worker.js +517 -0
  130. package/dist/esm/abi/router/wstETHWorker.js +517 -0
  131. package/dist/esm/abi/router/yearnV2Worker.js +517 -0
  132. package/dist/esm/dev/migrateFaucet.js +1 -1
  133. package/dist/esm/plugins/accounts-counter/AccountsCounterPlugin.js +3 -3
  134. package/dist/esm/plugins/bots/BotsPlugin.js +2 -2
  135. package/dist/esm/plugins/pools-history/Pools7DAgoPlugin.js +2 -2
  136. package/dist/esm/plugins/zappers/ZappersPlugin.js +2 -2
  137. package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +10 -12
  138. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +1 -1
  139. package/dist/esm/sdk/chain/detectNetwork.js +1 -1
  140. package/dist/esm/sdk/core/address-provider/AddressProviderV310Contract.js +1 -1
  141. package/dist/esm/sdk/gauges/GaugeStakingService.js +2 -2
  142. package/dist/esm/sdk/market/MarketConfiguratorContract.js +1 -1
  143. package/dist/esm/sdk/market/MarketRegister.js +3 -3
  144. package/dist/esm/sdk/market/credit/CreditConfiguratorV310Contract.js +1 -1
  145. package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +2 -2
  146. package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +1 -1
  147. package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +2 -2
  148. package/dist/esm/sdk/market/oracle/PriceOracleV310Contract.js +1 -1
  149. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV310Contract.js +1 -1
  150. package/dist/esm/sdk/market/pool/PoolV310Contract.js +1 -1
  151. package/dist/esm/sdk/market/pool/TumblerContract.js +1 -1
  152. package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +3 -3
  153. package/dist/esm/sdk/router/RouterV310Contract.js +2 -2
  154. package/dist/esm/sdk/sdk-legacy/tokens/tokenData.js +2 -1
  155. package/dist/esm/sdk/utils/viem/simulateWithPriceUpdates.js +2 -1
  156. package/dist/types/abi/310/configure/creditSuiteParams.d.ts +92 -0
  157. package/dist/types/abi/310/configure/iCreditConfigureActions.d.ts +187 -0
  158. package/dist/types/abi/310/configure/iPoolConfigureActions.d.ts +65 -0
  159. package/dist/types/abi/310/configure/iPriceOracleConfigureActions.d.ts +29 -0
  160. package/dist/types/abi/310/crossChainMultisig.d.ts +709 -0
  161. package/dist/types/abi/310/iBytecodeRepository.d.ts +1139 -0
  162. package/dist/types/abi/310/iMarketConfiguratorFactory.d.ts +218 -0
  163. package/dist/types/abi/310/iPriceFeedStore.d.ts +526 -0
  164. package/dist/types/abi/310/iTreasurySplitter.d.ts +11 -0
  165. package/dist/types/abi/{iPriceFeedStore.d.ts → 310/instanceManager.d.ts} +183 -143
  166. package/dist/types/abi/compressors/creditAccountCompressor.d.ts +828 -0
  167. package/dist/types/abi/compressors/creditSuiteCompressor.d.ts +829 -0
  168. package/dist/types/abi/compressors/defillamaCompressor.d.ts +201 -0
  169. package/dist/types/abi/compressors/gaugeCompressor.d.ts +228 -0
  170. package/dist/types/abi/{compressors.d.ts → compressors/marketCompressor.d.ts} +1322 -4121
  171. package/dist/types/abi/compressors/peripheryCompressor.d.ts +217 -0
  172. package/dist/types/abi/compressors/priceFeedCompressor.d.ts +684 -0
  173. package/dist/types/abi/compressors/rewardsCompressor.d.ts +70 -0
  174. package/dist/types/abi/compressors/subcompressors/infinifiWithdrawalSubcompressor.d.ts +220 -0
  175. package/dist/types/abi/compressors/subcompressors/mellowWithdrawalSubcompressor.d.ts +220 -0
  176. package/dist/types/abi/compressors/subcompressors/midasWithdrawalSubcompressor.d.ts +220 -0
  177. package/dist/types/abi/compressors/subcompressors/upshiftWithdrawalSubcompressor.d.ts +220 -0
  178. package/dist/types/abi/compressors/tokenCompressor.d.ts +101 -0
  179. package/dist/types/abi/{routerV310.d.ts → compressors/withdrawalCompressor.d.ts} +175 -253
  180. package/dist/types/abi/governance/batchesChain.d.ts +31 -0
  181. package/dist/types/abi/governance/governor.d.ts +584 -0
  182. package/dist/types/abi/governance/iTimeLock.d.ts +328 -0
  183. package/dist/types/abi/router/balancerV2Worker.d.ts +961 -0
  184. package/dist/types/abi/router/balancerV3Worker.d.ts +961 -0
  185. package/dist/types/abi/router/camelotV3Worker.d.ts +754 -0
  186. package/dist/types/abi/router/convexWorker.d.ts +726 -0
  187. package/dist/types/abi/router/curveWorker.d.ts +947 -0
  188. package/dist/types/abi/router/daiUsdsWorker.d.ts +726 -0
  189. package/dist/types/abi/router/equalizerRouterWorker.d.ts +726 -0
  190. package/dist/types/abi/router/erc4626Worker.d.ts +769 -0
  191. package/dist/types/abi/router/fluidDexWorker.d.ts +740 -0
  192. package/dist/types/abi/router/gearboxRouter.d.ts +881 -0
  193. package/dist/types/abi/router/infraredVaultWorker.d.ts +726 -0
  194. package/dist/types/abi/router/kodiakWorker.d.ts +967 -0
  195. package/dist/types/abi/router/lidoWorker.d.ts +726 -0
  196. package/dist/types/abi/router/mellow4626Worker.d.ts +726 -0
  197. package/dist/types/abi/router/mellowDVVWorker.d.ts +726 -0
  198. package/dist/types/abi/router/mellowVaultWorker.d.ts +740 -0
  199. package/dist/types/abi/router/pendleRouterWorker.d.ts +760 -0
  200. package/dist/types/abi/router/routingManager.d.ts +494 -0
  201. package/dist/types/abi/router/stakingRewardsWorker.d.ts +726 -0
  202. package/dist/types/abi/router/traderJoeWorker.d.ts +726 -0
  203. package/dist/types/abi/router/uniswapV2Worker.d.ts +726 -0
  204. package/dist/types/abi/router/uniswapV3Worker.d.ts +774 -0
  205. package/dist/types/abi/router/upshiftWorker.d.ts +726 -0
  206. package/dist/types/abi/router/velodromeV2Worker.d.ts +726 -0
  207. package/dist/types/abi/router/wstETHWorker.d.ts +726 -0
  208. package/dist/types/abi/router/yearnV2Worker.d.ts +726 -0
  209. package/dist/types/plugins/bots/types.d.ts +2 -2
  210. package/dist/types/plugins/zappers/types.d.ts +2 -2
  211. package/dist/types/sdk/accounts/types.d.ts +2 -2
  212. package/dist/types/sdk/base/types.d.ts +11 -7
  213. package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +1 -1
  214. package/dist/types/sdk/market/oracle/types.d.ts +3 -3
  215. package/dist/types/sdk/router/RouterV310Contract.d.ts +481 -1
  216. package/dist/types/sdk/sdk-legacy/payload/pool.d.ts +2 -2
  217. package/package.json +1 -1
  218. package/dist/cjs/abi/compressors.js +0 -4555
  219. package/dist/cjs/abi/iPriceFeedStore.js +0 -254
  220. package/dist/cjs/abi/index.js +0 -46
  221. package/dist/cjs/abi/package.json +0 -1
  222. package/dist/cjs/abi/routerV310.js +0 -276
  223. package/dist/esm/abi/compressors.js +0 -4524
  224. package/dist/esm/abi/iPriceFeedStore.js +0 -230
  225. package/dist/esm/abi/index.js +0 -13
  226. package/dist/esm/abi/package.json +0 -1
  227. package/dist/esm/abi/routerV310.js +0 -252
  228. package/dist/types/abi/index.d.ts +0 -13
  229. /package/dist/esm/abi/{v310.js → 310/generated.js} +0 -0
  230. /package/dist/types/abi/{v310.d.ts → 310/generated.d.ts} +0 -0
@@ -0,0 +1,694 @@
1
+ const curveWorkerAbi = [
2
+ {
3
+ type: "constructor",
4
+ inputs: [{ name: "_router", type: "address", internalType: "address" }],
5
+ stateMutability: "nonpayable"
6
+ },
7
+ {
8
+ type: "function",
9
+ name: "buildEdges",
10
+ inputs: [
11
+ {
12
+ name: "graph",
13
+ type: "tuple",
14
+ internalType: "struct Graph",
15
+ components: [
16
+ {
17
+ name: "vertices",
18
+ type: "tuple[]",
19
+ internalType: "struct Vertex[]",
20
+ components: [
21
+ { name: "token", type: "address", internalType: "address" },
22
+ { name: "balance", type: "uint256", internalType: "uint256" },
23
+ {
24
+ name: "leftoverBalance",
25
+ type: "uint256",
26
+ internalType: "uint256"
27
+ },
28
+ { name: "numSplits", type: "uint256", internalType: "uint256" },
29
+ {
30
+ name: "currentOptimalEdge",
31
+ type: "uint256",
32
+ internalType: "uint256"
33
+ }
34
+ ]
35
+ },
36
+ {
37
+ name: "edges",
38
+ type: "tuple[]",
39
+ internalType: "struct Edge[]",
40
+ components: [
41
+ { name: "id", type: "uint256", internalType: "uint256" },
42
+ { name: "tokenIn", type: "address", internalType: "address" },
43
+ { name: "tokenOut", type: "address", internalType: "address" },
44
+ { name: "adapter", type: "address", internalType: "address" },
45
+ { name: "worker", type: "address", internalType: "address" },
46
+ { name: "extraData", type: "bytes", internalType: "bytes" },
47
+ {
48
+ name: "amountInTotal",
49
+ type: "uint256",
50
+ internalType: "uint256"
51
+ },
52
+ {
53
+ name: "amountOutTotal",
54
+ type: "uint256",
55
+ internalType: "uint256"
56
+ },
57
+ {
58
+ name: "amountInCurrent",
59
+ type: "uint256",
60
+ internalType: "uint256"
61
+ },
62
+ {
63
+ name: "amountOutCurrent",
64
+ type: "uint256",
65
+ internalType: "uint256"
66
+ }
67
+ ]
68
+ }
69
+ ]
70
+ },
71
+ { name: "adapter", type: "address", internalType: "address" }
72
+ ],
73
+ outputs: [
74
+ {
75
+ name: "",
76
+ type: "tuple",
77
+ internalType: "struct Graph",
78
+ components: [
79
+ {
80
+ name: "vertices",
81
+ type: "tuple[]",
82
+ internalType: "struct Vertex[]",
83
+ components: [
84
+ { name: "token", type: "address", internalType: "address" },
85
+ { name: "balance", type: "uint256", internalType: "uint256" },
86
+ {
87
+ name: "leftoverBalance",
88
+ type: "uint256",
89
+ internalType: "uint256"
90
+ },
91
+ { name: "numSplits", type: "uint256", internalType: "uint256" },
92
+ {
93
+ name: "currentOptimalEdge",
94
+ type: "uint256",
95
+ internalType: "uint256"
96
+ }
97
+ ]
98
+ },
99
+ {
100
+ name: "edges",
101
+ type: "tuple[]",
102
+ internalType: "struct Edge[]",
103
+ components: [
104
+ { name: "id", type: "uint256", internalType: "uint256" },
105
+ { name: "tokenIn", type: "address", internalType: "address" },
106
+ { name: "tokenOut", type: "address", internalType: "address" },
107
+ { name: "adapter", type: "address", internalType: "address" },
108
+ { name: "worker", type: "address", internalType: "address" },
109
+ { name: "extraData", type: "bytes", internalType: "bytes" },
110
+ {
111
+ name: "amountInTotal",
112
+ type: "uint256",
113
+ internalType: "uint256"
114
+ },
115
+ {
116
+ name: "amountOutTotal",
117
+ type: "uint256",
118
+ internalType: "uint256"
119
+ },
120
+ {
121
+ name: "amountInCurrent",
122
+ type: "uint256",
123
+ internalType: "uint256"
124
+ },
125
+ {
126
+ name: "amountOutCurrent",
127
+ type: "uint256",
128
+ internalType: "uint256"
129
+ }
130
+ ]
131
+ }
132
+ ]
133
+ }
134
+ ],
135
+ stateMutability: "view"
136
+ },
137
+ {
138
+ type: "function",
139
+ name: "contractType",
140
+ inputs: [],
141
+ outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
142
+ stateMutability: "view"
143
+ },
144
+ {
145
+ type: "function",
146
+ name: "getEdgeAmountOutCurrent",
147
+ inputs: [
148
+ {
149
+ name: "edge",
150
+ type: "tuple",
151
+ internalType: "struct Edge",
152
+ components: [
153
+ { name: "id", type: "uint256", internalType: "uint256" },
154
+ { name: "tokenIn", type: "address", internalType: "address" },
155
+ { name: "tokenOut", type: "address", internalType: "address" },
156
+ { name: "adapter", type: "address", internalType: "address" },
157
+ { name: "worker", type: "address", internalType: "address" },
158
+ { name: "extraData", type: "bytes", internalType: "bytes" },
159
+ { name: "amountInTotal", type: "uint256", internalType: "uint256" },
160
+ { name: "amountOutTotal", type: "uint256", internalType: "uint256" },
161
+ { name: "amountInCurrent", type: "uint256", internalType: "uint256" },
162
+ {
163
+ name: "amountOutCurrent",
164
+ type: "uint256",
165
+ internalType: "uint256"
166
+ }
167
+ ]
168
+ },
169
+ {
170
+ name: "graph",
171
+ type: "tuple",
172
+ internalType: "struct Graph",
173
+ components: [
174
+ {
175
+ name: "vertices",
176
+ type: "tuple[]",
177
+ internalType: "struct Vertex[]",
178
+ components: [
179
+ { name: "token", type: "address", internalType: "address" },
180
+ { name: "balance", type: "uint256", internalType: "uint256" },
181
+ {
182
+ name: "leftoverBalance",
183
+ type: "uint256",
184
+ internalType: "uint256"
185
+ },
186
+ { name: "numSplits", type: "uint256", internalType: "uint256" },
187
+ {
188
+ name: "currentOptimalEdge",
189
+ type: "uint256",
190
+ internalType: "uint256"
191
+ }
192
+ ]
193
+ },
194
+ {
195
+ name: "edges",
196
+ type: "tuple[]",
197
+ internalType: "struct Edge[]",
198
+ components: [
199
+ { name: "id", type: "uint256", internalType: "uint256" },
200
+ { name: "tokenIn", type: "address", internalType: "address" },
201
+ { name: "tokenOut", type: "address", internalType: "address" },
202
+ { name: "adapter", type: "address", internalType: "address" },
203
+ { name: "worker", type: "address", internalType: "address" },
204
+ { name: "extraData", type: "bytes", internalType: "bytes" },
205
+ {
206
+ name: "amountInTotal",
207
+ type: "uint256",
208
+ internalType: "uint256"
209
+ },
210
+ {
211
+ name: "amountOutTotal",
212
+ type: "uint256",
213
+ internalType: "uint256"
214
+ },
215
+ {
216
+ name: "amountInCurrent",
217
+ type: "uint256",
218
+ internalType: "uint256"
219
+ },
220
+ {
221
+ name: "amountOutCurrent",
222
+ type: "uint256",
223
+ internalType: "uint256"
224
+ }
225
+ ]
226
+ }
227
+ ]
228
+ }
229
+ ],
230
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
231
+ stateMutability: "view"
232
+ },
233
+ {
234
+ type: "function",
235
+ name: "getMulticalls",
236
+ inputs: [
237
+ {
238
+ name: "edge",
239
+ type: "tuple",
240
+ internalType: "struct Edge",
241
+ components: [
242
+ { name: "id", type: "uint256", internalType: "uint256" },
243
+ { name: "tokenIn", type: "address", internalType: "address" },
244
+ { name: "tokenOut", type: "address", internalType: "address" },
245
+ { name: "adapter", type: "address", internalType: "address" },
246
+ { name: "worker", type: "address", internalType: "address" },
247
+ { name: "extraData", type: "bytes", internalType: "bytes" },
248
+ { name: "amountInTotal", type: "uint256", internalType: "uint256" },
249
+ { name: "amountOutTotal", type: "uint256", internalType: "uint256" },
250
+ { name: "amountInCurrent", type: "uint256", internalType: "uint256" },
251
+ {
252
+ name: "amountOutCurrent",
253
+ type: "uint256",
254
+ internalType: "uint256"
255
+ }
256
+ ]
257
+ },
258
+ {
259
+ name: "graph",
260
+ type: "tuple",
261
+ internalType: "struct Graph",
262
+ components: [
263
+ {
264
+ name: "vertices",
265
+ type: "tuple[]",
266
+ internalType: "struct Vertex[]",
267
+ components: [
268
+ { name: "token", type: "address", internalType: "address" },
269
+ { name: "balance", type: "uint256", internalType: "uint256" },
270
+ {
271
+ name: "leftoverBalance",
272
+ type: "uint256",
273
+ internalType: "uint256"
274
+ },
275
+ { name: "numSplits", type: "uint256", internalType: "uint256" },
276
+ {
277
+ name: "currentOptimalEdge",
278
+ type: "uint256",
279
+ internalType: "uint256"
280
+ }
281
+ ]
282
+ },
283
+ {
284
+ name: "edges",
285
+ type: "tuple[]",
286
+ internalType: "struct Edge[]",
287
+ components: [
288
+ { name: "id", type: "uint256", internalType: "uint256" },
289
+ { name: "tokenIn", type: "address", internalType: "address" },
290
+ { name: "tokenOut", type: "address", internalType: "address" },
291
+ { name: "adapter", type: "address", internalType: "address" },
292
+ { name: "worker", type: "address", internalType: "address" },
293
+ { name: "extraData", type: "bytes", internalType: "bytes" },
294
+ {
295
+ name: "amountInTotal",
296
+ type: "uint256",
297
+ internalType: "uint256"
298
+ },
299
+ {
300
+ name: "amountOutTotal",
301
+ type: "uint256",
302
+ internalType: "uint256"
303
+ },
304
+ {
305
+ name: "amountInCurrent",
306
+ type: "uint256",
307
+ internalType: "uint256"
308
+ },
309
+ {
310
+ name: "amountOutCurrent",
311
+ type: "uint256",
312
+ internalType: "uint256"
313
+ }
314
+ ]
315
+ }
316
+ ]
317
+ }
318
+ ],
319
+ outputs: [
320
+ {
321
+ name: "calls",
322
+ type: "tuple[]",
323
+ internalType: "struct MultiCall[]",
324
+ components: [
325
+ { name: "target", type: "address", internalType: "address" },
326
+ { name: "callData", type: "bytes", internalType: "bytes" }
327
+ ]
328
+ },
329
+ {
330
+ name: "",
331
+ type: "tuple",
332
+ internalType: "struct Graph",
333
+ components: [
334
+ {
335
+ name: "vertices",
336
+ type: "tuple[]",
337
+ internalType: "struct Vertex[]",
338
+ components: [
339
+ { name: "token", type: "address", internalType: "address" },
340
+ { name: "balance", type: "uint256", internalType: "uint256" },
341
+ {
342
+ name: "leftoverBalance",
343
+ type: "uint256",
344
+ internalType: "uint256"
345
+ },
346
+ { name: "numSplits", type: "uint256", internalType: "uint256" },
347
+ {
348
+ name: "currentOptimalEdge",
349
+ type: "uint256",
350
+ internalType: "uint256"
351
+ }
352
+ ]
353
+ },
354
+ {
355
+ name: "edges",
356
+ type: "tuple[]",
357
+ internalType: "struct Edge[]",
358
+ components: [
359
+ { name: "id", type: "uint256", internalType: "uint256" },
360
+ { name: "tokenIn", type: "address", internalType: "address" },
361
+ { name: "tokenOut", type: "address", internalType: "address" },
362
+ { name: "adapter", type: "address", internalType: "address" },
363
+ { name: "worker", type: "address", internalType: "address" },
364
+ { name: "extraData", type: "bytes", internalType: "bytes" },
365
+ {
366
+ name: "amountInTotal",
367
+ type: "uint256",
368
+ internalType: "uint256"
369
+ },
370
+ {
371
+ name: "amountOutTotal",
372
+ type: "uint256",
373
+ internalType: "uint256"
374
+ },
375
+ {
376
+ name: "amountInCurrent",
377
+ type: "uint256",
378
+ internalType: "uint256"
379
+ },
380
+ {
381
+ name: "amountOutCurrent",
382
+ type: "uint256",
383
+ internalType: "uint256"
384
+ }
385
+ ]
386
+ }
387
+ ]
388
+ }
389
+ ],
390
+ stateMutability: "pure"
391
+ },
392
+ {
393
+ type: "function",
394
+ name: "isNonLinear",
395
+ inputs: [],
396
+ outputs: [{ name: "", type: "bool", internalType: "bool" }],
397
+ stateMutability: "view"
398
+ },
399
+ {
400
+ type: "function",
401
+ name: "migrate",
402
+ inputs: [],
403
+ outputs: [],
404
+ stateMutability: "nonpayable"
405
+ },
406
+ {
407
+ type: "function",
408
+ name: "processClaims",
409
+ inputs: [
410
+ {
411
+ name: "",
412
+ type: "tuple",
413
+ internalType: "struct Edge",
414
+ components: [
415
+ { name: "id", type: "uint256", internalType: "uint256" },
416
+ { name: "tokenIn", type: "address", internalType: "address" },
417
+ { name: "tokenOut", type: "address", internalType: "address" },
418
+ { name: "adapter", type: "address", internalType: "address" },
419
+ { name: "worker", type: "address", internalType: "address" },
420
+ { name: "extraData", type: "bytes", internalType: "bytes" },
421
+ { name: "amountInTotal", type: "uint256", internalType: "uint256" },
422
+ { name: "amountOutTotal", type: "uint256", internalType: "uint256" },
423
+ { name: "amountInCurrent", type: "uint256", internalType: "uint256" },
424
+ {
425
+ name: "amountOutCurrent",
426
+ type: "uint256",
427
+ internalType: "uint256"
428
+ }
429
+ ]
430
+ },
431
+ {
432
+ name: "graph",
433
+ type: "tuple",
434
+ internalType: "struct Graph",
435
+ components: [
436
+ {
437
+ name: "vertices",
438
+ type: "tuple[]",
439
+ internalType: "struct Vertex[]",
440
+ components: [
441
+ { name: "token", type: "address", internalType: "address" },
442
+ { name: "balance", type: "uint256", internalType: "uint256" },
443
+ {
444
+ name: "leftoverBalance",
445
+ type: "uint256",
446
+ internalType: "uint256"
447
+ },
448
+ { name: "numSplits", type: "uint256", internalType: "uint256" },
449
+ {
450
+ name: "currentOptimalEdge",
451
+ type: "uint256",
452
+ internalType: "uint256"
453
+ }
454
+ ]
455
+ },
456
+ {
457
+ name: "edges",
458
+ type: "tuple[]",
459
+ internalType: "struct Edge[]",
460
+ components: [
461
+ { name: "id", type: "uint256", internalType: "uint256" },
462
+ { name: "tokenIn", type: "address", internalType: "address" },
463
+ { name: "tokenOut", type: "address", internalType: "address" },
464
+ { name: "adapter", type: "address", internalType: "address" },
465
+ { name: "worker", type: "address", internalType: "address" },
466
+ { name: "extraData", type: "bytes", internalType: "bytes" },
467
+ {
468
+ name: "amountInTotal",
469
+ type: "uint256",
470
+ internalType: "uint256"
471
+ },
472
+ {
473
+ name: "amountOutTotal",
474
+ type: "uint256",
475
+ internalType: "uint256"
476
+ },
477
+ {
478
+ name: "amountInCurrent",
479
+ type: "uint256",
480
+ internalType: "uint256"
481
+ },
482
+ {
483
+ name: "amountOutCurrent",
484
+ type: "uint256",
485
+ internalType: "uint256"
486
+ }
487
+ ]
488
+ }
489
+ ]
490
+ },
491
+ { name: "", type: "address", internalType: "address" }
492
+ ],
493
+ outputs: [
494
+ {
495
+ name: "",
496
+ type: "tuple",
497
+ internalType: "struct Graph",
498
+ components: [
499
+ {
500
+ name: "vertices",
501
+ type: "tuple[]",
502
+ internalType: "struct Vertex[]",
503
+ components: [
504
+ { name: "token", type: "address", internalType: "address" },
505
+ { name: "balance", type: "uint256", internalType: "uint256" },
506
+ {
507
+ name: "leftoverBalance",
508
+ type: "uint256",
509
+ internalType: "uint256"
510
+ },
511
+ { name: "numSplits", type: "uint256", internalType: "uint256" },
512
+ {
513
+ name: "currentOptimalEdge",
514
+ type: "uint256",
515
+ internalType: "uint256"
516
+ }
517
+ ]
518
+ },
519
+ {
520
+ name: "edges",
521
+ type: "tuple[]",
522
+ internalType: "struct Edge[]",
523
+ components: [
524
+ { name: "id", type: "uint256", internalType: "uint256" },
525
+ { name: "tokenIn", type: "address", internalType: "address" },
526
+ { name: "tokenOut", type: "address", internalType: "address" },
527
+ { name: "adapter", type: "address", internalType: "address" },
528
+ { name: "worker", type: "address", internalType: "address" },
529
+ { name: "extraData", type: "bytes", internalType: "bytes" },
530
+ {
531
+ name: "amountInTotal",
532
+ type: "uint256",
533
+ internalType: "uint256"
534
+ },
535
+ {
536
+ name: "amountOutTotal",
537
+ type: "uint256",
538
+ internalType: "uint256"
539
+ },
540
+ {
541
+ name: "amountInCurrent",
542
+ type: "uint256",
543
+ internalType: "uint256"
544
+ },
545
+ {
546
+ name: "amountOutCurrent",
547
+ type: "uint256",
548
+ internalType: "uint256"
549
+ }
550
+ ]
551
+ }
552
+ ]
553
+ },
554
+ {
555
+ name: "",
556
+ type: "tuple[]",
557
+ internalType: "struct MultiCall[]",
558
+ components: [
559
+ { name: "target", type: "address", internalType: "address" },
560
+ { name: "callData", type: "bytes", internalType: "bytes" }
561
+ ]
562
+ }
563
+ ],
564
+ stateMutability: "pure"
565
+ },
566
+ {
567
+ type: "function",
568
+ name: "router",
569
+ inputs: [],
570
+ outputs: [
571
+ { name: "", type: "address", internalType: "contract IGearboxRouter" }
572
+ ],
573
+ stateMutability: "view"
574
+ },
575
+ {
576
+ type: "function",
577
+ name: "trimSpecialVertex",
578
+ inputs: [
579
+ {
580
+ name: "edge",
581
+ type: "tuple",
582
+ internalType: "struct Edge",
583
+ components: [
584
+ { name: "id", type: "uint256", internalType: "uint256" },
585
+ { name: "tokenIn", type: "address", internalType: "address" },
586
+ { name: "tokenOut", type: "address", internalType: "address" },
587
+ { name: "adapter", type: "address", internalType: "address" },
588
+ { name: "worker", type: "address", internalType: "address" },
589
+ { name: "extraData", type: "bytes", internalType: "bytes" },
590
+ { name: "amountInTotal", type: "uint256", internalType: "uint256" },
591
+ { name: "amountOutTotal", type: "uint256", internalType: "uint256" },
592
+ { name: "amountInCurrent", type: "uint256", internalType: "uint256" },
593
+ {
594
+ name: "amountOutCurrent",
595
+ type: "uint256",
596
+ internalType: "uint256"
597
+ }
598
+ ]
599
+ },
600
+ {
601
+ name: "graph",
602
+ type: "tuple",
603
+ internalType: "struct Graph",
604
+ components: [
605
+ {
606
+ name: "vertices",
607
+ type: "tuple[]",
608
+ internalType: "struct Vertex[]",
609
+ components: [
610
+ { name: "token", type: "address", internalType: "address" },
611
+ { name: "balance", type: "uint256", internalType: "uint256" },
612
+ {
613
+ name: "leftoverBalance",
614
+ type: "uint256",
615
+ internalType: "uint256"
616
+ },
617
+ { name: "numSplits", type: "uint256", internalType: "uint256" },
618
+ {
619
+ name: "currentOptimalEdge",
620
+ type: "uint256",
621
+ internalType: "uint256"
622
+ }
623
+ ]
624
+ },
625
+ {
626
+ name: "edges",
627
+ type: "tuple[]",
628
+ internalType: "struct Edge[]",
629
+ components: [
630
+ { name: "id", type: "uint256", internalType: "uint256" },
631
+ { name: "tokenIn", type: "address", internalType: "address" },
632
+ { name: "tokenOut", type: "address", internalType: "address" },
633
+ { name: "adapter", type: "address", internalType: "address" },
634
+ { name: "worker", type: "address", internalType: "address" },
635
+ { name: "extraData", type: "bytes", internalType: "bytes" },
636
+ {
637
+ name: "amountInTotal",
638
+ type: "uint256",
639
+ internalType: "uint256"
640
+ },
641
+ {
642
+ name: "amountOutTotal",
643
+ type: "uint256",
644
+ internalType: "uint256"
645
+ },
646
+ {
647
+ name: "amountInCurrent",
648
+ type: "uint256",
649
+ internalType: "uint256"
650
+ },
651
+ {
652
+ name: "amountOutCurrent",
653
+ type: "uint256",
654
+ internalType: "uint256"
655
+ }
656
+ ]
657
+ }
658
+ ]
659
+ },
660
+ { name: "targetToken", type: "address", internalType: "address" }
661
+ ],
662
+ outputs: [{ name: "", type: "bool", internalType: "bool" }],
663
+ stateMutability: "view"
664
+ },
665
+ {
666
+ type: "function",
667
+ name: "updateRouter",
668
+ inputs: [{ name: "newRouter", type: "address", internalType: "address" }],
669
+ outputs: [],
670
+ stateMutability: "nonpayable"
671
+ },
672
+ {
673
+ type: "function",
674
+ name: "version",
675
+ inputs: [],
676
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
677
+ stateMutability: "view"
678
+ },
679
+ {
680
+ type: "event",
681
+ name: "NewRouter",
682
+ inputs: [
683
+ { name: "", type: "address", indexed: true, internalType: "address" }
684
+ ],
685
+ anonymous: false
686
+ },
687
+ { type: "error", name: "FutureRouterOnlyException", inputs: [] },
688
+ { type: "error", name: "MigrationErrorException", inputs: [] },
689
+ { type: "error", name: "RouterOnlyException", inputs: [] },
690
+ { type: "error", name: "RouterOwnerOnlyException", inputs: [] }
691
+ ];
692
+ export {
693
+ curveWorkerAbi
694
+ };