@paraswap/dex-lib 4.1.4 → 4.1.5-bal-v3-hooks.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 (302) hide show
  1. package/.idea/aws.xml +17 -0
  2. package/.idea/codeStyles/Project.xml +19 -0
  3. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  4. package/.idea/misc.xml +6 -0
  5. package/.idea/modules.xml +8 -0
  6. package/.idea/paraswap-dex-lib.iml +9 -0
  7. package/.idea/prettier.xml +7 -0
  8. package/.idea/vcs.xml +6 -0
  9. package/build/abi/balancer-v3/directionalFeeHook.json +684 -0
  10. package/build/abi/{BalancerV2.json → balancer-v3/stableSurgeHook.json} +529 -732
  11. package/build/abi/integral/factory.json +333 -0
  12. package/build/abi/{angle-transmuter/ChainlinkEACAggregatorProxy.json → integral/oracle.json} +239 -247
  13. package/build/abi/{curve-v1/StableSwapUSDN.json → integral/pool.json} +487 -450
  14. package/build/abi/{RamsesV2Pool.abi.json → integral/relayer.json} +833 -851
  15. package/build/dex/aave-v1/aave-v1.d.ts +1 -2
  16. package/build/dex/aave-v1/aave-v1.js +0 -22
  17. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  18. package/build/dex/bProtocol.d.ts +18 -0
  19. package/build/dex/bProtocol.js +39 -0
  20. package/build/dex/bProtocol.js.map +1 -0
  21. package/build/dex/balancer-v3/balancer-test-helpers.d.ts +5 -0
  22. package/build/dex/balancer-v3/balancer-test-helpers.js +122 -0
  23. package/build/dex/balancer-v3/balancer-test-helpers.js.map +1 -0
  24. package/build/dex/balancer-v3/balancer-v3-pool.d.ts +4 -1
  25. package/build/dex/balancer-v3/balancer-v3-pool.js +25 -13
  26. package/build/dex/balancer-v3/balancer-v3-pool.js.map +1 -1
  27. package/build/dex/balancer-v3/balancer-v3.d.ts +4 -0
  28. package/build/dex/balancer-v3/balancer-v3.js +29 -3
  29. package/build/dex/balancer-v3/balancer-v3.js.map +1 -1
  30. package/build/dex/balancer-v3/config.js +39 -0
  31. package/build/dex/balancer-v3/config.js.map +1 -1
  32. package/build/dex/balancer-v3/getOnChainState.d.ts +1 -2
  33. package/build/dex/balancer-v3/getOnChainState.js +0 -2
  34. package/build/dex/balancer-v3/getOnChainState.js.map +1 -1
  35. package/build/dex/balancer-v3/getPoolsApi.d.ts +2 -1
  36. package/build/dex/balancer-v3/getPoolsApi.js +17 -10
  37. package/build/dex/balancer-v3/getPoolsApi.js.map +1 -1
  38. package/build/dex/balancer-v3/getTopPoolsApi.d.ts +5 -1
  39. package/build/dex/balancer-v3/getTopPoolsApi.js +6 -3
  40. package/build/dex/balancer-v3/getTopPoolsApi.js.map +1 -1
  41. package/build/dex/balancer-v3/hooks/balancer-hook-event-subscriber.d.ts +54 -0
  42. package/build/dex/balancer-v3/hooks/balancer-hook-event-subscriber.js +139 -0
  43. package/build/dex/balancer-v3/hooks/balancer-hook-event-subscriber.js.map +1 -0
  44. package/build/dex/balancer-v3/hooks/directionalFeeHook.d.ts +26 -0
  45. package/build/dex/balancer-v3/hooks/directionalFeeHook.js +41 -0
  46. package/build/dex/balancer-v3/hooks/directionalFeeHook.js.map +1 -0
  47. package/build/dex/balancer-v3/hooks/loadHooksConfig.d.ts +2 -0
  48. package/build/dex/balancer-v3/hooks/loadHooksConfig.js +11 -0
  49. package/build/dex/balancer-v3/hooks/loadHooksConfig.js.map +1 -0
  50. package/build/dex/balancer-v3/hooks/stableSurgeHook.d.ts +40 -0
  51. package/build/dex/balancer-v3/hooks/stableSurgeHook.js +116 -0
  52. package/build/dex/balancer-v3/hooks/stableSurgeHook.js.map +1 -0
  53. package/build/dex/balancer-v3/types.d.ts +4 -1
  54. package/build/dex/bancor.d.ts +26 -0
  55. package/build/dex/bancor.js +58 -0
  56. package/build/dex/bancor.js.map +1 -0
  57. package/build/dex/compound.d.ts +18 -0
  58. package/build/dex/compound.js +46 -0
  59. package/build/dex/compound.js.map +1 -0
  60. package/build/dex/curve-v2.d.ts +58 -0
  61. package/build/dex/curve-v2.js +180 -0
  62. package/build/dex/curve-v2.js.map +1 -0
  63. package/build/dex/dodo-v1.d.ts +33 -0
  64. package/build/dex/dodo-v1.js +63 -0
  65. package/build/dex/dodo-v1.js.map +1 -0
  66. package/build/dex/fluid-dex/fluid-dex-generate-pool.d.ts +49 -0
  67. package/build/dex/fluid-dex/fluid-dex-generate-pool.js +104 -0
  68. package/build/dex/fluid-dex/fluid-dex-generate-pool.js.map +1 -0
  69. package/build/dex/integral/config.d.ts +4 -0
  70. package/build/dex/integral/config.js +20 -0
  71. package/build/dex/integral/config.js.map +1 -0
  72. package/build/dex/integral/context.d.ts +40 -0
  73. package/build/dex/integral/context.js +158 -0
  74. package/build/dex/integral/context.js.map +1 -0
  75. package/build/dex/integral/integral-factory.d.ts +24 -0
  76. package/build/dex/integral/integral-factory.js +95 -0
  77. package/build/dex/integral/integral-factory.js.map +1 -0
  78. package/build/dex/integral/integral-pool.d.ts +50 -0
  79. package/build/dex/integral/integral-pool.js +149 -0
  80. package/build/dex/integral/integral-pool.js.map +1 -0
  81. package/build/dex/integral/integral-pricing.d.ts +18 -0
  82. package/build/dex/integral/integral-pricing.js +114 -0
  83. package/build/dex/integral/integral-pricing.js.map +1 -0
  84. package/build/dex/integral/integral-relayer.d.ts +42 -0
  85. package/build/dex/integral/integral-relayer.js +192 -0
  86. package/build/dex/integral/integral-relayer.js.map +1 -0
  87. package/build/dex/integral/integral-token.d.ts +27 -0
  88. package/build/dex/integral/integral-token.js +59 -0
  89. package/build/dex/integral/integral-token.js.map +1 -0
  90. package/build/dex/{inception/inception-native.d.ts → integral/integral.d.ts} +19 -21
  91. package/build/dex/integral/integral.js +376 -0
  92. package/build/dex/integral/integral.js.map +1 -0
  93. package/build/dex/integral/types.d.ts +85 -0
  94. package/build/dex/integral/types.js +9 -0
  95. package/build/dex/integral/types.js.map +1 -0
  96. package/build/dex/integral/utils-e2e.d.ts +9 -0
  97. package/build/dex/integral/utils-e2e.js +131 -0
  98. package/build/dex/integral/utils-e2e.js.map +1 -0
  99. package/build/dex/integral/utils.d.ts +17 -0
  100. package/build/dex/integral/utils.js +94 -0
  101. package/build/dex/integral/utils.js.map +1 -0
  102. package/build/dex/jarvis.d.ts +1 -2
  103. package/build/dex/jarvis.js +0 -58
  104. package/build/dex/jarvis.js.map +1 -1
  105. package/build/dex/lido.d.ts +19 -0
  106. package/build/dex/lido.js +42 -0
  107. package/build/dex/lido.js.map +1 -0
  108. package/build/dex/onebit.d.ts +25 -0
  109. package/build/dex/onebit.js +42 -0
  110. package/build/dex/onebit.js.map +1 -0
  111. package/build/dex/platypus/platypus.d.ts +1 -2
  112. package/build/dex/platypus/platypus.js +0 -31
  113. package/build/dex/platypus/platypus.js.map +1 -1
  114. package/build/dex/smoothy.d.ts +26 -0
  115. package/build/dex/smoothy.js +48 -0
  116. package/build/dex/smoothy.js.map +1 -0
  117. package/build/dex/stable-pool.d.ts +28 -0
  118. package/build/dex/stable-pool.js +62 -0
  119. package/build/dex/stable-pool.js.map +1 -0
  120. package/build/dex/swaap-v1/swaap-v1.d.ts +1 -2
  121. package/build/dex/swaap-v1/swaap-v1.js +0 -10
  122. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  123. package/build/dex/trader-joe-v2.1/optimizer.d.ts +2 -0
  124. package/build/dex/trader-joe-v2.1/optimizer.js +47 -0
  125. package/build/dex/trader-joe-v2.1/optimizer.js.map +1 -0
  126. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.d.ts +7 -0
  127. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js +20 -0
  128. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js.map +1 -0
  129. package/build/dex/trader-joe-v2.1.d.ts +43 -0
  130. package/build/dex/trader-joe-v2.1.js +79 -0
  131. package/build/dex/trader-joe-v2.1.js.map +1 -0
  132. package/build/dex/zerox/index.d.ts +26 -4
  133. package/build/dex/zerox/index.js +42 -50
  134. package/build/dex/zerox/index.js.map +1 -1
  135. package/build/dex/zerox/types.d.ts +0 -29
  136. package/build/dex/zerox/types.js +1 -8
  137. package/build/dex/zerox/types.js.map +1 -1
  138. package/package.json +1 -1
  139. package/scripts/run-dex-integration-v3.ts +4 -4
  140. package/src/abi/balancer-v3/directionalFeeHook.json +684 -0
  141. package/src/abi/balancer-v3/stableSurgeHook.json +976 -0
  142. package/src/dex/balancer-v3/balancer-hooks-events.test.ts +166 -0
  143. package/src/dex/balancer-v3/balancer-stableSurge.test.ts +110 -0
  144. package/src/dex/balancer-v3/balancer-test-helpers.ts +199 -0
  145. package/src/dex/balancer-v3/balancer-v3-e2e.test.ts +20 -0
  146. package/src/dex/balancer-v3/balancer-v3-integration.test.ts +2 -197
  147. package/src/dex/balancer-v3/balancer-v3-pool.ts +44 -13
  148. package/src/dex/balancer-v3/balancer-v3.ts +42 -1
  149. package/src/dex/balancer-v3/config.ts +39 -0
  150. package/src/dex/balancer-v3/getOnChainState.ts +1 -4
  151. package/src/dex/balancer-v3/getPoolsApi.ts +42 -23
  152. package/src/dex/balancer-v3/getTopPoolsApi.ts +13 -2
  153. package/src/dex/balancer-v3/hooks/balancer-hook-event-subscriber.ts +212 -0
  154. package/src/dex/balancer-v3/hooks/directionalFeeHook.ts +51 -0
  155. package/src/dex/balancer-v3/hooks/loadHooksConfig.ts +12 -0
  156. package/src/dex/balancer-v3/hooks/stableSurgeHook.ts +198 -0
  157. package/src/dex/balancer-v3/types.ts +4 -2
  158. package/tests/constants-e2e.ts +6 -1
  159. package/build/abi/Aave_GSM.json +0 -751
  160. package/build/abi/Balancer.json +0 -257
  161. package/build/abi/RamsesV2Quoter.abi.json +0 -274
  162. package/build/abi/USDM.json +0 -807
  163. package/build/abi/UniswapV2Router.json +0 -397
  164. package/build/abi/angle-transmuter/ChainlinkAccessControlledOffchainAggregator.json +0 -1246
  165. package/build/abi/curve-v1/CurveBUSDv2.abi.json +0 -1356
  166. package/build/abi/curve-v1/CurveTokenV1.json +0 -305
  167. package/build/abi/curve-v1/CurveTokenV2.json +0 -318
  168. package/build/abi/curve-v1/CurveV1StableNg.json +0 -1452
  169. package/build/abi/curve-v1/CurveV2Swap.json +0 -700
  170. package/build/abi/curve-v1/FactoryCryptoRegistry.json +0 -316
  171. package/build/abi/curve-v1/FactoryRegistry.json +0 -508
  172. package/build/abi/curve-v1/StableSwapAave.json +0 -1152
  173. package/build/abi/curve-v1/StableSwapBUSD.json +0 -814
  174. package/build/abi/curve-v1/StableSwapCompound.json +0 -814
  175. package/build/abi/curve-v1/StableSwapIDLE.json +0 -1253
  176. package/build/abi/curve-v1/StableSwapPax.json +0 -865
  177. package/build/abi/curve-v1/StableSwapSnow.json +0 -900
  178. package/build/abi/curve-v1/StableSwapUSDT.json +0 -814
  179. package/build/abi/curve-v1/StableSwapY.json +0 -814
  180. package/build/abi/inception/inception-ineth-pool.json +0 -1062
  181. package/build/abi/inception/inception-ineth.json +0 -609
  182. package/build/abi/inception/inception-ratio-feed.json +0 -329
  183. package/build/abi/inception/inception-vault.json +0 -991
  184. package/build/abi/kyberdmm/kyber-storage.abi.json +0 -824
  185. package/build/abi/kyberdmm.abi.json +0 -1148
  186. package/build/abi/maverick-v2/MaverickV2Quoter.json +0 -278
  187. package/build/abi/nerve/nerve-metapool.json +0 -790
  188. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +0 -193
  189. package/build/abi/velodrome-slipstream/VelodromeSlipstreamQuoterV2.abi.json +0 -267
  190. package/build/dex/balancer-v1/balancer-pools.json +0 -33333
  191. package/build/dex/bebop/websocket-fetcher.d.ts +0 -35
  192. package/build/dex/bebop/websocket-fetcher.js +0 -87
  193. package/build/dex/bebop/websocket-fetcher.js.map +0 -1
  194. package/build/dex/idle-dao/idle-dao-pool.d.ts +0 -56
  195. package/build/dex/idle-dao/idle-dao-pool.js +0 -176
  196. package/build/dex/idle-dao/idle-dao-pool.js.map +0 -1
  197. package/build/dex/idle-dao/idle-dao-pooling-pool.d.ts +0 -16
  198. package/build/dex/idle-dao/idle-dao-pooling-pool.js +0 -57
  199. package/build/dex/idle-dao/idle-dao-pooling-pool.js.map +0 -1
  200. package/build/dex/idle-dao/scripts.d.ts +0 -9
  201. package/build/dex/idle-dao/scripts.js +0 -552
  202. package/build/dex/idle-dao/scripts.js.map +0 -1
  203. package/build/dex/inception/config.d.ts +0 -4
  204. package/build/dex/inception/config.js +0 -109
  205. package/build/dex/inception/config.js.map +0 -1
  206. package/build/dex/inception/inception-event-pool.d.ts +0 -16
  207. package/build/dex/inception/inception-event-pool.js +0 -51
  208. package/build/dex/inception/inception-event-pool.js.map +0 -1
  209. package/build/dex/inception/inception-native.js +0 -131
  210. package/build/dex/inception/inception-native.js.map +0 -1
  211. package/build/dex/inception/inception-pool.d.ts +0 -18
  212. package/build/dex/inception/inception-pool.js +0 -32
  213. package/build/dex/inception/inception-pool.js.map +0 -1
  214. package/build/dex/inception/inception-price-feed.d.ts +0 -19
  215. package/build/dex/inception/inception-price-feed.js +0 -51
  216. package/build/dex/inception/inception-price-feed.js.map +0 -1
  217. package/build/dex/inception/inception.d.ts +0 -43
  218. package/build/dex/inception/inception.js +0 -204
  219. package/build/dex/inception/inception.js.map +0 -1
  220. package/build/dex/inception/tokens.d.ts +0 -9
  221. package/build/dex/inception/tokens.js +0 -28
  222. package/build/dex/inception/tokens.js.map +0 -1
  223. package/build/dex/inception/types.d.ts +0 -22
  224. package/build/dex/inception/types.js +0 -3
  225. package/build/dex/inception/types.js.map +0 -1
  226. package/build/dex/inception/utils.d.ts +0 -6
  227. package/build/dex/inception/utils.js +0 -37
  228. package/build/dex/inception/utils.js.map +0 -1
  229. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +0 -16
  230. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -16
  231. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -16
  232. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -16
  233. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -16
  234. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -16
  235. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -16
  236. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdt-usdc-dai.json +0 -16
  237. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-eth-usdc.json +0 -9
  238. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-eth.json +0 -9
  239. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-wbtc.json +0 -9
  240. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-eth-steth.json +0 -9
  241. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-steth-eth.json +0 -9
  242. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-usdc-usdt.json +0 -9
  243. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-eth-usdc.json +0 -9
  244. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-eth.json +0 -9
  245. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-usdt.json +0 -9
  246. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -12
  247. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -7
  248. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -7
  249. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -7
  250. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -7
  251. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -12
  252. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-eth-usdc.json +0 -7
  253. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-usdc-eth.json +0 -7
  254. package/build/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +0 -78
  255. package/build/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -81
  256. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -78
  257. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -78
  258. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -81
  259. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -81
  260. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -81
  261. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdt-usdc-dai.json +0 -81
  262. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-eth-usdc.json +0 -64
  263. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-eth.json +0 -85
  264. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-wbtc.json +0 -64
  265. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-eth-steth.json +0 -52
  266. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-steth-eth.json +0 -52
  267. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-usdc-usdt.json +0 -52
  268. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-eth-usdc.json +0 -55
  269. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-eth.json +0 -55
  270. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-usdt.json +0 -55
  271. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -23
  272. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -37
  273. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -23
  274. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -23
  275. package/build/executor/fixtures/executor02/exchange-params/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -51
  276. package/build/executor/fixtures/executor02/exchange-params/price-route-multiswap-univ3-usdt-dai-eth.json +0 -58
  277. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -23
  278. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -23
  279. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -9
  280. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -16
  281. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +0 -23
  282. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -12
  283. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -7
  284. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -12
  285. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -12
  286. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -7
  287. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-univ3-usdt-dai-eth.json +0 -7
  288. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -7
  289. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -7
  290. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -7
  291. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -7
  292. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -130
  293. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -136
  294. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -100
  295. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -100
  296. package/build/executor/fixtures/executor02/routes/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -166
  297. package/build/executor/fixtures/executor02/routes/price-route-multiswap-univ3-usdt-dai-eth.json +0 -190
  298. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -114
  299. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -114
  300. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -55
  301. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -73
  302. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +0 -82
@@ -1 +1 @@
1
- {"version":3,"file":"balancer-v3.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/balancer-v3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"balancer-v3.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/balancer-v3.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,+CAAoD;AACpD,2EAA6D;AAC7D,uCAAgF;AAIhF,wDAAoD;AACpD,qCAA4C;AAC5C,yDAAyD;AAEzD,kEAAyD;AACzD,4CAA+C;AAC/C,gDAAmE;AACnE,qDAAkD;AAClD,oFAAkE;AAClE,gGAA6E;AAC7E,6CAA0C;AAE1C,2FAA2E;AAE3E,MAAM,WAAW,GACf,gFAAgF,CAAC;AACnF,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO;AACvC,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO;AACvC,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO;AAMvC,MAAa,UAAW,SAAQ,gCAAc;IAuBjC;IACA;IACA;IAxBD,UAAU,CAAsB;IAChC,UAAU,CAAoB;IAE/B,4BAA4B,GAAG,KAAK,CAAC;IAC9C,0BAA0B;IACjB,cAAc,GAAG,KAAK,CAAC;IAEvB,wBAAwB,GAAG,KAAK,CAAC;IAEnC,MAAM,CAAC,kBAAkB,GAC9B,IAAA,6BAAqB,EAAC,yBAAgB,CAAC,CAAC;IAE1C,MAAM,CAAS;IACf,cAAc,CAAY;IAC1B,mBAAmB,CAAY;IAC/B,mBAAmB,CAAkB;IACrC,gBAAgB,CAAkB;IAClC,gBAAgB,CAAkB;IAElC,WAAW,CAAS;IAEpB,YACW,OAAgB,EAChB,MAAc,EACd,SAAqB;QAE9B,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAJhB,YAAO,GAAP,OAAO,CAAS;QAChB,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAY;QAG9B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,kDAAiB,CACrC,MAAM,EACN,OAAO,EACP,SAAS,EACT,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,sCAAmB,CACvC,MAAM,EACN,OAAO,EACP,SAAS,EACT,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,eAAS,CAAC,qBAAiB,CAAC,CAAC;QACvD,IAAI,CAAC,mBAAmB,GAAG,IAAI,eAAS,CAAC,2BAAsB,CAAC,CAAC;IACnE,CAAC;IAED,oDAAoD;IACpD,2DAA2D;IAC3D,oDAAoD;IACpD,0BAA0B;IAC1B,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QACzC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAE9C,uEAAuE;QACvE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;gBAChD,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC/B,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,gCAAgC,EAAE,CAAC,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;gBAC7C,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACpC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,gCAAgC,EAAE,CAAC,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,+EAA+E;QAC/E,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;gBAC7C,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAChC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,gCAAgC,EAAE,CAAC,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,WAAW,CAAC,IAAc;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oDAAoD;IACpD,mDAAmD;IACnD,yCAAyC;IACzC,+CAA+C;IAC/C,KAAK,CAAC,kBAAkB,CACtB,QAAe,EACf,SAAgB,EAChB,IAAc,EACd,WAAmB;QAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,2BAA2B,CACrC,SAAS,EACT,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAC3B,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,WAAmB;QAChC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2BAA2B,CACzB,KAAiC,EACjC,MAAc,EACd,MAAc;QAEd,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE;YACxB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;OAOG;IACH,WAAW,CACT,KAAiC,EACjC,IAAY,EACZ,EAAU,EACV,UAAqB;QAErB,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE;YAC/B,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAChE,MAAM,aAAa,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClE,OAAO,iBAAiB,IAAI,aAAa,CAAC;QAC5C,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,SAA0C,CAAC,CAAC;IACzE,CAAC;IAED,SAAS,CAAC,IAA6B,EAAE,MAAgB;QACvD,OAAO,MAAM,CAAC,KAAK,CACjB,KAAK,CAAC,EAAE,CACN,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CACvE,CAAC;IACJ,CAAC;IAED,mCAAmC;IACnC,oDAAoD;IACpD,kDAAkD;IAClD,yBAAyB;IACzB,KAAK,CAAC,eAAe,CACnB,QAAe,EACf,SAAgB,EAChB,OAAiB,EACjB,IAAc,EACd,WAAmB,EACnB,UAAqB;QAErB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACtD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,KAAK,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,yFAAyF;YACzF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAE/C,iCAAiC;YACjC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC3D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAC5C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,2DAA2D;YAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CACnC,YAAY,EACZ,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAC3B,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EACzB,UAAU,CACX,CAAC;YAEF,IAAI,CAAC,YAAY,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YAEtC,MAAM,QAAQ,GACZ,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAQ,CAAC,QAAQ,CAAC;YAChE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC;YAE7B,8EAA8E;YAC9E,MAAM,UAAU,GAAG,IAAA,oBAAY,EAC7B,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAChD,CAAC;YAEF,MAAM,UAAU,GAAmC,EAAE,CAAC;YACtD,8DAA8D;YAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,MAAM,IAAI,GAAG;oBACX,GAAG,YAAY,CAAC,CAAC,CAAC;iBACnB,CAAC;gBAEF,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAChE,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAClE,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClC,SAAS;gBACX,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;gBAExE,IAAI,CAAC;oBACH,2CAA2C;oBAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CACpD,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,QAAQ,CACT,CAAC;oBAEF,IAAI,IAAI,GAAG,EAAE,CAAC;oBACd,IAAI,UAAU,GAAG,aAAa;wBAC5B,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAClC,KAAK,EACL,UAAU,EACV,QAAQ,EACR,KAAK,CAAC,SAAS,EACf,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAC5C,CAAC;oBAEJ,MAAM,iBAAiB,GAA+B;wBACpD,MAAM,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC1C,IAAI;wBACJ,IAAI,EAAE;4BACJ,KAAK,EAAE,KAAK;yBACb;wBACD,QAAQ,EAAE,IAAI,CAAC,MAAM;wBACrB,OAAO,EAAE,IAAA,uBAAU,EAAC,KAAK,CAAC;wBAC1B,aAAa,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;wBACjC,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE;qBACrD,CAAC;oBAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACxC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,CAAC;4BAC/B,wCAAwC;4BACxC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CACzD,KAAK,EACL,OAAO,CAAC,CAAC,CAAC,EACV,QAAQ,EACR,KAAK,CAAC,SAAS,EACf,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAC5C,CAAC;wBACJ,CAAC;oBACH,CAAC;oBACD,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACrC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mCAAmC,IAAI,CAAC,WAAW,EAAE,CACtD,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC,CAAA,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mEAAmE;IACnE,kBAAkB,CAChB,UAAsC;QAEtC,IACE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAClC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAClC,CAAC;YACD,OAAO,CACL,iBAAiB,CAAC,YAAY;gBAC9B,OAAO;gBACP,iBAAiB,CAAC,OAAO;gBACzB,UAAU;gBACV,iBAAiB,CAAC,OAAO;gBACzB,WAAW;gBACX,iBAAiB,CAAC,OAAO;gBACzB,iBAAiB;gBACjB,iBAAiB,CAAC,MAAM;gBACxB,cAAc;gBACd,iBAAiB,CAAC,MAAM;gBACxB,WAAW;gBACX,iBAAiB,CAAC,SAAS;gBAC3B,YAAY;gBACZ,iBAAiB,CAAC,IAAI;gBACtB,WAAW;gBACX,iBAAiB,CAAC,SAAS,CAC5B,CAAC;QACJ,CAAC;QAED,OAAO,CACL,iBAAiB,CAAC,YAAY;YAC9B,iBAAiB,CAAC,YAAY;YAC9B,sBAAsB;YACtB,iBAAiB,CAAC,YAAY;YAC9B,iCAAiC;YACjC,iBAAiB,CAAC,YAAY;YAC9B,0BAA0B;YAC1B,iBAAiB,CAAC,YAAY;YAC9B,+BAA+B;YAC/B,iBAAiB,CAAC,YAAY;YAC9B,yCAAyC;YACzC,iBAAiB,CAAC,MAAM;YACxB,wCAAwC;YACxC,iBAAiB,CAAC,MAAM;YACxB,mCAAmC;YACnC,iBAAiB,CAAC,OAAO;YACzB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBAClC,OAAO;gBACL,uCAAuC;gBACvC,iBAAiB,CAAC,YAAY;oBAC9B,4CAA4C;oBAC5C,iBAAiB,CAAC,IAAI;oBACtB,wCAAwC;oBACxC,iBAAiB,CAAC,OAAO;oBACzB,4CAA4C;oBAC5C,iBAAiB,CAAC,OAAO,CAC1B,CAAC;YACJ,CAAC,EAAE,CAAC,CAAC;YACL,WAAW;YACX,iBAAiB,CAAC,SAAS;YAC3B,YAAY;YACZ,iBAAiB,CAAC,IAAI;YACtB,WAAW;YACX,iBAAiB,CAAC,SAAS,CAC5B,CAAC;IACJ,CAAC;IAED,kBAAkB;IAClB,eAAe;QACb,OAAO;YACL,cAAc,EAAE,IAAI;YACpB,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,WAAW,CACT,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,SAAkB,EAClB,IAAoB,EACpB,IAAc;QAEd,IAAI,IAAI,KAAK,oBAAQ,CAAC,IAAI,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,gBAAgB,CAC1B,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,IAAI,CACL,CAAC;QACJ,CAAC;IACH,CAAC;IAED,eAAe,CACb,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,IAAoB;QAEpB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACvD,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CACzD,wBAAwB,EACxB;gBACE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;gBAClB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACvC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;gBACxC,SAAS;gBACT,GAAG,EAAE,+FAA+F;gBACpG,WAAW,EAAE,WAAW;gBACxB,IAAA,oBAAY,EAAC,QAAQ,CAAC,IAAI,IAAA,oBAAY,EAAC,SAAS,CAAC;gBACjD,IAAI;aACL,CACF,CAAC;YACF,OAAO;gBACL,kCAAkC,EAAE,IAAI;gBACxC,eAAe,EAAE,IAAI;gBACrB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,mBAAmB,EAAE,KAAK;gBAC1B,YAAY;gBACZ,mCAAmC;gBACnC,cAAc,EACZ,yBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,qBAAqB;gBACjE,eAAe,EAAE,IAAA,mCAA2B,EAC1C,IAAI,CAAC,cAAc,EACnB,wBAAwB,CACzB;aACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,iBAAiB;YACjB,uEAAuE;YACvE,0DAA0D;YAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAC9D,aAAa,EACb;gBACE;oBACE;wBACE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;wBAChD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;4BACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;yBACxB,CAAC,CAAC;wBACH,aAAa,EAAE,SAAS;wBACxB,YAAY,EAAE,GAAG,EAAE,+FAA+F;qBACnH;iBACF;gBACD,WAAW,EAAE,WAAW;gBACxB,IAAA,oBAAY,EAAC,QAAQ,CAAC,IAAI,IAAA,oBAAY,EAAC,SAAS,CAAC;gBACjD,IAAI;aACL,CACF,CAAC;YAEF,OAAO;gBACL,kCAAkC,EAAE,IAAI;gBACxC,eAAe,EAAE,IAAI;gBACrB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,mBAAmB,EAAE,KAAK;gBAC1B,YAAY;gBACZ,kCAAkC;gBAClC,cAAc,EACZ,yBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,0BAA0B;gBACtE,eAAe,EAAE,SAAS;aAC3B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,gBAAgB,CACd,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,IAAoB;QAEpB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACvD,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CACzD,yBAAyB,EACzB;gBACE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;gBAClB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACvC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;gBACxC,UAAU;gBACV,WAAW,EAAE,8FAA8F;gBAC3G,WAAW,EAAE,WAAW;gBACxB,IAAA,oBAAY,EAAC,QAAQ,CAAC,IAAI,IAAA,oBAAY,EAAC,SAAS,CAAC;gBACjD,IAAI;aACL,CACF,CAAC;YAEF,OAAO;gBACL,kCAAkC,EAAE,IAAI;gBACxC,eAAe,EAAE,IAAI;gBACrB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,mBAAmB,EAAE,KAAK;gBAC1B,YAAY;gBACZ,iDAAiD;gBACjD,cAAc,EACZ,yBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,qBAAqB;gBACjE,eAAe,EAAE,SAAS;aAC3B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,iBAAiB;YACjB,gEAAgE;YAChE,8DAA8D;YAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAC9D,cAAc,EACd;gBACE;oBACE;wBACE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;wBAChD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;4BACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;yBACxB,CAAC,CAAC;wBACH,cAAc,EAAE,UAAU;wBAC1B,WAAW,EAAE,SAAS;qBACvB;iBACF;gBACD,WAAW,EAAE,WAAW;gBACxB,IAAA,oBAAY,EAAC,QAAQ,CAAC,IAAI,IAAA,oBAAY,EAAC,SAAS,CAAC;gBACjD,IAAI;aACL,CACF,CAAC;YAEF,OAAO;gBACL,kCAAkC,EAAE,IAAI;gBACxC,eAAe,EAAE,IAAI;gBACrB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,mBAAmB,EAAE,KAAK;gBAC1B,YAAY;gBACZ,kCAAkC;gBAClC,cAAc,EACZ,yBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,0BAA0B;gBACtE,eAAe,EAAE,SAAS;aAC3B,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;IAC/C,CAAC;IAED,oDAAoD;IACpD,qDAAqD;IACrD,+CAA+C;IAC/C,gDAAgD;IAChD,oBAAoB;IACpB,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;IAC1C,CAAC;IAED,oDAAoD;IACpD,yCAAyC;IACzC,KAAK,CAAC,mBAAmB,CACvB,YAAqB,EACrB,KAAa;QAEb,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;aACzE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE;YACxB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QAE/B,MAAM,QAAQ,GAAG,MAAM,IAAA,+BAAc,EACnC,IAAI,CAAC,OAAO,EACZ,cAAc,EACd,KAAK,EACL,IAAI,CAAC,UAAU,CAAC,cAAc,CAC/B,CAAC;QAEF,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACzB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU;iBAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC;iBACvC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACT,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACrB,CAAC,CAAC,CAAC;YAEN,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU;iBACrC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;iBAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;iBAChB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,YAAY,CAAY,CAAC;YAEvD,OAAO;gBACL,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;gBACzD,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;aACjD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACxC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,MAAM,oDAAoD,CACnE,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,MAAM,iDAAiD,CAChE,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,MAAM,iDAAiD,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;;AApmBH,gCAqmBC"}
@@ -23,30 +23,69 @@ exports.BalancerV3Config = {
23
23
  apiNetworkName: 'SEPOLIA',
24
24
  balancerRouterAddress: '0x0BF61f706105EA44694f2e92986bD01C39930280',
25
25
  balancerBatchRouterAddress: '0xC85b652685567C1B074e8c0D4389f83a2E458b1C',
26
+ hooks: [
27
+ {
28
+ type: 'DirectionalFee',
29
+ address: '0xd68372e85d8a14afa5fdb3d506bf765939aaf382',
30
+ },
31
+ {
32
+ type: 'StableSurge',
33
+ factory: '0x9eB9867C1d4B6fd3a7D0dAd3101b5A153b1107Ec', // Pools with StableSurge hook will always be deployed from this factory
34
+ address: '0xc0cbcdd6b823a4f22aa6bbdde44c17e754266aef', // Address of the hook that will be used by pools
35
+ },
36
+ ],
26
37
  },
27
38
  [constants_1.Network.GNOSIS]: {
28
39
  vaultAddress: '0xbA1333333333a1BA1108E8412f11850A5C319bA9',
29
40
  apiNetworkName: 'GNOSIS',
30
41
  balancerRouterAddress: '0x84813aA3e079A665C0B80F944427eE83cBA63617',
31
42
  balancerBatchRouterAddress: '0xe2fa4e1d17725e72dcdAfe943Ecf45dF4B9E285b',
43
+ hooks: [
44
+ {
45
+ type: 'StableSurge',
46
+ factory: '0x268E2EE1413D768b6e2dc3F5a4ddc9Ae03d9AF42', // Pools with StableSurge hook will always be deployed from this factory
47
+ address: '0xe4f1878eC9710846E2B529C1b5037F8bA94583b1', // Address of the hook that will be used by pools
48
+ },
49
+ ],
32
50
  },
33
51
  [constants_1.Network.MAINNET]: {
34
52
  vaultAddress: '0xbA1333333333a1BA1108E8412f11850A5C319bA9',
35
53
  apiNetworkName: 'MAINNET',
36
54
  balancerRouterAddress: '0x5C6fb490BDFD3246EB0bB062c168DeCAF4bD9FDd',
37
55
  balancerBatchRouterAddress: '0x136f1EFcC3f8f88516B9E94110D56FDBfB1778d1',
56
+ hooks: [
57
+ {
58
+ type: 'StableSurge',
59
+ factory: '0xD53F5d8d926fb2a0f7Be614B16e649B8aC102D83', // Pools with StableSurge hook will always be deployed from this factory
60
+ address: '0xb18fA0cb5DE8cecB8899AAE6e38b1B7ed77885dA', // Address of the hook that will be used by pools
61
+ },
62
+ ],
38
63
  },
39
64
  [constants_1.Network.ARBITRUM]: {
40
65
  vaultAddress: '0xbA1333333333a1BA1108E8412f11850A5C319bA9',
41
66
  apiNetworkName: 'ARBITRUM',
42
67
  balancerRouterAddress: '0x0f08eEf2C785AA5e7539684aF04755dEC1347b7c',
43
68
  balancerBatchRouterAddress: '0xaD89051bEd8d96f045E8912aE1672c6C0bF8a85E',
69
+ hooks: [
70
+ {
71
+ type: 'StableSurge',
72
+ factory: '0x86e67E115f96DF37239E0479441303De0de7bc2b', // Pools with StableSurge hook will always be deployed from this factory
73
+ address: '0x0Fa0f9990D7969a7aE6f9961d663E4A201Ed6417', // Address of the hook that will be used by pools
74
+ },
75
+ ],
44
76
  },
45
77
  [constants_1.Network.BASE]: {
46
78
  vaultAddress: '0xbA1333333333a1BA1108E8412f11850A5C319bA9',
47
79
  apiNetworkName: 'BASE',
48
80
  balancerRouterAddress: '0x76578ecf9a141296Ec657847fb45B0585bCDa3a6',
49
81
  balancerBatchRouterAddress: '0x85a80afee867aDf27B50BdB7b76DA70f1E853062',
82
+ hooks: [
83
+ {
84
+ type: 'StableSurge',
85
+ factory: '0x4fb47126Fa83A8734991E41B942Ac29A3266C968', // Pools with StableSurge hook will always be deployed from this factory
86
+ address: '0xb2007B8B7E0260042517f635CFd8E6dD2Dd7f007', // Address of the hook that will be used by pools
87
+ },
88
+ ],
50
89
  },
51
90
  },
52
91
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEpD,sFAAsF;AACtF,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,wCAAqB,CAAA;IACrB,oCAAiB,CAAA;AACnB,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAEY,QAAA,eAAe,GAA6C;IACvE,UAAU,EAAE;QACV,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE,EAAE;KACrB;CACF,CAAC;AAEF,6EAA6E;AAChE,QAAA,MAAM,GAAG,kCAAkC,CAAC;AAEzD,0CAA0C;AAC7B,QAAA,gBAAgB,GAA4B;IACvD,UAAU,EAAE;QACV,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,YAAY,EAAE,4CAA4C;YAC1D,cAAc,EAAE,SAAS;YACzB,qBAAqB,EAAE,4CAA4C;YACnE,0BAA0B,EAAE,4CAA4C;SACzE;QACD,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE;YAChB,YAAY,EAAE,4CAA4C;YAC1D,cAAc,EAAE,QAAQ;YACxB,qBAAqB,EAAE,4CAA4C;YACnE,0BAA0B,EAAE,4CAA4C;SACzE;QACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,YAAY,EAAE,4CAA4C;YAC1D,cAAc,EAAE,SAAS;YACzB,qBAAqB,EAAE,4CAA4C;YACnE,0BAA0B,EAAE,4CAA4C;SACzE;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,YAAY,EAAE,4CAA4C;YAC1D,cAAc,EAAE,UAAU;YAC1B,qBAAqB,EAAE,4CAA4C;YACnE,0BAA0B,EAAE,4CAA4C;SACzE;QACD,CAAC,mBAAO,CAAC,IAAI,CAAC,EAAE;YACd,YAAY,EAAE,4CAA4C;YAC1D,cAAc,EAAE,MAAM;YACtB,qBAAqB,EAAE,4CAA4C;YACnE,0BAA0B,EAAE,4CAA4C;SACzE;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEpD,sFAAsF;AACtF,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,wCAAqB,CAAA;IACrB,oCAAiB,CAAA;AACnB,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAEY,QAAA,eAAe,GAA6C;IACvE,UAAU,EAAE;QACV,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE,EAAE;KACrB;CACF,CAAC;AAEF,6EAA6E;AAChE,QAAA,MAAM,GAAG,kCAAkC,CAAC;AAEzD,0CAA0C;AAC7B,QAAA,gBAAgB,GAA4B;IACvD,UAAU,EAAE;QACV,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,YAAY,EAAE,4CAA4C;YAC1D,cAAc,EAAE,SAAS;YACzB,qBAAqB,EAAE,4CAA4C;YACnE,0BAA0B,EAAE,4CAA4C;YACxE,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,4CAA4C;iBACtD;gBACD;oBACE,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,4CAA4C,EAAE,wEAAwE;oBAC/H,OAAO,EAAE,4CAA4C,EAAE,iDAAiD;iBACzG;aACF;SACF;QACD,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE;YAChB,YAAY,EAAE,4CAA4C;YAC1D,cAAc,EAAE,QAAQ;YACxB,qBAAqB,EAAE,4CAA4C;YACnE,0BAA0B,EAAE,4CAA4C;YACxE,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,4CAA4C,EAAE,wEAAwE;oBAC/H,OAAO,EAAE,4CAA4C,EAAE,iDAAiD;iBACzG;aACF;SACF;QACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,YAAY,EAAE,4CAA4C;YAC1D,cAAc,EAAE,SAAS;YACzB,qBAAqB,EAAE,4CAA4C;YACnE,0BAA0B,EAAE,4CAA4C;YACxE,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,4CAA4C,EAAE,wEAAwE;oBAC/H,OAAO,EAAE,4CAA4C,EAAE,iDAAiD;iBACzG;aACF;SACF;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,YAAY,EAAE,4CAA4C;YAC1D,cAAc,EAAE,UAAU;YAC1B,qBAAqB,EAAE,4CAA4C;YACnE,0BAA0B,EAAE,4CAA4C;YACxE,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,4CAA4C,EAAE,wEAAwE;oBAC/H,OAAO,EAAE,4CAA4C,EAAE,iDAAiD;iBACzG;aACF;SACF;QACD,CAAC,mBAAO,CAAC,IAAI,CAAC,EAAE;YACd,YAAY,EAAE,4CAA4C;YAC1D,cAAc,EAAE,MAAM;YACtB,qBAAqB,EAAE,4CAA4C;YACnE,0BAA0B,EAAE,4CAA4C;YACxE,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,4CAA4C,EAAE,wEAAwE;oBAC/H,OAAO,EAAE,4CAA4C,EAAE,iDAAiD;iBACzG;aACF;SACF;KACF;CACF,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { ImmutablePoolStateMap, PoolStateMap } from './types';
2
2
  import { Interface, Result } from '@ethersproject/abi';
3
3
  import { IDexHelper } from '../../dex-helper';
4
- interface callData {
4
+ export interface callData {
5
5
  target: string;
6
6
  callData: string;
7
7
  }
@@ -16,4 +16,3 @@ export declare function decodeErc4626MultiCallData(erc4626Interface: Interface,
16
16
  export declare function getOnChainState(network: number, immutablePoolStateMap: ImmutablePoolStateMap, dexHelper: IDexHelper, interfaces: {
17
17
  [name: string]: Interface;
18
18
  }, blockNumber?: number): Promise<PoolStateMap>;
19
- export {};
@@ -80,8 +80,6 @@ const poolOnChain = {
80
80
  totalSupply: BigInt(resultTotalSupply[0]),
81
81
  scalingFactors: resultTokenRates.decimalScalingFactors.map((r) => BigInt(r)),
82
82
  isPoolPaused: resultIsPoolPaused[0],
83
- hasHook: resultHooksConfig[0].hooksContract !==
84
- '0x0000000000000000000000000000000000000000',
85
83
  };
86
84
  },
87
85
  },
@@ -1 +1 @@
1
- {"version":3,"file":"getOnChainState.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/getOnChainState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getOnChainState.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/getOnChainState.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  import { ImmutablePoolStateMap } from './types';
2
- export declare function getPoolsApi(network: number, timestamp?: number): Promise<ImmutablePoolStateMap>;
2
+ import { HooksConfigMap } from './hooks/balancer-hook-event-subscriber';
3
+ export declare function getPoolsApi(network: number, hooksConfigMap: HooksConfigMap, timestamp?: number): Promise<ImmutablePoolStateMap>;
@@ -17,7 +17,6 @@ function createQuery(networkId, poolTypes, timestamp) {
17
17
  const whereClause = {
18
18
  chainIn: networkString,
19
19
  protocolVersionIn: 3,
20
- hasHook: false,
21
20
  poolTypeIn: `[${poolTypesString}]`,
22
21
  ...(timestamp && { createTime: `{lt: ${timestamp}}` }),
23
22
  ...(disabledPoolIdsString && { idNotIn: `[${disabledPoolIdsString}]` }),
@@ -41,29 +40,37 @@ function createQuery(networkId, poolTypes, timestamp) {
41
40
  address
42
41
  }
43
42
  }
43
+ hook {
44
+ address
45
+ }
44
46
  }
45
47
  }
46
48
  `;
47
49
  }
48
- function toImmutablePoolStateMap(pools) {
49
- return pools.reduce((map, pool) => {
50
+ function toImmutablePoolStateMap(pools, hooksConfigMap) {
51
+ return (pools
52
+ // First filter out pools with hooks that aren't in hooksMap
53
+ .filter(pool => !pool.hook ||
54
+ (pool.hook && pool.hook.address.toLowerCase() in hooksConfigMap))
55
+ .reduce((map, pool) => {
50
56
  const immutablePoolState = {
51
57
  poolAddress: pool.id,
52
58
  tokens: pool.poolTokens.map(t => t.address),
53
59
  tokensUnderlying: pool.poolTokens.map(t => t.underlyingToken ? t.underlyingToken.address : null),
54
60
  weights: pool.poolTokens.map(t => t.weight ? (0, utils_1.parseUnits)(t.weight, 18).toBigInt() : 0n),
55
61
  poolType: pool.type,
56
- // TODO add scalingFactors once API provides them
57
- // scalingFactors: pool.poolTokens.map(t => parseUnits('1', 18).toBigInt()),
58
- // TODO Hook support will be added in future PR
59
- hookType: undefined,
62
+ hookAddress: pool.hook ? pool.hook.address.toLowerCase() : undefined,
63
+ hookType: pool.hook
64
+ ? hooksConfigMap[pool.hook.address.toLowerCase()].type
65
+ : undefined,
66
+ supportsUnbalancedLiquidity: true, // can default to true as only required for add/remove maths which we don't use
60
67
  };
61
68
  map[pool.id] = immutablePoolState;
62
69
  return map;
63
- }, {});
70
+ }, {}));
64
71
  }
65
72
  // Any data from API will be immutable. Mutable data such as balances, etc will be fetched via onchain/event state.
66
- async function getPoolsApi(network, timestamp) {
73
+ async function getPoolsApi(network, hooksConfigMap, timestamp) {
67
74
  try {
68
75
  const query = createQuery(network, Object.values(config_1.SUPPORTED_POOLS), timestamp);
69
76
  const response = await axios_1.default.post(config_1.apiUrl, {
@@ -74,7 +81,7 @@ async function getPoolsApi(network, timestamp) {
74
81
  },
75
82
  });
76
83
  const pools = response.data.data.poolGetAggregatorPools;
77
- return toImmutablePoolStateMap(pools);
84
+ return toImmutablePoolStateMap(pools, hooksConfigMap);
78
85
  }
79
86
  catch (error) {
80
87
  // console.error('Error executing GraphQL query:', error);
@@ -1 +1 @@
1
- {"version":3,"file":"getPoolsApi.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/getPoolsApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getPoolsApi.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/getPoolsApi.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { HooksConfigMap } from './hooks/balancer-hook-event-subscriber';
1
2
  interface PoolToken {
2
3
  address: string;
3
4
  decimals: number;
@@ -12,6 +13,9 @@ export interface Pool {
12
13
  dynamicData: {
13
14
  totalLiquidity: string;
14
15
  };
16
+ hook: {
17
+ address: string;
18
+ } | null;
15
19
  }
16
- export declare function getTopPoolsApi(networkId: number, poolsFilter: string[], count: number): Promise<Pool[]>;
20
+ export declare function getTopPoolsApi(networkId: number, poolsFilter: string[], count: number, hooksTypeMap: HooksConfigMap): Promise<Pool[]>;
17
21
  export {};
@@ -16,7 +16,6 @@ function createQuery(networkId, poolsFilter, count) {
16
16
  const whereClause = {
17
17
  chainIn: networkString,
18
18
  protocolVersionIn: 3,
19
- hasHook: false,
20
19
  idIn: `[${poolIdString}]`,
21
20
  ...(disabledPoolIdsString && { idNotIn: `[${disabledPoolIdsString}]` }),
22
21
  };
@@ -44,11 +43,14 @@ function createQuery(networkId, poolsFilter, count) {
44
43
  dynamicData {
45
44
  totalLiquidity
46
45
  }
46
+ hook {
47
+ address
48
+ }
47
49
  }
48
50
  }
49
51
  `;
50
52
  }
51
- async function getTopPoolsApi(networkId, poolsFilter, count) {
53
+ async function getTopPoolsApi(networkId, poolsFilter, count, hooksTypeMap) {
52
54
  try {
53
55
  const query = createQuery(networkId, poolsFilter, count);
54
56
  const response = await axios_1.default.post(config_1.apiUrl, {
@@ -58,7 +60,8 @@ async function getTopPoolsApi(networkId, poolsFilter, count) {
58
60
  'Content-Type': 'application/json',
59
61
  },
60
62
  });
61
- const pools = response.data.data.poolGetAggregatorPools;
63
+ const pools = response.data.data.poolGetAggregatorPools.filter(pool => !pool.hook ||
64
+ (pool.hook && pool.hook.address.toLowerCase() in hooksTypeMap));
62
65
  return pools;
63
66
  }
64
67
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"getTopPoolsApi.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/getTopPoolsApi.ts"],"names":[],"mappings":";;;;;AA2EA,wCAyBC;AApGD,kDAA0B;AAC1B,qCAAqE;AAyBrE,SAAS,WAAW,CAClB,SAAiB,EACjB,WAAqB,EACrB,KAAa;IAEb,MAAM,qBAAqB,GAAG,wBAAe,CAAC,UAAU,CAAC,SAAS,CAAC;QACjE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;SACnB,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,aAAa,GAAG,yBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC;IAC5E,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,uCAAuC;IACvC,MAAM,WAAW,GAAG;QAClB,OAAO,EAAE,aAAa;QACtB,iBAAiB,EAAE,CAAC;QACpB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,IAAI,YAAY,GAAG;QACzB,GAAG,CAAC,qBAAqB,IAAI,EAAE,OAAO,EAAE,IAAI,qBAAqB,GAAG,EAAE,CAAC;KACxE,CAAC;IAEF,iEAAiE;IACjE,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC5C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC;SACzC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO;;;kBAGS,WAAW;iBACZ,KAAK;;;;;;;;;;;;;;;;;;GAkBnB,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,WAAqB,EACrB,KAAa;IAEb,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,eAAM,EACN;YACE,KAAK;SACN,EACD;YACE,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CACF,CAAC;QAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0DAA0D;QAC1D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"getTopPoolsApi.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/getTopPoolsApi.ts"],"names":[],"mappings":";;;;;AAiFA,wCA8BC;AA/GD,kDAA0B;AAC1B,qCAAqE;AA6BrE,SAAS,WAAW,CAClB,SAAiB,EACjB,WAAqB,EACrB,KAAa;IAEb,MAAM,qBAAqB,GAAG,wBAAe,CAAC,UAAU,CAAC,SAAS,CAAC;QACjE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;SACnB,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,aAAa,GAAG,yBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC;IAC5E,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,uCAAuC;IACvC,MAAM,WAAW,GAAG;QAClB,OAAO,EAAE,aAAa;QACtB,iBAAiB,EAAE,CAAC;QACpB,IAAI,EAAE,IAAI,YAAY,GAAG;QACzB,GAAG,CAAC,qBAAqB,IAAI,EAAE,OAAO,EAAE,IAAI,qBAAqB,GAAG,EAAE,CAAC;KACxE,CAAC;IAEF,iEAAiE;IACjE,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC5C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC;SACzC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO;;;kBAGS,WAAW;iBACZ,KAAK;;;;;;;;;;;;;;;;;;;;;GAqBnB,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,WAAqB,EACrB,KAAa,EACb,YAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,eAAM,EACN;YACE,KAAK;SACN,EACD;YACE,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CACF,CAAC;QAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAC5D,IAAI,CAAC,EAAE,CACL,CAAC,IAAI,CAAC,IAAI;YACV,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,YAAY,CAAC,CACjE,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0DAA0D;QAC1D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import { DeepReadonly } from 'ts-essentials';
3
+ import { Log, Logger } from '../../../types';
4
+ import { StatefulEventSubscriber } from '../../../stateful-event-subscriber';
5
+ import { IDexHelper } from '../../../dex-helper/idex-helper';
6
+ import { DirectionalFeeConfig, DirectionalFeeHookState } from './directionalFeeHook';
7
+ import { StableSurgeConfig, StableSurgeHookState } from './stableSurgeHook';
8
+ export type HookState = DirectionalFeeHookState | StableSurgeHookState;
9
+ export type HookStateMap = {
10
+ [address: string]: HookState;
11
+ };
12
+ export type HookConfig = DirectionalFeeConfig | StableSurgeConfig;
13
+ export type HooksConfigMap = {
14
+ [hookAddress: string]: HookConfig;
15
+ };
16
+ /**
17
+ * This will handle events/state for each supported hook contract. State is used during swap calculations.
18
+ * Each hook should have its own implementation file for state typing, fetching state and handling events.
19
+ */
20
+ export declare class BalancerEventHook extends StatefulEventSubscriber<HookStateMap> {
21
+ readonly parentName: string;
22
+ protected network: number;
23
+ protected dexHelper: IDexHelper;
24
+ handlers: {
25
+ [event: string]: (event: any, state: DeepReadonly<HookStateMap>, log: Readonly<Log>, logger: Logger) => DeepReadonly<HookStateMap> | null;
26
+ };
27
+ interfaces: Interface[];
28
+ logDecoder: (log: Log) => any;
29
+ addressesSubscribed: string[];
30
+ hooksConfigMap: HooksConfigMap;
31
+ constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger);
32
+ /**
33
+ * The function is called every time any of the subscribed
34
+ * addresses release log. The function accepts the current
35
+ * state, updates the state according to the log, and returns
36
+ * the updated state.
37
+ * @param state - Current state of event subscriber
38
+ * @param log - Log released by one of the subscribed addresses
39
+ * @returns Updates state of the event subscriber after the log
40
+ */
41
+ protected processLog(state: DeepReadonly<HookStateMap>, log: Readonly<Log>): DeepReadonly<HookStateMap> | null;
42
+ /**
43
+ * The function generates state using on-chain calls. This
44
+ * function is called to regenerate state if the event based
45
+ * system fails to fetch events and the local state is no
46
+ * more correct.
47
+ * @param blockNumber - Blocknumber for which the state should
48
+ * should be generated
49
+ * @returns state of the event subscriber at blocknumber
50
+ */
51
+ generateState(blockNumber: number): Promise<DeepReadonly<HookStateMap>>;
52
+ updateHookState(): Promise<void>;
53
+ combineInterfaces: (interfaces: Interface[]) => Interface;
54
+ }
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BalancerEventHook = void 0;
7
+ const abi_1 = require("@ethersproject/abi");
8
+ const lodash_1 = __importDefault(require("lodash"));
9
+ const utils_1 = require("../../../utils");
10
+ const stateful_event_subscriber_1 = require("../../../stateful-event-subscriber");
11
+ const loadHooksConfig_1 = require("./loadHooksConfig");
12
+ const directionalFeeHook_1 = require("./directionalFeeHook");
13
+ const directionalFeeHook_json_1 = __importDefault(require("../../../abi/balancer-v3/directionalFeeHook.json"));
14
+ const stableSurgeHook_1 = require("./stableSurgeHook");
15
+ const stableSurgeHook_json_1 = __importDefault(require("../../../abi/balancer-v3/stableSurgeHook.json"));
16
+ /**
17
+ * This will handle events/state for each supported hook contract. State is used during swap calculations.
18
+ * Each hook should have its own implementation file for state typing, fetching state and handling events.
19
+ */
20
+ class BalancerEventHook extends stateful_event_subscriber_1.StatefulEventSubscriber {
21
+ parentName;
22
+ network;
23
+ dexHelper;
24
+ handlers = {};
25
+ interfaces;
26
+ logDecoder;
27
+ addressesSubscribed;
28
+ hooksConfigMap;
29
+ constructor(parentName, network, dexHelper, logger) {
30
+ super(parentName, 'Balancer_Hooks', dexHelper, logger);
31
+ this.parentName = parentName;
32
+ this.network = network;
33
+ this.dexHelper = dexHelper;
34
+ // Load supported hooks from config file
35
+ this.hooksConfigMap = (0, loadHooksConfig_1.loadHooksConfig)(network);
36
+ // Add each hook ABI here
37
+ this.interfaces = [
38
+ new abi_1.Interface(directionalFeeHook_json_1.default),
39
+ new abi_1.Interface(stableSurgeHook_json_1.default),
40
+ ];
41
+ this.logDecoder = (log) => this.combineInterfaces(this.interfaces).parseLog(log);
42
+ // Subscribe to all hooks
43
+ this.addressesSubscribed = Object.keys(this.hooksConfigMap);
44
+ // StableSurgeHook events
45
+ this.handlers['ThresholdSurgePercentageChanged'] =
46
+ stableSurgeHook_1.thresholdSurgePercentageChangedEvent.bind(this);
47
+ this.handlers['MaxSurgeFeePercentageChanged'] =
48
+ stableSurgeHook_1.maxSurgeFeePercentageChangedEvent.bind(this);
49
+ }
50
+ /**
51
+ * The function is called every time any of the subscribed
52
+ * addresses release log. The function accepts the current
53
+ * state, updates the state according to the log, and returns
54
+ * the updated state.
55
+ * @param state - Current state of event subscriber
56
+ * @param log - Log released by one of the subscribed addresses
57
+ * @returns Updates state of the event subscriber after the log
58
+ */
59
+ processLog(state, log) {
60
+ try {
61
+ const event = this.logDecoder(log);
62
+ if (event.name in this.handlers) {
63
+ return this.handlers[event.name](event, state, log, this.logger);
64
+ }
65
+ }
66
+ catch (e) {
67
+ (0, utils_1.catchParseLogError)(e, this.logger);
68
+ }
69
+ return null;
70
+ }
71
+ /**
72
+ * The function generates state using on-chain calls. This
73
+ * function is called to regenerate state if the event based
74
+ * system fails to fetch events and the local state is no
75
+ * more correct.
76
+ * @param blockNumber - Blocknumber for which the state should
77
+ * should be generated
78
+ * @returns state of the event subscriber at blocknumber
79
+ */
80
+ async generateState(blockNumber) {
81
+ // Only hooks that are supported will be called
82
+ const hookState = {};
83
+ await Promise.all(Object.keys(this.hooksConfigMap).map(async (hookAddress) => {
84
+ const hookConfig = this.hooksConfigMap[hookAddress];
85
+ if (hookConfig.type === directionalFeeHook_1.DirectionalFee.type) {
86
+ hookState[hookAddress] = await (0, directionalFeeHook_1.getDirectionalFeeHookState)();
87
+ }
88
+ else if (hookConfig.type === stableSurgeHook_1.StableSurge.type) {
89
+ hookState[hookAddress] = await (0, stableSurgeHook_1.getStableSurgeHookState)(this.interfaces[1], hookAddress, hookConfig.factory, this.dexHelper, blockNumber);
90
+ }
91
+ }));
92
+ return hookState;
93
+ }
94
+ async updateHookState() {
95
+ // Not all hooks need updated, only ones with settings/state that can't be handled by events
96
+ const blockNumber = await this.dexHelper.provider.getBlockNumber();
97
+ const currentState = lodash_1.default.cloneDeep(this.getStaleState()) || {};
98
+ await Promise.all(Object.keys(this.hooksConfigMap).map(async (hookAddress) => {
99
+ const hookConfig = this.hooksConfigMap[hookAddress];
100
+ // StableSurge can have new registered pools with associated hook state
101
+ if (hookConfig.type === stableSurgeHook_1.StableSurge.type) {
102
+ currentState[hookAddress] = await (0, stableSurgeHook_1.getStableSurgeHookState)(this.interfaces[1], hookAddress, hookConfig.factory, this.dexHelper, blockNumber);
103
+ }
104
+ }));
105
+ this.setState(currentState, blockNumber);
106
+ }
107
+ combineInterfaces = (interfaces) => {
108
+ // Use a Map to store unique fragments, keyed by their string representation
109
+ const uniqueFragments = new Map();
110
+ interfaces.forEach((interfaceInstance) => {
111
+ interfaceInstance.fragments.forEach((fragment) => {
112
+ let key;
113
+ if (fragment instanceof abi_1.FunctionFragment) {
114
+ // For functions, use the signature as the key
115
+ // This includes name and parameter types
116
+ key = fragment.format();
117
+ }
118
+ else if (fragment instanceof abi_1.EventFragment) {
119
+ // For events, use the signature as the key
120
+ key = fragment.format();
121
+ }
122
+ else {
123
+ // For other fragment types (like errors), use their string representation
124
+ key = fragment.toString();
125
+ }
126
+ // Only add if we haven't seen this signature before
127
+ if (!uniqueFragments.has(key)) {
128
+ uniqueFragments.set(key, fragment);
129
+ }
130
+ });
131
+ });
132
+ // Convert the Map values back to an array
133
+ const dedupedFragments = Array.from(uniqueFragments.values());
134
+ // Create a new interface with the deduped fragments
135
+ return new abi_1.Interface(dedupedFragments);
136
+ };
137
+ }
138
+ exports.BalancerEventHook = BalancerEventHook;
139
+ //# sourceMappingURL=balancer-hook-event-subscriber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balancer-hook-event-subscriber.js","sourceRoot":"","sources":["../../../../src/dex/balancer-v3/hooks/balancer-hook-event-subscriber.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { Log } from '../../../types';
2
+ import { DeepReadonly } from 'ts-essentials';
3
+ import { HookStateMap } from './balancer-hook-event-subscriber';
4
+ export declare const DirectionalFee: {
5
+ type: "DirectionalFee";
6
+ };
7
+ export type DirectionalFeeConfig = {
8
+ type: typeof DirectionalFee.type;
9
+ address: string;
10
+ };
11
+ export type DirectionalFeeHookState = {
12
+ test: string;
13
+ };
14
+ /**
15
+ * Retrieve any initial hook state required.
16
+ * @returns
17
+ */
18
+ export declare function getDirectionalFeeHookState(): Promise<DirectionalFeeHookState>;
19
+ /**
20
+ * Handles the event emitted when a new hook is registered.
21
+ * @param event
22
+ * @param state
23
+ * @param log
24
+ * @returns
25
+ */
26
+ export declare function exitFeeHookExampleRegisteredEvent(event: any, state: DeepReadonly<HookStateMap>, log: Readonly<Log>): DeepReadonly<HookStateMap> | null;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DirectionalFee = void 0;
7
+ exports.getDirectionalFeeHookState = getDirectionalFeeHookState;
8
+ exports.exitFeeHookExampleRegisteredEvent = exitFeeHookExampleRegisteredEvent;
9
+ /**
10
+ * Each supported hook should implement its own version of this file making it easy to retrieve required onchain state.
11
+ */
12
+ const lodash_1 = __importDefault(require("lodash"));
13
+ exports.DirectionalFee = {
14
+ type: 'DirectionalFee',
15
+ };
16
+ /**
17
+ * Retrieve any initial hook state required.
18
+ * @returns
19
+ */
20
+ async function getDirectionalFeeHookState() {
21
+ // Note - for other hooks this function would retrieve any initial state using onchain calls
22
+ return { test: 'initial' };
23
+ }
24
+ /**
25
+ * Handles the event emitted when a new hook is registered.
26
+ * @param event
27
+ * @param state
28
+ * @param log
29
+ * @returns
30
+ */
31
+ function exitFeeHookExampleRegisteredEvent(event, state, log) {
32
+ // Note - This is a non-important event but demos the use case. Other hooks would implement this for any state changes required for swap maths.
33
+ const hookAddress = event.args.hooksContract.toLowerCase();
34
+ if (!state[hookAddress]) {
35
+ return null;
36
+ }
37
+ const newState = lodash_1.default.cloneDeep(state);
38
+ newState[hookAddress] = { test: event.args.pool };
39
+ return newState;
40
+ }
41
+ //# sourceMappingURL=directionalFeeHook.js.map