@paraswap/dex-lib 4.1.2-fluid.2 → 4.1.2

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 (268) hide show
  1. package/.idea/aws.xml +17 -0
  2. package/.idea/codeStyles/Project.xml +19 -0
  3. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  4. package/.idea/misc.xml +6 -0
  5. package/.idea/modules.xml +8 -0
  6. package/.idea/paraswap-dex-lib.iml +9 -0
  7. package/.idea/prettier.xml +7 -0
  8. package/.idea/vcs.xml +6 -0
  9. package/build/abi/fluid-dex/resolver.abi.json +0 -30
  10. package/build/abi/integral/factory.json +333 -0
  11. package/build/abi/{angle-transmuter/ChainlinkEACAggregatorProxy.json → integral/oracle.json} +239 -247
  12. package/build/abi/{curve-v1/StableSwapUSDN.json → integral/pool.json} +487 -450
  13. package/build/abi/{RamsesV2Pool.abi.json → integral/relayer.json} +833 -851
  14. package/build/dex/aave-v1/aave-v1.d.ts +1 -2
  15. package/build/dex/aave-v1/aave-v1.js +0 -22
  16. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  17. package/build/dex/bProtocol.d.ts +18 -0
  18. package/build/dex/bProtocol.js +39 -0
  19. package/build/dex/bProtocol.js.map +1 -0
  20. package/build/dex/bancor.d.ts +26 -0
  21. package/build/dex/bancor.js +58 -0
  22. package/build/dex/bancor.js.map +1 -0
  23. package/build/dex/compound.d.ts +18 -0
  24. package/build/dex/compound.js +46 -0
  25. package/build/dex/compound.js.map +1 -0
  26. package/build/dex/curve-v2.d.ts +58 -0
  27. package/build/dex/curve-v2.js +180 -0
  28. package/build/dex/curve-v2.js.map +1 -0
  29. package/build/dex/dodo-v1.d.ts +33 -0
  30. package/build/dex/dodo-v1.js +63 -0
  31. package/build/dex/dodo-v1.js.map +1 -0
  32. package/build/dex/fluid-dex/config.js +2 -2
  33. package/build/dex/fluid-dex/constants.d.ts +1 -1
  34. package/build/dex/fluid-dex/constants.js +1 -2
  35. package/build/dex/fluid-dex/constants.js.map +1 -1
  36. package/build/dex/fluid-dex/fluid-dex-generate-pool.d.ts +49 -0
  37. package/build/dex/fluid-dex/fluid-dex-generate-pool.js +104 -0
  38. package/build/dex/fluid-dex/fluid-dex-generate-pool.js.map +1 -0
  39. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js +1 -3
  40. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js.map +1 -1
  41. package/build/dex/fluid-dex/fluid-dex.d.ts +5 -4
  42. package/build/dex/fluid-dex/fluid-dex.js +56 -61
  43. package/build/dex/fluid-dex/fluid-dex.js.map +1 -1
  44. package/build/dex/fluid-dex/types.d.ts +0 -3
  45. package/build/dex/integral/config.d.ts +4 -0
  46. package/build/dex/integral/config.js +20 -0
  47. package/build/dex/integral/config.js.map +1 -0
  48. package/build/dex/integral/context.d.ts +40 -0
  49. package/build/dex/integral/context.js +158 -0
  50. package/build/dex/integral/context.js.map +1 -0
  51. package/build/dex/integral/integral-factory.d.ts +24 -0
  52. package/build/dex/integral/integral-factory.js +95 -0
  53. package/build/dex/integral/integral-factory.js.map +1 -0
  54. package/build/dex/integral/integral-pool.d.ts +50 -0
  55. package/build/dex/integral/integral-pool.js +149 -0
  56. package/build/dex/integral/integral-pool.js.map +1 -0
  57. package/build/dex/integral/integral-pricing.d.ts +18 -0
  58. package/build/dex/integral/integral-pricing.js +114 -0
  59. package/build/dex/integral/integral-pricing.js.map +1 -0
  60. package/build/dex/integral/integral-relayer.d.ts +42 -0
  61. package/build/dex/integral/integral-relayer.js +192 -0
  62. package/build/dex/integral/integral-relayer.js.map +1 -0
  63. package/build/dex/integral/integral-token.d.ts +27 -0
  64. package/build/dex/integral/integral-token.js +59 -0
  65. package/build/dex/integral/integral-token.js.map +1 -0
  66. package/build/dex/{inception/inception-native.d.ts → integral/integral.d.ts} +19 -21
  67. package/build/dex/integral/integral.js +376 -0
  68. package/build/dex/integral/integral.js.map +1 -0
  69. package/build/dex/integral/types.d.ts +85 -0
  70. package/build/dex/integral/types.js +9 -0
  71. package/build/dex/integral/types.js.map +1 -0
  72. package/build/dex/integral/utils-e2e.d.ts +9 -0
  73. package/build/dex/integral/utils-e2e.js +131 -0
  74. package/build/dex/integral/utils-e2e.js.map +1 -0
  75. package/build/dex/integral/utils.d.ts +17 -0
  76. package/build/dex/integral/utils.js +94 -0
  77. package/build/dex/integral/utils.js.map +1 -0
  78. package/build/dex/jarvis.d.ts +1 -2
  79. package/build/dex/jarvis.js +0 -58
  80. package/build/dex/jarvis.js.map +1 -1
  81. package/build/dex/lido.d.ts +19 -0
  82. package/build/dex/lido.js +42 -0
  83. package/build/dex/lido.js.map +1 -0
  84. package/build/dex/onebit.d.ts +25 -0
  85. package/build/dex/onebit.js +42 -0
  86. package/build/dex/onebit.js.map +1 -0
  87. package/build/dex/platypus/platypus.d.ts +1 -2
  88. package/build/dex/platypus/platypus.js +0 -31
  89. package/build/dex/platypus/platypus.js.map +1 -1
  90. package/build/dex/smoothy.d.ts +26 -0
  91. package/build/dex/smoothy.js +48 -0
  92. package/build/dex/smoothy.js.map +1 -0
  93. package/build/dex/stable-pool.d.ts +28 -0
  94. package/build/dex/stable-pool.js +62 -0
  95. package/build/dex/stable-pool.js.map +1 -0
  96. package/build/dex/swaap-v1/swaap-v1.d.ts +1 -2
  97. package/build/dex/swaap-v1/swaap-v1.js +0 -10
  98. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  99. package/build/dex/trader-joe-v2.1/optimizer.d.ts +2 -0
  100. package/build/dex/trader-joe-v2.1/optimizer.js +47 -0
  101. package/build/dex/trader-joe-v2.1/optimizer.js.map +1 -0
  102. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.d.ts +7 -0
  103. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js +20 -0
  104. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js.map +1 -0
  105. package/build/dex/trader-joe-v2.1.d.ts +43 -0
  106. package/build/dex/trader-joe-v2.1.js +79 -0
  107. package/build/dex/trader-joe-v2.1.js.map +1 -0
  108. package/build/dex/zerox/index.d.ts +26 -4
  109. package/build/dex/zerox/index.js +42 -50
  110. package/build/dex/zerox/index.js.map +1 -1
  111. package/build/dex/zerox/types.d.ts +0 -29
  112. package/build/dex/zerox/types.js +1 -8
  113. package/build/dex/zerox/types.js.map +1 -1
  114. package/package.json +1 -1
  115. package/src/abi/fluid-dex/resolver.abi.json +0 -30
  116. package/src/dex/fluid-dex/config.ts +2 -2
  117. package/src/dex/fluid-dex/constants.ts +1 -2
  118. package/src/dex/fluid-dex/fluid-dex-e2e.test.ts +117 -61
  119. package/src/dex/fluid-dex/fluid-dex-liquidity-proxy.ts +0 -3
  120. package/src/dex/fluid-dex/fluid-dex.ts +91 -96
  121. package/src/dex/fluid-dex/types.ts +0 -3
  122. package/tests/constants-e2e.ts +1 -1
  123. package/tests/tenderly-simulation.ts +0 -1
  124. package/build/abi/Aave_GSM.json +0 -751
  125. package/build/abi/Balancer.json +0 -257
  126. package/build/abi/BalancerV2.json +0 -1179
  127. package/build/abi/RamsesV2Quoter.abi.json +0 -274
  128. package/build/abi/USDM.json +0 -807
  129. package/build/abi/UniswapV2Router.json +0 -397
  130. package/build/abi/angle-transmuter/ChainlinkAccessControlledOffchainAggregator.json +0 -1246
  131. package/build/abi/curve-v1/CurveBUSDv2.abi.json +0 -1356
  132. package/build/abi/curve-v1/CurveTokenV1.json +0 -305
  133. package/build/abi/curve-v1/CurveTokenV2.json +0 -318
  134. package/build/abi/curve-v1/CurveV1StableNg.json +0 -1452
  135. package/build/abi/curve-v1/CurveV2Swap.json +0 -700
  136. package/build/abi/curve-v1/FactoryCryptoRegistry.json +0 -316
  137. package/build/abi/curve-v1/FactoryRegistry.json +0 -508
  138. package/build/abi/curve-v1/StableSwapAave.json +0 -1152
  139. package/build/abi/curve-v1/StableSwapBUSD.json +0 -814
  140. package/build/abi/curve-v1/StableSwapCompound.json +0 -814
  141. package/build/abi/curve-v1/StableSwapIDLE.json +0 -1253
  142. package/build/abi/curve-v1/StableSwapPax.json +0 -865
  143. package/build/abi/curve-v1/StableSwapSnow.json +0 -900
  144. package/build/abi/curve-v1/StableSwapUSDT.json +0 -814
  145. package/build/abi/curve-v1/StableSwapY.json +0 -814
  146. package/build/abi/inception/inception-ineth-pool.json +0 -1062
  147. package/build/abi/inception/inception-ineth.json +0 -609
  148. package/build/abi/inception/inception-ratio-feed.json +0 -329
  149. package/build/abi/inception/inception-vault.json +0 -991
  150. package/build/abi/kyberdmm/kyber-storage.abi.json +0 -824
  151. package/build/abi/kyberdmm.abi.json +0 -1148
  152. package/build/abi/maverick-v2/MaverickV2Quoter.json +0 -278
  153. package/build/abi/nerve/nerve-metapool.json +0 -790
  154. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +0 -193
  155. package/build/abi/velodrome-slipstream/VelodromeSlipstreamQuoterV2.abi.json +0 -267
  156. package/build/dex/balancer-v1/balancer-pools.json +0 -33333
  157. package/build/dex/bebop/websocket-fetcher.d.ts +0 -35
  158. package/build/dex/bebop/websocket-fetcher.js +0 -87
  159. package/build/dex/bebop/websocket-fetcher.js.map +0 -1
  160. package/build/dex/idle-dao/idle-dao-pool.d.ts +0 -56
  161. package/build/dex/idle-dao/idle-dao-pool.js +0 -176
  162. package/build/dex/idle-dao/idle-dao-pool.js.map +0 -1
  163. package/build/dex/idle-dao/idle-dao-pooling-pool.d.ts +0 -16
  164. package/build/dex/idle-dao/idle-dao-pooling-pool.js +0 -57
  165. package/build/dex/idle-dao/idle-dao-pooling-pool.js.map +0 -1
  166. package/build/dex/idle-dao/scripts.d.ts +0 -9
  167. package/build/dex/idle-dao/scripts.js +0 -552
  168. package/build/dex/idle-dao/scripts.js.map +0 -1
  169. package/build/dex/inception/config.d.ts +0 -4
  170. package/build/dex/inception/config.js +0 -109
  171. package/build/dex/inception/config.js.map +0 -1
  172. package/build/dex/inception/inception-event-pool.d.ts +0 -16
  173. package/build/dex/inception/inception-event-pool.js +0 -51
  174. package/build/dex/inception/inception-event-pool.js.map +0 -1
  175. package/build/dex/inception/inception-native.js +0 -131
  176. package/build/dex/inception/inception-native.js.map +0 -1
  177. package/build/dex/inception/inception-pool.d.ts +0 -18
  178. package/build/dex/inception/inception-pool.js +0 -32
  179. package/build/dex/inception/inception-pool.js.map +0 -1
  180. package/build/dex/inception/inception-price-feed.d.ts +0 -19
  181. package/build/dex/inception/inception-price-feed.js +0 -51
  182. package/build/dex/inception/inception-price-feed.js.map +0 -1
  183. package/build/dex/inception/inception.d.ts +0 -43
  184. package/build/dex/inception/inception.js +0 -204
  185. package/build/dex/inception/inception.js.map +0 -1
  186. package/build/dex/inception/tokens.d.ts +0 -9
  187. package/build/dex/inception/tokens.js +0 -28
  188. package/build/dex/inception/tokens.js.map +0 -1
  189. package/build/dex/inception/types.d.ts +0 -22
  190. package/build/dex/inception/types.js +0 -3
  191. package/build/dex/inception/types.js.map +0 -1
  192. package/build/dex/inception/utils.d.ts +0 -6
  193. package/build/dex/inception/utils.js +0 -37
  194. package/build/dex/inception/utils.js.map +0 -1
  195. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +0 -16
  196. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -16
  197. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -16
  198. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -16
  199. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -16
  200. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -16
  201. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -16
  202. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdt-usdc-dai.json +0 -16
  203. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-eth-usdc.json +0 -9
  204. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-eth.json +0 -9
  205. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-wbtc.json +0 -9
  206. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-eth-steth.json +0 -9
  207. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-steth-eth.json +0 -9
  208. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-usdc-usdt.json +0 -9
  209. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-eth-usdc.json +0 -9
  210. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-eth.json +0 -9
  211. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-usdt.json +0 -9
  212. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -12
  213. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -7
  214. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -7
  215. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -7
  216. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -7
  217. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -12
  218. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-eth-usdc.json +0 -7
  219. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-usdc-eth.json +0 -7
  220. package/build/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +0 -78
  221. package/build/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -81
  222. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -78
  223. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -78
  224. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -81
  225. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -81
  226. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -81
  227. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdt-usdc-dai.json +0 -81
  228. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-eth-usdc.json +0 -64
  229. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-eth.json +0 -85
  230. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-wbtc.json +0 -64
  231. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-eth-steth.json +0 -52
  232. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-steth-eth.json +0 -52
  233. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-usdc-usdt.json +0 -52
  234. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-eth-usdc.json +0 -55
  235. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-eth.json +0 -55
  236. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-usdt.json +0 -55
  237. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -23
  238. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -37
  239. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -23
  240. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -23
  241. package/build/executor/fixtures/executor02/exchange-params/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -51
  242. package/build/executor/fixtures/executor02/exchange-params/price-route-multiswap-univ3-usdt-dai-eth.json +0 -58
  243. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -23
  244. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -23
  245. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -9
  246. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -16
  247. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +0 -23
  248. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -12
  249. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -7
  250. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -12
  251. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -12
  252. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -7
  253. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-univ3-usdt-dai-eth.json +0 -7
  254. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -7
  255. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -7
  256. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -7
  257. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -7
  258. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -130
  259. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -136
  260. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -100
  261. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -100
  262. package/build/executor/fixtures/executor02/routes/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -166
  263. package/build/executor/fixtures/executor02/routes/price-route-multiswap-univ3-usdt-dai-eth.json +0 -190
  264. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -114
  265. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -114
  266. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -55
  267. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -73
  268. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +0 -82
@@ -13,13 +13,46 @@ const zrx_v4_json_1 = __importDefault(require("../../abi/zrx.v4.json"));
13
13
  const constants_1 = require("../../constants");
14
14
  const simple_exchange_1 = require("../simple-exchange");
15
15
  const order_1 = require("./order");
16
- const types_1 = require("./types");
17
- const config_1 = require("./config");
16
+ const ZRX_EXCHANGE = {
17
+ 1: {
18
+ 2: '0x080bf510fcbf18b91105470639e9561022937712',
19
+ 3: '0x61935CbDd02287B511119DDb11Aeb42F1593b7Ef',
20
+ 4: '0xdef1c0ded9bec7f1a1670819833240f027b25eff',
21
+ },
22
+ 56: {
23
+ 2: '0x3F93C3D9304a70c9104642AB8cD37b1E2a7c203A',
24
+ 4: '0xdef1c0ded9bec7f1a1670819833240f027b25eff',
25
+ },
26
+ 137: {
27
+ 4: '0xdef1c0ded9bec7f1a1670819833240f027b25eff',
28
+ },
29
+ };
18
30
  const ZRX_ABI = {
19
31
  2: zrx_v2_json_1.default,
20
32
  3: zrx_v3_json_1.default,
21
33
  4: zrx_v4_json_1.default,
22
34
  };
35
+ const ZRX_EXCHANGE_ERC20PROXY = {
36
+ 1: {
37
+ 1: '0x95E6F48254609A6ee006F7D493c8e5fB97094ceF',
38
+ 2: '0x95E6F48254609A6ee006F7D493c8e5fB97094ceF',
39
+ 4: '0xdef1c0ded9bec7f1a1670819833240f027b25eff',
40
+ },
41
+ 56: {
42
+ 2: '0xCF21d4b7a265FF779accBA55Ace0F56C8cE6e379',
43
+ 4: '0xdef1c0ded9bec7f1a1670819833240f027b25eff',
44
+ },
45
+ 137: {
46
+ 4: '0xdef1c0ded9bec7f1a1670819833240f027b25eff',
47
+ },
48
+ };
49
+ var ZeroXFunctions;
50
+ (function (ZeroXFunctions) {
51
+ ZeroXFunctions["swapOnZeroXv2"] = "swapOnZeroXv2";
52
+ ZeroXFunctions["swapOnZeroXv4"] = "swapOnZeroXv4";
53
+ ZeroXFunctions["swapOnZeroXv2WithPermit"] = "swapOnZeroXv2WithPermit";
54
+ ZeroXFunctions["swapOnZeroXv4WithPermit"] = "swapOnZeroXv4WithPermit";
55
+ })(ZeroXFunctions || (ZeroXFunctions = {}));
23
56
  class ZeroX extends simple_exchange_1.SimpleExchange {
24
57
  constructor(dexHelper) {
25
58
  super(dexHelper, 'zerox');
@@ -27,7 +60,7 @@ class ZeroX extends simple_exchange_1.SimpleExchange {
27
60
  this.routerInterface = new abi_1.Interface(IParaswap_json_1.default);
28
61
  }
29
62
  getExchange(data) {
30
- return config_1.ZRX_EXCHANGE[this.network][data.version];
63
+ return ZRX_EXCHANGE[this.network][data.version];
31
64
  }
32
65
  buildSimpleSwapData(data, srcAmount) {
33
66
  const zrxABI = ZRX_ABI[data.version];
@@ -134,48 +167,7 @@ class ZeroX extends simple_exchange_1.SimpleExchange {
134
167
  }
135
168
  const swapData = this.buildSimpleSwapData(data, srcAmount);
136
169
  const networkFees = '0';
137
- return this.buildSimpleParamWithoutWETHConversion(src, srcAmount, dest, destAmount, swapData, this.getExchange(data), config_1.ZRX_EXCHANGE_ERC20PROXY[this.network][data.version], networkFees);
138
- }
139
- getDexParam(_srcToken, _destToken, srcAmount, destAmount, _recipient, data, side) {
140
- if (side === constants_1.SwapSide.BUY) {
141
- // Adjust the srcAmount according to the exact order price (rounding up)
142
- if (data.version === 4) {
143
- const order = data.order;
144
- if (BigInt(destAmount) > BigInt(order.makerAmount)) {
145
- throw new Error(`ZeroX destAmount ${destAmount} > makerAmount ${order.makerAmount}`);
146
- }
147
- const calc = (BigInt(destAmount) * BigInt(order.takerAmount) +
148
- BigInt(order.makerAmount) -
149
- 1n) /
150
- BigInt(order.makerAmount);
151
- if (calc > BigInt(srcAmount)) {
152
- throw new Error(`ZeroX calc ${calc} > srcAmount ${srcAmount}`);
153
- }
154
- srcAmount = calc.toString();
155
- }
156
- else {
157
- const order = data.order;
158
- if (BigInt(destAmount) > BigInt(order.makerAssetAmount)) {
159
- throw new Error(`ZeroX destAmount ${destAmount} > makerAmount ${order.makerAssetAmount}`);
160
- }
161
- const calc = (BigInt(destAmount) * BigInt(order.takerAssetAmount) +
162
- BigInt(order.makerAssetAmount) -
163
- 1n) /
164
- BigInt(order.makerAssetAmount);
165
- if (calc > BigInt(srcAmount)) {
166
- throw new Error(`ZeroX calc ${calc} > srcAmount ${srcAmount}`);
167
- }
168
- srcAmount = calc.toString();
169
- }
170
- }
171
- const swapData = this.buildSimpleSwapData(data, srcAmount);
172
- return {
173
- needWrapNative: this.needWrapNative,
174
- dexFuncHasRecipient: false,
175
- exchangeData: swapData,
176
- targetExchange: this.getExchange(data),
177
- returnAmountPos: undefined,
178
- };
170
+ return this.buildSimpleParamWithoutWETHConversion(src, srcAmount, dest, destAmount, swapData, this.getExchange(data), ZRX_EXCHANGE_ERC20PROXY[this.network][data.version], networkFees);
179
171
  }
180
172
  getDirectParam(srcToken, destToken, srcAmount, destAmount, expectedAmount, data, side, permit, uuid, feePercent, deadline, partner, beneficiary, contractMethod) {
181
173
  const usePermit = permit !== '0x';
@@ -183,12 +175,12 @@ class ZeroX extends simple_exchange_1.SimpleExchange {
183
175
  switch (data.version) {
184
176
  case 2:
185
177
  return this.routerInterface.encodeFunctionData(usePermit
186
- ? types_1.ZeroXFunctions.swapOnZeroXv2WithPermit
187
- : types_1.ZeroXFunctions.swapOnZeroXv2, params);
178
+ ? ZeroXFunctions.swapOnZeroXv2WithPermit
179
+ : ZeroXFunctions.swapOnZeroXv2, params);
188
180
  case 4:
189
181
  return this.routerInterface.encodeFunctionData(usePermit
190
- ? types_1.ZeroXFunctions.swapOnZeroXv4WithPermit
191
- : types_1.ZeroXFunctions.swapOnZeroXv4, params);
182
+ ? ZeroXFunctions.swapOnZeroXv4WithPermit
183
+ : ZeroXFunctions.swapOnZeroXv4, params);
192
184
  default:
193
185
  throw new Error(`ZeroX version ${data.version} is not supported!`);
194
186
  }
@@ -217,7 +209,7 @@ class ZeroX extends simple_exchange_1.SimpleExchange {
217
209
  };
218
210
  }
219
211
  static getDirectFunctionName() {
220
- return [types_1.ZeroXFunctions.swapOnZeroXv2, types_1.ZeroXFunctions.swapOnZeroXv4];
212
+ return [ZeroXFunctions.swapOnZeroXv2, ZeroXFunctions.swapOnZeroXv4];
221
213
  }
222
214
  }
223
215
  exports.ZeroX = ZeroX;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dex/zerox/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dex/zerox/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { Address } from '@paraswap/sdk';
2
1
  import { NumberAsString } from '../../types';
3
2
  export declare enum OrderStatus {
4
3
  INVALID = 0,
@@ -42,32 +41,4 @@ export interface ZeroXSignedOrderV4 {
42
41
  signature: any;
43
42
  }
44
43
  export declare type ZeroXSignedOrder = ZeroXSignedOrderV2 | ZeroXSignedOrderV4;
45
- export declare enum ZeroXFunctions {
46
- swapOnZeroXv2 = "swapOnZeroXv2",
47
- swapOnZeroXv4 = "swapOnZeroXv4",
48
- swapOnZeroXv2WithPermit = "swapOnZeroXv2WithPermit",
49
- swapOnZeroXv4WithPermit = "swapOnZeroXv4WithPermit"
50
- }
51
- export declare type ZeroXData = {
52
- version: number;
53
- order: ZeroXSignedOrder;
54
- };
55
- export declare type SwapOnZeroXParam = [
56
- srcToken: Address,
57
- destToken: Address,
58
- srcAmount: NumberAsString,
59
- destAmount: NumberAsString,
60
- exchange: Address,
61
- payload: string
62
- ];
63
- export declare type SwapOnZeroXWithPermitParam = [
64
- srcToken: Address,
65
- destToken: Address,
66
- srcAmount: NumberAsString,
67
- destAmount: NumberAsString,
68
- exchange: Address,
69
- payload: string,
70
- permit: string
71
- ];
72
- export declare type ZeroXParam = SwapOnZeroXParam | SwapOnZeroXWithPermitParam;
73
44
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ZeroXFunctions = exports.OrderStatus = void 0;
3
+ exports.OrderStatus = void 0;
4
4
  var OrderStatus;
5
5
  (function (OrderStatus) {
6
6
  OrderStatus[OrderStatus["INVALID"] = 0] = "INVALID";
@@ -11,11 +11,4 @@ var OrderStatus;
11
11
  OrderStatus[OrderStatus["FULLY_FILLED"] = 5] = "FULLY_FILLED";
12
12
  OrderStatus[OrderStatus["CANCELLED"] = 6] = "CANCELLED";
13
13
  })(OrderStatus = exports.OrderStatus || (exports.OrderStatus = {}));
14
- var ZeroXFunctions;
15
- (function (ZeroXFunctions) {
16
- ZeroXFunctions["swapOnZeroXv2"] = "swapOnZeroXv2";
17
- ZeroXFunctions["swapOnZeroXv4"] = "swapOnZeroXv4";
18
- ZeroXFunctions["swapOnZeroXv2WithPermit"] = "swapOnZeroXv2WithPermit";
19
- ZeroXFunctions["swapOnZeroXv4WithPermit"] = "swapOnZeroXv4WithPermit";
20
- })(ZeroXFunctions = exports.ZeroXFunctions || (exports.ZeroXFunctions = {}));
21
14
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/zerox/types.ts"],"names":[],"mappings":";;;AAGA,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,mDAAO,CAAA;IACP,yFAA0B,CAAA;IAC1B,yFAA0B,CAAA;IAC1B,qDAAQ,CAAA;IACR,mDAAO,CAAA;IACP,6DAAY,CAAA;IACZ,uDAAS,CAAA;AACX,CAAC,EARW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAQtB;AAuCD,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,qEAAmD,CAAA;IACnD,qEAAmD,CAAA;AACrD,CAAC,EALW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAKzB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/zerox/types.ts"],"names":[],"mappings":";;;AAEA,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,mDAAO,CAAA;IACP,yFAA0B,CAAA;IAC1B,yFAA0B,CAAA;IAC1B,qDAAQ,CAAA;IACR,mDAAO,CAAA;IACP,6DAAY,CAAA;IACZ,uDAAS,CAAA;AACX,CAAC,EARW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAQtB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "4.1.2-fluid.2",
3
+ "version": "4.1.2",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -201,11 +201,6 @@
201
201
  "name": "fee",
202
202
  "type": "uint256"
203
203
  },
204
- {
205
- "internalType": "uint256",
206
- "name": "centerPrice",
207
- "type": "uint256"
208
- },
209
204
  {
210
205
  "components": [
211
206
  {
@@ -400,11 +395,6 @@
400
395
  "name": "fee",
401
396
  "type": "uint256"
402
397
  },
403
- {
404
- "internalType": "uint256",
405
- "name": "centerPrice",
406
- "type": "uint256"
407
- },
408
398
  {
409
399
  "components": [
410
400
  {
@@ -1202,11 +1192,6 @@
1202
1192
  "name": "fee",
1203
1193
  "type": "uint256"
1204
1194
  },
1205
- {
1206
- "internalType": "uint256",
1207
- "name": "centerPrice",
1208
- "type": "uint256"
1209
- },
1210
1195
  {
1211
1196
  "components": [
1212
1197
  {
@@ -1407,11 +1392,6 @@
1407
1392
  "name": "fee",
1408
1393
  "type": "uint256"
1409
1394
  },
1410
- {
1411
- "internalType": "uint256",
1412
- "name": "centerPrice",
1413
- "type": "uint256"
1414
- },
1415
1395
  {
1416
1396
  "components": [
1417
1397
  {
@@ -1636,11 +1616,6 @@
1636
1616
  "name": "fee",
1637
1617
  "type": "uint256"
1638
1618
  },
1639
- {
1640
- "internalType": "uint256",
1641
- "name": "centerPrice",
1642
- "type": "uint256"
1643
- },
1644
1619
  {
1645
1620
  "components": [
1646
1621
  {
@@ -1841,11 +1816,6 @@
1841
1816
  "name": "fee",
1842
1817
  "type": "uint256"
1843
1818
  },
1844
- {
1845
- "internalType": "uint256",
1846
- "name": "centerPrice",
1847
- "type": "uint256"
1848
- },
1849
1819
  {
1850
1820
  "components": [
1851
1821
  {
@@ -7,14 +7,14 @@ export const FluidDexConfig: DexConfigMap<DexParams> = {
7
7
  [Network.MAINNET]: {
8
8
  commonAddresses: {
9
9
  liquidityProxy: '0x52aa899454998be5b000ad077a46bbe360f4e497',
10
- resolver: '0xb387f9C2092cF7c4943F97842887eBff7AE96EB3',
10
+ resolver: '0x45f4ad57e300da55c33dea579a40fcee000d7b94',
11
11
  dexFactory: '0x91716C4EDA1Fb55e84Bf8b4c7085f84285c19085',
12
12
  },
13
13
  },
14
14
  [Network.ARBITRUM]: {
15
15
  commonAddresses: {
16
16
  liquidityProxy: '0x52Aa899454998Be5b000Ad077a46Bbe360F4e497',
17
- resolver: '0xCe6F4E40152a1DF97ae95a7e4F60D944871A4060',
17
+ resolver: '0xb8f526718FF58758E256D9aD86bC194a9ff5986D',
18
18
  dexFactory: '0x91716C4EDA1Fb55e84Bf8b4c7085f84285c19085',
19
19
  },
20
20
  },
@@ -1,2 +1 @@
1
- // on-chain we use 1e4 but use extra buffer to avoid reverts
2
- export const MIN_SWAP_LIQUIDITY = 8500n;
1
+ export const MIN_SWAP_LIQUIDITY = 10n ** 4n;
@@ -4,13 +4,46 @@ dotenv.config();
4
4
 
5
5
  import { StaticJsonRpcProvider } from '@ethersproject/providers';
6
6
  import { testE2E } from '../../../tests/utils-e2e';
7
- import { Tokens, Holders } from '../../../tests/constants-e2e';
7
+ import {
8
+ Tokens,
9
+ Holders,
10
+ NativeTokenSymbols,
11
+ } from '../../../tests/constants-e2e';
8
12
  import { Network, ContractMethod, SwapSide } from '../../constants';
9
13
  import { generateConfig } from '../../config';
10
14
  import { CollateralReserves, DebtReserves, DexLimits } from './types';
11
15
  import { DummyDexHelper } from '../../dex-helper/index';
12
16
  import { FluidDex } from './fluid-dex';
13
17
 
18
+ /*
19
+ README
20
+ ======
21
+
22
+ The template already enumerates the basic structure which involves
23
+ testing simpleSwap, multiSwap, megaSwap contract methods for
24
+ ETH <> TOKEN and TOKEN <> TOKEN swaps. You should replace tokenA and
25
+ tokenB with any two highly liquid tokens on FluidDex for the tests
26
+ to work. If the tokens that you would like to use are not defined in
27
+ Tokens or Holders map, you can update the './tests/constants-e2e'
28
+
29
+ Other than the standard cases that are already added by the template
30
+ it is highly recommended to add test cases which could be specific
31
+ to testing FluidDex (Eg. Tests based on poolType, special tokens,
32
+ etc).
33
+
34
+ You can run this individual test script by running:
35
+ `npx jest src/dex/<dex-name>/<dex-name>-e2e.test.ts`
36
+
37
+ e2e tests use the Tenderly fork api. Please add the following to your
38
+ .env file:
39
+ TENDERLY_TOKEN=Find this under Account>Settings>Authorization.
40
+ TENDERLY_ACCOUNT_ID=Your Tenderly account name.
41
+ TENDERLY_PROJECT=Name of a Tenderly project you have created in your
42
+ dashboard.
43
+
44
+ (This comment should be removed from the final implementation)
45
+ */
46
+
14
47
  function testForNetwork(
15
48
  network: Network,
16
49
  dexKey: string,
@@ -23,14 +56,9 @@ function testForNetwork(
23
56
  generateConfig(network).privateHttpProvider,
24
57
  network,
25
58
  );
26
-
27
59
  const tokens = Tokens[network];
28
60
  const holders = Holders[network];
29
61
 
30
- // Create FluidDex instance to check reserves
31
- const dexHelper = new DummyDexHelper(network);
32
- const fluidDex = new FluidDex(network, dexKey, dexHelper);
33
-
34
62
  const sideToContractMethods = new Map([
35
63
  [SwapSide.SELL, [ContractMethod.swapExactAmountIn]],
36
64
  [SwapSide.BUY, [ContractMethod.swapExactAmountOut]],
@@ -41,11 +69,11 @@ function testForNetwork(
41
69
  describe(`${side}`, () => {
42
70
  contractMethods.forEach((contractMethod: string) => {
43
71
  describe(`${contractMethod}`, () => {
44
- it(`${tokenBSymbol} -> ${tokenASymbol}`, async () => {
72
+ it(`${tokenASymbol} -> ${tokenBSymbol}`, async () => {
45
73
  await testE2E(
46
- tokens[tokenBSymbol],
47
74
  tokens[tokenASymbol],
48
- holders[tokenBSymbol],
75
+ tokens[tokenBSymbol],
76
+ holders[tokenASymbol],
49
77
  tokenBAmount,
50
78
  side,
51
79
  dexKey,
@@ -54,13 +82,12 @@ function testForNetwork(
54
82
  provider,
55
83
  );
56
84
  });
57
-
58
- it(`${tokenASymbol} -> ${tokenBSymbol}`, async () => {
85
+ it(`${tokenBSymbol} -> ${tokenASymbol}`, async () => {
59
86
  await testE2E(
60
- tokens[tokenASymbol],
61
87
  tokens[tokenBSymbol],
62
- holders[tokenASymbol],
63
- tokenAAmount,
88
+ tokens[tokenASymbol],
89
+ holders[tokenBSymbol],
90
+ tokenBAmount,
64
91
  side,
65
92
  dexKey,
66
93
  contractMethod as ContractMethod,
@@ -81,11 +108,30 @@ describe('FluidDex E2E', () => {
81
108
  describe('Mainnet', () => {
82
109
  const network = Network.MAINNET;
83
110
 
84
- describe('limit:FLUID -> ETH', () => {
85
- const tokenASymbol: string = 'FLUID';
86
- const tokenBSymbol: string = 'ETH';
87
- const tokenAAmount: string = '16009704732281037900';
88
- const tokenBAmount: string = '7992306873300550562400';
111
+ // TODO: Uncomment & test when the issue is resolved. Currently no price as expected.
112
+ // describe.only('FLUID -> ETH', () => {
113
+ // const tokenASymbol: string = 'FLUID';
114
+ // const tokenBSymbol: string = 'ETH';
115
+ //
116
+ // const tokenAAmount: string = '160097047322810379';
117
+ // const tokenBAmount: string = '79923068733005505624';
118
+ //
119
+ // testForNetwork(
120
+ // network,
121
+ // dexKey,
122
+ // tokenASymbol,
123
+ // tokenBSymbol,
124
+ // tokenAAmount,
125
+ // tokenBAmount,
126
+ // );
127
+ // });
128
+
129
+ describe('ETH -> INST', () => {
130
+ const tokenASymbol: string = 'ETH';
131
+ const tokenBSymbol: string = 'INST';
132
+
133
+ const tokenAAmount: string = '100000000000000';
134
+ const tokenBAmount: string = '100000000000000';
89
135
 
90
136
  testForNetwork(
91
137
  network,
@@ -102,7 +148,7 @@ describe('FluidDex E2E', () => {
102
148
  const tokenBSymbol: string = 'ETH';
103
149
 
104
150
  const tokenAAmount: string = '100000000000000';
105
- const tokenBAmount: string = '3500000000000000000';
151
+ const tokenBAmount: string = '100000000000000';
106
152
 
107
153
  testForNetwork(
108
154
  network,
@@ -191,9 +237,6 @@ function NewDebtReservesOne(): DebtReserves {
191
237
  };
192
238
  }
193
239
 
194
- const centerPriceTight: bigint = 3401944443797854601871360n;
195
- const centerPriceWide: bigint = 1190081051944310368000000000n;
196
-
197
240
  const limitsTight: DexLimits = {
198
241
  withdrawableToken0: {
199
242
  available: 456740438880263n,
@@ -240,6 +283,10 @@ const limitsWide: DexLimits = {
240
283
  },
241
284
  };
242
285
 
286
+ const ErrInsufficientBorrowable = new Error('insufficient borrowable');
287
+ const ErrInsufficientMaxPrice = new Error('insufficient max price');
288
+ const ErrInsufficientReserve = new Error('insufficient reserve');
289
+
243
290
  describe('TestPoolSimulator_SwapInLimits', () => {
244
291
  const network = Network.MAINNET;
245
292
  const dexHelper = new DummyDexHelper(network);
@@ -248,18 +295,21 @@ describe('TestPoolSimulator_SwapInLimits', () => {
248
295
 
249
296
  it('when limits hit', () => {
250
297
  let outAmt;
251
- outAmt = fluidDex.swapInAdjusted(
252
- true,
253
- BigInt(1e15),
254
- NewColReservesOne(),
255
- NewDebtReservesOne(),
256
- 100n,
257
- 18,
258
- limitsTight,
259
- BigInt(centerPriceTight),
260
- Math.floor(Date.now() / 1000) - 10,
261
- );
262
- expect(outAmt).toEqual(0n);
298
+ try {
299
+ outAmt = fluidDex.swapInAdjusted(
300
+ true,
301
+ BigInt(1e15),
302
+ NewColReservesOne(),
303
+ NewDebtReservesOne(),
304
+ 100n,
305
+ 18,
306
+ limitsTight,
307
+ Math.floor(Date.now() / 1000) - 10,
308
+ );
309
+ expect(outAmt).toEqual(0n);
310
+ } catch (err: any) {
311
+ expect(err.message).toEqual(ErrInsufficientBorrowable.message);
312
+ }
263
313
  });
264
314
 
265
315
  it('when expanded', () => {
@@ -271,41 +321,47 @@ describe('TestPoolSimulator_SwapInLimits', () => {
271
321
  100n,
272
322
  18,
273
323
  limitsTight,
274
- BigInt(centerPriceTight),
275
324
  Math.floor(Date.now() / 1000) - 6000,
276
325
  );
277
- expect(outAmt?.toString()).toEqual('998163044346107');
326
+ console.log('outAmt: ', outAmt);
327
+ expect(outAmt?.toString()).toEqual('998262697204710');
278
328
  });
279
329
 
280
330
  it('when price diff hit', () => {
281
331
  let outAmt;
282
- outAmt = fluidDex.swapInAdjusted(
283
- true,
284
- BigInt(3e16),
285
- NewColReservesOne(),
286
- NewDebtReservesOne(),
287
- 100n,
288
- 18,
289
- limitsWide,
290
- BigInt(centerPriceWide),
291
- Math.floor(Date.now() / 1000) - 10,
292
- );
293
- expect(outAmt).toEqual(0n);
332
+ try {
333
+ outAmt = fluidDex.swapInAdjusted(
334
+ true,
335
+ BigInt(3e16),
336
+ NewColReservesOne(),
337
+ NewDebtReservesOne(),
338
+ 100n,
339
+ 18,
340
+ limitsWide,
341
+ Math.floor(Date.now() / 1000) - 10,
342
+ );
343
+ expect(outAmt).toEqual(0n);
344
+ } catch (err: any) {
345
+ expect(err.message).toEqual(ErrInsufficientMaxPrice.message);
346
+ }
294
347
  });
295
348
 
296
349
  it('when reserves limit is hit', () => {
297
350
  let outAmt;
298
- outAmt = fluidDex.swapInAdjusted(
299
- true,
300
- BigInt(5e16),
301
- NewColReservesOne(),
302
- NewDebtReservesOne(),
303
- 100n,
304
- 18,
305
- limitsWide,
306
- BigInt(centerPriceWide),
307
- Math.floor(Date.now() / 1000) - 10,
308
- );
309
- expect(outAmt).toEqual(0n);
351
+ try {
352
+ outAmt = fluidDex.swapInAdjusted(
353
+ true,
354
+ BigInt(5e16),
355
+ NewColReservesOne(),
356
+ NewDebtReservesOne(),
357
+ 100n,
358
+ 18,
359
+ limitsWide,
360
+ Math.floor(Date.now() / 1000) - 10,
361
+ );
362
+ expect(outAmt).toEqual(0n);
363
+ } catch (err: any) {
364
+ expect(err.message).toEqual(ErrInsufficientReserve.message);
365
+ }
310
366
  });
311
367
  });
@@ -137,14 +137,12 @@ export class FluidDexLiquidityProxy extends StatefulEventSubscriber<FluidDexLiqu
137
137
  token0,
138
138
  token1,
139
139
  feeHex,
140
- centerPriceHex,
141
140
  collateralReservesHex,
142
141
  debtReservesHex,
143
142
  dexLimitsHex,
144
143
  ] = poolReserve;
145
144
 
146
145
  const fee = Number(feeHex.toString());
147
- const centerPrice = Number(centerPriceHex.toString());
148
146
 
149
147
  const collateralReserves = {
150
148
  token0RealReserves: bigIntify(collateralReservesHex[0]),
@@ -198,7 +196,6 @@ export class FluidDexLiquidityProxy extends StatefulEventSubscriber<FluidDexLiqu
198
196
  token0,
199
197
  token1,
200
198
  fee,
201
- centerPrice,
202
199
  collateralReserves,
203
200
  debtReserves,
204
201
  dexLimits,