@paraswap/dex-lib 4.1.19-pools.0 → 4.1.19-pools.1

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 (1318) hide show
  1. package/build/abi/aave-gsm/Pool.json +1459 -0
  2. package/build/abi/uniswap-v4/pool-manager.abi.json +1367 -0
  3. package/build/abi/uniswap-v4/state-view.abi.json +365 -0
  4. package/build/dex/aave-gsm/aave-gsm-pool.d.ts +7 -1
  5. package/build/dex/aave-gsm/aave-gsm-pool.js +46 -4
  6. package/build/dex/aave-gsm/aave-gsm-pool.js.map +1 -1
  7. package/build/dex/aave-gsm/aave-gsm.js +37 -30
  8. package/build/dex/aave-gsm/aave-gsm.js.map +1 -1
  9. package/build/dex/aave-gsm/config.js +6 -5
  10. package/build/dex/aave-gsm/config.js.map +1 -1
  11. package/build/dex/aave-gsm/types.d.ts +5 -2
  12. package/build/dex/balancer-v3/balancer-test-helpers.d.ts +5 -0
  13. package/build/dex/balancer-v3/balancer-test-helpers.js +25 -1
  14. package/build/dex/balancer-v3/balancer-test-helpers.js.map +1 -1
  15. package/build/dex/balancer-v3/balancer-v3-pool.js +35 -7
  16. package/build/dex/balancer-v3/balancer-v3-pool.js.map +1 -1
  17. package/build/dex/balancer-v3/balancer-v3.js +9 -2
  18. package/build/dex/balancer-v3/balancer-v3.js.map +1 -1
  19. package/build/dex/balancer-v3/config.d.ts +2 -1
  20. package/build/dex/balancer-v3/config.js +7 -0
  21. package/build/dex/balancer-v3/config.js.map +1 -1
  22. package/build/dex/balancer-v3/getGasCost.js +3 -0
  23. package/build/dex/balancer-v3/getGasCost.js.map +1 -1
  24. package/build/dex/balancer-v3/getOnChainState.d.ts +5 -1
  25. package/build/dex/balancer-v3/getOnChainState.js +69 -9
  26. package/build/dex/balancer-v3/getOnChainState.js.map +1 -1
  27. package/build/dex/balancer-v3/getPoolsApi.js +45 -7
  28. package/build/dex/balancer-v3/getPoolsApi.js.map +1 -1
  29. package/build/dex/balancer-v3/getTopPoolsApi.d.ts +4 -3
  30. package/build/dex/balancer-v3/getTopPoolsApi.js +17 -6
  31. package/build/dex/balancer-v3/getTopPoolsApi.js.map +1 -1
  32. package/build/dex/balancer-v3/hooks/directionalFeeHook.d.ts +2 -0
  33. package/build/dex/balancer-v3/hooks/directionalFeeHook.js +1 -0
  34. package/build/dex/balancer-v3/hooks/directionalFeeHook.js.map +1 -1
  35. package/build/dex/balancer-v3/hooks/stableSurgeHook.d.ts +2 -0
  36. package/build/dex/balancer-v3/hooks/stableSurgeHook.js +1 -0
  37. package/build/dex/balancer-v3/hooks/stableSurgeHook.js.map +1 -1
  38. package/build/dex/balancer-v3/types.d.ts +6 -2
  39. package/build/dex/curve-v1/config.js +5 -0
  40. package/build/dex/curve-v1/config.js.map +1 -1
  41. package/build/dex/pancakeswap-v3/config.js +1 -1
  42. package/build/dex/pancakeswap-v3/config.js.map +1 -1
  43. package/build/dex/uniswap-v2/config.js +1 -0
  44. package/build/dex/uniswap-v2/config.js.map +1 -1
  45. package/build/dex/uniswap-v3/config.js +3 -2
  46. package/build/dex/uniswap-v3/config.js.map +1 -1
  47. package/build/dex/uniswap-v3/uniswap-v3.d.ts +1 -1
  48. package/build/dex/uniswap-v3/uniswap-v3.js +53 -65
  49. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  50. package/build/dex/uniswap-v4/config.js +43 -0
  51. package/build/dex/uniswap-v4/config.js.map +1 -1
  52. package/build/dex/uniswap-v4/constants.d.ts +7 -0
  53. package/build/dex/uniswap-v4/constants.js +18 -0
  54. package/build/dex/uniswap-v4/constants.js.map +1 -0
  55. package/build/dex/uniswap-v4/contract-math/BalanceDelta.d.ts +6 -0
  56. package/build/dex/uniswap-v4/contract-math/BalanceDelta.js +22 -0
  57. package/build/dex/uniswap-v4/contract-math/BalanceDelta.js.map +1 -0
  58. package/build/dex/uniswap-v4/contract-math/BitMath.d.ts +4 -0
  59. package/build/dex/uniswap-v4/contract-math/BitMath.js +53 -0
  60. package/build/dex/uniswap-v4/contract-math/BitMath.js.map +1 -0
  61. package/build/dex/uniswap-v4/contract-math/FixedPoint128.d.ts +3 -0
  62. package/build/dex/uniswap-v4/contract-math/FixedPoint128.js +8 -0
  63. package/build/dex/uniswap-v4/contract-math/FixedPoint128.js.map +1 -0
  64. package/build/dex/uniswap-v4/contract-math/FixedPoint96.d.ts +4 -0
  65. package/build/dex/uniswap-v4/contract-math/FixedPoint96.js +9 -0
  66. package/build/dex/uniswap-v4/contract-math/FixedPoint96.js.map +1 -0
  67. package/build/dex/uniswap-v4/contract-math/FullMath.d.ts +4 -0
  68. package/build/dex/uniswap-v4/contract-math/FullMath.js +19 -0
  69. package/build/dex/uniswap-v4/contract-math/FullMath.js.map +1 -0
  70. package/build/dex/uniswap-v4/contract-math/LPFeeLibrary.d.ts +13 -0
  71. package/build/dex/uniswap-v4/contract-math/LPFeeLibrary.js +36 -0
  72. package/build/dex/uniswap-v4/contract-math/LPFeeLibrary.js.map +1 -0
  73. package/build/dex/uniswap-v4/contract-math/LiquidityMath.d.ts +3 -0
  74. package/build/dex/uniswap-v4/contract-math/LiquidityMath.js +21 -0
  75. package/build/dex/uniswap-v4/contract-math/LiquidityMath.js.map +1 -0
  76. package/build/dex/uniswap-v4/contract-math/Position.d.ts +9 -0
  77. package/build/dex/uniswap-v4/contract-math/Position.js +39 -0
  78. package/build/dex/uniswap-v4/contract-math/Position.js.map +1 -0
  79. package/build/dex/uniswap-v4/contract-math/ProtocolFeeLibrary.d.ts +10 -0
  80. package/build/dex/uniswap-v4/contract-math/ProtocolFeeLibrary.js +30 -0
  81. package/build/dex/uniswap-v4/contract-math/ProtocolFeeLibrary.js.map +1 -0
  82. package/build/dex/uniswap-v4/contract-math/SqrtPriceMath.d.ts +11 -0
  83. package/build/dex/uniswap-v4/contract-math/SqrtPriceMath.js +80 -0
  84. package/build/dex/uniswap-v4/contract-math/SqrtPriceMath.js.map +1 -0
  85. package/build/dex/uniswap-v4/contract-math/SwapMath.d.ts +10 -0
  86. package/build/dex/uniswap-v4/contract-math/SwapMath.js +65 -0
  87. package/build/dex/uniswap-v4/contract-math/SwapMath.js.map +1 -0
  88. package/build/dex/uniswap-v4/contract-math/Tick.d.ts +10 -0
  89. package/build/dex/uniswap-v4/contract-math/Tick.js +64 -0
  90. package/build/dex/uniswap-v4/contract-math/Tick.js.map +1 -0
  91. package/build/dex/uniswap-v4/contract-math/TickBitmap.d.ts +11 -0
  92. package/build/dex/uniswap-v4/contract-math/TickBitmap.js +72 -0
  93. package/build/dex/uniswap-v4/contract-math/TickBitmap.js.map +1 -0
  94. package/build/dex/uniswap-v4/contract-math/TickMath.d.ts +9 -0
  95. package/build/dex/uniswap-v4/contract-math/TickMath.js +164 -0
  96. package/build/dex/uniswap-v4/contract-math/TickMath.js.map +1 -0
  97. package/build/dex/uniswap-v4/contract-math/UnsafeMath.d.ts +4 -0
  98. package/build/dex/uniswap-v4/contract-math/UnsafeMath.js +16 -0
  99. package/build/dex/uniswap-v4/contract-math/UnsafeMath.js.map +1 -0
  100. package/build/dex/uniswap-v4/contract-math/uniswap-v4-pool-math.d.ts +18 -0
  101. package/build/dex/uniswap-v4/contract-math/uniswap-v4-pool-math.js +236 -0
  102. package/build/dex/uniswap-v4/contract-math/uniswap-v4-pool-math.js.map +1 -0
  103. package/build/dex/uniswap-v4/contract-math/utils.d.ts +3 -0
  104. package/build/dex/uniswap-v4/contract-math/utils.js +15 -0
  105. package/build/dex/uniswap-v4/contract-math/utils.js.map +1 -0
  106. package/build/dex/uniswap-v4/encoder.js +12 -2
  107. package/build/dex/uniswap-v4/encoder.js.map +1 -1
  108. package/build/dex/uniswap-v4/subgraph.d.ts +5 -0
  109. package/build/dex/uniswap-v4/subgraph.js +69 -0
  110. package/build/dex/uniswap-v4/subgraph.js.map +1 -0
  111. package/build/dex/uniswap-v4/types.d.ts +62 -4
  112. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.d.ts +31 -0
  113. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js +129 -0
  114. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js.map +1 -0
  115. package/build/dex/uniswap-v4/uniswap-v4-pool.d.ts +39 -0
  116. package/build/dex/uniswap-v4/uniswap-v4-pool.js +324 -0
  117. package/build/dex/uniswap-v4/uniswap-v4-pool.js.map +1 -0
  118. package/build/dex/uniswap-v4/uniswap-v4.d.ts +6 -6
  119. package/build/dex/uniswap-v4/uniswap-v4.js +28 -47
  120. package/build/dex/uniswap-v4/uniswap-v4.js.map +1 -1
  121. package/build/dex/uniswap-v4/utils.d.ts +2 -0
  122. package/build/dex/uniswap-v4/utils.js +15 -0
  123. package/build/dex/uniswap-v4/utils.js.map +1 -0
  124. package/build/dex/wombat/wombat.d.ts +0 -1
  125. package/build/dex/wombat/wombat.js +2 -44
  126. package/build/dex/wombat/wombat.js.map +1 -1
  127. package/build/dex/woo-fi-v2/config.js +16 -15
  128. package/build/dex/woo-fi-v2/config.js.map +1 -1
  129. package/package.json +2 -2
  130. package/.env.example +0 -15
  131. package/.eslintrc.js +0 -65
  132. package/.github/workflows/ci.yaml +0 -22
  133. package/.husky/pre-commit +0 -4
  134. package/.prettierrc +0 -10
  135. package/.vscode/launch.json +0 -53
  136. package/.vscode/settings.json +0 -2
  137. package/.vscode/tasks.json +0 -15
  138. package/dex-template/__DexName__-e2e.test.ts.template +0 -155
  139. package/dex-template/__DexName__-events.test.ts.template +0 -110
  140. package/dex-template/__DexName__-integration.test.ts.template +0 -251
  141. package/dex-template/__DexName__-pool.ts.template +0 -91
  142. package/dex-template/__DexName__.ts.template +0 -156
  143. package/dex-template/config.ts.template +0 -9
  144. package/dex-template/types.ts.template +0 -22
  145. package/funding.json +0 -5
  146. package/jest.config.js +0 -10
  147. package/scripts/dex-integration.ts +0 -164
  148. package/scripts/fetch-event-blocknumber.ts +0 -51
  149. package/scripts/generate-bytecode.ts +0 -11
  150. package/scripts/run-dex-integration-v3.ts +0 -78
  151. package/scripts/run-dex-integration.ts +0 -95
  152. package/src/abi/AaveV2_lending_pool.json +0 -53
  153. package/src/abi/AaveV3_lending_pool.json +0 -1715
  154. package/src/abi/Balancer.json +0 -257
  155. package/src/abi/BalancerCustomMulticall.json +0 -26
  156. package/src/abi/BalancerV1ExchangeProxy.json +0 -377
  157. package/src/abi/BalancerV1Pool.json +0 -1630
  158. package/src/abi/BalancerV2.json +0 -1179
  159. package/src/abi/Bancor.json +0 -392
  160. package/src/abi/Compound_CETH.json +0 -12
  161. package/src/abi/Curve.json +0 -54
  162. package/src/abi/CurveV2.json +0 -700
  163. package/src/abi/DirectSwap.json +0 -1018
  164. package/src/abi/ERC1155.abi.json +0 -459
  165. package/src/abi/ERC1271.abi.json +0 -25
  166. package/src/abi/ERC20.abi.json +0 -288
  167. package/src/abi/ERC4626.json +0 -791
  168. package/src/abi/ERC721.abi.json +0 -165
  169. package/src/abi/IParaswap.json +0 -3059
  170. package/src/abi/RamsesV2Pool.abi.json +0 -1554
  171. package/src/abi/RamsesV2Quoter.abi.json +0 -274
  172. package/src/abi/RamsesV2StateMulticall.abi.json +0 -891
  173. package/src/abi/Redstone.json +0 -739
  174. package/src/abi/SSPM.json +0 -829
  175. package/src/abi/SimpleSwapHelperRouter.json +0 -38
  176. package/src/abi/Smoothy.json +0 -1049
  177. package/src/abi/StablePool.json +0 -1035
  178. package/src/abi/StaderOracle.json +0 -2170
  179. package/src/abi/TraderJoeV21Router.json +0 -1489
  180. package/src/abi/USDM.json +0 -807
  181. package/src/abi/UniswapV2ExchangeRouter.json +0 -84
  182. package/src/abi/UniswapV2Router.json +0 -397
  183. package/src/abi/UniswapV3Router.json +0 -274
  184. package/src/abi/aave-gsm/Aave_GSM.json +0 -751
  185. package/src/abi/aave-gsm/IFeeStrategy.json +0 -78
  186. package/src/abi/aave-v3-weth-gateway.json +0 -290
  187. package/src/abi/aave-weth-gateway-avalanche.json +0 -242
  188. package/src/abi/aave-weth-gateway-polygon.json +0 -242
  189. package/src/abi/aave-weth-gateway.json +0 -38
  190. package/src/abi/aavev3stata/Factory.json +0 -128
  191. package/src/abi/aavev3stata/Token.json +0 -735
  192. package/src/abi/aavev3statav2/Factory.json +0 -131
  193. package/src/abi/aavev3statav2/Pool.json +0 -1459
  194. package/src/abi/aavev3statav2/Token.json +0 -997
  195. package/src/abi/aerodrome/aerodrome-pool-factory.json +0 -586
  196. package/src/abi/algebra/AlgebraFactory-v1_1.abi.json +0 -250
  197. package/src/abi/algebra/AlgebraPool-v1_1.abi.json +0 -727
  198. package/src/abi/algebra/AlgebraPool-v1_9.abi.json +0 -756
  199. package/src/abi/algebra/AlgebraQuoter.abi.json +0 -138
  200. package/src/abi/algebra/AlgebraStateMulticall.abi.json +0 -801
  201. package/src/abi/algebra/SwapRouter.json +0 -281
  202. package/src/abi/angle/stagToken.json +0 -963
  203. package/src/abi/angle-transmuter/ChainlinkAccessControlledOffchainAggregator.json +0 -1246
  204. package/src/abi/angle-transmuter/ChainlinkEACAggregatorProxy.json +0 -509
  205. package/src/abi/angle-transmuter/MorphoOracle.json +0 -193
  206. package/src/abi/angle-transmuter/MorphoVault.json +0 -2506
  207. package/src/abi/angle-transmuter/Pyth.json +0 -1534
  208. package/src/abi/angle-transmuter/Transmuter.json +0 -1711
  209. package/src/abi/angle-transmuter/TransmuterSidechain.json +0 -1798
  210. package/src/abi/api3-proxy.json +0 -53
  211. package/src/abi/api3-server-v1.json +0 -463
  212. package/src/abi/augustus-v6/ABI.json +0 -1572
  213. package/src/abi/augustus.json +0 -375
  214. package/src/abi/balancer-v2/ComposableStable.json +0 -1391
  215. package/src/abi/balancer-v2/gyro-e.abi.json +0 -1595
  216. package/src/abi/balancer-v2/linearPoolAbi.json +0 -1062
  217. package/src/abi/balancer-v2/meta-stable-pool.json +0 -1437
  218. package/src/abi/balancer-v2/stable-pool.json +0 -1053
  219. package/src/abi/balancer-v2/vault.json +0 -918
  220. package/src/abi/balancer-v2/weighted-pool.json +0 -1142
  221. package/src/abi/balancer-v3/batch-router.json +0 -989
  222. package/src/abi/balancer-v3/directionalFeeHook.json +0 -684
  223. package/src/abi/balancer-v3/router.json +0 -1792
  224. package/src/abi/balancer-v3/stableSurgeHook.json +0 -976
  225. package/src/abi/balancer-v3/vault-extension.json +0 -2834
  226. package/src/abi/bebop/BebopSettlement.abi.json +0 -2137
  227. package/src/abi/benqi/staked-avax.json +0 -954
  228. package/src/abi/cables/CablesMainnetRFQ.json +0 -1083
  229. package/src/abi/camelot/CamelotFactory.json +0 -494
  230. package/src/abi/camelot/CamelotPair.json +0 -1027
  231. package/src/abi/chainlink.json +0 -323
  232. package/src/abi/concentrator/arUSD.json +0 -568
  233. package/src/abi/concentrator/arUSD5115.json +0 -1746
  234. package/src/abi/curve-v1/CurveBUSDv2.abi.json +0 -1356
  235. package/src/abi/curve-v1/CurveTokenV1.json +0 -305
  236. package/src/abi/curve-v1/CurveTokenV2.json +0 -318
  237. package/src/abi/curve-v1/CurveV1StableNg.json +0 -1452
  238. package/src/abi/curve-v1/CurveV2Swap.json +0 -700
  239. package/src/abi/curve-v1/FactoryCryptoRegistry.json +0 -316
  240. package/src/abi/curve-v1/FactoryRegistry.json +0 -508
  241. package/src/abi/curve-v1/StableSwap3Pool.json +0 -838
  242. package/src/abi/curve-v1/StableSwapAave.json +0 -1152
  243. package/src/abi/curve-v1/StableSwapBBTC.json +0 -1017
  244. package/src/abi/curve-v1/StableSwapBUSD.json +0 -814
  245. package/src/abi/curve-v1/StableSwapCompound.json +0 -814
  246. package/src/abi/curve-v1/StableSwapDUSD.json +0 -1004
  247. package/src/abi/curve-v1/StableSwapEURS.json +0 -868
  248. package/src/abi/curve-v1/StableSwapGUSD.json +0 -1004
  249. package/src/abi/curve-v1/StableSwapHBTC.json +0 -838
  250. package/src/abi/curve-v1/StableSwapHUSD.json +0 -1004
  251. package/src/abi/curve-v1/StableSwapIDLE.json +0 -1253
  252. package/src/abi/curve-v1/StableSwapLinkUSD.json +0 -1004
  253. package/src/abi/curve-v1/StableSwapMUSD.json +0 -1004
  254. package/src/abi/curve-v1/StableSwapOBTC.json +0 -1017
  255. package/src/abi/curve-v1/StableSwapPBTC.json +0 -1017
  256. package/src/abi/curve-v1/StableSwapPax.json +0 -865
  257. package/src/abi/curve-v1/StableSwapRSV.json +0 -1004
  258. package/src/abi/curve-v1/StableSwapRen.json +0 -851
  259. package/src/abi/curve-v1/StableSwapSBTC.json +0 -851
  260. package/src/abi/curve-v1/StableSwapSETH.json +0 -850
  261. package/src/abi/curve-v1/StableSwapSLINK.json +0 -899
  262. package/src/abi/curve-v1/StableSwapSTETH.json +0 -895
  263. package/src/abi/curve-v1/StableSwapSUSD.json +0 -760
  264. package/src/abi/curve-v1/StableSwapSnow.json +0 -900
  265. package/src/abi/curve-v1/StableSwapTBTC.json +0 -1017
  266. package/src/abi/curve-v1/StableSwapUSDK.json +0 -1004
  267. package/src/abi/curve-v1/StableSwapUSDN.json +0 -1004
  268. package/src/abi/curve-v1/StableSwapUSDT.json +0 -814
  269. package/src/abi/curve-v1/StableSwapUST.json +0 -1017
  270. package/src/abi/curve-v1/StableSwapY.json +0 -814
  271. package/src/abi/curve-v1-factory/CurveV1Router.abi.json +0 -331
  272. package/src/abi/curve-v1-factory/FactoryCurveV1.json +0 -508
  273. package/src/abi/curve-v1-factory/ThreePool.json +0 -468
  274. package/src/abi/curve-v2/GenericFactoryZap.json +0 -233
  275. package/src/abi/dexalot/DexalotMainnetRFQ.json +0 -952
  276. package/src/abi/dodo-v2-proxy.json +0 -565
  277. package/src/abi/ekubo/core.json +0 -1266
  278. package/src/abi/ekubo/data-fetcher.json +0 -161
  279. package/src/abi/ekubo/router.json +0 -803
  280. package/src/abi/erc20.json +0 -308
  281. package/src/abi/etherfi/eETHPool.json +0 -9
  282. package/src/abi/etherfi/weETH.json +0 -20
  283. package/src/abi/fluid-dex/dexFactory.abi.json +0 -506
  284. package/src/abi/fluid-dex/fluid-dex.abi.json +0 -1476
  285. package/src/abi/fluid-dex/liquidityUserModule.abi.json +0 -145
  286. package/src/abi/fluid-dex/resolver.abi.json +0 -2030
  287. package/src/abi/fx-protocol/FxMarket.json +0 -1284
  288. package/src/abi/fx-protocol/FxUSD.json +0 -1227
  289. package/src/abi/fx-protocol/weETHOralce.json +0 -676
  290. package/src/abi/gmx/fast-price-events.json +0 -70
  291. package/src/abi/gmx/fast-price-feed.json +0 -748
  292. package/src/abi/gmx/reader.json +0 -337
  293. package/src/abi/gmx/vault-price-feed.json +0 -477
  294. package/src/abi/gmx/vault.json +0 -2002
  295. package/src/abi/hashflow/HashflowRouter.abi.json +0 -1539
  296. package/src/abi/idle-dao/idle-cdo-factory.json +0 -38
  297. package/src/abi/idle-dao/idle-cdo.json +0 -1245
  298. package/src/abi/infusion/InfusionFactory.json +0 -147
  299. package/src/abi/infusion/InfusionPair.json +0 -658
  300. package/src/abi/infusion/InfusionRouter.json +0 -442
  301. package/src/abi/jarvis/ChainlinkAccessControlledOffchainAggregator.json +0 -1009
  302. package/src/abi/jarvis/SynthereumPriceFeed.json +0 -381
  303. package/src/abi/jarvis/jarvis-v6-pool.json +0 -1041
  304. package/src/abi/kyberdmm/kyber-dmm-exchange-router.abi.json +0 -1148
  305. package/src/abi/kyberdmm/kyber-dmm-factory.abi.json +0 -335
  306. package/src/abi/kyberdmm/kyber-dmm-pool.abi.json +0 -803
  307. package/src/abi/kyberdmm/kyber-storage.abi.json +0 -824
  308. package/src/abi/kyberdmm.abi.json +0 -1148
  309. package/src/abi/lite-psm/dai.json +0 -333
  310. package/src/abi/lite-psm/psm.json +0 -468
  311. package/src/abi/lite-psm/usdc.json +0 -814
  312. package/src/abi/lite-psm/usdsPsm.json +0 -163
  313. package/src/abi/m-token/WrappedM.abi.json +0 -1708
  314. package/src/abi/maker-psm/pot.json +0 -322
  315. package/src/abi/maker-psm/psm.json +0 -243
  316. package/src/abi/maker-psm/vat.json +0 -363
  317. package/src/abi/maverick-v1/pool-inspector.json +0 -216
  318. package/src/abi/maverick-v1/pool.json +0 -1111
  319. package/src/abi/maverick-v1/router.json +0 -389
  320. package/src/abi/maverick-v2/MaverickV2Pool.json +0 -1234
  321. package/src/abi/maverick-v2/MaverickV2PoolLens.json +0 -1232
  322. package/src/abi/maverick-v2/MaverickV2Quoter.json +0 -278
  323. package/src/abi/maverick-v2/MaverickV2Router.json +0 -778
  324. package/src/abi/multi-v2.json +0 -313
  325. package/src/abi/nerve/axial-pool.json +0 -693
  326. package/src/abi/nerve/iron-v2-pool.json +0 -785
  327. package/src/abi/nerve/nerve-metapool.json +0 -790
  328. package/src/abi/nerve/nerve-pool.json +0 -1035
  329. package/src/abi/nomiswap-v2/nomiswap-v2-pool.json +0 -773
  330. package/src/abi/oswap/oswap.abi.json +0 -452
  331. package/src/abi/pancakeswap-v3/PancakeV3StateMulticall.abi.json +0 -781
  332. package/src/abi/pancakeswap-v3/PancakeswapV3Factory.abi.json +0 -300
  333. package/src/abi/pancakeswap-v3/PancakeswapV3Pool.abi.json +0 -1039
  334. package/src/abi/pancakeswap-v3/PancakeswapV3Quoter.abi.json +0 -285
  335. package/src/abi/pancakeswap-v3/PancakeswapV3Router.abi.json +0 -583
  336. package/src/abi/paraswap-limit-orders/AugustusRFQ.abi.json +0 -1081
  337. package/src/abi/permit/IERC20Permit.json +0 -45
  338. package/src/abi/permit/IERC20PermitLegacy.json +0 -50
  339. package/src/abi/permit2.json +0 -581
  340. package/src/abi/polygon-migration/PolygonMigration.abi.json +0 -364
  341. package/src/abi/quick-perps/fast-price-events.json +0 -70
  342. package/src/abi/quick-perps/fast-price-feed.json +0 -741
  343. package/src/abi/quick-perps/reader.json +0 -313
  344. package/src/abi/quick-perps/vault-price-feed.json +0 -323
  345. package/src/abi/quick-perps/vault.json +0 -1953
  346. package/src/abi/ramses-v2/RamsesV2Pool.abi.json +0 -1599
  347. package/src/abi/rswETH.json +0 -1142
  348. package/src/abi/sdai/PSM3.abi.json +0 -721
  349. package/src/abi/sdai/SSRAuthOracle.abi.json +0 -522
  350. package/src/abi/sdai/SavingsDai.abi.json +0 -877
  351. package/src/abi/sdai/SavingsUSDS.abi.json +0 -720
  352. package/src/abi/sky-converter/DaiUsdsConverter.json +0 -116
  353. package/src/abi/sky-converter/MkrSkyConverter.json +0 -118
  354. package/src/abi/solidly/SolidlyFactory.json +0 -147
  355. package/src/abi/solidly/SolidlyPair.json +0 -658
  356. package/src/abi/solidly-v3/SolidlyV3Pool.abi.json +0 -738
  357. package/src/abi/solidly-v3/SolidlyV3StateMulticall.abi.json +0 -375
  358. package/src/abi/stETH.json +0 -735
  359. package/src/abi/stkGHO.json +0 -1131
  360. package/src/abi/swETH.json +0 -1086
  361. package/src/abi/swaap-v2/vault.json +0 -918
  362. package/src/abi/synthetix/CombinedSynthetix.abi.json +0 -422
  363. package/src/abi/uniswap-v2/biswap-pool.json +0 -501
  364. package/src/abi/uniswap-v2/excalibur-pool.json +0 -881
  365. package/src/abi/uniswap-v2/mdex-factory.json +0 -759
  366. package/src/abi/uniswap-v2/uniswap-v2-factory.json +0 -125
  367. package/src/abi/uniswap-v2/uniswap-v2-pool.json +0 -461
  368. package/src/abi/uniswap-v3/UniswapMulti.abi.json +0 -52
  369. package/src/abi/uniswap-v3/UniswapV3Factory.abi.json +0 -148
  370. package/src/abi/uniswap-v3/UniswapV3Pool.abi.json +0 -988
  371. package/src/abi/uniswap-v3/UniswapV3Quoter.abi.json +0 -193
  372. package/src/abi/uniswap-v3/UniswapV3QuoterV2.abi.json +0 -155
  373. package/src/abi/uniswap-v3/UniswapV3Router.abi.json +0 -274
  374. package/src/abi/uniswap-v3/UniswapV3StateMulticall.abi.json +0 -781
  375. package/src/abi/usual-bond/usd0pp.abi.json +0 -867
  376. package/src/abi/usual-m-usd0/usualCollateralDao.abi.json +0 -681
  377. package/src/abi/usual-m-wrapped-m/usualM.abi.json +0 -509
  378. package/src/abi/usual-pp/abi.json +0 -750
  379. package/src/abi/velodrome-slipstream/VelodromeSlipstreamFactory.abi.json +0 -579
  380. package/src/abi/velodrome-slipstream/VelodromeSlipstreamPool.abi.json +0 -1275
  381. package/src/abi/velodrome-slipstream/VelodromeSlipstreamQuoterV2.abi.json +0 -267
  382. package/src/abi/velodrome-slipstream/VelodromeSlipstreamStateMulticall.abi.json +0 -766
  383. package/src/abi/weth.abi.json +0 -153
  384. package/src/abi/wombat/asset.json +0 -743
  385. package/src/abi/wombat/bmw.json +0 -1247
  386. package/src/abi/wombat/pool-v2.json +0 -1289
  387. package/src/abi/wombat/pool-v3.json +0 -2013
  388. package/src/abi/woo-fi-v2/IntegrationHelper.abi.json +0 -116
  389. package/src/abi/woo-fi-v2/WooOracleV2.abi.json +0 -358
  390. package/src/abi/woo-fi-v2/WooPPV2.abi.json +0 -580
  391. package/src/abi/wstETH.json +0 -252
  392. package/src/bigint-constants.ts +0 -21
  393. package/src/bignumber-constants.ts +0 -20
  394. package/src/calldata-gas-cost.ts +0 -26
  395. package/src/composed-event-subscriber.ts +0 -131
  396. package/src/config.ts +0 -580
  397. package/src/constants.ts +0 -74
  398. package/src/dex/aave-gsm/aave-gsm-e2e.test.ts +0 -110
  399. package/src/dex/aave-gsm/aave-gsm-events.test.ts +0 -82
  400. package/src/dex/aave-gsm/aave-gsm-gas-estimation.test.ts +0 -32
  401. package/src/dex/aave-gsm/aave-gsm-integration.test.ts +0 -522
  402. package/src/dex/aave-gsm/aave-gsm-pool.ts +0 -225
  403. package/src/dex/aave-gsm/aave-gsm.ts +0 -431
  404. package/src/dex/aave-gsm/config.ts +0 -16
  405. package/src/dex/aave-gsm/types.ts +0 -24
  406. package/src/dex/aave-v2/aave-v2-e2e.test.ts +0 -287
  407. package/src/dex/aave-v2/aave-v2-gas-estimation.test.ts +0 -28
  408. package/src/dex/aave-v2/aave-v2-integration.test.ts +0 -100
  409. package/src/dex/aave-v2/aave-v2.ts +0 -409
  410. package/src/dex/aave-v2/config.ts +0 -56
  411. package/src/dex/aave-v2/tokenlist.json +0 -904
  412. package/src/dex/aave-v2/tokens.ts +0 -76
  413. package/src/dex/aave-v2/types.ts +0 -43
  414. package/src/dex/aave-v3/aave-v3-e2e.test.ts +0 -578
  415. package/src/dex/aave-v3/aave-v3-gas-estimation.test.ts +0 -66
  416. package/src/dex/aave-v3/aave-v3-integration.test.ts +0 -148
  417. package/src/dex/aave-v3/aave-v3.ts +0 -331
  418. package/src/dex/aave-v3/config.ts +0 -157
  419. package/src/dex/aave-v3/tokens.ts +0 -68
  420. package/src/dex/aave-v3/types.ts +0 -46
  421. package/src/dex/aave-v3/utils.ts +0 -153
  422. package/src/dex/aave-v3-stata/aave-v3-stata-e2e.test.ts +0 -355
  423. package/src/dex/aave-v3-stata/aave-v3-stata-gas-estimation.test.ts +0 -41
  424. package/src/dex/aave-v3-stata/aave-v3-stata-integration.test.ts +0 -282
  425. package/src/dex/aave-v3-stata/aave-v3-stata.ts +0 -530
  426. package/src/dex/aave-v3-stata/config.ts +0 -61
  427. package/src/dex/aave-v3-stata/tokens.ts +0 -48
  428. package/src/dex/aave-v3-stata/types.ts +0 -69
  429. package/src/dex/aave-v3-stata/utils.ts +0 -84
  430. package/src/dex/aave-v3-stata-v2/aave-v3-stata-v2-e2e.test.ts +0 -376
  431. package/src/dex/aave-v3-stata-v2/aave-v3-stata-v2-gas-estimation.test.ts +0 -41
  432. package/src/dex/aave-v3-stata-v2/aave-v3-stata-v2-integration.test.ts +0 -600
  433. package/src/dex/aave-v3-stata-v2/aave-v3-stata-v2.ts +0 -477
  434. package/src/dex/aave-v3-stata-v2/config.ts +0 -47
  435. package/src/dex/aave-v3-stata-v2/tokens.ts +0 -48
  436. package/src/dex/aave-v3-stata-v2/types.ts +0 -42
  437. package/src/dex/aave-v3-stata-v2/utils.ts +0 -96
  438. package/src/dex/algebra/algebra-e2e.test.ts +0 -313
  439. package/src/dex/algebra/algebra-events.test.ts +0 -186
  440. package/src/dex/algebra/algebra-factory.ts +0 -77
  441. package/src/dex/algebra/algebra-integration.test.ts +0 -558
  442. package/src/dex/algebra/algebra-pool-v1_1.ts +0 -853
  443. package/src/dex/algebra/algebra-pool-v1_9.ts +0 -614
  444. package/src/dex/algebra/algebra-pool-v1_9_bidirectional_fee.ts +0 -55
  445. package/src/dex/algebra/algebra.ts +0 -1141
  446. package/src/dex/algebra/config.ts +0 -128
  447. package/src/dex/algebra/constants.ts +0 -17
  448. package/src/dex/algebra/lib/AlgebraMath.ts +0 -706
  449. package/src/dex/algebra/lib/Constants.ts +0 -5
  450. package/src/dex/algebra/lib/TickManager.ts +0 -91
  451. package/src/dex/algebra/lib/TickTable.ts +0 -227
  452. package/src/dex/algebra/lib/yul-helper.ts +0 -29
  453. package/src/dex/algebra/scripts/validate-state.ts +0 -292
  454. package/src/dex/algebra/types.ts +0 -146
  455. package/src/dex/algebra/utils.ts +0 -217
  456. package/src/dex/angle-staked-stable/angle-staked-stable-e2e.test.ts +0 -146
  457. package/src/dex/angle-staked-stable/angle-staked-stable-events.test.ts +0 -95
  458. package/src/dex/angle-staked-stable/angle-staked-stable-gas-estimation.test.ts +0 -29
  459. package/src/dex/angle-staked-stable/angle-staked-stable-integration.test.ts +0 -476
  460. package/src/dex/angle-staked-stable/angle-staked-stable-pool.ts +0 -325
  461. package/src/dex/angle-staked-stable/angle-staked-stable.ts +0 -356
  462. package/src/dex/angle-staked-stable/config.ts +0 -139
  463. package/src/dex/angle-staked-stable/types.ts +0 -16
  464. package/src/dex/angle-transmuter/angle-transmuter-e2e.test.ts +0 -156
  465. package/src/dex/angle-transmuter/angle-transmuter-events.test.ts +0 -365
  466. package/src/dex/angle-transmuter/angle-transmuter-gas-estimation.test.ts +0 -41
  467. package/src/dex/angle-transmuter/angle-transmuter-integration.test.ts +0 -390
  468. package/src/dex/angle-transmuter/angle-transmuter-pool.ts +0 -895
  469. package/src/dex/angle-transmuter/angle-transmuter.ts +0 -407
  470. package/src/dex/angle-transmuter/backedOracle.ts +0 -91
  471. package/src/dex/angle-transmuter/config.ts +0 -50
  472. package/src/dex/angle-transmuter/constants.ts +0 -138
  473. package/src/dex/angle-transmuter/morphoOracle.ts +0 -335
  474. package/src/dex/angle-transmuter/morphoVault.ts +0 -134
  475. package/src/dex/angle-transmuter/pyth.ts +0 -105
  476. package/src/dex/angle-transmuter/redstone.ts +0 -105
  477. package/src/dex/angle-transmuter/transmuter.ts +0 -619
  478. package/src/dex/angle-transmuter/types.ts +0 -203
  479. package/src/dex/angle-transmuter/utils.ts +0 -358
  480. package/src/dex/augustus-approvals.ts +0 -208
  481. package/src/dex/augustus-rfq.ts +0 -180
  482. package/src/dex/balancer-v1/balancer-pools.json +0 -33333
  483. package/src/dex/balancer-v1/balancer-v1-e2e.test.ts +0 -119
  484. package/src/dex/balancer-v1/balancer-v1-events.test.ts +0 -83
  485. package/src/dex/balancer-v1/balancer-v1-gas-estimation.test.ts +0 -29
  486. package/src/dex/balancer-v1/balancer-v1-integration.test.ts +0 -307
  487. package/src/dex/balancer-v1/balancer-v1-math.ts +0 -154
  488. package/src/dex/balancer-v1/balancer-v1-pool.ts +0 -232
  489. package/src/dex/balancer-v1/balancer-v1.ts +0 -578
  490. package/src/dex/balancer-v1/config.ts +0 -29
  491. package/src/dex/balancer-v1/optimizer.ts +0 -76
  492. package/src/dex/balancer-v1/types.ts +0 -100
  493. package/src/dex/balancer-v1/utils.ts +0 -57
  494. package/src/dex/balancer-v2/balancer-v2-e2e.test.ts +0 -1612
  495. package/src/dex/balancer-v2/balancer-v2-events.test.ts +0 -132
  496. package/src/dex/balancer-v2/balancer-v2-gas-estimation.test.ts +0 -98
  497. package/src/dex/balancer-v2/balancer-v2-gyro3.test.ts +0 -268
  498. package/src/dex/balancer-v2/balancer-v2-gyroE.test.ts +0 -401
  499. package/src/dex/balancer-v2/balancer-v2-integration.test.ts +0 -931
  500. package/src/dex/balancer-v2/balancer-v2-math.ts +0 -592
  501. package/src/dex/balancer-v2/balancer-v2.ts +0 -1724
  502. package/src/dex/balancer-v2/config.ts +0 -81
  503. package/src/dex/balancer-v2/constants.ts +0 -20
  504. package/src/dex/balancer-v2/optimizer.ts +0 -70
  505. package/src/dex/balancer-v2/pools/balancer-v2-pool.ts +0 -274
  506. package/src/dex/balancer-v2/pools/gyro/Gyro3Pool.ts +0 -255
  507. package/src/dex/balancer-v2/pools/gyro/GyroEPool.ts +0 -402
  508. package/src/dex/balancer-v2/pools/gyro/gyro-helpers.ts +0 -15
  509. package/src/dex/balancer-v2/pools/linear/LinearMath.ts +0 -286
  510. package/src/dex/balancer-v2/pools/linear/LinearPool.ts +0 -639
  511. package/src/dex/balancer-v2/pools/phantom-stable/PhantomStableMath.ts +0 -494
  512. package/src/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.ts +0 -581
  513. package/src/dex/balancer-v2/pools/stable/StableMath.ts +0 -203
  514. package/src/dex/balancer-v2/pools/stable/StablePool.ts +0 -223
  515. package/src/dex/balancer-v2/pools/weighted/WeightedMath.ts +0 -84
  516. package/src/dex/balancer-v2/pools/weighted/WeightedPool.ts +0 -188
  517. package/src/dex/balancer-v2/queryOnChain.ts +0 -48
  518. package/src/dex/balancer-v2/types.ts +0 -215
  519. package/src/dex/balancer-v2/utils.ts +0 -212
  520. package/src/dex/balancer-v3/balancer-hooks-events.test.ts +0 -166
  521. package/src/dex/balancer-v3/balancer-stableSurge.test.ts +0 -110
  522. package/src/dex/balancer-v3/balancer-test-helpers.ts +0 -199
  523. package/src/dex/balancer-v3/balancer-v3-e2e.test.ts +0 -429
  524. package/src/dex/balancer-v3/balancer-v3-events.test.ts +0 -296
  525. package/src/dex/balancer-v3/balancer-v3-gas-estimation.test.ts +0 -30
  526. package/src/dex/balancer-v3/balancer-v3-integration.test.ts +0 -1008
  527. package/src/dex/balancer-v3/balancer-v3-pool.ts +0 -761
  528. package/src/dex/balancer-v3/balancer-v3.ts +0 -655
  529. package/src/dex/balancer-v3/config.ts +0 -93
  530. package/src/dex/balancer-v3/getGasCost.ts +0 -37
  531. package/src/dex/balancer-v3/getOnChainState.ts +0 -397
  532. package/src/dex/balancer-v3/getPoolsApi.ts +0 -148
  533. package/src/dex/balancer-v3/getTopPoolsApi.ts +0 -112
  534. package/src/dex/balancer-v3/hooks/balancer-hook-event-subscriber.ts +0 -212
  535. package/src/dex/balancer-v3/hooks/directionalFeeHook.ts +0 -51
  536. package/src/dex/balancer-v3/hooks/loadHooksConfig.ts +0 -12
  537. package/src/dex/balancer-v3/hooks/stableSurgeHook.ts +0 -198
  538. package/src/dex/balancer-v3/optimizer.ts +0 -66
  539. package/src/dex/balancer-v3/stablePool.ts +0 -78
  540. package/src/dex/balancer-v3/types.ts +0 -89
  541. package/src/dex/balancer-v3/weightedPool.ts +0 -2
  542. package/src/dex/bancor/bancor-e2e.test.ts +0 -91
  543. package/src/dex/bancor/bancor-gas-estimation.test.ts +0 -30
  544. package/src/dex/bancor/bancor.ts +0 -128
  545. package/src/dex/bancor/config.ts +0 -9
  546. package/src/dex/bancor/types.ts +0 -19
  547. package/src/dex/bebop/bebop-e2e.test.ts +0 -228
  548. package/src/dex/bebop/bebop-gas-estimation.test.ts +0 -30
  549. package/src/dex/bebop/bebop-integration.test.ts +0 -182
  550. package/src/dex/bebop/bebop.json +0 -72
  551. package/src/dex/bebop/bebop.proto +0 -15
  552. package/src/dex/bebop/bebop.ts +0 -930
  553. package/src/dex/bebop/config.ts +0 -42
  554. package/src/dex/bebop/constants.ts +0 -20
  555. package/src/dex/bebop/rate-fetcher.ts +0 -168
  556. package/src/dex/bebop/types.ts +0 -95
  557. package/src/dex/bebop/validators.ts +0 -39
  558. package/src/dex/cables/cables-e2e.test.ts +0 -207
  559. package/src/dex/cables/cables-integration.test.ts +0 -391
  560. package/src/dex/cables/cables.ts +0 -857
  561. package/src/dex/cables/config.ts +0 -13
  562. package/src/dex/cables/constants.ts +0 -33
  563. package/src/dex/cables/rate-fetcher.ts +0 -212
  564. package/src/dex/cables/types.ts +0 -113
  565. package/src/dex/cables/validators.test.ts +0 -151
  566. package/src/dex/cables/validators.ts +0 -61
  567. package/src/dex/camelot/camelot-e2e.test.ts +0 -161
  568. package/src/dex/camelot/camelot-integration.test.ts +0 -215
  569. package/src/dex/camelot/camelot-pool-discovery.test.ts +0 -149
  570. package/src/dex/camelot/camelot.ts +0 -882
  571. package/src/dex/camelot/config.ts +0 -23
  572. package/src/dex/camelot/types.ts +0 -15
  573. package/src/dex/compound/compound-e2e.test.ts +0 -91
  574. package/src/dex/compound/compound.ts +0 -112
  575. package/src/dex/compound/types.ts +0 -10
  576. package/src/dex/concentrator-arusd/concentrator-arusd-e2e.test.ts +0 -92
  577. package/src/dex/concentrator-arusd/concentrator-arusd-event.ts +0 -100
  578. package/src/dex/concentrator-arusd/concentrator-arusd-gas-estimation.test.ts +0 -29
  579. package/src/dex/concentrator-arusd/concentrator-arusd-integration.test.ts +0 -104
  580. package/src/dex/concentrator-arusd/concentrator-arusd.ts +0 -269
  581. package/src/dex/concentrator-arusd/concetrator-arusd-events.test.ts +0 -97
  582. package/src/dex/concentrator-arusd/config.ts +0 -13
  583. package/src/dex/concentrator-arusd/types.ts +0 -16
  584. package/src/dex/concentrator-arusd/utils.ts +0 -36
  585. package/src/dex/curve-v1/config.ts +0 -1181
  586. package/src/dex/curve-v1/constants.ts +0 -12
  587. package/src/dex/curve-v1/curve-v1-e2e.test.ts +0 -587
  588. package/src/dex/curve-v1/curve-v1-events.test.ts +0 -335
  589. package/src/dex/curve-v1/curve-v1-gas-estimation.test.ts +0 -29
  590. package/src/dex/curve-v1/curve-v1-integration.test.ts +0 -143
  591. package/src/dex/curve-v1/curve-v1.ts +0 -1315
  592. package/src/dex/curve-v1/forks/curve-forks/config.ts +0 -177
  593. package/src/dex/curve-v1/forks/curve-forks/curve-forks.ts +0 -73
  594. package/src/dex/curve-v1/forks/swerve/config.ts +0 -47
  595. package/src/dex/curve-v1/forks/swerve/swerve.ts +0 -68
  596. package/src/dex/curve-v1/packer.ts +0 -17
  597. package/src/dex/curve-v1/pools/3pool.ts +0 -313
  598. package/src/dex/curve-v1/pools/DUSDpool.ts +0 -52
  599. package/src/dex/curve-v1/pools/EURSpool.ts +0 -37
  600. package/src/dex/curve-v1/pools/GUSDpool.ts +0 -52
  601. package/src/dex/curve-v1/pools/HUSDpool.ts +0 -52
  602. package/src/dex/curve-v1/pools/LinkUSDpool.ts +0 -52
  603. package/src/dex/curve-v1/pools/MUSDpool.ts +0 -52
  604. package/src/dex/curve-v1/pools/bBTCpool.ts +0 -52
  605. package/src/dex/curve-v1/pools/curve-metapool.ts +0 -1113
  606. package/src/dex/curve-v1/pools/curve-pool.ts +0 -489
  607. package/src/dex/curve-v1/pools/getstate-multicall.ts +0 -156
  608. package/src/dex/curve-v1/pools/hBTCpool.ts +0 -37
  609. package/src/dex/curve-v1/pools/oBTCpool.ts +0 -52
  610. package/src/dex/curve-v1/pools/pBTCpool.ts +0 -52
  611. package/src/dex/curve-v1/pools/renpool.ts +0 -38
  612. package/src/dex/curve-v1/pools/rsvpool.ts +0 -52
  613. package/src/dex/curve-v1/pools/sBTCpool.ts +0 -38
  614. package/src/dex/curve-v1/pools/sETHpool.ts +0 -69
  615. package/src/dex/curve-v1/pools/sLinkpool.ts +0 -37
  616. package/src/dex/curve-v1/pools/sUSDpool.ts +0 -133
  617. package/src/dex/curve-v1/pools/stETHpool.ts +0 -52
  618. package/src/dex/curve-v1/pools/tBTCpool.ts +0 -52
  619. package/src/dex/curve-v1/pools/usdkpool.ts +0 -52
  620. package/src/dex/curve-v1/pools/usdnpool.ts +0 -59
  621. package/src/dex/curve-v1/pools/ustpool.ts +0 -52
  622. package/src/dex/curve-v1/types.ts +0 -88
  623. package/src/dex/curve-v1-factory/config.ts +0 -1004
  624. package/src/dex/curve-v1-factory/constants.ts +0 -41
  625. package/src/dex/curve-v1-factory/curve-v1-factory-e2e.test.ts +0 -441
  626. package/src/dex/curve-v1-factory/curve-v1-factory-integration.test.ts +0 -827
  627. package/src/dex/curve-v1-factory/curve-v1-factory-node-cache.ts +0 -10
  628. package/src/dex/curve-v1-factory/curve-v1-factory.ts +0 -1567
  629. package/src/dex/curve-v1-factory/curve-v1-pool-manager.ts +0 -449
  630. package/src/dex/curve-v1-factory/optimizer.ts +0 -57
  631. package/src/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.ts +0 -292
  632. package/src/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.ts +0 -103
  633. package/src/dex/curve-v1-factory/price-handlers/functions/_rates.ts +0 -116
  634. package/src/dex/curve-v1-factory/price-handlers/functions/_xp.ts +0 -114
  635. package/src/dex/curve-v1-factory/price-handlers/functions/_xp_mem.ts +0 -103
  636. package/src/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.ts +0 -230
  637. package/src/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.ts +0 -90
  638. package/src/dex/curve-v1-factory/price-handlers/functions/constants.ts +0 -604
  639. package/src/dex/curve-v1-factory/price-handlers/functions/get_D.ts +0 -386
  640. package/src/dex/curve-v1-factory/price-handlers/functions/get_D_mem.ts +0 -148
  641. package/src/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.ts +0 -120
  642. package/src/dex/curve-v1-factory/price-handlers/functions/get_dx.ts +0 -145
  643. package/src/dex/curve-v1-factory/price-handlers/functions/get_dy.ts +0 -327
  644. package/src/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.ts +0 -293
  645. package/src/dex/curve-v1-factory/price-handlers/functions/get_y.ts +0 -262
  646. package/src/dex/curve-v1-factory/price-handlers/functions/get_y_D.ts +0 -183
  647. package/src/dex/curve-v1-factory/price-handlers/functions/utils.ts +0 -76
  648. package/src/dex/curve-v1-factory/price-handlers/price-handler.ts +0 -130
  649. package/src/dex/curve-v1-factory/price-handlers/types.ts +0 -142
  650. package/src/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.ts +0 -301
  651. package/src/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.ts +0 -227
  652. package/src/dex/curve-v1-factory/state-polling-pools/polling-manager.ts +0 -266
  653. package/src/dex/curve-v1-factory/state-polling-pools/pool-polling-base.ts +0 -181
  654. package/src/dex/curve-v1-factory/types.ts +0 -286
  655. package/src/dex/curve-v1-stable-ng/config.ts +0 -315
  656. package/src/dex/curve-v1-stable-ng/curve-v1-stable-ng-e2e.test.ts +0 -219
  657. package/src/dex/curve-v1-stable-ng/curve-v1-stable-ng-integration.test.ts +0 -567
  658. package/src/dex/curve-v1-stable-ng/curve-v1-stable-ng.ts +0 -33
  659. package/src/dex/curve-v2/constants.ts +0 -1
  660. package/src/dex/curve-v2/curve-v2-e2e.test.ts +0 -104
  661. package/src/dex/curve-v2/curve-v2-gas-estimation.test.ts +0 -29
  662. package/src/dex/curve-v2/curve-v2.ts +0 -440
  663. package/src/dex/curve-v2/types.ts +0 -27
  664. package/src/dex/dexalot/config.ts +0 -28
  665. package/src/dex/dexalot/constants.ts +0 -32
  666. package/src/dex/dexalot/dexalot-e2e.test.ts +0 -260
  667. package/src/dex/dexalot/dexalot-integration.test.ts +0 -431
  668. package/src/dex/dexalot/dexalot.ts +0 -1114
  669. package/src/dex/dexalot/rate-fetcher.ts +0 -197
  670. package/src/dex/dexalot/types.ts +0 -131
  671. package/src/dex/dexalot/validators.ts +0 -46
  672. package/src/dex/dodo-v1/config.ts +0 -15
  673. package/src/dex/dodo-v1/dodo-v1-e2e.test.ts +0 -101
  674. package/src/dex/dodo-v1/dodo-v1.ts +0 -132
  675. package/src/dex/dodo-v1/types.ts +0 -25
  676. package/src/dex/dodo-v2.ts +0 -266
  677. package/src/dex/ekubo/config.ts +0 -15
  678. package/src/dex/ekubo/ekubo-e2e.test.ts +0 -124
  679. package/src/dex/ekubo/ekubo-events.test.ts +0 -209
  680. package/src/dex/ekubo/ekubo-integration.test.ts +0 -243
  681. package/src/dex/ekubo/ekubo.ts +0 -628
  682. package/src/dex/ekubo/pools/base-pool.ts +0 -267
  683. package/src/dex/ekubo/pools/math/constants.ts +0 -5
  684. package/src/dex/ekubo/pools/math/delta.test.ts +0 -131
  685. package/src/dex/ekubo/pools/math/delta.ts +0 -68
  686. package/src/dex/ekubo/pools/math/price.test.ts +0 -54
  687. package/src/dex/ekubo/pools/math/price.ts +0 -129
  688. package/src/dex/ekubo/pools/math/swap.test.ts +0 -215
  689. package/src/dex/ekubo/pools/math/swap.ts +0 -161
  690. package/src/dex/ekubo/pools/math/tick.test.ts +0 -72
  691. package/src/dex/ekubo/pools/math/tick.ts +0 -120
  692. package/src/dex/ekubo/pools/oracle-pool.ts +0 -46
  693. package/src/dex/ekubo/pools/pool-utils.ts +0 -348
  694. package/src/dex/ekubo/types.test.ts +0 -552
  695. package/src/dex/ekubo/types.ts +0 -55
  696. package/src/dex/ekubo/utils.ts +0 -34
  697. package/src/dex/erc4626/config.ts +0 -41
  698. package/src/dex/erc4626/constants.ts +0 -6
  699. package/src/dex/erc4626/erc-4626-pool.ts +0 -132
  700. package/src/dex/erc4626/erc4626-e2e.test.ts +0 -224
  701. package/src/dex/erc4626/erc4626-event.test.ts +0 -128
  702. package/src/dex/erc4626/erc4626-gas-estimation.test.ts +0 -41
  703. package/src/dex/erc4626/erc4626-integration.test.ts +0 -164
  704. package/src/dex/erc4626/erc4626.ts +0 -333
  705. package/src/dex/erc4626/types.ts +0 -26
  706. package/src/dex/etherfi.ts +0 -244
  707. package/src/dex/fluid-dex/config.ts +0 -27
  708. package/src/dex/fluid-dex/constants.ts +0 -2
  709. package/src/dex/fluid-dex/fluid-dex-e2e.test.ts +0 -311
  710. package/src/dex/fluid-dex/fluid-dex-events.test.ts +0 -179
  711. package/src/dex/fluid-dex/fluid-dex-factory.ts +0 -151
  712. package/src/dex/fluid-dex/fluid-dex-gas-estimation.test.ts +0 -29
  713. package/src/dex/fluid-dex/fluid-dex-integration.test.ts +0 -355
  714. package/src/dex/fluid-dex/fluid-dex-liquidity-proxy.ts +0 -210
  715. package/src/dex/fluid-dex/fluid-dex-pool.ts +0 -138
  716. package/src/dex/fluid-dex/fluid-dex.ts +0 -1169
  717. package/src/dex/fluid-dex/types.ts +0 -104
  718. package/src/dex/fluid-dex/utils.ts +0 -15
  719. package/src/dex/fx-protocol-rusd/config.ts +0 -14
  720. package/src/dex/fx-protocol-rusd/fx-protocol-e2e.test.ts +0 -96
  721. package/src/dex/fx-protocol-rusd/fx-protocol-events.test.ts +0 -101
  722. package/src/dex/fx-protocol-rusd/fx-protocol-integration.test.ts +0 -104
  723. package/src/dex/fx-protocol-rusd/fx-protocol-rusd-event.ts +0 -112
  724. package/src/dex/fx-protocol-rusd/fx-protocol-rusd-gas-estimation.test.ts +0 -29
  725. package/src/dex/fx-protocol-rusd/fx-protocol-rusd.ts +0 -282
  726. package/src/dex/fx-protocol-rusd/types.ts +0 -16
  727. package/src/dex/fx-protocol-rusd/utils.ts +0 -47
  728. package/src/dex/generic-rfq/e2e-test-config.ts +0 -25
  729. package/src/dex/generic-rfq/example-api.test.ts +0 -233
  730. package/src/dex/generic-rfq/fetch-mm-api.ts +0 -284
  731. package/src/dex/generic-rfq/generic-rfq-e2e.test.ts +0 -118
  732. package/src/dex/generic-rfq/generic-rfq-integration.test.ts +0 -235
  733. package/src/dex/generic-rfq/generic-rfq-local-e2e.test.ts +0 -107
  734. package/src/dex/generic-rfq/generic-rfq.ts +0 -463
  735. package/src/dex/generic-rfq/rate-fetcher.ts +0 -491
  736. package/src/dex/generic-rfq/security.ts +0 -55
  737. package/src/dex/generic-rfq/types.ts +0 -120
  738. package/src/dex/generic-rfq/utils.ts +0 -74
  739. package/src/dex/generic-rfq/validators.test.ts +0 -245
  740. package/src/dex/generic-rfq/validators.ts +0 -189
  741. package/src/dex/gmx/config.ts +0 -81
  742. package/src/dex/gmx/fast-price-feed.ts +0 -279
  743. package/src/dex/gmx/gmx-e2e.test.ts +0 -322
  744. package/src/dex/gmx/gmx-events.test.ts +0 -114
  745. package/src/dex/gmx/gmx-integration.test.ts +0 -211
  746. package/src/dex/gmx/gmx.ts +0 -321
  747. package/src/dex/gmx/pool.ts +0 -360
  748. package/src/dex/gmx/types.ts +0 -94
  749. package/src/dex/gmx/usdg.ts +0 -83
  750. package/src/dex/gmx/vault-price-feed.ts +0 -384
  751. package/src/dex/gmx/vault-utils.ts +0 -53
  752. package/src/dex/gmx/vault.ts +0 -290
  753. package/src/dex/hashflow/config.ts +0 -56
  754. package/src/dex/hashflow/constants.ts +0 -54
  755. package/src/dex/hashflow/hashflow-e2e.test.ts +0 -351
  756. package/src/dex/hashflow/hashflow-gas-estimation.test.ts +0 -30
  757. package/src/dex/hashflow/hashflow-integration.test.ts +0 -157
  758. package/src/dex/hashflow/hashflow.ts +0 -1119
  759. package/src/dex/hashflow/rate-fetcher.ts +0 -118
  760. package/src/dex/hashflow/types.ts +0 -83
  761. package/src/dex/hashflow/validators.ts +0 -38
  762. package/src/dex/idex.ts +0 -268
  763. package/src/dex/idle-dao/config.ts +0 -26
  764. package/src/dex/idle-dao/idle-dao--gas-estimation.test.ts +0 -30
  765. package/src/dex/idle-dao/idle-dao-e2e.test.ts +0 -112
  766. package/src/dex/idle-dao/idle-dao-integration.test.ts +0 -155
  767. package/src/dex/idle-dao/idle-dao.ts +0 -402
  768. package/src/dex/idle-dao/token_list.ts +0 -287
  769. package/src/dex/idle-dao/tokens.ts +0 -99
  770. package/src/dex/idle-dao/types.ts +0 -43
  771. package/src/dex/idle-dao/utils.ts +0 -216
  772. package/src/dex/index.ts +0 -402
  773. package/src/dex/infusion/config.ts +0 -21
  774. package/src/dex/infusion/infusion-e2e.test.ts +0 -110
  775. package/src/dex/infusion/infusion-integration.test.ts +0 -232
  776. package/src/dex/infusion/infusion-stable-pool.ts +0 -91
  777. package/src/dex/infusion/infusion.ts +0 -652
  778. package/src/dex/infusion/types.ts +0 -60
  779. package/src/dex/infusion/utils/isStablePair.ts +0 -18
  780. package/src/dex/jarvis-v6/chainLinkpriceFeed-event.ts +0 -76
  781. package/src/dex/jarvis-v6/config.ts +0 -261
  782. package/src/dex/jarvis-v6/jarvis-v6-e2e.test.ts +0 -113
  783. package/src/dex/jarvis-v6/jarvis-v6-events.test.ts +0 -67
  784. package/src/dex/jarvis-v6/jarvis-v6-events.ts +0 -67
  785. package/src/dex/jarvis-v6/jarvis-v6-integration.test.ts +0 -111
  786. package/src/dex/jarvis-v6/jarvis-v6.ts +0 -509
  787. package/src/dex/jarvis-v6/syntheteumPool-event.ts +0 -68
  788. package/src/dex/jarvis-v6/types.ts +0 -59
  789. package/src/dex/jarvis-v6/utils.ts +0 -127
  790. package/src/dex/kyberdmm/config.ts +0 -61
  791. package/src/dex/kyberdmm/fee-formula.ts +0 -113
  792. package/src/dex/kyberdmm/kyberdmm-e2e.test.ts +0 -325
  793. package/src/dex/kyberdmm/kyberdmm-events.test.ts +0 -123
  794. package/src/dex/kyberdmm/kyberdmm-integration.test.ts +0 -93
  795. package/src/dex/kyberdmm/kyberdmm.ts +0 -649
  796. package/src/dex/kyberdmm/math-ext.ts +0 -29
  797. package/src/dex/kyberdmm/pool.ts +0 -226
  798. package/src/dex/kyberdmm/types.ts +0 -85
  799. package/src/dex/lido/config.ts +0 -5
  800. package/src/dex/lido/lido-e2e.test.ts +0 -81
  801. package/src/dex/lido/lido-gas-estimation.test.ts +0 -29
  802. package/src/dex/lido/lido.ts +0 -110
  803. package/src/dex/lido/types.ts +0 -5
  804. package/src/dex/limit-order-exchange.ts +0 -40
  805. package/src/dex/lite-psm/config.ts +0 -33
  806. package/src/dex/lite-psm/lite-psm-e2e.test.ts +0 -146
  807. package/src/dex/lite-psm/lite-psm-event-pool.ts +0 -216
  808. package/src/dex/lite-psm/lite-psm-events.test.ts +0 -61
  809. package/src/dex/lite-psm/lite-psm-gas-estimation.test.ts +0 -34
  810. package/src/dex/lite-psm/lite-psm-integration.test.ts +0 -99
  811. package/src/dex/lite-psm/lite-psm.ts +0 -540
  812. package/src/dex/lite-psm/types.ts +0 -47
  813. package/src/dex/maker-psm/config.ts +0 -59
  814. package/src/dex/maker-psm/maker-psm-e2e.test.ts +0 -83
  815. package/src/dex/maker-psm/maker-psm-events.test.ts +0 -63
  816. package/src/dex/maker-psm/maker-psm-gas-estimation.test.ts +0 -34
  817. package/src/dex/maker-psm/maker-psm-integration.test.ts +0 -99
  818. package/src/dex/maker-psm/maker-psm.ts +0 -722
  819. package/src/dex/maker-psm/types.ts +0 -45
  820. package/src/dex/maverick-v1/config.ts +0 -33
  821. package/src/dex/maverick-v1/constants.ts +0 -1
  822. package/src/dex/maverick-v1/maverick-math/maverick-basic-math.ts +0 -187
  823. package/src/dex/maverick-v1/maverick-math/maverick-bin-map.ts +0 -182
  824. package/src/dex/maverick-v1/maverick-math/maverick-pool-math.test.ts +0 -680
  825. package/src/dex/maverick-v1/maverick-math/maverick-pool-math.ts +0 -562
  826. package/src/dex/maverick-v1/maverick-v1-e2e.test.ts +0 -346
  827. package/src/dex/maverick-v1/maverick-v1-events.test.ts +0 -112
  828. package/src/dex/maverick-v1/maverick-v1-gas-estimation.test.ts +0 -29
  829. package/src/dex/maverick-v1/maverick-v1-integration.test.ts +0 -170
  830. package/src/dex/maverick-v1/maverick-v1-pool.ts +0 -394
  831. package/src/dex/maverick-v1/maverick-v1.ts +0 -536
  832. package/src/dex/maverick-v1/subgraph-queries.ts +0 -60
  833. package/src/dex/maverick-v1/types.ts +0 -83
  834. package/src/dex/maverick-v2/config.ts +0 -32
  835. package/src/dex/maverick-v2/maverick-math/maverick-basic-math.ts +0 -152
  836. package/src/dex/maverick-v2/maverick-math/maverick-bin-math.ts +0 -288
  837. package/src/dex/maverick-v2/maverick-math/maverick-delta-math.ts +0 -32
  838. package/src/dex/maverick-v2/maverick-math/maverick-math.ts +0 -30
  839. package/src/dex/maverick-v2/maverick-math/maverick-pool-lib.ts +0 -42
  840. package/src/dex/maverick-v2/maverick-math/maverick-pool-math.ts +0 -714
  841. package/src/dex/maverick-v2/maverick-math/maverick-swap-math.ts +0 -199
  842. package/src/dex/maverick-v2/maverick-math/maverick-tick-math.ts +0 -171
  843. package/src/dex/maverick-v2/maverick-math/maverick-twa-math.ts +0 -54
  844. package/src/dex/maverick-v2/maverick-v2-e2e.test.ts +0 -171
  845. package/src/dex/maverick-v2/maverick-v2-events.test.ts +0 -112
  846. package/src/dex/maverick-v2/maverick-v2-gas-estimation.test.ts +0 -29
  847. package/src/dex/maverick-v2/maverick-v2-integration.test.ts +0 -287
  848. package/src/dex/maverick-v2/maverick-v2-pool.ts +0 -369
  849. package/src/dex/maverick-v2/maverick-v2.ts +0 -409
  850. package/src/dex/maverick-v2/types.ts +0 -155
  851. package/src/dex/nerve/config.ts +0 -635
  852. package/src/dex/nerve/nerve-e2e.test.ts +0 -731
  853. package/src/dex/nerve/nerve-events.test.ts +0 -911
  854. package/src/dex/nerve/nerve-integration.test.ts +0 -73
  855. package/src/dex/nerve/nerve-math.ts +0 -304
  856. package/src/dex/nerve/nerve-metapool.ts +0 -203
  857. package/src/dex/nerve/nerve-pool.ts +0 -425
  858. package/src/dex/nerve/nerve.ts +0 -467
  859. package/src/dex/nerve/types.ts +0 -65
  860. package/src/dex/nerve/utils.ts +0 -39
  861. package/src/dex/oswap/config.ts +0 -32
  862. package/src/dex/oswap/oswap-e2e.test.ts +0 -91
  863. package/src/dex/oswap/oswap-events.test.ts +0 -88
  864. package/src/dex/oswap/oswap-integration.test.ts +0 -291
  865. package/src/dex/oswap/oswap-pool.ts +0 -190
  866. package/src/dex/oswap/oswap.ts +0 -414
  867. package/src/dex/oswap/types.ts +0 -29
  868. package/src/dex/pancakeswap-v3/config.ts +0 -119
  869. package/src/dex/pancakeswap-v3/constants.ts +0 -36
  870. package/src/dex/pancakeswap-v3/contract-math/BitMath.ts +0 -90
  871. package/src/dex/pancakeswap-v3/contract-math/FixedPoint128.ts +0 -3
  872. package/src/dex/pancakeswap-v3/contract-math/FixedPoint96.ts +0 -4
  873. package/src/dex/pancakeswap-v3/contract-math/FullMath.ts +0 -30
  874. package/src/dex/pancakeswap-v3/contract-math/LiquidityMath.ts +0 -17
  875. package/src/dex/pancakeswap-v3/contract-math/Oracle.ts +0 -226
  876. package/src/dex/pancakeswap-v3/contract-math/SqrtPriceMath.ts +0 -226
  877. package/src/dex/pancakeswap-v3/contract-math/SwapMath.ts +0 -139
  878. package/src/dex/pancakeswap-v3/contract-math/Tick.ts +0 -82
  879. package/src/dex/pancakeswap-v3/contract-math/TickBitMap.ts +0 -128
  880. package/src/dex/pancakeswap-v3/contract-math/TickMath.ts +0 -211
  881. package/src/dex/pancakeswap-v3/contract-math/UnsafeMath.ts +0 -5
  882. package/src/dex/pancakeswap-v3/contract-math/pancakeswap-v3-math.ts +0 -687
  883. package/src/dex/pancakeswap-v3/contract-math/utils.ts +0 -11
  884. package/src/dex/pancakeswap-v3/pancakeswap-v3-e2e.test.ts +0 -459
  885. package/src/dex/pancakeswap-v3/pancakeswap-v3-events.test.ts +0 -124
  886. package/src/dex/pancakeswap-v3/pancakeswap-v3-factory.ts +0 -80
  887. package/src/dex/pancakeswap-v3/pancakeswap-v3-gas-estimation.test.ts +0 -29
  888. package/src/dex/pancakeswap-v3/pancakeswap-v3-integration.test.ts +0 -529
  889. package/src/dex/pancakeswap-v3/pancakeswap-v3-pool.ts +0 -555
  890. package/src/dex/pancakeswap-v3/pancakeswap-v3.ts +0 -1161
  891. package/src/dex/pancakeswap-v3/utils.ts +0 -65
  892. package/src/dex/paraswap-limit-orders/config.ts +0 -60
  893. package/src/dex/paraswap-limit-orders/constant.ts +0 -32
  894. package/src/dex/paraswap-limit-orders/paraswap-limit-orders-e2e.test.ts +0 -221
  895. package/src/dex/paraswap-limit-orders/paraswap-limit-orders-integration.test.ts +0 -328
  896. package/src/dex/paraswap-limit-orders/paraswap-limit-orders.ts +0 -634
  897. package/src/dex/paraswap-limit-orders/types.ts +0 -84
  898. package/src/dex/paraswap-limit-orders/utils.ts +0 -52
  899. package/src/dex/polygon-migrator/config.ts +0 -25
  900. package/src/dex/polygon-migrator/constants.ts +0 -1
  901. package/src/dex/polygon-migrator/polygon-migrator-e2e.test.ts +0 -98
  902. package/src/dex/polygon-migrator/polygon-migrator-gas-estimation.test.ts +0 -41
  903. package/src/dex/polygon-migrator/polygon-migrator-integration.test.ts +0 -139
  904. package/src/dex/polygon-migrator/polygon-migrator.ts +0 -194
  905. package/src/dex/polygon-migrator/types.ts +0 -14
  906. package/src/dex/quick-perps/config.ts +0 -31
  907. package/src/dex/quick-perps/fast-price-feed.ts +0 -279
  908. package/src/dex/quick-perps/pool.ts +0 -407
  909. package/src/dex/quick-perps/quick-perps-e2e.test.ts +0 -66
  910. package/src/dex/quick-perps/quick-perps-events.test.ts +0 -100
  911. package/src/dex/quick-perps/quick-perps-integration.test.ts +0 -153
  912. package/src/dex/quick-perps/quick-perps.ts +0 -337
  913. package/src/dex/quick-perps/types.ts +0 -97
  914. package/src/dex/quick-perps/usdq.ts +0 -83
  915. package/src/dex/quick-perps/vault-price-feed.ts +0 -322
  916. package/src/dex/quick-perps/vault-utils.ts +0 -53
  917. package/src/dex/quick-perps/vault.ts +0 -290
  918. package/src/dex/quickswap/config.ts +0 -16
  919. package/src/dex/quickswap/quickswap-e2e.test.ts +0 -384
  920. package/src/dex/quickswap/quickswap-v3.ts +0 -74
  921. package/src/dex/quickswap/thena-fusion.ts +0 -19
  922. package/src/dex/quickswap/types.ts +0 -5
  923. package/src/dex/simple-exchange.ts +0 -146
  924. package/src/dex/sky-converter/config.ts +0 -31
  925. package/src/dex/sky-converter/sky-converter-e2e.test.ts +0 -113
  926. package/src/dex/sky-converter/sky-converter-gas-estimation.test.ts +0 -78
  927. package/src/dex/sky-converter/sky-converter-integration.test.ts +0 -135
  928. package/src/dex/sky-converter/sky-converter.ts +0 -221
  929. package/src/dex/sky-converter/types.ts +0 -14
  930. package/src/dex/smoothy/smoothy-e2e.test.ts +0 -81
  931. package/src/dex/smoothy/smoothy.ts +0 -110
  932. package/src/dex/smoothy/types.ts +0 -18
  933. package/src/dex/solidly/config.ts +0 -218
  934. package/src/dex/solidly/forks-override/aerodrome.ts +0 -53
  935. package/src/dex/solidly/forks-override/chronos.ts +0 -231
  936. package/src/dex/solidly/forks-override/equalizer.ts +0 -58
  937. package/src/dex/solidly/forks-override/pharaohV1.ts +0 -10
  938. package/src/dex/solidly/forks-override/ramses.ts +0 -253
  939. package/src/dex/solidly/forks-override/spiritSwapV2.ts +0 -61
  940. package/src/dex/solidly/forks-override/thena.ts +0 -58
  941. package/src/dex/solidly/forks-override/usdfi.ts +0 -10
  942. package/src/dex/solidly/forks-override/velocimeter.ts +0 -58
  943. package/src/dex/solidly/forks-override/velodrome.ts +0 -58
  944. package/src/dex/solidly/forks-override/velodromeV2.ts +0 -63
  945. package/src/dex/solidly/solidly-e2e.test.ts +0 -1421
  946. package/src/dex/solidly/solidly-ethereum.ts +0 -61
  947. package/src/dex/solidly/solidly-gas-estimation.test.ts +0 -29
  948. package/src/dex/solidly/solidly-integration.test.ts +0 -1753
  949. package/src/dex/solidly/solidly-stable-pool.ts +0 -91
  950. package/src/dex/solidly/solidly.ts +0 -708
  951. package/src/dex/solidly/types.ts +0 -38
  952. package/src/dex/solidly-v3/config.ts +0 -118
  953. package/src/dex/solidly-v3/constants.ts +0 -42
  954. package/src/dex/solidly-v3/contract-math/BitMath.ts +0 -90
  955. package/src/dex/solidly-v3/contract-math/FixedPoint128.ts +0 -3
  956. package/src/dex/solidly-v3/contract-math/FixedPoint96.ts +0 -4
  957. package/src/dex/solidly-v3/contract-math/FullMath.ts +0 -30
  958. package/src/dex/solidly-v3/contract-math/LiquidityMath.ts +0 -17
  959. package/src/dex/solidly-v3/contract-math/SqrtPriceMath.ts +0 -226
  960. package/src/dex/solidly-v3/contract-math/SwapMath.ts +0 -139
  961. package/src/dex/solidly-v3/contract-math/Tick.ts +0 -63
  962. package/src/dex/solidly-v3/contract-math/TickBitMap.ts +0 -123
  963. package/src/dex/solidly-v3/contract-math/TickMath.ts +0 -211
  964. package/src/dex/solidly-v3/contract-math/UnsafeMath.ts +0 -5
  965. package/src/dex/solidly-v3/contract-math/uniswap-v3-math.ts +0 -562
  966. package/src/dex/solidly-v3/contract-math/utils.ts +0 -50
  967. package/src/dex/solidly-v3/solidly-v3-e2e.test.ts +0 -270
  968. package/src/dex/solidly-v3/solidly-v3-events.test.ts +0 -146
  969. package/src/dex/solidly-v3/solidly-v3-factory.ts +0 -80
  970. package/src/dex/solidly-v3/solidly-v3-gas-estimation.test.ts +0 -29
  971. package/src/dex/solidly-v3/solidly-v3-integration.test.ts +0 -358
  972. package/src/dex/solidly-v3/solidly-v3-pool.ts +0 -502
  973. package/src/dex/solidly-v3/solidly-v3.ts +0 -976
  974. package/src/dex/solidly-v3/types.ts +0 -157
  975. package/src/dex/solidly-v3/utils.ts +0 -71
  976. package/src/dex/spark/config.ts +0 -69
  977. package/src/dex/spark/constants.ts +0 -2
  978. package/src/dex/spark/scripts/validate-state.ts +0 -145
  979. package/src/dex/spark/spark-e2e.test.ts +0 -225
  980. package/src/dex/spark/spark-events.test.ts +0 -214
  981. package/src/dex/spark/spark-gas-estimation.test.ts +0 -29
  982. package/src/dex/spark/spark-integration.test.ts +0 -690
  983. package/src/dex/spark/spark-psm.ts +0 -361
  984. package/src/dex/spark/spark-sdai-pool.ts +0 -116
  985. package/src/dex/spark/spark.ts +0 -323
  986. package/src/dex/spark/types.ts +0 -54
  987. package/src/dex/spark/utils.ts +0 -151
  988. package/src/dex/stable-pool/stable-pool.ts +0 -129
  989. package/src/dex/stable-pool/stablepool-e2e.test.ts +0 -73
  990. package/src/dex/stable-pool/types.ts +0 -20
  991. package/src/dex/stader/config.ts +0 -13
  992. package/src/dex/stader/stader-e2e.test.ts +0 -74
  993. package/src/dex/stader/stader-events.test.ts +0 -64
  994. package/src/dex/stader/stader-gas-estimation.test.ts +0 -29
  995. package/src/dex/stader/stader-integration.test.ts +0 -240
  996. package/src/dex/stader/stader-pool.ts +0 -77
  997. package/src/dex/stader/stader.ts +0 -240
  998. package/src/dex/stader/types.ts +0 -16
  999. package/src/dex/stader/utils.ts +0 -34
  1000. package/src/dex/stkgho/config.ts +0 -14
  1001. package/src/dex/stkgho/stkgho-e2e.test.ts +0 -77
  1002. package/src/dex/stkgho/stkgho-events.test.ts +0 -79
  1003. package/src/dex/stkgho/stkgho-gas-estimation.test.ts +0 -29
  1004. package/src/dex/stkgho/stkgho-integration.test.ts +0 -226
  1005. package/src/dex/stkgho/stkgho-pool.ts +0 -111
  1006. package/src/dex/stkgho/stkgho.ts +0 -223
  1007. package/src/dex/stkgho/types.ts +0 -14
  1008. package/src/dex/swaap-v2/config.ts +0 -42
  1009. package/src/dex/swaap-v2/constants.ts +0 -52
  1010. package/src/dex/swaap-v2/rate-fetcher.ts +0 -267
  1011. package/src/dex/swaap-v2/stable-coins.ts +0 -25
  1012. package/src/dex/swaap-v2/swaap-v2-e2e.test.ts +0 -584
  1013. package/src/dex/swaap-v2/swaap-v2-estimation.test.ts +0 -29
  1014. package/src/dex/swaap-v2/swaap-v2-integration.test.ts +0 -219
  1015. package/src/dex/swaap-v2/swaap-v2.ts +0 -1067
  1016. package/src/dex/swaap-v2/types.ts +0 -105
  1017. package/src/dex/swaap-v2/utils.ts +0 -46
  1018. package/src/dex/swaap-v2/validators.ts +0 -131
  1019. package/src/dex/swell/config.ts +0 -29
  1020. package/src/dex/swell/rsweth-pool.ts +0 -58
  1021. package/src/dex/swell/swell-e2e.test.ts +0 -56
  1022. package/src/dex/swell/swell-estimation.test.ts +0 -29
  1023. package/src/dex/swell/swell.ts +0 -312
  1024. package/src/dex/swell/sweth-pool.ts +0 -58
  1025. package/src/dex/swell/type.ts +0 -7
  1026. package/src/dex/swell/utils.ts +0 -53
  1027. package/src/dex/synthetix/config.ts +0 -55
  1028. package/src/dex/synthetix/constants.ts +0 -36
  1029. package/src/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.ts +0 -276
  1030. package/src/dex/synthetix/contract-math/ExchangeRates.ts +0 -117
  1031. package/src/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.ts +0 -278
  1032. package/src/dex/synthetix/contract-math/FullMath.ts +0 -17
  1033. package/src/dex/synthetix/contract-math/OracleLibrary.ts +0 -109
  1034. package/src/dex/synthetix/contract-math/SafeDecimalMath.ts +0 -49
  1035. package/src/dex/synthetix/contract-math/TickMath.ts +0 -72
  1036. package/src/dex/synthetix/contract-math/synthetix-math.ts +0 -266
  1037. package/src/dex/synthetix/synthetix-e2e.test.ts +0 -174
  1038. package/src/dex/synthetix/synthetix-integration.test.ts +0 -293
  1039. package/src/dex/synthetix/synthetix-state.ts +0 -970
  1040. package/src/dex/synthetix/synthetix.ts +0 -420
  1041. package/src/dex/synthetix/types.ts +0 -121
  1042. package/src/dex/synthetix/utils.ts +0 -125
  1043. package/src/dex/trader-joe-v2.1/base.ts +0 -167
  1044. package/src/dex/trader-joe-v2.1/config.ts +0 -14
  1045. package/src/dex/trader-joe-v2.1/trader-joe-v2.1-e2e.test.ts +0 -101
  1046. package/src/dex/trader-joe-v2.1/trader-joe-v2.1-gas-estimation.test.ts +0 -29
  1047. package/src/dex/trader-joe-v2.1/trader-joe-v2.1.ts +0 -23
  1048. package/src/dex/trader-joe-v2.1/trader-joe-v2.2.ts +0 -23
  1049. package/src/dex/trader-joe-v2.1/types.ts +0 -38
  1050. package/src/dex/uniswap-v2/biswap.ts +0 -61
  1051. package/src/dex/uniswap-v2/config.ts +0 -626
  1052. package/src/dex/uniswap-v2/constants.ts +0 -58
  1053. package/src/dex/uniswap-v2/dfyn.ts +0 -128
  1054. package/src/dex/uniswap-v2/excalibur.ts +0 -63
  1055. package/src/dex/uniswap-v2/mdex.ts +0 -66
  1056. package/src/dex/uniswap-v2/nomiswap-v2.ts +0 -73
  1057. package/src/dex/uniswap-v2/optimizer.ts +0 -66
  1058. package/src/dex/uniswap-v2/types.ts +0 -164
  1059. package/src/dex/uniswap-v2/uniswap-v2-constant-product-pool.ts +0 -40
  1060. package/src/dex/uniswap-v2/uniswap-v2-e2e-arbitrum.test.ts +0 -438
  1061. package/src/dex/uniswap-v2/uniswap-v2-e2e-avalanche.test.ts +0 -1361
  1062. package/src/dex/uniswap-v2/uniswap-v2-e2e-base.test.ts +0 -42
  1063. package/src/dex/uniswap-v2/uniswap-v2-e2e-bsc.test.ts +0 -1295
  1064. package/src/dex/uniswap-v2/uniswap-v2-e2e-fantom.test.ts +0 -1428
  1065. package/src/dex/uniswap-v2/uniswap-v2-e2e-gnosis.test.ts +0 -283
  1066. package/src/dex/uniswap-v2/uniswap-v2-e2e-mainnet.test.ts +0 -1834
  1067. package/src/dex/uniswap-v2/uniswap-v2-e2e-optimism.test.ts +0 -282
  1068. package/src/dex/uniswap-v2/uniswap-v2-e2e-polygon.test.ts +0 -871
  1069. package/src/dex/uniswap-v2/uniswap-v2-factory.ts +0 -70
  1070. package/src/dex/uniswap-v2/uniswap-v2-gas-estimation.test.ts +0 -98
  1071. package/src/dex/uniswap-v2/uniswap-v2-integration.test.ts +0 -63
  1072. package/src/dex/uniswap-v2/uniswap-v2.ts +0 -1120
  1073. package/src/dex/uniswap-v3/config.ts +0 -453
  1074. package/src/dex/uniswap-v3/constants.ts +0 -56
  1075. package/src/dex/uniswap-v3/contract-math/BitMath.ts +0 -90
  1076. package/src/dex/uniswap-v3/contract-math/FixedPoint128.ts +0 -3
  1077. package/src/dex/uniswap-v3/contract-math/FixedPoint96.ts +0 -4
  1078. package/src/dex/uniswap-v3/contract-math/FullMath.ts +0 -30
  1079. package/src/dex/uniswap-v3/contract-math/LiquidityMath.ts +0 -17
  1080. package/src/dex/uniswap-v3/contract-math/Oracle.ts +0 -226
  1081. package/src/dex/uniswap-v3/contract-math/SqrtPriceMath.ts +0 -226
  1082. package/src/dex/uniswap-v3/contract-math/SwapMath.ts +0 -139
  1083. package/src/dex/uniswap-v3/contract-math/Tick.ts +0 -82
  1084. package/src/dex/uniswap-v3/contract-math/TickBitMap.ts +0 -143
  1085. package/src/dex/uniswap-v3/contract-math/TickMath.ts +0 -211
  1086. package/src/dex/uniswap-v3/contract-math/UnsafeMath.ts +0 -5
  1087. package/src/dex/uniswap-v3/contract-math/uniswap-v3-math.ts +0 -668
  1088. package/src/dex/uniswap-v3/contract-math/utils.ts +0 -55
  1089. package/src/dex/uniswap-v3/forks/ramses-v2/ramses-v2-pool.ts +0 -157
  1090. package/src/dex/uniswap-v3/forks/ramses-v2/utils.ts +0 -72
  1091. package/src/dex/uniswap-v3/forks/velodrome-slipstream/utils.ts +0 -65
  1092. package/src/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-factory.ts +0 -16
  1093. package/src/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-pool.ts +0 -198
  1094. package/src/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.ts +0 -243
  1095. package/src/dex/uniswap-v3/scripts/check-pool-bitmap-ranges.ts +0 -238
  1096. package/src/dex/uniswap-v3/scripts/measure-calc-time.ts +0 -172
  1097. package/src/dex/uniswap-v3/types.ts +0 -213
  1098. package/src/dex/uniswap-v3/uniswap-v3-e2e.test.ts +0 -1391
  1099. package/src/dex/uniswap-v3/uniswap-v3-events.test.ts +0 -185
  1100. package/src/dex/uniswap-v3/uniswap-v3-factory.ts +0 -80
  1101. package/src/dex/uniswap-v3/uniswap-v3-gas-estimation.test.ts +0 -98
  1102. package/src/dex/uniswap-v3/uniswap-v3-integration.test.ts +0 -2652
  1103. package/src/dex/uniswap-v3/uniswap-v3-pool.ts +0 -564
  1104. package/src/dex/uniswap-v3/uniswap-v3.ts +0 -1528
  1105. package/src/dex/uniswap-v3/utils.ts +0 -83
  1106. package/src/dex/uniswap-v3.ts +0 -242
  1107. package/src/dex/usual/m-wrapped-m.ts +0 -76
  1108. package/src/dex/usual/types.ts +0 -10
  1109. package/src/dex/usual/usual-bond.ts +0 -69
  1110. package/src/dex/usual/usual-e2e.test.ts +0 -169
  1111. package/src/dex/usual/usual-gas-estimation.test.ts +0 -54
  1112. package/src/dex/usual/usual-integration.test.ts +0 -515
  1113. package/src/dex/usual/usual-m-usd0.ts +0 -76
  1114. package/src/dex/usual/usual-m-wrapped-m.ts +0 -71
  1115. package/src/dex/usual/usual.ts +0 -156
  1116. package/src/dex/usual/wrapped-m-m.ts +0 -76
  1117. package/src/dex/usual-pp/config.ts +0 -18
  1118. package/src/dex/usual-pp/pool.ts +0 -77
  1119. package/src/dex/usual-pp/types.ts +0 -12
  1120. package/src/dex/usual-pp/usual-events.test.ts +0 -70
  1121. package/src/dex/usual-pp/usual-integration.test.ts +0 -143
  1122. package/src/dex/usual-pp/usual-pp-gas-estimation.test.ts +0 -29
  1123. package/src/dex/usual-pp/usual-pp.e2e.test.ts +0 -76
  1124. package/src/dex/usual-pp/usual-pp.ts +0 -207
  1125. package/src/dex/usual-pp/utils.ts +0 -27
  1126. package/src/dex/weth/config.ts +0 -87
  1127. package/src/dex/weth/types.ts +0 -34
  1128. package/src/dex/weth/weth-e2e-v6.test.ts +0 -117
  1129. package/src/dex/weth/weth-e2e.test.ts +0 -1032
  1130. package/src/dex/weth/weth-gas-estimation.test.ts +0 -42
  1131. package/src/dex/weth/weth-integration.test.ts +0 -80
  1132. package/src/dex/weth/weth.ts +0 -232
  1133. package/src/dex/wombat/config.ts +0 -77
  1134. package/src/dex/wombat/types.ts +0 -55
  1135. package/src/dex/wombat/utils.ts +0 -82
  1136. package/src/dex/wombat/wombat-bmw.ts +0 -186
  1137. package/src/dex/wombat/wombat-e2e.test.ts +0 -272
  1138. package/src/dex/wombat/wombat-events.test.ts +0 -147
  1139. package/src/dex/wombat/wombat-gas-estimation.test.ts +0 -29
  1140. package/src/dex/wombat/wombat-integration.test.ts +0 -217
  1141. package/src/dex/wombat/wombat-pool.ts +0 -688
  1142. package/src/dex/wombat/wombat-quoter.ts +0 -269
  1143. package/src/dex/wombat/wombat.ts +0 -467
  1144. package/src/dex/woo-fi-v2/config.ts +0 -100
  1145. package/src/dex/woo-fi-v2/constants.ts +0 -22
  1146. package/src/dex/woo-fi-v2/decoders.ts +0 -45
  1147. package/src/dex/woo-fi-v2/types.ts +0 -64
  1148. package/src/dex/woo-fi-v2/utils.ts +0 -19
  1149. package/src/dex/woo-fi-v2/woo-fi-v2-e2e.test.ts +0 -282
  1150. package/src/dex/woo-fi-v2/woo-fi-v2-integration.test.ts +0 -495
  1151. package/src/dex/woo-fi-v2/woo-fi-v2-math.ts +0 -228
  1152. package/src/dex/woo-fi-v2/woo-fi-v2-pool.ts +0 -143
  1153. package/src/dex/woo-fi-v2/woo-fi-v2.ts +0 -528
  1154. package/src/dex/wsteth/config.ts +0 -16
  1155. package/src/dex/wsteth/types.ts +0 -13
  1156. package/src/dex/wsteth/wsteth-e2e.test.ts +0 -96
  1157. package/src/dex/wsteth/wsteth-gas-estimation.test.ts +0 -41
  1158. package/src/dex/wsteth/wsteth-integration.test.ts +0 -200
  1159. package/src/dex/wsteth/wsteth.ts +0 -304
  1160. package/src/dex-helper/dummy-dex-helper.ts +0 -379
  1161. package/src/dex-helper/dummy-limit-order-provider.ts +0 -74
  1162. package/src/dex-helper/iblock-manager.ts +0 -60
  1163. package/src/dex-helper/icache.ts +0 -85
  1164. package/src/dex-helper/idex-helper.ts +0 -27
  1165. package/src/dex-helper/ilimit-order-provider.ts +0 -27
  1166. package/src/dex-helper/index.ts +0 -16
  1167. package/src/dex-helper/irequest-wrapper.ts +0 -67
  1168. package/src/executor/Executor01BytecodeBuilder.ts +0 -479
  1169. package/src/executor/Executor02BytecodeBuilder.ts +0 -1419
  1170. package/src/executor/Executor03BytecodeBuilder.ts +0 -473
  1171. package/src/executor/ExecutorBytecodeBuilder.ts +0 -453
  1172. package/src/executor/ExecutorDetector.ts +0 -131
  1173. package/src/executor/WETHBytecodeBuilder.ts +0 -58
  1174. package/src/executor/__snapshots__/executor01-bytecode-builder-snapshot.test.ts.snap +0 -35
  1175. package/src/executor/__snapshots__/executor02-bytecode-builder-snapshot.test.ts.snap +0 -23
  1176. package/src/executor/constants.ts +0 -66
  1177. package/src/executor/executor01-bytecode-builder-e2e.test.ts +0 -1503
  1178. package/src/executor/executor01-bytecode-builder-snapshot.test.ts +0 -271
  1179. package/src/executor/executor02-bytecode-builder-e2e.test.ts +0 -1578
  1180. package/src/executor/executor02-bytecode-builder-snapshot.test.ts +0 -188
  1181. package/src/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +0 -16
  1182. package/src/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -16
  1183. package/src/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -16
  1184. package/src/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -16
  1185. package/src/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -16
  1186. package/src/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -16
  1187. package/src/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -16
  1188. package/src/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdt-usdc-dai.json +0 -16
  1189. package/src/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-eth-usdc.json +0 -9
  1190. package/src/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-eth.json +0 -9
  1191. package/src/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-wbtc.json +0 -9
  1192. package/src/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-eth-steth.json +0 -9
  1193. package/src/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-steth-eth.json +0 -9
  1194. package/src/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-usdc-usdt.json +0 -9
  1195. package/src/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-eth-usdc.json +0 -9
  1196. package/src/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-eth.json +0 -9
  1197. package/src/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-usdt.json +0 -9
  1198. package/src/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -12
  1199. package/src/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -7
  1200. package/src/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -7
  1201. package/src/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -7
  1202. package/src/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -7
  1203. package/src/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -12
  1204. package/src/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-eth-usdc.json +0 -7
  1205. package/src/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-usdc-eth.json +0 -7
  1206. package/src/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +0 -78
  1207. package/src/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -81
  1208. package/src/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -78
  1209. package/src/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -78
  1210. package/src/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -81
  1211. package/src/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -81
  1212. package/src/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -81
  1213. package/src/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdt-usdc-dai.json +0 -81
  1214. package/src/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-eth-usdc.json +0 -64
  1215. package/src/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-eth.json +0 -85
  1216. package/src/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-wbtc.json +0 -64
  1217. package/src/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-eth-steth.json +0 -52
  1218. package/src/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-steth-eth.json +0 -52
  1219. package/src/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-usdc-usdt.json +0 -52
  1220. package/src/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-eth-usdc.json +0 -55
  1221. package/src/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-eth.json +0 -55
  1222. package/src/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-usdt.json +0 -55
  1223. package/src/executor/fixtures/executor02/exchange-params/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -23
  1224. package/src/executor/fixtures/executor02/exchange-params/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -37
  1225. package/src/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -23
  1226. package/src/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -23
  1227. package/src/executor/fixtures/executor02/exchange-params/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -51
  1228. package/src/executor/fixtures/executor02/exchange-params/price-route-multiswap-univ3-usdt-dai-eth.json +0 -58
  1229. package/src/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -23
  1230. package/src/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -23
  1231. package/src/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -9
  1232. package/src/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -16
  1233. package/src/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +0 -23
  1234. package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -12
  1235. package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -7
  1236. package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -12
  1237. package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -12
  1238. package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -7
  1239. package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-univ3-usdt-dai-eth.json +0 -7
  1240. package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -7
  1241. package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -7
  1242. package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -7
  1243. package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -7
  1244. package/src/executor/fixtures/executor02/routes/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -130
  1245. package/src/executor/fixtures/executor02/routes/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -136
  1246. package/src/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -100
  1247. package/src/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -100
  1248. package/src/executor/fixtures/executor02/routes/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -166
  1249. package/src/executor/fixtures/executor02/routes/price-route-multiswap-univ3-usdt-dai-eth.json +0 -190
  1250. package/src/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -114
  1251. package/src/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -114
  1252. package/src/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -55
  1253. package/src/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -73
  1254. package/src/executor/fixtures/executor02/routes/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +0 -82
  1255. package/src/executor/types.ts +0 -45
  1256. package/src/executor/utils.ts +0 -62
  1257. package/src/generic-swap-transaction-builder.ts +0 -753
  1258. package/src/implementations/local-paraswap-sdk.ts +0 -342
  1259. package/src/index.ts +0 -38
  1260. package/src/lens.ts +0 -8
  1261. package/src/lib/api3-feed.ts +0 -175
  1262. package/src/lib/benqi/staked-avax.ts +0 -123
  1263. package/src/lib/chainlink.ts +0 -113
  1264. package/src/lib/curve/encoder.ts +0 -19
  1265. package/src/lib/decoders.ts +0 -199
  1266. package/src/lib/erc1271-utils.ts +0 -24
  1267. package/src/lib/fetcher/fetcher.ts +0 -183
  1268. package/src/lib/fetcher/wsFetcher.ts +0 -158
  1269. package/src/lib/generics-events-subscribers/erc20-event-subscriber-factory.ts +0 -18
  1270. package/src/lib/generics-events-subscribers/erc20-event-subscriber.test.ts +0 -126
  1271. package/src/lib/generics-events-subscribers/erc20-event-subscriber.ts +0 -261
  1272. package/src/lib/generics-events-subscribers/types.ts +0 -41
  1273. package/src/lib/generics-events-subscribers/utils.ts +0 -37
  1274. package/src/lib/log-messages-suppressor.ts +0 -173
  1275. package/src/lib/log4js.ts +0 -88
  1276. package/src/lib/multi-wrapper.ts +0 -108
  1277. package/src/lib/promise-scheduler.ts +0 -55
  1278. package/src/lib/pub-sub.ts +0 -232
  1279. package/src/lib/stateful-rpc-poller/state-polling-manager.ts +0 -320
  1280. package/src/lib/stateful-rpc-poller/stateful-rpc-poller.ts +0 -604
  1281. package/src/lib/stateful-rpc-poller/types.ts +0 -66
  1282. package/src/lib/stateful-rpc-poller/utils.ts +0 -23
  1283. package/src/lib/task-scheduler.ts +0 -64
  1284. package/src/lib/token-transfer-fee.ts +0 -42
  1285. package/src/lib/tokens/balancer-fetcher.ts +0 -283
  1286. package/src/lib/tokens/types.ts +0 -102
  1287. package/src/lib/tokens/utils.ts +0 -179
  1288. package/src/lib/utils-interfaces.ts +0 -4
  1289. package/src/lib/validators.ts +0 -34
  1290. package/src/pools-helper.ts +0 -58
  1291. package/src/pricing-helper.ts +0 -328
  1292. package/src/rebase-tokens.json +0 -17
  1293. package/src/router/buy.ts +0 -101
  1294. package/src/router/directswap.ts +0 -101
  1295. package/src/router/index.ts +0 -48
  1296. package/src/router/irouter.ts +0 -20
  1297. package/src/router/megaswap.ts +0 -88
  1298. package/src/router/multiswap.ts +0 -96
  1299. package/src/router/payload-encoder.ts +0 -293
  1300. package/src/router/simpleswap.ts +0 -369
  1301. package/src/router/simpleswapnft.ts +0 -138
  1302. package/src/stateful-event-subscriber.ts +0 -512
  1303. package/src/transaction-builder.ts +0 -129
  1304. package/src/types.ts +0 -358
  1305. package/src/utils.ts +0 -410
  1306. package/tests/constants-e2e.ts +0 -2221
  1307. package/tests/debug-price-route.test.ts +0 -55
  1308. package/tests/generate-new-limit-order.ts +0 -107
  1309. package/tests/payload-encoder.test.ts +0 -49
  1310. package/tests/tenderly-simulation.test.ts +0 -151
  1311. package/tests/tenderly-simulation.ts +0 -698
  1312. package/tests/token-storage-slots.json +0 -698
  1313. package/tests/transaction-builder.test.ts +0 -234
  1314. package/tests/utils-e2e.ts +0 -651
  1315. package/tests/utils-events.ts +0 -186
  1316. package/tests/utils.ts +0 -127
  1317. package/tests/v6/utils-e2e-v6.ts +0 -103
  1318. package/tsconfig.json +0 -23
@@ -1,1315 +0,0 @@
1
- import { Interface, AbiCoder, JsonFragment } from '@ethersproject/abi';
2
- import _ from 'lodash';
3
- import { NumberAsString, OptimalSwapExchange } from '@paraswap/core';
4
- import { assert } from 'ts-essentials';
5
- import BigNumber from 'bignumber.js';
6
- import CurveABI from '../../abi/Curve.json';
7
- import DirectSwapABI from '../../abi/DirectSwap.json';
8
- import { Adapters, CurveV1Config } from './config';
9
-
10
- import {
11
- AdapterExchangeParam,
12
- Address,
13
- DexExchangeParam,
14
- ExchangePrices,
15
- ExchangeTxInfo,
16
- PoolLiquidity,
17
- PoolPrices,
18
- PreprocessTransactionOptions,
19
- SimpleExchangeParam,
20
- Token,
21
- TransferFeeParams,
22
- TxInfo,
23
- } from '../../types';
24
- import {
25
- Network,
26
- NULL_ADDRESS,
27
- SRC_TOKEN_PARASWAP_TRANSFERS,
28
- ETHER_ADDRESS,
29
- SwapSide,
30
- } from '../../constants';
31
- import * as CALLDATA_GAS_COST from '../../calldata-gas-cost';
32
- import StableSwapBBTC from '../../abi/curve-v1/StableSwapBBTC.json';
33
- import { CurvePool } from './pools/curve-pool';
34
- import { CurveMetapool } from './pools/curve-metapool';
35
- import { ThreePool, address as ThreePoolAddress } from './pools/3pool';
36
- import { SUSDPool, address as SUSDPoolAddress } from './pools/sUSDpool';
37
- import { HBTCPool, address as HBTCPoolAddress } from './pools/hBTCpool';
38
- import { RenPool, address as RenPoolAddress } from './pools/renpool';
39
- import { SBTCPool, address as SBTCPoolAddress } from './pools/sBTCpool';
40
- import { SETHPool, address as SETHPoolAddress } from './pools/sETHpool';
41
- import { STETHPool, address as STETHPoolAddress } from './pools/stETHpool';
42
- import { EURSPool, address as EURSPoolAddress } from './pools/EURSpool';
43
- import { DUSDPool, address as DUSDPoolAddress } from './pools/DUSDpool';
44
- import { BBTCPool, address as BBTCPoolAddress } from './pools/bBTCpool';
45
- import { GUSDPool, address as GUSDPoolAddress } from './pools/GUSDpool';
46
- import { HUSDPool, address as HUSDPoolAddress } from './pools/HUSDpool';
47
- import {
48
- LinkUSDPool,
49
- address as LinkUSDPoolAddress,
50
- } from './pools/LinkUSDpool';
51
- import { MUSDPool, address as MUSDPoolAddress } from './pools/MUSDpool';
52
- import { OBTCPool, address as OBTCPoolAddress } from './pools/oBTCpool';
53
- import { PBTCPool, address as PBTCPoolAddress } from './pools/pBTCpool';
54
- import { RSVPool, address as RSVPoolAddress } from './pools/rsvpool';
55
- import { TBTCPool, address as TBTCPoolAddress } from './pools/tBTCpool';
56
- import { USDKPool, address as USDKPoolAddress } from './pools/usdkpool';
57
- import { USTPool, address as USTPoolAddress } from './pools/ustpool';
58
- import { SLINKPool, address as SLINKPoolAddress } from './pools/sLinkpool';
59
- import {
60
- getBigIntPow,
61
- getDexKeysWithNetwork,
62
- interpolate,
63
- isDestTokenTransferFeeToBeExchanged,
64
- isETHAddress,
65
- isSrcTokenTransferFeeToBeExchanged,
66
- Utils,
67
- uuidToBytes16,
68
- } from '../../utils';
69
- import { BN_0 } from '../../bignumber-constants';
70
- import {
71
- getLocalDeadlineAsFriendlyPlaceholder,
72
- SimpleExchange,
73
- } from '../simple-exchange';
74
- import { IDex } from '../idex';
75
- import { IDexHelper } from '../../dex-helper';
76
- import { Logger } from 'log4js';
77
- import { uin128DecodeToInt, uin256DecodeToFloat } from '../../lib/decoders';
78
- import { getManyPoolStates } from './pools/getstate-multicall';
79
- import { MultiCallParams, MultiResult } from '../../lib/multi-wrapper';
80
- import {
81
- PoolConfig,
82
- CurveV1Data,
83
- TokenWithReasonableVolume,
84
- CurveSwapFunctions,
85
- CurveV1SwapType,
86
- DirectCurveV1Param,
87
- DirectCurveV1ParamV6,
88
- CurveV1DirectSwap,
89
- } from './types';
90
- import { erc20Iface } from '../../lib/utils-interfaces';
91
- import { applyTransferFee } from '../../lib/token-transfer-fee';
92
- import { DIRECT_METHOD_NAME, DIRECT_METHOD_NAME_V6 } from './constants';
93
- import { packCurveData } from '../../lib/curve/encoder';
94
- import { encodeCurveAssets } from './packer';
95
- import { hexConcat, hexZeroPad, hexlify } from 'ethers/lib/utils';
96
-
97
- const CURVE_DEFAULT_CHUNKS = 10;
98
-
99
- const CURVE_LENDING_POOl_GAS = 340 * 1000;
100
- const CURVE_POOL_GAS = 200 * 1000;
101
-
102
- const coder = new AbiCoder();
103
-
104
- export class CurveV1
105
- extends SimpleExchange
106
- implements IDex<CurveV1Data, DirectCurveV1Param | CurveV1DirectSwap>
107
- {
108
- exchangeRouterInterface: Interface;
109
- minConversionRate = '1';
110
-
111
- eventPools = new Array<CurvePool | CurveMetapool>();
112
- public poolInterface: Interface;
113
-
114
- private logger: Logger;
115
-
116
- readonly hasConstantPriceLargeAmounts = false;
117
- readonly isFeeOnTransferSupported = true;
118
-
119
- private decimalsCoinsAndUnderlying: Record<string, number> = {};
120
-
121
- protected pools: Record<string, PoolConfig>;
122
- protected eventSupportedPools: string[];
123
- protected baseTokens: Record<string, TokenWithReasonableVolume>;
124
-
125
- protected disableFeeOnTransferTokenAddresses: Set<string>;
126
-
127
- readonly directSwapIface = new Interface(DirectSwapABI);
128
-
129
- readonly SRC_TOKEN_DEX_TRANSFERS = 1;
130
- readonly DEST_TOKEN_DEX_TRANSFERS = 1;
131
-
132
- public static dexKeysWithNetwork: { key: string; networks: Network[] }[] =
133
- getDexKeysWithNetwork(CurveV1Config);
134
-
135
- constructor(
136
- protected network: Network,
137
- dexKey: string,
138
- protected dexHelper: IDexHelper,
139
- dexConfig = CurveV1Config[dexKey][network],
140
-
141
- protected adapters = Adapters[network],
142
- ) {
143
- super(dexHelper, dexKey);
144
- this.pools = Object.keys(dexConfig.pools).reduce<
145
- Record<string, PoolConfig>
146
- >((acc, key) => {
147
- const poolConf = dexConfig.pools[key];
148
-
149
- acc[key] = {
150
- underlying: poolConf.underlying.map(t => t.toLowerCase()),
151
- coins: poolConf.coins.map(t => t.toLowerCase()),
152
- address: poolConf.address.toLowerCase(),
153
- name: poolConf.name,
154
- type: poolConf.type,
155
- version: poolConf.version,
156
- isLending: poolConf.isLending,
157
- isMetapool: poolConf.isMetapool,
158
- baseToken: poolConf.baseToken
159
- ? poolConf.baseToken.toLowerCase()
160
- : poolConf.baseToken,
161
- liquidityUSD: poolConf.liquidityUSD,
162
- trackCoins: poolConf.trackCoins,
163
- useLending: poolConf.useLending,
164
- precisionMul: poolConf.precisionMul,
165
- tokenAddress: poolConf.tokenAddress
166
- ? poolConf.tokenAddress.toLowerCase()
167
- : undefined,
168
- isFeeOnTransferSupported: poolConf.isFeeOnTransferSupported,
169
- };
170
-
171
- return acc;
172
- }, {});
173
-
174
- this.eventSupportedPools = dexConfig.eventSupportedPools.map(addr =>
175
- addr.toLowerCase(),
176
- );
177
-
178
- this.baseTokens = Object.keys(dexConfig.baseTokens).reduce<
179
- Record<string, TokenWithReasonableVolume>
180
- >((acc, key) => {
181
- const baseToken = dexConfig.baseTokens[key];
182
- acc[key.toLowerCase()] = {
183
- address: baseToken.address.toLowerCase(),
184
- decimals: baseToken.decimals,
185
- reasonableVolume: baseToken.reasonableVolume,
186
- };
187
- return acc;
188
- }, {});
189
-
190
- this.disableFeeOnTransferTokenAddresses =
191
- dexConfig.disableFeeOnTransferTokenAddresses
192
- ? new Set<string>(
193
- Array.from(
194
- dexConfig.disableFeeOnTransferTokenAddresses.values(),
195
- ).map(addr => addr.toLowerCase()),
196
- )
197
- : new Set<string>();
198
-
199
- this.exchangeRouterInterface = new Interface(CurveABI as JsonFragment[]);
200
-
201
- this.logger = dexHelper.getLogger(dexKey);
202
-
203
- this.poolInterface = new Interface(StableSwapBBTC as any);
204
- }
205
-
206
- protected getPoolByAddress(address: Address) {
207
- return (
208
- this.eventPools.find(
209
- p => p.address.toLowerCase() == address.toLowerCase(),
210
- ) || null
211
- );
212
- }
213
-
214
- protected getPoolConfigByAddress(address: Address) {
215
- return Object.values(this.pools).find(p => p.address == address);
216
- }
217
-
218
- getPoolConfig(from: Token, to: Token): PoolConfig | undefined {
219
- return this.getPoolConfigs(from, to)[0];
220
- }
221
-
222
- getPoolConfigs(from: Token, to: Token) {
223
- const fromAddress = from.address.toLowerCase();
224
- const toAddress = to.address.toLowerCase();
225
- return Object.values(this.pools).filter(config => {
226
- const underlying = config.underlying.map((add: string) =>
227
- add.toLowerCase(),
228
- );
229
- const coins = config.coins.map((add: string) => add.toLowerCase());
230
-
231
- // Case 0: If the swap is between the underlying first token and any underlying token
232
- if (
233
- underlying.length &&
234
- ((underlying[0] === fromAddress && underlying.includes(toAddress)) ||
235
- (underlying[0] === toAddress && underlying.includes(fromAddress)))
236
- )
237
- return true;
238
- // Case 1: If it not a metapool and the swap is between any underlying tokens
239
- if (
240
- config.isLending &&
241
- underlying.includes(toAddress) &&
242
- underlying.includes(fromAddress)
243
- )
244
- return true;
245
-
246
- // Case 2: If it a swap between any direct tokens
247
- if (coins.includes(toAddress) && coins.includes(fromAddress)) return true;
248
-
249
- return false;
250
- });
251
- }
252
-
253
- async getPoolIdentifiers(
254
- _from: Token,
255
- _to: Token,
256
- side: SwapSide,
257
- blockNumber: number,
258
- ): Promise<string[]> {
259
- const pools = this.getPoolConfigs(_from, _to);
260
- return pools.map(pool => this.getPoolIdentifier(pool.name));
261
- }
262
-
263
- getContractAddress(srcToken: Token, to: Token) {
264
- const pool = this.getPoolConfig(srcToken, to);
265
- return pool && pool.address;
266
- }
267
-
268
- poolConfigsByAddress() {
269
- return Object.keys(this.pools).reduce((acc: any, poolName: string) => {
270
- acc[this.pools[poolName].address.toLowerCase()] = this.pools[poolName];
271
- return acc;
272
- }, {});
273
- }
274
-
275
- // TODO: revisit to verify the chunks for BTC pools vs USD pools
276
- getOnChainChunks(
277
- from: Token,
278
- to: Token,
279
- srcAmount: bigint,
280
- defaultChunks: number,
281
- ) {
282
- return CURVE_DEFAULT_CHUNKS;
283
- //return srcAmount >= 10000n * getBigIntPow(from.decimals)
284
- // ? defaultChunks
285
- // : CURVE_DEFAULT_CHUNKS;
286
- }
287
-
288
- getEventPoolInstance(poolAddress: Address): CurvePool | CurveMetapool | null {
289
- switch (poolAddress.toLowerCase()) {
290
- case ThreePoolAddress:
291
- return new ThreePool(this.dexKey, this.dexHelper);
292
- case SUSDPoolAddress:
293
- return new SUSDPool(this.dexKey, this.dexHelper);
294
- case HBTCPoolAddress:
295
- return new HBTCPool(this.dexKey, this.dexHelper);
296
- case RenPoolAddress:
297
- return new RenPool(this.dexKey, this.dexHelper);
298
- case SBTCPoolAddress:
299
- return new SBTCPool(this.dexKey, this.dexHelper);
300
- case SETHPoolAddress:
301
- return new SETHPool(this.dexKey, this.dexHelper);
302
- case STETHPoolAddress:
303
- return new STETHPool(this.dexKey, this.dexHelper);
304
- case EURSPoolAddress:
305
- return new EURSPool(this.dexKey, this.dexHelper);
306
- case DUSDPoolAddress:
307
- return new DUSDPool(this.dexKey, this.dexHelper);
308
- case BBTCPoolAddress:
309
- return new BBTCPool(this.dexKey, this.dexHelper);
310
- case GUSDPoolAddress:
311
- return new GUSDPool(this.dexKey, this.dexHelper);
312
- case HUSDPoolAddress:
313
- return new HUSDPool(this.dexKey, this.dexHelper);
314
- case LinkUSDPoolAddress:
315
- return new LinkUSDPool(this.dexKey, this.dexHelper);
316
- case MUSDPoolAddress:
317
- return new MUSDPool(this.dexKey, this.dexHelper);
318
- case OBTCPoolAddress:
319
- return new OBTCPool(this.dexKey, this.dexHelper);
320
- case PBTCPoolAddress:
321
- return new PBTCPool(this.dexKey, this.dexHelper);
322
- case RSVPoolAddress:
323
- return new RSVPool(this.dexKey, this.dexHelper);
324
- case TBTCPoolAddress:
325
- return new TBTCPool(this.dexKey, this.dexHelper);
326
- case USDKPoolAddress:
327
- return new USDKPool(this.dexKey, this.dexHelper);
328
- case USTPoolAddress:
329
- return new USTPool(this.dexKey, this.dexHelper);
330
- case SLINKPoolAddress:
331
- return new SLINKPool(this.dexKey, this.dexHelper);
332
- default:
333
- return null;
334
- }
335
- }
336
-
337
- // Makes sure all the pools from poolAddress are being tracked. If a pool in not tracked yet
338
- // fetch the state and setup the pool, if they are being watched but don't have a valid state
339
- // add it to the list of unavailable pools. Return the list of unavailable pools.
340
- async batchCatchUpPools(
341
- poolAddresses: string[],
342
- blockNumber: number,
343
- ): Promise<string[]> {
344
- const unavailablePools = new Array<string>();
345
- if (!blockNumber) return unavailablePools;
346
- let poolsToFetch: (CurvePool | CurveMetapool)[] = [];
347
- for (const poolAddress of poolAddresses) {
348
- // Check if the pool is already tracked
349
- let pool = this.getPoolByAddress(poolAddress);
350
- // If the pool is not stracked add it to the list of pools to fetch
351
- if (!pool) {
352
- let newPool = this.getEventPoolInstance(poolAddress);
353
- if (!newPool)
354
- throw new Error(
355
- `Error_${this.dexKey} requested unsupported event pool with address ${poolAddress}`,
356
- );
357
-
358
- const addressesSubscribed = newPool.addressesSubscribed.map(address =>
359
- address.toLowerCase(),
360
- );
361
- if (!addressesSubscribed.includes(poolAddress)) {
362
- newPool.addressesSubscribed.push(poolAddress);
363
- }
364
-
365
- await newPool.initialize(blockNumber);
366
- poolsToFetch.push(newPool);
367
- } else if (!pool.getState(blockNumber)) {
368
- unavailablePools.push(poolAddress);
369
- }
370
- }
371
-
372
- if (!poolsToFetch.length) return unavailablePools;
373
-
374
- try {
375
- const poolStates = await getManyPoolStates(
376
- poolsToFetch,
377
- this.dexHelper.multiContract,
378
- blockNumber,
379
- );
380
-
381
- for (let i = 0; i < poolsToFetch.length; i++) {
382
- await poolsToFetch[i].setup(blockNumber, poolStates[i] as any);
383
- this.eventPools.push(poolsToFetch[i]);
384
- }
385
- return unavailablePools;
386
- } catch (e) {
387
- this.logger.error(`Error_batchCatchUpPools`, e);
388
- throw e;
389
- }
390
- }
391
-
392
- async getRatesEventPools(
393
- fromToken: Token,
394
- toToken: Token,
395
- amounts: BigNumber[],
396
- fromBigNumbers: number,
397
- pools: string[],
398
- indexes: [number, number, number][],
399
- blockNumber: number,
400
- ) {
401
- const unavailablePools = await this.batchCatchUpPools(pools, blockNumber);
402
-
403
- if (unavailablePools.length) {
404
- this.logger.error(
405
- `Couldn't use events for ${unavailablePools.length} ${this.dexKey} pools!`,
406
- );
407
- pools = pools.filter(p => !unavailablePools.includes(p));
408
- }
409
-
410
- let rates = new Array(pools.length);
411
- for (let i = 0; i < pools.length; i++) {
412
- rates[i] = {
413
- exchange: pools[i],
414
- rates: this.getRatesEventPool(
415
- pools[i],
416
- indexes[i],
417
- amounts,
418
- fromBigNumbers,
419
- blockNumber,
420
- ),
421
- };
422
- }
423
- return rates;
424
- }
425
-
426
- async getRatesOnChain(
427
- fromToken: Token,
428
- toToken: Token,
429
- amounts: bigint[],
430
- pools: string[],
431
- indexes: [number, number, number][],
432
- blockNumber: number,
433
- ) {
434
- const chunks = amounts.length - 1;
435
- const srcAmount = amounts[chunks]!;
436
-
437
- // The number of chunks used onchain to minimize the full node calls
438
- const onChainChunks = this.getOnChainChunks(
439
- fromToken,
440
- toToken,
441
- srcAmount,
442
- chunks,
443
- );
444
-
445
- const _width = Math.floor(chunks / onChainChunks);
446
-
447
- const unitVolume = amounts[0];
448
- amounts[0] = 0n;
449
-
450
- const _amounts = [unitVolume].concat(
451
- Array.from(Array(onChainChunks).keys()).map(
452
- i => amounts[(i + 1) * _width],
453
- ),
454
- );
455
-
456
- const calldata = pools.map((p, i) =>
457
- _amounts.map(_amount => ({
458
- target: p,
459
- callData: this.poolInterface.encodeFunctionData(
460
- indexes[i][2] === 1 ? 'get_dy_underlying' : 'get_dy',
461
- [indexes[i][0], indexes[i][1], _amount],
462
- ),
463
- })),
464
- );
465
-
466
- //const data = await this.multi.methods
467
- // .tryAggregate(false, calldata.flat())
468
- // .call({}, 'latest');
469
- const data = (
470
- await Promise.all(
471
- calldata.map(async poolCalldata => {
472
- try {
473
- const result = await Utils.timeoutPromise<MultiResult<any>[]>(
474
- this.dexHelper.multiContract.methods
475
- .tryAggregate(false, poolCalldata)
476
- .call({}, 'latest'),
477
- 2000,
478
- `Timed out multicall for curve pool ${poolCalldata[0].target}`,
479
- );
480
- return result;
481
- } catch (e) {
482
- this.logger.error(e);
483
- return Array<MultiResult<any>>(poolCalldata.length).fill({
484
- success: false,
485
- returnData: '0x',
486
- });
487
- }
488
- }),
489
- )
490
- ).flat();
491
-
492
- // Convert the on chain rates to the requested chunks, using simple interpolation
493
- const correctChunks = (_r: bigint[]): bigint[] => [
494
- _r[0],
495
- ...interpolate(
496
- _amounts.slice(1),
497
- _r.slice(1),
498
- amounts.slice(1),
499
- SwapSide.SELL,
500
- ),
501
- ];
502
-
503
- const decode = (j: number) => {
504
- if (!data[j].success) return 0n;
505
- const decoded = coder.decode(['uint256'], data[j].returnData);
506
- return BigInt(decoded[0].toString());
507
- };
508
-
509
- let i = 0;
510
- // chunks !== onChainChunks || !isAmountsLinear
511
- const ratesAllPools = pools.map(p => {
512
- const rates = _amounts.map(a => decode(i++));
513
- return {
514
- rates: correctChunks(rates),
515
- exchange: p,
516
- };
517
- });
518
-
519
- return ratesAllPools;
520
- }
521
-
522
- protected noMorePrice(prices: BigNumber[], index: number): boolean {
523
- return index > 1 && prices[index - 1].eq(BN_0);
524
- }
525
-
526
- getRatesEventPool(
527
- exchange: string,
528
- curveIndexes: number[],
529
- amounts: BigNumber[],
530
- fromBigNumbers: number,
531
- blockNumber: number,
532
- ) {
533
- let rates = new Array<BigNumber>(amounts.length).fill(BN_0);
534
-
535
- let fromIndex = curveIndexes[0];
536
- let toIndex = curveIndexes[1];
537
- let isTokenSwap = curveIndexes[2] === 1;
538
-
539
- let pool = this.getPoolByAddress(exchange);
540
- if (!pool) {
541
- throw new Error(
542
- `Error_${this.dexKey}_getRatesEvent pool is not initialised`,
543
- );
544
- }
545
-
546
- const state = pool.getState(blockNumber);
547
- if (!state)
548
- throw new Error(
549
- `Error_${this.dexKey}_${pool.name} expected state at blocknumber ${blockNumber}, got none`,
550
- );
551
-
552
- if (isTokenSwap) {
553
- rates[0] = pool.get_dy_underlying(
554
- fromIndex,
555
- toIndex,
556
- amounts[0],
557
- state as any,
558
- );
559
-
560
- for (let i = 1; i < amounts.length; i++) {
561
- rates[i] = this.noMorePrice(rates, i)
562
- ? BN_0
563
- : pool.get_dy_underlying(
564
- fromIndex,
565
- toIndex,
566
- amounts[i],
567
- state as any,
568
- );
569
- }
570
- } else {
571
- rates[0] = pool.get_dy(fromIndex, toIndex, amounts[0], state as any);
572
-
573
- for (let i = 1; i < amounts.length; i++) {
574
- rates[i] = this.noMorePrice(rates, i)
575
- ? BN_0
576
- : pool.get_dy(fromIndex, toIndex, amounts[i], state as any);
577
- }
578
- }
579
-
580
- let floatRates = rates.map(rate => BigInt(rate.toFixed(0)));
581
- return floatRates;
582
- }
583
-
584
- isEventPoolSupported(poolAddress: Address): Boolean {
585
- return this.eventSupportedPools.some(p => p === poolAddress.toLowerCase());
586
- }
587
-
588
- allocPools(
589
- from: Token,
590
- to: Token,
591
- side: SwapSide,
592
- routeID: number,
593
- usedPools: { [poolIdentifier: string]: number },
594
- isFirstSwap: boolean,
595
- ) {
596
- if (side === SwapSide.BUY) {
597
- return;
598
- }
599
-
600
- this.getPoolConfigs(from, to).forEach(p => {
601
- const poolIdentifier = this.getPoolIdentifier(p.name);
602
- if (!(poolIdentifier in usedPools)) {
603
- usedPools[poolIdentifier] = routeID;
604
- }
605
- });
606
- }
607
-
608
- public getPoolIdentifier(name: string) {
609
- return `${this.dexKey}_${name.toLowerCase()}`;
610
- }
611
-
612
- async getPricesVolume(
613
- _from: Token,
614
- _to: Token,
615
- amounts: bigint[],
616
- side: SwapSide,
617
- blockNumber: number,
618
- // list of pool identifiers to use for pricing, if undefined use all pools
619
- limitPools?: string[],
620
- transferFees: TransferFeeParams = {
621
- srcFee: 0,
622
- destFee: 0,
623
- srcDexFee: 0,
624
- destDexFee: 0,
625
- },
626
- ): Promise<ExchangePrices<CurveV1Data> | null> {
627
- try {
628
- if (side === SwapSide.BUY) {
629
- return null;
630
- }
631
-
632
- _from.address = _from.address.toLowerCase();
633
- _to.address = _to.address.toLowerCase();
634
-
635
- const _isSrcTokenTransferFeeToBeExchanged =
636
- this.disableFeeOnTransferTokenAddresses.has(_from.address)
637
- ? false
638
- : isSrcTokenTransferFeeToBeExchanged(transferFees);
639
-
640
- const _isDestTokenTransferFeeToBeExchanged =
641
- this.disableFeeOnTransferTokenAddresses.has(_to.address)
642
- ? false
643
- : isDestTokenTransferFeeToBeExchanged(transferFees);
644
-
645
- // We first filter out pools which were explicitly excluded and pools which are already used
646
- // then for the good pools we set the boolean to be true for used pools
647
- // and for each pool we take the address.
648
- const goodPoolConfigs = this.getPoolConfigs(_from, _to).filter(p => {
649
- if (limitPools !== undefined) {
650
- const id = this.getPoolIdentifier(p.name);
651
- if (!limitPools.includes(id)) {
652
- return false;
653
- }
654
- }
655
-
656
- if (_isSrcTokenTransferFeeToBeExchanged) {
657
- // Fee on transfers supported only when flag is specified
658
- return !!p.isFeeOnTransferSupported;
659
- }
660
- return true;
661
- });
662
-
663
- const goodPoolAddress = goodPoolConfigs.map(p => p.address);
664
- const indexesByAddress = goodPoolConfigs.reduce(
665
- (acc: { [address: string]: [number, number, number] }, pc) => {
666
- acc[pc.address] = this.getSwapIndexes(_from, _to, pc);
667
- return acc;
668
- },
669
- {},
670
- );
671
-
672
- if (goodPoolAddress.length === 0) {
673
- return null;
674
- }
675
-
676
- const amountsWithUnit = [
677
- getBigIntPow(_from.decimals),
678
- ...amounts.slice(1),
679
- ];
680
- const amountsWithUnitAndFee = _isSrcTokenTransferFeeToBeExchanged
681
- ? applyTransferFee(
682
- applyTransferFee(
683
- amountsWithUnit,
684
- side,
685
- transferFees.srcFee,
686
- SRC_TOKEN_PARASWAP_TRANSFERS,
687
- ),
688
- side,
689
- transferFees.srcDexFee,
690
- this.SRC_TOKEN_DEX_TRANSFERS,
691
- )
692
- : amountsWithUnit;
693
-
694
- let _prices = new Array();
695
-
696
- const eventPools = goodPoolAddress.filter(p =>
697
- this.isEventPoolSupported(p),
698
- );
699
- const eventPoolIndexes = eventPools.map(ep => indexesByAddress[ep]);
700
- if (eventPools) {
701
- const pricesEvents = await this.getRatesEventPools(
702
- _from,
703
- _to,
704
- amountsWithUnitAndFee.map(a => new BigNumber(a.toString())),
705
- _from.decimals,
706
- eventPools,
707
- eventPoolIndexes,
708
- blockNumber,
709
- );
710
- _prices = _prices.concat(pricesEvents);
711
- }
712
-
713
- // if the pool rates was not available in the event pool then fallback to the onchain pool query
714
- const isPoolNotInPrices = (poolAddress: Address) =>
715
- !_prices.find(
716
- existingPrice =>
717
- existingPrice.exchange.toLowerCase() === poolAddress.toLowerCase(),
718
- );
719
- const onChainPools = goodPoolAddress.filter(isPoolNotInPrices);
720
-
721
- const onChainPoolIndexes = onChainPools.map(op => indexesByAddress[op]);
722
-
723
- // onChainPools are only supported for pools with linear price chunks
724
- if (onChainPools.length) {
725
- const pricesOnChain = await this.getRatesOnChain(
726
- _from,
727
- _to,
728
- amountsWithUnitAndFee,
729
- onChainPools,
730
- onChainPoolIndexes,
731
- blockNumber,
732
- );
733
- _prices = _prices.concat(pricesOnChain);
734
- }
735
-
736
- const poolConfigsByAddress = this.poolConfigsByAddress();
737
-
738
- const poolPrices = _prices.reduce(
739
- (acc: PoolPrices<CurveV1Data>[], _price: any, idx: number) => {
740
- if (
741
- _price.exchange === NULL_ADDRESS ||
742
- !(_price.exchange.toLowerCase() in poolConfigsByAddress)
743
- )
744
- return acc;
745
-
746
- const poolConfig =
747
- poolConfigsByAddress[_price.exchange.toLowerCase()];
748
- const indexes = this.getSwapIndexes(_from, _to, poolConfig);
749
- const [i, j, swapType] = indexes;
750
-
751
- if (_isDestTokenTransferFeeToBeExchanged) {
752
- _price.rates = applyTransferFee(
753
- _price.rates,
754
- side,
755
- transferFees.destDexFee,
756
- this.DEST_TOKEN_DEX_TRANSFERS,
757
- );
758
- }
759
-
760
- acc.push({
761
- prices: [0n, ..._price.rates.slice(1)],
762
- unit: _price.rates[0],
763
- data: {
764
- exchange: _price.exchange,
765
- i,
766
- j,
767
- underlyingSwap: swapType === 1,
768
- deadline: 0,
769
- },
770
- exchange: this.dexKey,
771
- poolIdentifier: `${this.dexKey}_${poolConfig.name.toLowerCase()}`,
772
- gasCost: poolConfig.isLending
773
- ? CURVE_LENDING_POOl_GAS
774
- : CURVE_POOL_GAS,
775
- poolAddresses: [_price.exchange],
776
- });
777
- return acc;
778
- },
779
- [],
780
- );
781
- return poolPrices;
782
- } catch (e) {
783
- if (blockNumber === 0)
784
- this.logger.error(
785
- `Error_${this.dexKey}_getPrices: Aurelius block manager not yet instantiated`,
786
- );
787
- this.logger.error(`Error_${this.dexKey}_getPrices`, e);
788
- return null;
789
- }
790
- }
791
-
792
- getSwapIndexes(
793
- from: Token,
794
- to: Token,
795
- pool?: PoolConfig,
796
- ): [number, number, number] {
797
- pool = pool || this.getPoolConfig(from, to);
798
- if (!pool) {
799
- return [-1, -1, -1];
800
- }
801
-
802
- const fromAddress = from.address.toLowerCase();
803
- const toAddress = to.address.toLowerCase();
804
- const isUnderlyingSwap =
805
- pool.underlying.length &&
806
- pool.underlying.some(t => t.toLowerCase() === fromAddress) &&
807
- pool.underlying.some(t => t.toLowerCase() === toAddress);
808
-
809
- const fromIndex = isUnderlyingSwap
810
- ? pool.underlying.findIndex(t => t.toLowerCase() === fromAddress)
811
- : pool.coins.findIndex(t => t.toLowerCase() === fromAddress);
812
-
813
- const toIndex = isUnderlyingSwap
814
- ? pool.underlying.findIndex(t => t.toLowerCase() === toAddress)
815
- : pool.coins.findIndex(t => t.toLowerCase() === toAddress);
816
-
817
- const swapType = isUnderlyingSwap ? 1 : 2;
818
-
819
- return [fromIndex, toIndex, swapType];
820
- }
821
-
822
- getAdapterParam(
823
- srcToken: string,
824
- destToken: string,
825
- srcAmount: string,
826
- destAmount: string,
827
- data: CurveV1Data,
828
- side: SwapSide,
829
- ): AdapterExchangeParam {
830
- if (side === SwapSide.BUY) throw new Error(`Buy not supported`);
831
-
832
- const { i, j, deadline, underlyingSwap } = data;
833
- const payload = this.abiCoder.encodeParameter(
834
- {
835
- ParentStruct: {
836
- i: 'int128',
837
- j: 'int128',
838
- deadline: 'uint256',
839
- underlyingSwap: 'bool',
840
- },
841
- },
842
- { i, j, deadline, underlyingSwap },
843
- );
844
-
845
- return {
846
- targetExchange: data.exchange,
847
- payload,
848
- networkFee: '0',
849
- };
850
- }
851
-
852
- getCalldataGasCost(poolPrices: PoolPrices<CurveV1Data>): number | number[] {
853
- return (
854
- CALLDATA_GAS_COST.DEX_OVERHEAD +
855
- CALLDATA_GAS_COST.LENGTH_SMALL +
856
- CALLDATA_GAS_COST.INDEX +
857
- CALLDATA_GAS_COST.INDEX +
858
- CALLDATA_GAS_COST.TIMESTAMP +
859
- CALLDATA_GAS_COST.BOOL
860
- );
861
- }
862
-
863
- getAdapters(side: SwapSide): { name: string; index: number }[] | null {
864
- return this.adapters?.[side] ?? null;
865
- }
866
-
867
- static getDirectFunctionName(): string[] {
868
- return [DIRECT_METHOD_NAME];
869
- }
870
-
871
- getTokenFromAddress(address: Address): Token {
872
- // In this Dex decimals are not used
873
- return { address, decimals: 0 };
874
- }
875
-
876
- async preProcessTransaction(
877
- optimalSwapExchange: OptimalSwapExchange<CurveV1Data>,
878
- srcToken: Token,
879
- _0: Token,
880
- _1: SwapSide,
881
- options: PreprocessTransactionOptions,
882
- ): Promise<[OptimalSwapExchange<CurveV1Data>, ExchangeTxInfo]> {
883
- if (!options.isDirectMethod) {
884
- return [
885
- optimalSwapExchange,
886
- {
887
- deadline: BigInt(getLocalDeadlineAsFriendlyPlaceholder()),
888
- },
889
- ];
890
- }
891
-
892
- assert(
893
- optimalSwapExchange.data !== undefined,
894
- `preProcessTransaction: data field is missing`,
895
- );
896
-
897
- let isApproved: boolean | undefined;
898
-
899
- try {
900
- isApproved = await this.dexHelper.augustusApprovals.hasApproval(
901
- options.executionContractAddress,
902
- this.dexHelper.config.wrapETH(srcToken).address,
903
- optimalSwapExchange.data.exchange,
904
- );
905
- } catch (e) {
906
- this.logger.error(
907
- `preProcessTransaction failed to retrieve allowance info: `,
908
- e,
909
- );
910
- }
911
-
912
- return [
913
- {
914
- ...optimalSwapExchange,
915
- data: {
916
- ...optimalSwapExchange.data,
917
- isApproved,
918
- },
919
- },
920
- {
921
- deadline: BigInt(getLocalDeadlineAsFriendlyPlaceholder()),
922
- },
923
- ];
924
- }
925
-
926
- getDirectParam(
927
- srcToken: Address,
928
- destToken: Address,
929
- srcAmount: NumberAsString,
930
- destAmount: NumberAsString,
931
- expectedAmount: NumberAsString,
932
- data: CurveV1Data,
933
- side: SwapSide,
934
- permit: string,
935
- uuid: string,
936
- feePercent: NumberAsString,
937
- deadline: NumberAsString,
938
- partner: string,
939
- beneficiary: string,
940
- contractMethod: string,
941
- ): TxInfo<DirectCurveV1Param> {
942
- if (contractMethod !== DIRECT_METHOD_NAME) {
943
- throw new Error(`Invalid contract method ${contractMethod}`);
944
- }
945
- assert(side === SwapSide.SELL, 'Buy not supported');
946
-
947
- let isApproved: boolean = !!data.isApproved;
948
- if (data.isApproved === undefined) {
949
- this.logger.warn(`isApproved is undefined, defaulting to false`);
950
- }
951
-
952
- const swapParams: DirectCurveV1Param = [
953
- srcToken,
954
- destToken,
955
- data.exchange,
956
- srcAmount,
957
- destAmount,
958
- expectedAmount,
959
- feePercent,
960
- data.i.toString(),
961
- data.j.toString(),
962
- partner,
963
- isApproved,
964
- data.underlyingSwap
965
- ? CurveV1SwapType.EXCHANGE_UNDERLYING
966
- : CurveV1SwapType.EXCHANGE,
967
- beneficiary,
968
- // For CurveV1 we work as it is, without wrapping and unwrapping
969
- false,
970
- permit,
971
- uuidToBytes16(uuid),
972
- ];
973
-
974
- const encoder = (...params: DirectCurveV1Param) => {
975
- return this.directSwapIface.encodeFunctionData(DIRECT_METHOD_NAME, [
976
- params,
977
- ]);
978
- };
979
-
980
- return {
981
- params: swapParams,
982
- encoder,
983
- networkFee: '0',
984
- };
985
- }
986
-
987
- getDirectParamV6(
988
- srcToken: Address,
989
- destToken: Address,
990
- fromAmount: NumberAsString,
991
- toAmount: NumberAsString,
992
- quotedAmount: NumberAsString,
993
- data: CurveV1Data,
994
- side: SwapSide,
995
- permit: string,
996
- uuid: string,
997
- partnerAndFee: string,
998
- beneficiary: string,
999
- blockNumber: number,
1000
- contractMethod: string,
1001
- ) {
1002
- if (contractMethod !== DIRECT_METHOD_NAME_V6) {
1003
- throw new Error(`Invalid contract method ${contractMethod}`);
1004
- }
1005
- assert(side === SwapSide.SELL, 'Buy not supported');
1006
-
1007
- const metadata = hexConcat([
1008
- hexZeroPad(uuidToBytes16(uuid), 16),
1009
- hexZeroPad(hexlify(blockNumber), 16),
1010
- ]);
1011
-
1012
- const swapParams: DirectCurveV1ParamV6 = [
1013
- packCurveData(
1014
- data.exchange,
1015
- !data.isApproved, // approve flag, if not approved then set to true
1016
- isETHAddress(destToken) ? 0 : isETHAddress(srcToken) ? 3 : 0,
1017
- data.underlyingSwap
1018
- ? CurveV1SwapType.EXCHANGE_UNDERLYING
1019
- : CurveV1SwapType.EXCHANGE,
1020
- ).toString(),
1021
- encodeCurveAssets(data.i, data.j).toString(),
1022
- srcToken,
1023
- destToken,
1024
- fromAmount,
1025
- toAmount,
1026
- quotedAmount,
1027
- metadata,
1028
- beneficiary,
1029
- ];
1030
-
1031
- const encodeParams: CurveV1DirectSwap = [swapParams, partnerAndFee, permit];
1032
-
1033
- const encoder = (...params: CurveV1DirectSwap) => {
1034
- return this.augustusV6Interface.encodeFunctionData(
1035
- DIRECT_METHOD_NAME_V6,
1036
- [...params],
1037
- );
1038
- };
1039
-
1040
- return {
1041
- encoder,
1042
- params: encodeParams,
1043
- networkFee: '0',
1044
- };
1045
- }
1046
-
1047
- static getDirectFunctionNameV6(): string[] {
1048
- return [DIRECT_METHOD_NAME_V6];
1049
- }
1050
-
1051
- getDexParam(
1052
- srcToken: Address,
1053
- destToken: Address,
1054
- srcAmount: NumberAsString,
1055
- destAmount: NumberAsString,
1056
- recipient: Address,
1057
- data: CurveV1Data,
1058
- side: SwapSide,
1059
- ): DexExchangeParam {
1060
- if (side === SwapSide.BUY) throw new Error(`Buy not supported`);
1061
-
1062
- const { exchange, i, j, underlyingSwap } = data;
1063
- const defaultArgs = [i, j, srcAmount, this.minConversionRate];
1064
- const swapMethod = underlyingSwap
1065
- ? CurveSwapFunctions.exchange_underlying
1066
- : CurveSwapFunctions.exchange;
1067
- const exchangeData = this.exchangeRouterInterface.encodeFunctionData(
1068
- swapMethod,
1069
- defaultArgs,
1070
- );
1071
-
1072
- return {
1073
- exchangeData,
1074
- needWrapNative: this.needWrapNative,
1075
- sendEthButSupportsInsertFromAmount: true,
1076
- dexFuncHasRecipient: false,
1077
- targetExchange: exchange,
1078
- returnAmountPos: undefined,
1079
- };
1080
- }
1081
-
1082
- async getSimpleParam(
1083
- srcToken: string,
1084
- destToken: string,
1085
- srcAmount: string,
1086
- destAmount: string,
1087
- data: CurveV1Data,
1088
- side: SwapSide,
1089
- ): Promise<SimpleExchangeParam> {
1090
- if (side === SwapSide.BUY) throw new Error(`Buy not supported`);
1091
-
1092
- const { exchange, i, j, underlyingSwap } = data;
1093
- const defaultArgs = [i, j, srcAmount, this.minConversionRate];
1094
- const swapMethod = underlyingSwap
1095
- ? CurveSwapFunctions.exchange_underlying
1096
- : CurveSwapFunctions.exchange;
1097
- const swapData = this.exchangeRouterInterface.encodeFunctionData(
1098
- swapMethod,
1099
- defaultArgs,
1100
- );
1101
-
1102
- return this.buildSimpleParamWithoutWETHConversion(
1103
- srcToken,
1104
- srcAmount,
1105
- destToken,
1106
- destAmount,
1107
- swapData,
1108
- exchange,
1109
- );
1110
- }
1111
-
1112
- async updateBaseTokenPrice() {
1113
- for (let baseToken of Object.values(this.baseTokens)) {
1114
- const usdPrice = await this.dexHelper.getTokenUSDPrice(
1115
- baseToken,
1116
- baseToken.reasonableVolume,
1117
- );
1118
-
1119
- const denominator =
1120
- Number(baseToken.reasonableVolume) / 10 ** baseToken.decimals;
1121
-
1122
- baseToken.tokenPrice = usdPrice / denominator;
1123
- }
1124
- }
1125
-
1126
- async fetchDecimals() {
1127
- const calls = Object.values(this.pools).reduce<MultiCallParams<any>[]>(
1128
- (acc, pool) => {
1129
- const underlyingDecimalsCalls = pool.underlying.reduce<
1130
- MultiCallParams<any>[]
1131
- >((_acc, _token) => {
1132
- const token = _token.toLowerCase();
1133
- if (token === ETHER_ADDRESS) {
1134
- this.decimalsCoinsAndUnderlying[token] = 18;
1135
- } else {
1136
- _acc.push({
1137
- target: token,
1138
- callData: erc20Iface.encodeFunctionData('decimals'),
1139
- decodeFunction: uin128DecodeToInt,
1140
- cb: (decimals: number) => {
1141
- this.decimalsCoinsAndUnderlying[token.toLowerCase()] = decimals;
1142
- },
1143
- });
1144
- }
1145
-
1146
- return _acc;
1147
- }, []);
1148
-
1149
- const coinsDecimalsCalls = pool.coins.reduce<MultiCallParams<any>[]>(
1150
- (_acc, _coin) => {
1151
- const coin = _coin.toLowerCase();
1152
- if (coin === ETHER_ADDRESS) {
1153
- this.decimalsCoinsAndUnderlying[coin] = 18;
1154
- } else {
1155
- _acc.push({
1156
- target: coin,
1157
- callData: erc20Iface.encodeFunctionData('decimals'),
1158
- decodeFunction: uin128DecodeToInt,
1159
- cb: (decimals: number) => {
1160
- this.decimalsCoinsAndUnderlying[coin.toLowerCase()] =
1161
- decimals;
1162
- },
1163
- });
1164
- }
1165
- return _acc;
1166
- },
1167
- [],
1168
- );
1169
-
1170
- acc.push(...underlyingDecimalsCalls, ...coinsDecimalsCalls);
1171
- return acc;
1172
- },
1173
- [],
1174
- );
1175
-
1176
- return this.dexHelper.multiWrapper!.tryAggregate(true, calls);
1177
- }
1178
-
1179
- async fetchAllPools() {
1180
- try {
1181
- // Hack: We choose to check the balance of the token for the pool instead of calling
1182
- // the balances array in the pool as it was a mess to have each curve abi
1183
- // Some have balances[uint128] some have balances[uint256]
1184
- // One of the consequence for such a hack is below for ETH Pools
1185
- // TODO: below can be highly optimized
1186
- // * we don't need to query token decimals every iteration
1187
- // * we can use the decimals from the tokens list using the api
1188
-
1189
- const calls = Object.values(this.pools).reduce<MultiCallParams<number>[]>(
1190
- (acc, pool) => {
1191
- const coinCalls = pool.coins.map<MultiCallParams<number>>(coin => {
1192
- const coinLowerCase = coin.toLowerCase();
1193
- if (coinLowerCase === ETHER_ADDRESS) {
1194
- return {
1195
- target:
1196
- this.dexHelper.config.data.multicallV2Address.toLowerCase(),
1197
- callData: this.dexHelper.multiContract.methods
1198
- .getEthBalance(pool.address.toLowerCase())
1199
- .encodeABI(),
1200
- decodeFunction: uin256DecodeToFloat,
1201
- };
1202
- } else {
1203
- return {
1204
- target: coinLowerCase,
1205
- callData: erc20Iface.encodeFunctionData('balanceOf', [
1206
- pool.address,
1207
- ]),
1208
- decodeFunction: uin256DecodeToFloat,
1209
- };
1210
- }
1211
- });
1212
- acc.push(...coinCalls);
1213
- return acc;
1214
- },
1215
- [],
1216
- );
1217
-
1218
- const results = await this.dexHelper.multiWrapper!.tryAggregate(
1219
- true,
1220
- calls,
1221
- );
1222
-
1223
- let index = 0;
1224
- Object.values(this.pools).forEach(pool => {
1225
- const balances = results.slice(index, index + pool.coins.length);
1226
- index += pool.coins.length;
1227
-
1228
- const sumLiquidity = balances.reduce((acc, balance, i) => {
1229
- const coin = pool.coins[i].toLowerCase();
1230
- const decimals = this.decimalsCoinsAndUnderlying[coin];
1231
-
1232
- return acc + balance.returnData / 10 ** decimals;
1233
- }, 0);
1234
-
1235
- let liquidityUSD = 0;
1236
- if (pool.baseToken) {
1237
- if (!this.baseTokens[pool.baseToken]) {
1238
- throw new Error(
1239
- `missing base token ${pool.baseToken} for ${this.dexKey}`,
1240
- );
1241
- }
1242
- liquidityUSD =
1243
- sumLiquidity * Number(this.baseTokens[pool.baseToken].tokenPrice!);
1244
- }
1245
-
1246
- pool.liquidityUSD = liquidityUSD;
1247
- });
1248
- } catch (e) {
1249
- this.logger.error(`fetchAllPools ${this.dexKey}`, e);
1250
- throw e;
1251
- }
1252
- }
1253
-
1254
- async updatePoolState(): Promise<void> {
1255
- if (!Object.keys(this.decimalsCoinsAndUnderlying).length) {
1256
- await this.fetchDecimals();
1257
- }
1258
-
1259
- await this.updateBaseTokenPrice();
1260
- await this.fetchAllPools();
1261
- }
1262
-
1263
- async getTopPoolsForToken(
1264
- tokenAddress: Address,
1265
- limit: number,
1266
- ): Promise<PoolLiquidity[]> {
1267
- const _tokenAddress = this.dexHelper.config.unwrapETH({
1268
- address: tokenAddress,
1269
- decimals: 18,
1270
- }).address;
1271
- // In general case a token can be in the coins or underlying
1272
- // In case of the metapool the token might be in both at the same time
1273
- // It is important to note that the connector tokens might not be
1274
- // compatible for exchange among themselves.
1275
- const selectedPool = Object.values(this.pools).reduce<PoolLiquidity[]>(
1276
- (acc, pool) => {
1277
- const inCoins = pool.coins.some(
1278
- _token => _token.toLowerCase() === _tokenAddress.toLowerCase(),
1279
- );
1280
- const inUnderlying = pool.underlying.some(
1281
- _token => _token.toLowerCase() === _tokenAddress.toLowerCase(),
1282
- );
1283
- let connectorTokens = inCoins ? pool.coins : [];
1284
- connectorTokens = inUnderlying
1285
- ? _.concat(connectorTokens, pool.underlying)
1286
- : connectorTokens;
1287
-
1288
- if (connectorTokens.length) {
1289
- acc.push({
1290
- exchange: this.dexKey,
1291
- address: pool.address,
1292
- liquidityUSD: pool.liquidityUSD!,
1293
- connectorTokens: _.uniq(connectorTokens)
1294
- .filter(
1295
- (_token: string) =>
1296
- _token.toLowerCase() !== _tokenAddress.toLowerCase(),
1297
- )
1298
- .map(tokenAddress => {
1299
- const address = tokenAddress.toLowerCase();
1300
- return {
1301
- address,
1302
- decimals: this.decimalsCoinsAndUnderlying[address],
1303
- };
1304
- }),
1305
- });
1306
- }
1307
- return acc;
1308
- },
1309
- [],
1310
- );
1311
- return selectedPool
1312
- .sort((a, b) => b.liquidityUSD - a.liquidityUSD)
1313
- .slice(0, limit);
1314
- }
1315
- }