@paraswap/dex-lib 4.0.0 → 4.0.1-balancer-v3-cables.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 (359) hide show
  1. package/.vscode/launch.json +53 -0
  2. package/.vscode/settings.json +2 -0
  3. package/.vscode/tasks.json +15 -0
  4. package/build/abi/balancer-v3/batch-router.json +989 -0
  5. package/build/abi/balancer-v3/router.json +1792 -0
  6. package/build/abi/balancer-v3/vault-extension.json +2834 -0
  7. package/build/abi/permit2.json +581 -0
  8. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  9. package/build/abi/usual-m-smart-m/usualM.abi.json +483 -0
  10. package/build/abi/usual-m-usd0/usualCollateralDao.abi.json +681 -0
  11. package/build/abi/{angle-transmuter/ChainlinkAccessControlledOffchainAggregator.json → wombat/pool.json} +637 -594
  12. package/build/bigint-constants.d.ts +1 -0
  13. package/build/bigint-constants.js +2 -1
  14. package/build/bigint-constants.js.map +1 -1
  15. package/build/config.js +28 -0
  16. package/build/config.js.map +1 -1
  17. package/build/constants.d.ts +2 -0
  18. package/build/constants.js +4 -1
  19. package/build/constants.js.map +1 -1
  20. package/build/dex/aave-v1/aave-v1.js +1 -0
  21. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  22. package/build/dex/aave-v2/tokens-avalanche.json +44 -0
  23. package/build/dex/aave-v2/tokens-mainnet.json +188 -0
  24. package/build/dex/aave-v2/tokens-polygon.json +44 -0
  25. package/build/dex/augustus-approvals.d.ts +3 -2
  26. package/build/dex/augustus-approvals.js +35 -16
  27. package/build/dex/augustus-approvals.js.map +1 -1
  28. package/build/dex/bProtocol.d.ts +18 -0
  29. package/build/dex/bProtocol.js +39 -0
  30. package/build/dex/bProtocol.js.map +1 -0
  31. package/build/dex/balancer-v3/abi/balancerBatchRouter.d.ts +729 -0
  32. package/build/dex/balancer-v3/abi/balancerBatchRouter.js +732 -0
  33. package/build/dex/balancer-v3/abi/balancerBatchRouter.js.map +1 -0
  34. package/build/dex/balancer-v3/abi/balancerRouter.d.ts +1406 -0
  35. package/build/dex/balancer-v3/abi/balancerRouter.js +1175 -0
  36. package/build/dex/balancer-v3/abi/balancerRouter.js.map +1 -0
  37. package/build/dex/balancer-v3/abi/vaultExtension.V3.d.ts +2081 -0
  38. package/build/dex/balancer-v3/abi/vaultExtension.V3.js +1851 -0
  39. package/build/dex/balancer-v3/abi/vaultExtension.V3.js.map +1 -0
  40. package/build/dex/balancer-v3/balancer-v3-pool.d.ts +80 -0
  41. package/build/dex/balancer-v3/balancer-v3-pool.js +469 -0
  42. package/build/dex/balancer-v3/balancer-v3-pool.js.map +1 -0
  43. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.d.ts +34 -0
  44. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js +406 -0
  45. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js.map +1 -0
  46. package/build/dex/balancer-v3/balancer-v3.d.ts +56 -0
  47. package/build/dex/balancer-v3/balancer-v3.js +412 -0
  48. package/build/dex/balancer-v3/balancer-v3.js.map +1 -0
  49. package/build/dex/balancer-v3/config.d.ts +9 -0
  50. package/build/dex/balancer-v3/config.js +45 -0
  51. package/build/dex/balancer-v3/config.js.map +1 -0
  52. package/build/dex/balancer-v3/getGasCost.d.ts +2 -0
  53. package/build/dex/balancer-v3/getGasCost.js +40 -0
  54. package/build/dex/balancer-v3/getGasCost.js.map +1 -0
  55. package/build/dex/balancer-v3/getOnChainState.d.ts +10 -0
  56. package/build/dex/balancer-v3/getOnChainState.js +163 -0
  57. package/build/dex/balancer-v3/getOnChainState.js.map +1 -0
  58. package/build/dex/balancer-v3/getPoolsApi.d.ts +2 -0
  59. package/build/dex/balancer-v3/getPoolsApi.js +84 -0
  60. package/build/dex/balancer-v3/getPoolsApi.js.map +1 -0
  61. package/build/dex/balancer-v3/getTopPoolsApi.d.ts +17 -0
  62. package/build/dex/balancer-v3/getTopPoolsApi.js +65 -0
  63. package/build/dex/balancer-v3/getTopPoolsApi.js.map +1 -0
  64. package/build/dex/balancer-v3/optimizer.d.ts +2 -0
  65. package/build/dex/balancer-v3/optimizer.js +47 -0
  66. package/build/dex/balancer-v3/optimizer.js.map +1 -0
  67. package/build/dex/balancer-v3/stablePool.d.ts +7 -0
  68. package/build/dex/balancer-v3/stablePool.js +73 -0
  69. package/build/dex/balancer-v3/stablePool.js.map +1 -0
  70. package/build/dex/balancer-v3/types.d.ts +62 -0
  71. package/build/dex/balancer-v3/types.js +3 -0
  72. package/build/dex/balancer-v3/types.js.map +1 -0
  73. package/build/dex/balancer-v3/weightedPool.d.ts +1 -0
  74. package/build/dex/balancer-v3/weightedPool.js +6 -0
  75. package/build/dex/balancer-v3/weightedPool.js.map +1 -0
  76. package/build/dex/bancor.d.ts +26 -0
  77. package/build/dex/bancor.js +58 -0
  78. package/build/dex/bancor.js.map +1 -0
  79. package/build/dex/cables/cables.d.ts +7 -5
  80. package/build/dex/cables/cables.js +229 -86
  81. package/build/dex/cables/cables.js.map +1 -1
  82. package/build/dex/cables/constants.d.ts +13 -12
  83. package/build/dex/cables/constants.js +14 -16
  84. package/build/dex/cables/constants.js.map +1 -1
  85. package/build/dex/cables/types.d.ts +7 -0
  86. package/build/dex/cables/types.js +8 -1
  87. package/build/dex/cables/types.js.map +1 -1
  88. package/build/dex/compound.d.ts +18 -0
  89. package/build/dex/compound.js +46 -0
  90. package/build/dex/compound.js.map +1 -0
  91. package/build/dex/curve-v2.d.ts +58 -0
  92. package/build/dex/curve-v2.js +180 -0
  93. package/build/dex/curve-v2.js.map +1 -0
  94. package/build/dex/dodo-v1.d.ts +33 -0
  95. package/build/dex/dodo-v1.js +63 -0
  96. package/build/dex/dodo-v1.js.map +1 -0
  97. package/build/dex/fluid-dex/fluid-dex-pool.d.ts +47 -0
  98. package/build/dex/fluid-dex/fluid-dex-pool.js +119 -0
  99. package/build/dex/fluid-dex/fluid-dex-pool.js.map +1 -0
  100. package/build/dex/inception/inception-event-pool.d.ts +4 -4
  101. package/build/dex/inception/inception-event-pool.js +7 -9
  102. package/build/dex/inception/inception-event-pool.js.map +1 -1
  103. package/build/dex/inception/inception.d.ts +6 -6
  104. package/build/dex/inception/inception.js +16 -40
  105. package/build/dex/inception/inception.js.map +1 -1
  106. package/build/dex/inception/utils.d.ts +1 -0
  107. package/build/dex/inception/utils.js +22 -1
  108. package/build/dex/inception/utils.js.map +1 -1
  109. package/build/dex/index.js +4 -0
  110. package/build/dex/index.js.map +1 -1
  111. package/build/dex/lido.d.ts +19 -0
  112. package/build/dex/lido.js +42 -0
  113. package/build/dex/lido.js.map +1 -0
  114. package/build/dex/maker-psm/scripts/gem.abi.json +136 -0
  115. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  116. package/build/dex/maker-psm/scripts/validate-state.js +185 -0
  117. package/build/dex/maker-psm/scripts/validate-state.js.map +1 -0
  118. package/build/dex/maker-psm/scripts/vat.abi.json +243 -0
  119. package/build/dex/onebit.d.ts +25 -0
  120. package/build/dex/onebit.js +42 -0
  121. package/build/dex/onebit.js.map +1 -0
  122. package/build/dex/platypus/platypus.js +17 -3
  123. package/build/dex/platypus/platypus.js.map +1 -1
  124. package/build/dex/smoothy.d.ts +26 -0
  125. package/build/dex/smoothy.js +48 -0
  126. package/build/dex/smoothy.js.map +1 -0
  127. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
  128. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
  129. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
  130. package/build/dex/stable-pool.d.ts +28 -0
  131. package/build/dex/stable-pool.js +55 -0
  132. package/build/dex/stable-pool.js.map +1 -0
  133. package/build/dex/swaap-v1/swaap-v1.js +4 -0
  134. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  135. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.d.ts +7 -0
  136. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js +20 -0
  137. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js.map +1 -0
  138. package/build/dex/trader-joe-v2.1.d.ts +43 -0
  139. package/build/dex/trader-joe-v2.1.js +79 -0
  140. package/build/dex/trader-joe-v2.1.js.map +1 -0
  141. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
  142. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
  143. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
  144. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  145. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
  146. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  147. package/build/dex/uniswap-v3/uniswap-v3-pricing.d.ts +4 -0
  148. package/build/dex/uniswap-v3/uniswap-v3-pricing.js +43 -0
  149. package/build/dex/uniswap-v3/uniswap-v3-pricing.js.map +1 -0
  150. package/build/dex/uniswap-v3/uniswap-v3-worker.d.ts +1 -0
  151. package/build/dex/uniswap-v3/uniswap-v3-worker.js +10 -0
  152. package/build/dex/uniswap-v3/uniswap-v3-worker.js.map +1 -0
  153. package/build/dex/usual/types.d.ts +13 -0
  154. package/build/dex/usual/types.js +3 -0
  155. package/build/dex/usual/types.js.map +1 -0
  156. package/build/dex/usual/usual-bond.d.ts +18 -0
  157. package/build/dex/usual/usual-bond.js +52 -0
  158. package/build/dex/usual/usual-bond.js.map +1 -0
  159. package/build/dex/usual/usual-m-smart-m.d.ts +17 -0
  160. package/build/dex/usual/usual-m-smart-m.js +50 -0
  161. package/build/dex/usual/usual-m-smart-m.js.map +1 -0
  162. package/build/dex/usual/usual-m-usd0.d.ts +17 -0
  163. package/build/dex/usual/usual-m-usd0.js +51 -0
  164. package/build/dex/usual/usual-m-usd0.js.map +1 -0
  165. package/build/dex/usual/usual.d.ts +27 -0
  166. package/build/dex/usual/usual.js +125 -0
  167. package/build/dex/usual/usual.js.map +1 -0
  168. package/build/dex/usual-m-smart-m/config.d.ts +3 -0
  169. package/build/dex/usual-m-smart-m/config.js +13 -0
  170. package/build/dex/usual-m-smart-m/config.js.map +1 -0
  171. package/build/dex/usual-m-smart-m/types.d.ts +7 -0
  172. package/build/dex/usual-m-smart-m/types.js +3 -0
  173. package/build/dex/usual-m-smart-m/types.js.map +1 -0
  174. package/build/dex/usual-m-smart-m/usual-m-smart-m.d.ts +35 -0
  175. package/build/dex/usual-m-smart-m/usual-m-smart-m.js +161 -0
  176. package/build/dex/usual-m-smart-m/usual-m-smart-m.js.map +1 -0
  177. package/build/dex/usual-m-usd0/config.d.ts +3 -0
  178. package/build/dex/usual-m-usd0/config.js +14 -0
  179. package/build/dex/usual-m-usd0/config.js.map +1 -0
  180. package/build/dex/usual-m-usd0/types.d.ts +8 -0
  181. package/build/dex/usual-m-usd0/types.js +3 -0
  182. package/build/dex/usual-m-usd0/types.js.map +1 -0
  183. package/build/dex/usual-m-usd0/usual-m-usd0.d.ts +35 -0
  184. package/build/dex/usual-m-usd0/usual-m-usd0.js +159 -0
  185. package/build/dex/usual-m-usd0/usual-m-usd0.js.map +1 -0
  186. package/build/dex/weth/config.js +3 -0
  187. package/build/dex/weth/config.js.map +1 -1
  188. package/build/executor/Executor01BytecodeBuilder.js +2 -2
  189. package/build/executor/Executor01BytecodeBuilder.js.map +1 -1
  190. package/build/executor/Executor02BytecodeBuilder.js +2 -2
  191. package/build/executor/Executor02BytecodeBuilder.js.map +1 -1
  192. package/build/executor/Executor03BytecodeBuilder.js +2 -2
  193. package/build/executor/Executor03BytecodeBuilder.js.map +1 -1
  194. package/build/executor/ExecutorBytecodeBuilder.d.ts +3 -1
  195. package/build/executor/ExecutorBytecodeBuilder.js +35 -2
  196. package/build/executor/ExecutorBytecodeBuilder.js.map +1 -1
  197. package/build/generic-swap-transaction-builder.js +5 -1
  198. package/build/generic-swap-transaction-builder.js.map +1 -1
  199. package/build/types.d.ts +1 -0
  200. package/package.json +2 -1
  201. package/scripts/run-dex-integration-v3.ts +78 -0
  202. package/src/abi/balancer-v3/batch-router.json +989 -0
  203. package/src/abi/balancer-v3/router.json +1792 -0
  204. package/src/abi/balancer-v3/vault-extension.json +2834 -0
  205. package/src/abi/permit2.json +581 -0
  206. package/src/bigint-constants.ts +1 -0
  207. package/src/config.ts +29 -0
  208. package/src/constants.ts +4 -0
  209. package/src/dex/augustus-approvals.ts +52 -19
  210. package/src/dex/balancer-v3/balancer-v3-e2e.test.ts +275 -0
  211. package/src/dex/balancer-v3/balancer-v3-events.test.ts +223 -0
  212. package/src/dex/balancer-v3/balancer-v3-integration.test.ts +879 -0
  213. package/src/dex/balancer-v3/balancer-v3-pool.ts +656 -0
  214. package/src/dex/balancer-v3/balancer-v3.ts +538 -0
  215. package/src/dex/balancer-v3/config.ts +46 -0
  216. package/src/dex/balancer-v3/getGasCost.ts +37 -0
  217. package/src/dex/balancer-v3/getOnChainState.ts +326 -0
  218. package/src/dex/balancer-v3/getPoolsApi.ts +129 -0
  219. package/src/dex/balancer-v3/getTopPoolsApi.ts +96 -0
  220. package/src/dex/balancer-v3/optimizer.ts +66 -0
  221. package/src/dex/balancer-v3/stablePool.ts +78 -0
  222. package/src/dex/balancer-v3/types.ts +86 -0
  223. package/src/dex/balancer-v3/weightedPool.ts +2 -0
  224. package/src/dex/index.ts +4 -0
  225. package/src/dex/weth/config.ts +3 -0
  226. package/src/executor/Executor01BytecodeBuilder.ts +2 -0
  227. package/src/executor/Executor02BytecodeBuilder.ts +2 -0
  228. package/src/executor/Executor03BytecodeBuilder.ts +2 -0
  229. package/src/executor/ExecutorBytecodeBuilder.ts +63 -2
  230. package/src/generic-swap-transaction-builder.ts +6 -2
  231. package/src/types.ts +1 -0
  232. package/tests/constants-e2e.ts +66 -0
  233. package/build/abi/Aave_GSM.json +0 -751
  234. package/build/abi/Balancer.json +0 -257
  235. package/build/abi/BalancerV2.json +0 -1179
  236. package/build/abi/RamsesV2Pool.abi.json +0 -1554
  237. package/build/abi/RamsesV2Quoter.abi.json +0 -274
  238. package/build/abi/USDM.json +0 -807
  239. package/build/abi/UniswapV2Router.json +0 -397
  240. package/build/abi/angle-transmuter/ChainlinkEACAggregatorProxy.json +0 -509
  241. package/build/abi/curve-v1/CurveBUSDv2.abi.json +0 -1356
  242. package/build/abi/curve-v1/CurveTokenV1.json +0 -305
  243. package/build/abi/curve-v1/CurveTokenV2.json +0 -318
  244. package/build/abi/curve-v1/CurveV1StableNg.json +0 -1452
  245. package/build/abi/curve-v1/CurveV2Swap.json +0 -700
  246. package/build/abi/curve-v1/FactoryCryptoRegistry.json +0 -316
  247. package/build/abi/curve-v1/FactoryRegistry.json +0 -508
  248. package/build/abi/curve-v1/StableSwapAave.json +0 -1152
  249. package/build/abi/curve-v1/StableSwapBUSD.json +0 -814
  250. package/build/abi/curve-v1/StableSwapCompound.json +0 -814
  251. package/build/abi/curve-v1/StableSwapIDLE.json +0 -1253
  252. package/build/abi/curve-v1/StableSwapPax.json +0 -865
  253. package/build/abi/curve-v1/StableSwapSnow.json +0 -900
  254. package/build/abi/curve-v1/StableSwapUSDN.json +0 -1004
  255. package/build/abi/curve-v1/StableSwapUSDT.json +0 -814
  256. package/build/abi/curve-v1/StableSwapY.json +0 -814
  257. package/build/abi/inception/inception-ineth.json +0 -609
  258. package/build/abi/kyberdmm/kyber-storage.abi.json +0 -824
  259. package/build/abi/kyberdmm.abi.json +0 -1148
  260. package/build/abi/maverick-v2/MaverickV2Quoter.json +0 -278
  261. package/build/abi/nerve/nerve-metapool.json +0 -790
  262. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +0 -193
  263. package/build/abi/velodrome-slipstream/VelodromeSlipstreamQuoterV2.abi.json +0 -267
  264. package/build/dex/balancer-v1/balancer-pools.json +0 -33333
  265. package/build/dex/bebop/websocket-fetcher.d.ts +0 -35
  266. package/build/dex/bebop/websocket-fetcher.js +0 -87
  267. package/build/dex/bebop/websocket-fetcher.js.map +0 -1
  268. package/build/dex/idle-dao/idle-dao-pool.d.ts +0 -56
  269. package/build/dex/idle-dao/idle-dao-pool.js +0 -176
  270. package/build/dex/idle-dao/idle-dao-pool.js.map +0 -1
  271. package/build/dex/idle-dao/idle-dao-pooling-pool.d.ts +0 -16
  272. package/build/dex/idle-dao/idle-dao-pooling-pool.js +0 -57
  273. package/build/dex/idle-dao/idle-dao-pooling-pool.js.map +0 -1
  274. package/build/dex/idle-dao/scripts.d.ts +0 -9
  275. package/build/dex/idle-dao/scripts.js +0 -552
  276. package/build/dex/idle-dao/scripts.js.map +0 -1
  277. package/build/dex/inception/inception-native.d.ts +0 -43
  278. package/build/dex/inception/inception-native.js +0 -131
  279. package/build/dex/inception/inception-native.js.map +0 -1
  280. package/build/dex/inception/inception-pool.d.ts +0 -18
  281. package/build/dex/inception/inception-pool.js +0 -32
  282. package/build/dex/inception/inception-pool.js.map +0 -1
  283. package/build/dex/inception/inception-price-feed.d.ts +0 -19
  284. package/build/dex/inception/inception-price-feed.js +0 -51
  285. package/build/dex/inception/inception-price-feed.js.map +0 -1
  286. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +0 -16
  287. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -16
  288. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -16
  289. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -16
  290. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -16
  291. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -16
  292. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -16
  293. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdt-usdc-dai.json +0 -16
  294. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-eth-usdc.json +0 -9
  295. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-eth.json +0 -9
  296. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-wbtc.json +0 -9
  297. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-eth-steth.json +0 -9
  298. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-steth-eth.json +0 -9
  299. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-usdc-usdt.json +0 -9
  300. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-eth-usdc.json +0 -9
  301. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-eth.json +0 -9
  302. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-usdt.json +0 -9
  303. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -12
  304. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -7
  305. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -7
  306. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -7
  307. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -7
  308. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -12
  309. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-eth-usdc.json +0 -7
  310. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-usdc-eth.json +0 -7
  311. package/build/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +0 -78
  312. package/build/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -81
  313. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -78
  314. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -78
  315. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -81
  316. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -81
  317. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -81
  318. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdt-usdc-dai.json +0 -81
  319. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-eth-usdc.json +0 -64
  320. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-eth.json +0 -85
  321. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-wbtc.json +0 -64
  322. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-eth-steth.json +0 -52
  323. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-steth-eth.json +0 -52
  324. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-usdc-usdt.json +0 -52
  325. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-eth-usdc.json +0 -55
  326. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-eth.json +0 -55
  327. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-usdt.json +0 -55
  328. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -23
  329. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -37
  330. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -23
  331. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -23
  332. package/build/executor/fixtures/executor02/exchange-params/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -51
  333. package/build/executor/fixtures/executor02/exchange-params/price-route-multiswap-univ3-usdt-dai-eth.json +0 -58
  334. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -23
  335. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -23
  336. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -9
  337. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -16
  338. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +0 -23
  339. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -12
  340. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -7
  341. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -12
  342. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -12
  343. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -7
  344. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-univ3-usdt-dai-eth.json +0 -7
  345. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -7
  346. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -7
  347. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -7
  348. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -7
  349. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -130
  350. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -136
  351. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -100
  352. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -100
  353. package/build/executor/fixtures/executor02/routes/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -166
  354. package/build/executor/fixtures/executor02/routes/price-route-multiswap-univ3-usdt-dai-eth.json +0 -190
  355. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -114
  356. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -114
  357. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -55
  358. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -73
  359. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +0 -82
@@ -0,0 +1,86 @@
1
+ import { BufferState } from '@balancer-labs/balancer-maths';
2
+ import { Address } from '../../types';
3
+
4
+ // Immutable data types available on all pools (Available from API)
5
+ export type CommonImmutablePoolState = {
6
+ poolAddress: string;
7
+ poolType: string;
8
+ // For boosted pools tokens is the actual pool token wrapped, e.g. aUSDC/aDAI
9
+ tokens: string[];
10
+ // For boosted pools underlying is the unwrapped token, e.g. USDC/DAI
11
+ tokensUnderlying: (string | null)[];
12
+ weights: bigint[];
13
+ // TODO re-introduce this once added to API
14
+ // scalingFactors: bigint[];
15
+ hookType: string | undefined;
16
+ };
17
+
18
+ // Mutable data types available on all pools (Available via onchain calls/events)
19
+ export interface CommonMutableState {
20
+ tokenRates: bigint[];
21
+ balancesLiveScaled18: bigint[];
22
+ swapFee: bigint;
23
+ aggregateSwapFee: bigint;
24
+ totalSupply: bigint;
25
+ isPoolPaused: boolean;
26
+ // TODO remove this once API provides it
27
+ scalingFactors: bigint[];
28
+ // TODO remove this once API provides it
29
+ hasHook: boolean;
30
+ }
31
+
32
+ type CommonPoolState = CommonImmutablePoolState & CommonMutableState;
33
+
34
+ export type PoolState =
35
+ | CommonPoolState
36
+ | (CommonPoolState & StableMutableState);
37
+
38
+ // Stable Pool specific mutable data
39
+ export interface StableMutableState {
40
+ amp: bigint;
41
+ ampIsUpdating: boolean;
42
+ ampStartValue: bigint;
43
+ ampEndValue: bigint;
44
+ ampStartTime: bigint;
45
+ ampStopTime: bigint;
46
+ }
47
+
48
+ export type PoolStateMap = {
49
+ [address: string]: PoolState;
50
+ };
51
+
52
+ export type ImmutablePoolStateMap = {
53
+ [address: string]: CommonImmutablePoolState;
54
+ };
55
+
56
+ export type Step = {
57
+ pool: Address;
58
+ isBuffer: boolean;
59
+ swapInput: {
60
+ tokenIn: Address;
61
+ tokenOut: Address;
62
+ };
63
+ poolState: PoolState | BufferState;
64
+ };
65
+
66
+ export type BalancerV3Data = {
67
+ steps: Step[];
68
+ };
69
+
70
+ export type DexParams = {
71
+ // Used to map network > API Name, e.g. 11155111>SEPOLIA
72
+ apiNetworkName: string;
73
+ vaultAddress: string;
74
+ // This router handles single swaps
75
+ // https://github.com/balancer/balancer-v3-monorepo/blob/main/pkg/interfaces/contracts/vault/IRouter.sol
76
+ balancerRouterAddress: string;
77
+ balancerBatchRouterAddress: string;
78
+ };
79
+
80
+ export type TokenInfo = {
81
+ isBoosted: boolean;
82
+ underlyingToken: string | null;
83
+ mainToken: string;
84
+ index: number;
85
+ rate: bigint;
86
+ };
@@ -0,0 +1,2 @@
1
+ // https://sepolia.etherscan.io/tx/0xe07958ff341aab57ab96a10347b65979b5b041f6408336d7e160e59bd02f9a40
2
+ export const WEIGHTED_GAS_COST = 154000;
package/src/dex/index.ts CHANGED
@@ -93,6 +93,8 @@ import { AaveGsm } from './aave-gsm/aave-gsm';
93
93
  import { LitePsm } from './lite-psm/lite-psm';
94
94
  import { UsualBond } from './usual-bond/usual-bond';
95
95
  import { StkGHO } from './stkgho/stkgho';
96
+ import { BalancerV3 } from './balancer-v3/balancer-v3';
97
+ import { balancerV3Merge } from './balancer-v3/optimizer';
96
98
  import { SkyConverter } from './sky-converter/sky-converter';
97
99
  import { Stader } from './stader/stader';
98
100
 
@@ -122,6 +124,7 @@ const Dexes = [
122
124
  Swerve,
123
125
  BalancerV1,
124
126
  BalancerV2,
127
+ BalancerV3,
125
128
  UniswapV2,
126
129
  UniswapV3,
127
130
  Algebra,
@@ -215,6 +218,7 @@ export class DexAdapterService {
215
218
  public routeOptimizers: IRouteOptimizer<UnoptimizedRate>[] = [
216
219
  balancerV1Merge,
217
220
  balancerV2Merge,
221
+ balancerV3Merge,
218
222
  uniswapMerge,
219
223
  curveV1Merge,
220
224
  ];
@@ -25,6 +25,9 @@ export const WethConfig: DexConfigMap<DexParams> = {
25
25
  [Network.BASE]: {
26
26
  poolGasCost: WethGasCost,
27
27
  },
28
+ [Network.SEPOLIA]: {
29
+ poolGasCost: WethGasCost,
30
+ },
28
31
  },
29
32
  Wbnb: {
30
33
  [Network.BSC]: {
@@ -275,6 +275,7 @@ export class Executor01BytecodeBuilder extends ExecutorBytecodeBuilder<
275
275
  curExchangeParam.approveData.target,
276
276
  curExchangeParam.approveData.token,
277
277
  flags.approves[index],
278
+ curExchangeParam.permit2Approval,
278
279
  );
279
280
 
280
281
  swapCallData = hexConcat([approveCallData, swapCallData]);
@@ -298,6 +299,7 @@ export class Executor01BytecodeBuilder extends ExecutorBytecodeBuilder<
298
299
  curExchangeParam.approveData.target,
299
300
  curExchangeParam.approveData.token,
300
301
  flags.approves[index],
302
+ curExchangeParam.permit2Approval,
301
303
  );
302
304
  }
303
305
 
@@ -613,6 +613,7 @@ export class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder<
613
613
  curExchangeParam.approveData.target,
614
614
  curExchangeParam.approveData.token,
615
615
  flags.approves[exchangeParamIndex],
616
+ curExchangeParam.permit2Approval,
616
617
  );
617
618
 
618
619
  swapExchangeCallData = hexConcat([approveCallData, swapExchangeCallData]);
@@ -630,6 +631,7 @@ export class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder<
630
631
  curExchangeParam.approveData.target,
631
632
  curExchangeParam.approveData.token,
632
633
  flags.approves[exchangeParamIndex],
634
+ curExchangeParam.permit2Approval,
633
635
  );
634
636
  }
635
637
 
@@ -186,6 +186,7 @@ export class Executor03BytecodeBuilder extends ExecutorBytecodeBuilder<
186
186
  curExchangeParam.approveData.target,
187
187
  curExchangeParam.approveData.token,
188
188
  flags.approves[index],
189
+ curExchangeParam.permit2Approval,
189
190
  );
190
191
 
191
192
  swapCallData = hexConcat([approveCallData, swapCallData]);
@@ -205,6 +206,7 @@ export class Executor03BytecodeBuilder extends ExecutorBytecodeBuilder<
205
206
  curExchangeParam.approveData.target,
206
207
  curExchangeParam.approveData.token,
207
208
  flags.approves[index],
209
+ curExchangeParam.permit2Approval,
208
210
  );
209
211
  }
210
212
 
@@ -1,6 +1,7 @@
1
1
  import { Interface } from '@ethersproject/abi';
2
2
  import { IDexHelper } from '../dex-helper';
3
3
  import ERC20ABI from '../abi/erc20.json';
4
+ import Permit2Abi from '../abi/permit2.json';
4
5
  import { ethers } from 'ethers';
5
6
  import {
6
7
  Address,
@@ -23,14 +24,17 @@ import {
23
24
  DISABLED_MAX_UNIT_APPROVAL_TOKENS,
24
25
  } from './constants';
25
26
  import { Executors, Flag, SpecialDex } from './types';
26
- import { MAX_UINT, Network } from '../constants';
27
+ import { MAX_UINT, Network, PERMIT2_ADDRESS } from '../constants';
27
28
  import { DexExchangeBuildParam, DexExchangeParam } from '../types';
28
- import { ExecutorDetector } from './ExecutorDetector';
29
+ import { BI_MAX_UINT160, BI_MAX_UINT48 } from '../bigint-constants';
29
30
 
30
31
  const {
31
32
  utils: { hexlify, hexDataLength, hexConcat, hexZeroPad, solidityPack },
32
33
  } = ethers;
33
34
 
35
+ const MAX_UINT48 = BI_MAX_UINT48.toString();
36
+ const MAX_UINT160 = BI_MAX_UINT160.toString();
37
+
34
38
  export type SingleSwapCallDataParams<T> = {
35
39
  priceRoute: OptimalRate;
36
40
  exchangeParams: DexExchangeBuildParam[];
@@ -54,9 +58,11 @@ export type DexCallDataParams<T> = {
54
58
  export abstract class ExecutorBytecodeBuilder<S = {}, D = {}> {
55
59
  type!: Executors;
56
60
  erc20Interface: Interface;
61
+ permit2Interface: Interface;
57
62
 
58
63
  constructor(protected dexHelper: IDexHelper) {
59
64
  this.erc20Interface = new Interface(ERC20ABI);
65
+ this.permit2Interface = new Interface(Permit2Abi);
60
66
  }
61
67
 
62
68
  protected buildSimpleSwapFlags(
@@ -120,8 +126,13 @@ export abstract class ExecutorBytecodeBuilder<S = {}, D = {}> {
120
126
  spender: string,
121
127
  tokenAddr: Address,
122
128
  flag: Flag,
129
+ permit2 = false,
123
130
  amount = MAX_UINT,
124
131
  ): string {
132
+ if (permit2) {
133
+ return this.buildPermit2CallData(spender, tokenAddr, flag);
134
+ }
135
+
125
136
  let approveCalldata = this.erc20Interface.encodeFunctionData('approve', [
126
137
  spender,
127
138
  amount,
@@ -155,6 +166,7 @@ export abstract class ExecutorBytecodeBuilder<S = {}, D = {}> {
155
166
  spender,
156
167
  tokenAddr,
157
168
  Flag.DONT_INSERT_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP,
169
+ false,
158
170
  '0',
159
171
  ),
160
172
  approvalCalldata,
@@ -164,6 +176,55 @@ export abstract class ExecutorBytecodeBuilder<S = {}, D = {}> {
164
176
  return approvalCalldata;
165
177
  }
166
178
 
179
+ protected buildPermit2CallData(
180
+ spender: string,
181
+ tokenAddr: Address,
182
+ flag: Flag,
183
+ ): string {
184
+ // first, give approval for Permit2 on the token contract
185
+ // (with this approval, Permit2 contract can invoke safeTransferFrom on the token)
186
+ let approveData = this.erc20Interface.encodeFunctionData('approve', [
187
+ PERMIT2_ADDRESS,
188
+ MAX_UINT,
189
+ ]);
190
+
191
+ let approvalCalldata = this.buildCallData(
192
+ tokenAddr,
193
+ approveData,
194
+ 0,
195
+ APPROVE_CALLDATA_DEST_TOKEN_POS,
196
+ SpecialDex.DEFAULT,
197
+ Flag.DONT_INSERT_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP,
198
+ );
199
+
200
+ // second, give approval for spender on Permit2 contract
201
+ // (with this approval, spender can interact with Permit2 on behalf of the executor)
202
+ let permit2Data = this.permit2Interface.encodeFunctionData('approve', [
203
+ tokenAddr,
204
+ spender,
205
+ MAX_UINT160,
206
+ MAX_UINT48,
207
+ ]);
208
+
209
+ let permit2Calldata = this.buildCallData(
210
+ PERMIT2_ADDRESS,
211
+ permit2Data,
212
+ 0,
213
+ APPROVE_CALLDATA_DEST_TOKEN_POS,
214
+ SpecialDex.DEFAULT,
215
+ flag,
216
+ );
217
+
218
+ // as approval given only for MAX_UNIT or 0, no need to use insertFromAmount flag
219
+ const checkSrcTokenBalance = flag % 3 === 2;
220
+
221
+ if (checkSrcTokenBalance) {
222
+ permit2Calldata = hexConcat([permit2Calldata, ZEROS_12_BYTES, tokenAddr]);
223
+ }
224
+
225
+ return hexConcat([approvalCalldata, permit2Calldata]);
226
+ }
227
+
167
228
  protected buildWrapEthCallData(
168
229
  wethAddress: string,
169
230
  depositCallData: string,
@@ -687,7 +687,7 @@ export class GenericSwapTransactionBuilder {
687
687
  ): Promise<DexExchangeBuildParam[]> {
688
688
  const spender = bytecodeBuilder.getAddress();
689
689
  const tokenTargetMapping: {
690
- params: [token: Address, target: Address];
690
+ params: [token: Address, target: Address, permit2: boolean];
691
691
  exchangeParamIndex: number;
692
692
  }[] = [];
693
693
 
@@ -704,7 +704,11 @@ export class GenericSwapTransactionBuilder {
704
704
 
705
705
  if (approveParams) {
706
706
  tokenTargetMapping.push({
707
- params: [approveParams.token, approveParams?.target],
707
+ params: [
708
+ approveParams.token,
709
+ approveParams.target,
710
+ !!curExchangeParam.permit2Approval,
711
+ ],
708
712
  exchangeParamIndex: currentExchangeParamIndex,
709
713
  });
710
714
  }
package/src/types.ts CHANGED
@@ -173,6 +173,7 @@ export type DexExchangeParam = {
173
173
  swappedAmountNotPresentInExchangeData?: boolean;
174
174
  preSwapUnwrapCalldata?: string;
175
175
  returnAmountPos: number | undefined;
176
+ permit2Approval?: boolean;
176
177
  };
177
178
 
178
179
  export type DexExchangeParamWithBooleanNeedWrapNative = DexExchangeParam & {
@@ -1480,10 +1480,18 @@ export const Tokens: {
1480
1480
  address: '0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83',
1481
1481
  decimals: 6,
1482
1482
  },
1483
+ USDCe: {
1484
+ address: '0x2a22f9c3b484c3629090feed35f17ff8f88f76f0',
1485
+ decimals: 6,
1486
+ },
1483
1487
  USDT: {
1484
1488
  address: '0x4ECaBa5870353805a9F068101A40E0f32ed605C6',
1485
1489
  decimals: 6,
1486
1490
  },
1491
+ COW: {
1492
+ address: '0x177127622c4A00F3d409B75571e12cB3c8973d3c',
1493
+ decimals: 18,
1494
+ },
1487
1495
  WXDAI: {
1488
1496
  address: '0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d',
1489
1497
  decimals: 18,
@@ -1492,10 +1500,18 @@ export const Tokens: {
1492
1500
  address: '0xa818f1b57c201e092c4a2017a91815034326efd1',
1493
1501
  decimals: 18,
1494
1502
  },
1503
+ waGnoWETH: {
1504
+ address: '0x57f664882F762FA37903FC864e2B633D384B411A',
1505
+ decimals: 18,
1506
+ },
1495
1507
  aGnowstETH: {
1496
1508
  address: '0x23e4e76d01b2002be436ce8d6044b0aa2f68b68a',
1497
1509
  decimals: 18,
1498
1510
  },
1511
+ waGnowstETH: {
1512
+ address: '0x773CDA0CADe2A3d86E6D4e30699d40bB95174ff2',
1513
+ decimals: 18,
1514
+ },
1499
1515
  aGnoUSDC: {
1500
1516
  address: '0xc6b7aca6de8a6044e0e32d0c841a89244a10d284',
1501
1517
  decimals: 6,
@@ -1619,6 +1635,41 @@ export const Tokens: {
1619
1635
  decimals: 6,
1620
1636
  },
1621
1637
  },
1638
+ [Network.SEPOLIA]: {
1639
+ ETH: { address: ETHER_ADDRESS, decimals: 18 },
1640
+ WETH: {
1641
+ address: '0x7b79995e5f793a07bc00c21412e50ecae098e7f9',
1642
+ decimals: 18,
1643
+ },
1644
+ bal: {
1645
+ address: `0xb19382073c7a0addbb56ac6af1808fa49e377b75`,
1646
+ decimals: 18,
1647
+ },
1648
+ daiAave: {
1649
+ address: `0xff34b3d4aee8ddcd6f9afffb6fe49bd371b8a357`,
1650
+ decimals: 18,
1651
+ },
1652
+ usdcAave: {
1653
+ address: `0x94a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8`,
1654
+ decimals: 6,
1655
+ },
1656
+ usdtAave: {
1657
+ address: `0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0`,
1658
+ decimals: 6,
1659
+ },
1660
+ aDaiAave: {
1661
+ address: `0xde46e43f46ff74a23a65ebb0580cbe3dfe684a17`,
1662
+ decimals: 18,
1663
+ },
1664
+ stataUSDC: {
1665
+ address: `0x8a88124522dbbf1e56352ba3de1d9f78c143751e`,
1666
+ decimals: 6,
1667
+ },
1668
+ stataUSDT: {
1669
+ address: `0x978206fae13faf5a8d293fb614326b237684b750`,
1670
+ decimals: 6,
1671
+ },
1672
+ },
1622
1673
  };
1623
1674
 
1624
1675
  export const Holders: {
@@ -1960,6 +2011,7 @@ export const Holders: {
1960
2011
  USDC: '0x99b31498b0a1dae01fc3433e3cb60f095340935c',
1961
2012
  },
1962
2013
  [Network.GNOSIS]: {
2014
+ COW: '0x4fFAD6ac852c0Af0AA301376F4C5Dea3a928b120',
1963
2015
  XDAI: '0x9fc062032d4F2Fe7dAA601bd8B06C45F9c8f17Be',
1964
2016
  WXDAI: '0xBA12222222228d8Ba445958a75a0704d566BF2C8',
1965
2017
  WETH: '0x800e12aF6c96790EDDdc5B3f3302899e27B2A918',
@@ -1971,8 +2023,11 @@ export const Holders: {
1971
2023
  wstETH: '0x458cD345B4C05e8DF39d0A07220feb4Ec19F5e6f',
1972
2024
  aGnowstETH: '0x458cD345B4C05e8DF39d0A07220feb4Ec19F5e6f',
1973
2025
  sDAI: '0x79f08F2e75A8C99428DE4A2e6456c07C99E55da5',
2026
+ USDCe: '0x555CE236C0220695b68341bc48C68d52210cC35b',
1974
2027
  crvUSD: '0xE4A982fa1f1E8AD1AF238A7b1226b13b56bf5CcD',
1975
2028
  SWPR: '0x9467dcFD4519287e3878C018c02f5670465a9003',
2029
+ waGnoWETH: '0x854B004700885A61107B458f11eCC169A019b764',
2030
+ waGnowstETH: '0x854B004700885A61107B458f11eCC169A019b764',
1976
2031
  },
1977
2032
  [Network.BASE]: {
1978
2033
  WETH: '0x4bb6b2efe7036020ba6f02a05602546c9f25bf28',
@@ -2000,6 +2055,15 @@ export const Holders: {
2000
2055
  cbETH: '0x50e011dD1e2b4906F1534623cD134B30422bb11E',
2001
2056
  wUSDM: '0xe30965Acd0Ee1CE2e0Cd0AcBFB3596bD6fC78A51',
2002
2057
  },
2058
+ [Network.SEPOLIA]: {
2059
+ bal: '0xDb4ff41B4C1222c2b1869A67Be115070688989a2',
2060
+ daiAave: '0xbB0bc84687fFb642fd90a3D12215e7eC16352A49',
2061
+ WETH: '0x546e37DAA15cdb82fd1a717E5dEEa4AF08D4349A',
2062
+ ETH: '0x2CdA41645F2dBffB852a605E92B185501801FC28',
2063
+ stataUSDC: '0x75D06bae37a9c349142fE7cee77804900b1C0EC3',
2064
+ stataUSDT: '0x75D06bae37a9c349142fE7cee77804900b1C0EC3',
2065
+ usdcAave: '0xdD5De55eA6804EFb283f43b0C091C25000a6486c',
2066
+ },
2003
2067
  };
2004
2068
 
2005
2069
  export const SmartTokens = Object.keys(Tokens).reduce((acc, _network) => {
@@ -2025,6 +2089,7 @@ export const NativeTokenSymbols: { [network: number]: string } = {
2025
2089
  [Network.ARBITRUM]: 'ETH',
2026
2090
  [Network.OPTIMISM]: 'ETH',
2027
2091
  [Network.BASE]: 'ETH',
2092
+ [Network.SEPOLIA]: 'ETH',
2028
2093
  [Network.GNOSIS]: 'XDAI',
2029
2094
  };
2030
2095
 
@@ -2037,5 +2102,6 @@ export const WrappedNativeTokenSymbols: { [network: number]: string } = {
2037
2102
  [Network.ARBITRUM]: 'WETH',
2038
2103
  [Network.OPTIMISM]: 'WETH',
2039
2104
  [Network.BASE]: 'WETH',
2105
+ [Network.SEPOLIA]: 'WETH',
2040
2106
  [Network.GNOSIS]: 'WXDAI',
2041
2107
  };