@paraswap/dex-lib 3.4.0 → 3.4.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 (360) hide show
  1. package/.vscode/launch.json +53 -0
  2. package/.vscode/settings.json +2 -0
  3. package/.vscode/tasks.json +15 -0
  4. package/README.md +3 -3
  5. package/abis.txt +92 -0
  6. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  7. package/build/abi/{integral/relayer.json → wombat/pool.json} +587 -446
  8. package/build/config.js +0 -35
  9. package/build/config.js.map +1 -1
  10. package/build/constants.d.ts +0 -1
  11. package/build/constants.js +0 -1
  12. package/build/constants.js.map +1 -1
  13. package/build/dex/augustus-rfq.js +0 -1
  14. package/build/dex/augustus-rfq.js.map +1 -1
  15. package/build/dex/curve-v1/config.js +1 -57
  16. package/build/dex/curve-v1/config.js.map +1 -1
  17. package/build/dex/curve-v1-factory/config.js +1 -1
  18. package/build/dex/curve-v1-factory/config.js.map +1 -1
  19. package/build/dex/etherfi.js +1 -1
  20. package/build/dex/gmx/gmx.js.map +1 -1
  21. package/build/dex/index.js +0 -14
  22. package/build/dex/index.js.map +1 -1
  23. package/build/dex/nerve/config.js +0 -399
  24. package/build/dex/nerve/config.js.map +1 -1
  25. package/build/dex/paraswap-limit-orders/config.js +0 -7
  26. package/build/dex/paraswap-limit-orders/config.js.map +1 -1
  27. package/build/dex/quick-perps/quick-perps.js.map +1 -1
  28. package/build/dex/quickswap/config.js +0 -8
  29. package/build/dex/quickswap/config.js.map +1 -1
  30. package/build/dex/solidly/config.js +1 -27
  31. package/build/dex/solidly/config.js.map +1 -1
  32. package/build/dex/solidly/solidly.js +0 -2
  33. package/build/dex/solidly/solidly.js.map +1 -1
  34. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
  35. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
  36. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
  37. package/build/dex/stable-pool/stable-pool.js +1 -8
  38. package/build/dex/stable-pool/stable-pool.js.map +1 -1
  39. package/build/dex/stable-pool.js +1 -8
  40. package/build/dex/stable-pool.js.map +1 -1
  41. package/build/dex/uniswap-v2/config.js +0 -152
  42. package/build/dex/uniswap-v2/config.js.map +1 -1
  43. package/build/dex/uniswap-v2/constants.js +0 -1
  44. package/build/dex/uniswap-v2/constants.js.map +1 -1
  45. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
  46. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
  47. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
  48. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  49. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
  50. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  51. package/build/dex/weth/config.js +0 -3
  52. package/build/dex/weth/config.js.map +1 -1
  53. package/build/dex/wsteth/wsteth.js.map +1 -1
  54. package/build/types.d.ts +0 -1
  55. package/package.json +1 -1
  56. package/src/config.ts +0 -39
  57. package/src/constants.ts +0 -1
  58. package/src/dex/augustus-rfq.ts +0 -1
  59. package/src/dex/curve-v1/config.ts +1 -57
  60. package/src/dex/curve-v1/curve-v1-e2e.test.ts +0 -51
  61. package/src/dex/curve-v1-factory/config.ts +1 -1
  62. package/src/dex/etherfi.ts +1 -1
  63. package/src/dex/gmx/gmx.ts +1 -4
  64. package/src/dex/index.ts +0 -14
  65. package/src/dex/nerve/config.ts +0 -400
  66. package/src/dex/nerve/nerve-e2e.test.ts +0 -507
  67. package/src/dex/nerve/nerve-events.test.ts +0 -268
  68. package/src/dex/paraswap-limit-orders/config.ts +0 -7
  69. package/src/dex/paraswap-limit-orders/paraswap-limit-orders-e2e.test.ts +2 -2
  70. package/src/dex/paraswap-limit-orders/paraswap-limit-orders-integration.test.ts +1 -1
  71. package/src/dex/quick-perps/quick-perps.ts +1 -4
  72. package/src/dex/quickswap/config.ts +0 -9
  73. package/src/dex/quickswap/quickswap-e2e.test.ts +0 -97
  74. package/src/dex/solidly/config.ts +1 -30
  75. package/src/dex/solidly/solidly-e2e.test.ts +0 -280
  76. package/src/dex/solidly/solidly-integration.test.ts +0 -135
  77. package/src/dex/solidly/solidly.ts +0 -2
  78. package/src/dex/stable-pool/stable-pool.ts +1 -8
  79. package/src/dex/uniswap-v2/config.ts +0 -185
  80. package/src/dex/uniswap-v2/constants.ts +0 -1
  81. package/src/dex/uniswap-v2/uniswap-v2-e2e-avalanche.test.ts +0 -272
  82. package/src/dex/uniswap-v2/uniswap-v2-e2e-base.test.ts +0 -6
  83. package/src/dex/uniswap-v2/uniswap-v2-e2e-bsc.test.ts +0 -325
  84. package/src/dex/uniswap-v2/uniswap-v2-e2e-mainnet.test.ts +0 -175
  85. package/src/dex/uniswap-v2/uniswap-v2-e2e-polygon.test.ts +0 -413
  86. package/src/dex/weth/config.ts +0 -3
  87. package/src/dex/wsteth/wsteth.ts +1 -4
  88. package/src/types.ts +0 -1
  89. package/tests/constants-e2e.ts +0 -21
  90. package/tests/generate-new-limit-order.ts +1 -1
  91. package/.idea/aws.xml +0 -17
  92. package/.idea/codeStyles/Project.xml +0 -19
  93. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  94. package/.idea/misc.xml +0 -6
  95. package/.idea/modules.xml +0 -8
  96. package/.idea/paraswap-dex-lib.iml +0 -9
  97. package/.idea/prettier.xml +0 -7
  98. package/.idea/vcs.xml +0 -6
  99. package/build/abi/AugustusV6.abi.json +0 -395
  100. package/build/abi/algebra/AlgebraPool.abi.json +0 -727
  101. package/build/abi/curve-v1/StableSwapFRXETH.json +0 -889
  102. package/build/abi/curve-v1/StableSwapWBETH.json +0 -1223
  103. package/build/abi/sushiswap-v3/QuoterV2.json +0 -267
  104. package/build/abi/sushiswap-v3/RouterProcessor3.json +0 -289
  105. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +0 -193
  106. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3QuoterV2.abi.json +0 -285
  107. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3Router.abi.json +0 -583
  108. package/build/abi/wBETH.json +0 -1527
  109. package/build/abi/woo-fi/WooFeeManager.abi.json +0 -318
  110. package/build/abi/woo-fi/WooPP.abi.json +0 -548
  111. package/build/abi/woo-fi/Wooracle.abi.json +0 -260
  112. package/build/dex/aave-v3/tokens/arbitrum.json +0 -50
  113. package/build/dex/aave-v3/tokens/avalanche.json +0 -74
  114. package/build/dex/aave-v3/tokens/fantom.json +0 -62
  115. package/build/dex/aave-v3/tokens/optimism.json +0 -50
  116. package/build/dex/aave-v3/tokens/polygon.json +0 -116
  117. package/build/dex/algebra/algebra-pool.d.ts +0 -114
  118. package/build/dex/algebra/algebra-pool.js +0 -448
  119. package/build/dex/algebra/algebra-pool.js.map +0 -1
  120. package/build/dex/balancer-v2/Gyro3Pool.d.ts +0 -43
  121. package/build/dex/balancer-v2/Gyro3Pool.js +0 -160
  122. package/build/dex/balancer-v2/Gyro3Pool.js.map +0 -1
  123. package/build/dex/balancer-v2/LinearMath.d.ts +0 -88
  124. package/build/dex/balancer-v2/LinearMath.js +0 -285
  125. package/build/dex/balancer-v2/LinearMath.js.map +0 -1
  126. package/build/dex/balancer-v2/LinearPool.d.ts +0 -81
  127. package/build/dex/balancer-v2/LinearPool.js +0 -444
  128. package/build/dex/balancer-v2/LinearPool.js.map +0 -1
  129. package/build/dex/balancer-v2/PhantomStablePool.d.ts +0 -90
  130. package/build/dex/balancer-v2/PhantomStablePool.js +0 -418
  131. package/build/dex/balancer-v2/PhantomStablePool.js.map +0 -1
  132. package/build/dex/balancer-v2/StableMath.d.ts +0 -9
  133. package/build/dex/balancer-v2/StableMath.js +0 -272
  134. package/build/dex/balancer-v2/StableMath.js.map +0 -1
  135. package/build/dex/balancer-v2/balancer-v2-pool.d.ts +0 -140
  136. package/build/dex/balancer-v2/balancer-v2-pool.js +0 -647
  137. package/build/dex/balancer-v2/balancer-v2-pool.js.map +0 -1
  138. package/build/dex/curve-v1/pools/frxETHpool.d.ts +0 -7
  139. package/build/dex/curve-v1/pools/frxETHpool.js +0 -27
  140. package/build/dex/curve-v1/pools/frxETHpool.js.map +0 -1
  141. package/build/dex/curve-v1/pools/wbETHpool.d.ts +0 -29
  142. package/build/dex/curve-v1/pools/wbETHpool.js +0 -408
  143. package/build/dex/curve-v1/pools/wbETHpool.js.map +0 -1
  144. package/build/dex/integral/config.d.ts +0 -4
  145. package/build/dex/integral/config.js +0 -18
  146. package/build/dex/integral/config.js.map +0 -1
  147. package/build/dex/integral/integral-pool.d.ts +0 -39
  148. package/build/dex/integral/integral-pool.js +0 -67
  149. package/build/dex/integral/integral-pool.js.map +0 -1
  150. package/build/dex/integral/integral.d.ts +0 -48
  151. package/build/dex/integral/integral.js +0 -402
  152. package/build/dex/integral/integral.js.map +0 -1
  153. package/build/dex/integral/types.d.ts +0 -25
  154. package/build/dex/integral/types.js +0 -9
  155. package/build/dex/integral/types.js.map +0 -1
  156. package/build/dex/lighter-v1/abi/erc20.json +0 -222
  157. package/build/dex/lighter-v1/abi/factory.json +0 -291
  158. package/build/dex/lighter-v1/abi/order_book.json +0 -594
  159. package/build/dex/lighter-v1/abi/order_book_helper.json +0 -176
  160. package/build/dex/lighter-v1/abi/router.json +0 -488
  161. package/build/dex/lighter-v1/config.d.ts +0 -4
  162. package/build/dex/lighter-v1/config.js +0 -17
  163. package/build/dex/lighter-v1/config.js.map +0 -1
  164. package/build/dex/lighter-v1/constants.d.ts +0 -2
  165. package/build/dex/lighter-v1/constants.js +0 -13
  166. package/build/dex/lighter-v1/constants.js.map +0 -1
  167. package/build/dex/lighter-v1/lighter-v1-pool.d.ts +0 -57
  168. package/build/dex/lighter-v1/lighter-v1-pool.js +0 -310
  169. package/build/dex/lighter-v1/lighter-v1-pool.js.map +0 -1
  170. package/build/dex/lighter-v1/lighter-v1.d.ts +0 -45
  171. package/build/dex/lighter-v1/lighter-v1.js +0 -331
  172. package/build/dex/lighter-v1/lighter-v1.js.map +0 -1
  173. package/build/dex/lighter-v1/types.d.ts +0 -40
  174. package/build/dex/lighter-v1/types.js +0 -3
  175. package/build/dex/lighter-v1/types.js.map +0 -1
  176. package/build/dex/pancakeswap-v3/types.d.ts +0 -14
  177. package/build/dex/pancakeswap-v3/types.js +0 -3
  178. package/build/dex/pancakeswap-v3/types.js.map +0 -1
  179. package/build/dex/quickswap/camelot-v3.d.ts +0 -6
  180. package/build/dex/quickswap/camelot-v3.js +0 -19
  181. package/build/dex/quickswap/camelot-v3.js.map +0 -1
  182. package/build/dex/quickswap/zyberswap-v3.d.ts +0 -6
  183. package/build/dex/quickswap/zyberswap-v3.js +0 -19
  184. package/build/dex/quickswap/zyberswap-v3.js.map +0 -1
  185. package/build/dex/quickswap-v3.d.ts +0 -21
  186. package/build/dex/quickswap-v3.js +0 -40
  187. package/build/dex/quickswap-v3.js.map +0 -1
  188. package/build/dex/ramses-v2/config.d.ts +0 -4
  189. package/build/dex/ramses-v2/config.js +0 -28
  190. package/build/dex/ramses-v2/config.js.map +0 -1
  191. package/build/dex/ramses-v2/constants.d.ts +0 -28
  192. package/build/dex/ramses-v2/constants.js +0 -35
  193. package/build/dex/ramses-v2/constants.js.map +0 -1
  194. package/build/dex/ramses-v2/contract-math/BitMath.d.ts +0 -4
  195. package/build/dex/ramses-v2/contract-math/BitMath.js +0 -93
  196. package/build/dex/ramses-v2/contract-math/BitMath.js.map +0 -1
  197. package/build/dex/ramses-v2/contract-math/FixedPoint128.d.ts +0 -3
  198. package/build/dex/ramses-v2/contract-math/FixedPoint128.js +0 -8
  199. package/build/dex/ramses-v2/contract-math/FixedPoint128.js.map +0 -1
  200. package/build/dex/ramses-v2/contract-math/FixedPoint96.d.ts +0 -4
  201. package/build/dex/ramses-v2/contract-math/FixedPoint96.js +0 -9
  202. package/build/dex/ramses-v2/contract-math/FixedPoint96.js.map +0 -1
  203. package/build/dex/ramses-v2/contract-math/FullMath.d.ts +0 -4
  204. package/build/dex/ramses-v2/contract-math/FullMath.js +0 -19
  205. package/build/dex/ramses-v2/contract-math/FullMath.js.map +0 -1
  206. package/build/dex/ramses-v2/contract-math/LiquidityMath.d.ts +0 -3
  207. package/build/dex/ramses-v2/contract-math/LiquidityMath.js +0 -22
  208. package/build/dex/ramses-v2/contract-math/LiquidityMath.js.map +0 -1
  209. package/build/dex/ramses-v2/contract-math/Oracle.d.ts +0 -10
  210. package/build/dex/ramses-v2/contract-math/Oracle.js +0 -133
  211. package/build/dex/ramses-v2/contract-math/Oracle.js.map +0 -1
  212. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.d.ts +0 -10
  213. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js +0 -91
  214. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js.map +0 -1
  215. package/build/dex/ramses-v2/contract-math/SwapMath.d.ts +0 -8
  216. package/build/dex/ramses-v2/contract-math/SwapMath.js +0 -70
  217. package/build/dex/ramses-v2/contract-math/SwapMath.js.map +0 -1
  218. package/build/dex/ramses-v2/contract-math/Tick.d.ts +0 -7
  219. package/build/dex/ramses-v2/contract-math/Tick.js +0 -45
  220. package/build/dex/ramses-v2/contract-math/Tick.js.map +0 -1
  221. package/build/dex/ramses-v2/contract-math/TickBitMap.d.ts +0 -8
  222. package/build/dex/ramses-v2/contract-math/TickBitMap.js +0 -87
  223. package/build/dex/ramses-v2/contract-math/TickBitMap.js.map +0 -1
  224. package/build/dex/ramses-v2/contract-math/TickMath.d.ts +0 -8
  225. package/build/dex/ramses-v2/contract-math/TickMath.js +0 -162
  226. package/build/dex/ramses-v2/contract-math/TickMath.js.map +0 -1
  227. package/build/dex/ramses-v2/contract-math/UnsafeMath.d.ts +0 -3
  228. package/build/dex/ramses-v2/contract-math/UnsafeMath.js +0 -10
  229. package/build/dex/ramses-v2/contract-math/UnsafeMath.js.map +0 -1
  230. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.d.ts +0 -18
  231. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js +0 -392
  232. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js.map +0 -1
  233. package/build/dex/ramses-v2/contract-math/utils.d.ts +0 -3
  234. package/build/dex/ramses-v2/contract-math/utils.js +0 -16
  235. package/build/dex/ramses-v2/contract-math/utils.js.map +0 -1
  236. package/build/dex/ramses-v2/ramses-v2-pool.d.ts +0 -42
  237. package/build/dex/ramses-v2/ramses-v2-pool.js +0 -307
  238. package/build/dex/ramses-v2/ramses-v2-pool.js.map +0 -1
  239. package/build/dex/ramses-v2/ramses-v2.d.ts +0 -61
  240. package/build/dex/ramses-v2/ramses-v2.js +0 -690
  241. package/build/dex/ramses-v2/ramses-v2.js.map +0 -1
  242. package/build/dex/ramses-v2/types.d.ts +0 -154
  243. package/build/dex/ramses-v2/types.js +0 -9
  244. package/build/dex/ramses-v2/types.js.map +0 -1
  245. package/build/dex/ramses-v2/utils.d.ts +0 -6
  246. package/build/dex/ramses-v2/utils.js +0 -71
  247. package/build/dex/ramses-v2/utils.js.map +0 -1
  248. package/build/dex/solidly/forks-override/fvm.d.ts +0 -20
  249. package/build/dex/solidly/forks-override/fvm.js +0 -42
  250. package/build/dex/solidly/forks-override/fvm.js.map +0 -1
  251. package/build/dex/sushiswap-v3/config.d.ts +0 -4
  252. package/build/dex/sushiswap-v3/config.js +0 -132
  253. package/build/dex/sushiswap-v3/config.js.map +0 -1
  254. package/build/dex/sushiswap-v3/constants.d.ts +0 -4
  255. package/build/dex/sushiswap-v3/constants.js +0 -32
  256. package/build/dex/sushiswap-v3/constants.js.map +0 -1
  257. package/build/dex/sushiswap-v3/sushiswap-v3-original.d.ts +0 -56
  258. package/build/dex/sushiswap-v3/sushiswap-v3-original.js +0 -598
  259. package/build/dex/sushiswap-v3/sushiswap-v3-original.js.map +0 -1
  260. package/build/dex/sushiswap-v3/sushiswap-v3-pool.d.ts +0 -1
  261. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js +0 -6
  262. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js.map +0 -1
  263. package/build/dex/sushiswap-v3/sushiswap-v3.d.ts +0 -21
  264. package/build/dex/sushiswap-v3/sushiswap-v3.js +0 -58
  265. package/build/dex/sushiswap-v3/sushiswap-v3.js.map +0 -1
  266. package/build/dex/sushiswap-v3/token.d.ts +0 -6
  267. package/build/dex/sushiswap-v3/token.js +0 -23
  268. package/build/dex/sushiswap-v3/token.js.map +0 -1
  269. package/build/dex/sushiswap-v3/types.d.ts +0 -15
  270. package/build/dex/sushiswap-v3/types.js +0 -18
  271. package/build/dex/sushiswap-v3/types.js.map +0 -1
  272. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.d.ts +0 -12
  273. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js +0 -23
  274. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js.map +0 -1
  275. package/build/dex/woo-fi/config.d.ts +0 -4
  276. package/build/dex/woo-fi/config.js +0 -141
  277. package/build/dex/woo-fi/config.js.map +0 -1
  278. package/build/dex/woo-fi/constants.d.ts +0 -5
  279. package/build/dex/woo-fi/constants.js +0 -20
  280. package/build/dex/woo-fi/constants.js.map +0 -1
  281. package/build/dex/woo-fi/types.d.ts +0 -48
  282. package/build/dex/woo-fi/types.js +0 -3
  283. package/build/dex/woo-fi/types.js.map +0 -1
  284. package/build/dex/woo-fi/woo-fi-decimal-math.d.ts +0 -14
  285. package/build/dex/woo-fi/woo-fi-decimal-math.js +0 -42
  286. package/build/dex/woo-fi/woo-fi-decimal-math.js.map +0 -1
  287. package/build/dex/woo-fi/woo-fi-math.d.ts +0 -31
  288. package/build/dex/woo-fi/woo-fi-math.js +0 -300
  289. package/build/dex/woo-fi/woo-fi-math.js.map +0 -1
  290. package/build/dex/woo-fi/woo-fi.d.ts +0 -65
  291. package/build/dex/woo-fi/woo-fi.js +0 -480
  292. package/build/dex/woo-fi/woo-fi.js.map +0 -1
  293. package/build/executor/IExecutorBytecodeBuilder.d.ts +0 -6
  294. package/build/executor/IExecutorBytecodeBuilder.js +0 -3
  295. package/build/executor/IExecutorBytecodeBuilder.js.map +0 -1
  296. package/src/abi/AaveV1_lending_pool.json +0 -27
  297. package/src/abi/platypus/asset.json +0 -490
  298. package/src/abi/platypus/avax-pool.json +0 -820
  299. package/src/abi/platypus/oracle.json +0 -119
  300. package/src/abi/platypus/pool.json +0 -677
  301. package/src/abi/smardex/all/smardex-router.json +0 -648
  302. package/src/abi/smardex/layer-1/smardex-factory.json +0 -242
  303. package/src/abi/smardex/layer-1/smardex-pool.json +0 -506
  304. package/src/abi/smardex/layer-2/smardex-factory.json +0 -185
  305. package/src/abi/smardex/layer-2/smardex-pool.json +0 -578
  306. package/src/abi/swaap-v1/asset.json +0 -490
  307. package/src/abi/swaap-v1/oracle.json +0 -119
  308. package/src/abi/swaap-v1/pool.json +0 -1346
  309. package/src/dex/aave-v1/aave-v1-e2e.test.ts +0 -105
  310. package/src/dex/aave-v1/aave-v1-integration.test.ts +0 -100
  311. package/src/dex/aave-v1/aave-v1.ts +0 -261
  312. package/src/dex/aave-v1/config.ts +0 -22
  313. package/src/dex/aave-v1/tokens-mainnet.json +0 -134
  314. package/src/dex/aave-v1/tokens.ts +0 -58
  315. package/src/dex/aave-v1/types.ts +0 -24
  316. package/src/dex/platypus/asset.ts +0 -139
  317. package/src/dex/platypus/config.ts +0 -72
  318. package/src/dex/platypus/platypus-e2e.test.ts +0 -168
  319. package/src/dex/platypus/platypus-events.test.ts +0 -167
  320. package/src/dex/platypus/platypus-integration.test.ts +0 -256
  321. package/src/dex/platypus/platypus.ts +0 -639
  322. package/src/dex/platypus/pool-avax.ts +0 -92
  323. package/src/dex/platypus/pool-base.ts +0 -155
  324. package/src/dex/platypus/pool-pure.ts +0 -71
  325. package/src/dex/platypus/pool-subscriber.ts +0 -239
  326. package/src/dex/platypus/pool.ts +0 -99
  327. package/src/dex/platypus/types.ts +0 -104
  328. package/src/dex/quickswap/spiritswap-v3.ts +0 -19
  329. package/src/dex/smardex/config.ts +0 -67
  330. package/src/dex/smardex/constants.ts +0 -35
  331. package/src/dex/smardex/sdk/constants.ts +0 -10
  332. package/src/dex/smardex/sdk/core.ts +0 -832
  333. package/src/dex/smardex/sdk/errors.ts +0 -18
  334. package/src/dex/smardex/sdk/types.ts +0 -68
  335. package/src/dex/smardex/sdk/utils.ts +0 -156
  336. package/src/dex/smardex/smardex-e2e.test.ts +0 -275
  337. package/src/dex/smardex/smardex-event-pool.ts +0 -164
  338. package/src/dex/smardex/smardex-events.test.ts +0 -297
  339. package/src/dex/smardex/smardex-integration.test.ts +0 -258
  340. package/src/dex/smardex/smardex.ts +0 -770
  341. package/src/dex/smardex/types.ts +0 -69
  342. package/src/dex/solidly/forks-override/cone.ts +0 -67
  343. package/src/dex/solidly/forks-override/solisnek.ts +0 -10
  344. package/src/dex/swaap-v1/config.ts +0 -62
  345. package/src/dex/swaap-v1/constants.ts +0 -22
  346. package/src/dex/swaap-v1/libraries/ChainlinkUtils.ts +0 -152
  347. package/src/dex/swaap-v1/libraries/Const.ts +0 -29
  348. package/src/dex/swaap-v1/libraries/GeometricBrownianMotion.ts +0 -433
  349. package/src/dex/swaap-v1/libraries/LogExpMath.ts +0 -511
  350. package/src/dex/swaap-v1/libraries/MathMMM.ts +0 -717
  351. package/src/dex/swaap-v1/libraries/Num.ts +0 -184
  352. package/src/dex/swaap-v1/libraries/PoolQuotations.ts +0 -322
  353. package/src/dex/swaap-v1/libraries/Struct.ts +0 -66
  354. package/src/dex/swaap-v1/swaap-v1-e2e.test.ts +0 -75
  355. package/src/dex/swaap-v1/swaap-v1-events.test.ts +0 -138
  356. package/src/dex/swaap-v1/swaap-v1-integration.test.ts +0 -232
  357. package/src/dex/swaap-v1/swaap-v1-pool.ts +0 -919
  358. package/src/dex/swaap-v1/swaap-v1.ts +0 -668
  359. package/src/dex/swaap-v1/types.ts +0 -124
  360. package/src/dex/uniswap-v2/uniswap-v2-e2e-ropsten.test.ts +0 -481
@@ -1,647 +0,0 @@
1
- 'use strict';
2
- var __importDefault =
3
- (this && this.__importDefault) ||
4
- function (mod) {
5
- return mod && mod.__esModule ? mod : { default: mod };
6
- };
7
- Object.defineProperty(exports, '__esModule', { value: true });
8
- exports.WeightedPool =
9
- exports.WeightedMath =
10
- exports.StablePool =
11
- exports.BasePool =
12
- void 0;
13
- const abi_1 = require('@ethersproject/abi');
14
- const balancer_v2_math_1 = require('./balancer-v2-math');
15
- const constants_1 = require('../../constants');
16
- const utils_1 = require('./utils');
17
- const weighted_pool_json_1 = __importDefault(
18
- require('../../abi/balancer-v2/weighted-pool.json'),
19
- );
20
- const stable_pool_json_1 = __importDefault(
21
- require('../../abi/balancer-v2/stable-pool.json'),
22
- );
23
- const meta_stable_pool_json_1 = __importDefault(
24
- require('../../abi/balancer-v2/meta-stable-pool.json'),
25
- );
26
- const bigint_constants_1 = require('../../bigint-constants');
27
- const _require = (b, message) => {
28
- if (!b) throw new Error(message);
29
- };
30
- class BasePool {
31
- _subtractSwapFeeAmount(amount, _swapFeePercentage) {
32
- // This returns amount - fee amount, so we round up (favoring a higher fee amount).
33
- const feeAmount = balancer_v2_math_1.MathSol.mulUpFixed(
34
- amount,
35
- _swapFeePercentage,
36
- );
37
- return amount - feeAmount;
38
- }
39
- // These methods use fixed versions to match SC scaling
40
- _upscaleArray(amounts, scalingFactors) {
41
- return amounts.map((a, i) =>
42
- balancer_v2_math_1.MathSol.mulUpFixed(a, scalingFactors[i]),
43
- );
44
- }
45
- _upscale(amount, scalingFactor) {
46
- return balancer_v2_math_1.MathSol.mulUpFixed(amount, scalingFactor);
47
- }
48
- _downscaleDown(amount, scalingFactor) {
49
- return balancer_v2_math_1.MathSol.divDownFixed(amount, scalingFactor);
50
- }
51
- _nullifyIfMaxAmountExceeded(amountToTrade, swapMax) {
52
- return swapMax >= amountToTrade ? amountToTrade : 0n;
53
- }
54
- }
55
- exports.BasePool = BasePool;
56
- class BaseGeneralPool extends BasePool {
57
- // Swap Hooks
58
- // Modification: this is inspired from the function onSwap which is in the original contract
59
- onSell(amounts, poolPairData) {
60
- // _validateIndexes(indexIn, indexOut, _getTotalTokens());
61
- // uint256[] memory scalingFactors = _scalingFactors();
62
- return this._swapGivenIn(
63
- amounts,
64
- poolPairData.balances,
65
- poolPairData.indexIn,
66
- poolPairData.indexOut,
67
- poolPairData.scalingFactors,
68
- poolPairData.swapFee,
69
- poolPairData.amp,
70
- );
71
- }
72
- _swapGivenIn(
73
- tokenAmountsIn,
74
- balances,
75
- indexIn,
76
- indexOut,
77
- scalingFactors,
78
- _swapFeePercentage,
79
- _amplificationParameter,
80
- ) {
81
- // Fees are subtracted before scaling, to reduce the complexity of the rounding direction analysis.
82
- const tokenAmountsInWithFee = tokenAmountsIn.map(a =>
83
- this._subtractSwapFeeAmount(a, _swapFeePercentage),
84
- );
85
- const balancesUpscaled = this._upscaleArray(balances, scalingFactors);
86
- const tokenAmountsInScaled = tokenAmountsInWithFee.map(a =>
87
- this._upscale(a, scalingFactors[indexIn]),
88
- );
89
- const amountsOut = this._onSwapGivenIn(
90
- tokenAmountsInScaled,
91
- balancesUpscaled,
92
- indexIn,
93
- indexOut,
94
- _amplificationParameter,
95
- );
96
- // amountOut tokens are exiting the Pool, so we round down.
97
- return amountsOut.map(a =>
98
- this._downscaleDown(a, scalingFactors[indexOut]),
99
- );
100
- }
101
- }
102
- class BaseMinimalSwapInfoPool extends BasePool {
103
- // Swap Hooks
104
- // Modification: this is inspired from the function onSwap which is in the original contract
105
- onSell(tokenAmountsIn, poolPairData) {
106
- // uint256 _scalingFactorTokenIn = _scalingFactor(request.tokenIn);
107
- // uint256 _scalingFactorTokenOut = _scalingFactor(request.tokenOut);
108
- // Fees are subtracted before scaling, to reduce the complexity of the rounding direction analysis.
109
- const tokenAmountsInWithFee = tokenAmountsIn.map(a =>
110
- this._subtractSwapFeeAmount(a, poolPairData.swapFee),
111
- );
112
- // All token amounts are upscaled.
113
- const balanceTokenIn = this._upscale(
114
- poolPairData.tokenInBalance,
115
- poolPairData.tokenInScalingFactor,
116
- );
117
- const balanceTokenOut = this._upscale(
118
- poolPairData.tokenOutBalance,
119
- poolPairData.tokenOutScalingFactor,
120
- );
121
- const tokenAmountsInScaled = tokenAmountsInWithFee.map(a =>
122
- this._upscale(a, poolPairData.tokenInScalingFactor),
123
- );
124
- const amountsOut = this._onSwapGivenIn(
125
- tokenAmountsInScaled,
126
- balanceTokenIn,
127
- balanceTokenOut,
128
- poolPairData.tokenInWeight,
129
- poolPairData.tokenOutWeight,
130
- );
131
- // amountOut tokens are exiting the Pool, so we round down.
132
- return amountsOut.map(a =>
133
- this._downscaleDown(a, poolPairData.tokenOutScalingFactor),
134
- );
135
- }
136
- }
137
- class StableMath {
138
- static _calculateInvariant(amplificationParameter, balances, roundUp) {
139
- /**********************************************************************************************
140
- // invariant //
141
- // D = invariant D^(n+1) //
142
- // A = amplification coefficient A n^n S + D = A D n^n + ----------- //
143
- // S = sum of balances n^n P //
144
- // P = product of balances //
145
- // n = number of tokens //
146
- *********x************************************************************************************/
147
- // We support rounding up or down.
148
- let sum = 0n;
149
- const numTokens = balances.length;
150
- for (let i = 0; i < numTokens; i++) {
151
- sum = sum + balances[i];
152
- }
153
- if (sum == 0n) {
154
- return 0n;
155
- }
156
- let prevInvariant = 0n;
157
- let invariant = sum;
158
- const ampTimesTotal = amplificationParameter * BigInt(numTokens);
159
- for (let i = 0; i < 255; i++) {
160
- let P_D = balances[0] * BigInt(numTokens);
161
- for (let j = 1; j < numTokens; j++) {
162
- P_D = balancer_v2_math_1.MathSol.div(
163
- balancer_v2_math_1.MathSol.mul(
164
- balancer_v2_math_1.MathSol.mul(P_D, balances[j]),
165
- BigInt(numTokens),
166
- ),
167
- invariant,
168
- roundUp,
169
- );
170
- }
171
- prevInvariant = invariant;
172
- invariant = balancer_v2_math_1.MathSol.div(
173
- balancer_v2_math_1.MathSol.mul(
174
- balancer_v2_math_1.MathSol.mul(BigInt(numTokens), invariant),
175
- invariant,
176
- ) +
177
- balancer_v2_math_1.MathSol.div(
178
- balancer_v2_math_1.MathSol.mul(
179
- balancer_v2_math_1.MathSol.mul(ampTimesTotal, sum),
180
- P_D,
181
- ),
182
- this._AMP_PRECISION,
183
- roundUp,
184
- ),
185
- balancer_v2_math_1.MathSol.mul(BigInt(numTokens + 1), invariant) +
186
- // No need to use checked arithmetic for the amp precision, the amp is guaranteed to be at least 1
187
- balancer_v2_math_1.MathSol.div(
188
- balancer_v2_math_1.MathSol.mul(
189
- ampTimesTotal - this._AMP_PRECISION,
190
- P_D,
191
- ),
192
- this._AMP_PRECISION,
193
- !roundUp,
194
- ),
195
- roundUp,
196
- );
197
- if (invariant > prevInvariant) {
198
- if (invariant - prevInvariant <= 1) {
199
- return invariant;
200
- }
201
- } else if (prevInvariant - invariant <= 1) {
202
- return invariant;
203
- }
204
- }
205
- throw new Error('Errors.STABLE_INVARIANT_DIDNT_CONVERGE');
206
- }
207
- static _calcOutGivenIn(
208
- amplificationParameter,
209
- balances,
210
- tokenIndexIn,
211
- tokenIndexOut,
212
- tokenAmountsIn,
213
- ) {
214
- /**************************************************************************************************************
215
- // outGivenIn token x for y - polynomial equation to solve //
216
- // ay = amount out to calculate //
217
- // by = balance token out //
218
- // y = by - ay (finalBalanceOut) //
219
- // D = invariant D D^(n+1) //
220
- // A = amplification coefficient y^2 + ( S - ---------- - D) * y - ------------- = 0 //
221
- // n = number of tokens (A * n^n) A * n^2n * P //
222
- // S = sum of final balances but y //
223
- // P = product of final balances but y //
224
- **************************************************************************************************************/
225
- // Amount out, so we round down overall.
226
- // Given that we need to have a greater final balance out, the invariant needs to be rounded up
227
- const invariant = this._calculateInvariant(
228
- amplificationParameter,
229
- balances,
230
- true,
231
- );
232
- const initBalance = balances[tokenIndexIn];
233
- // Modification: The original code was implemented for a single tokenAmountsIn
234
- return tokenAmountsIn.map(a => {
235
- balances[tokenIndexIn] = initBalance + a;
236
- const finalBalanceOut =
237
- this._getTokenBalanceGivenInvariantAndAllOtherBalances(
238
- amplificationParameter,
239
- balances,
240
- invariant,
241
- tokenIndexOut,
242
- );
243
- // No need to use checked arithmetic since `tokenAmountIn` was actually added to the same balance right before
244
- // calling `_getTokenBalanceGivenInvariantAndAllOtherBalances` which doesn't alter the balances array.
245
- // balances[tokenIndexIn] = balances[tokenIndexIn] - tokenAmountIn;
246
- return balances[tokenIndexOut] - finalBalanceOut - 1n;
247
- });
248
- }
249
- static _getTokenBalanceGivenInvariantAndAllOtherBalances(
250
- amplificationParameter,
251
- balances,
252
- invariant,
253
- tokenIndex,
254
- ) {
255
- // Rounds result up overall
256
- const ampTimesTotal = amplificationParameter * BigInt(balances.length);
257
- let sum = balances[0];
258
- let P_D = balances[0] * BigInt(balances.length);
259
- for (let j = 1; j < balances.length; j++) {
260
- P_D = balancer_v2_math_1.MathSol.divDown(
261
- balancer_v2_math_1.MathSol.mul(
262
- balancer_v2_math_1.MathSol.mul(P_D, balances[j]),
263
- BigInt(balances.length),
264
- ),
265
- invariant,
266
- );
267
- sum = sum + balances[j];
268
- }
269
- // No need to use safe math, based on the loop above `sum` is greater than or equal to `balances[tokenIndex]`
270
- sum = sum - balances[tokenIndex];
271
- const inv2 = balancer_v2_math_1.MathSol.mul(invariant, invariant);
272
- // We remove the balance fromm c by multiplying it
273
- const c = balancer_v2_math_1.MathSol.mul(
274
- balancer_v2_math_1.MathSol.mul(
275
- balancer_v2_math_1.MathSol.divUp(
276
- inv2,
277
- balancer_v2_math_1.MathSol.mul(ampTimesTotal, P_D),
278
- ),
279
- this._AMP_PRECISION,
280
- ),
281
- balances[tokenIndex],
282
- );
283
- const b =
284
- sum +
285
- balancer_v2_math_1.MathSol.mul(
286
- balancer_v2_math_1.MathSol.divDown(invariant, ampTimesTotal),
287
- this._AMP_PRECISION,
288
- );
289
- // We iterate to find the balance
290
- let prevTokenBalance = 0n;
291
- // We multiply the first iteration outside the loop with the invariant to set the value of the
292
- // initial approximation.
293
- let tokenBalance = balancer_v2_math_1.MathSol.divUp(
294
- inv2 + c,
295
- invariant + b,
296
- );
297
- for (let i = 0; i < 255; i++) {
298
- prevTokenBalance = tokenBalance;
299
- tokenBalance = balancer_v2_math_1.MathSol.divUp(
300
- balancer_v2_math_1.MathSol.mul(tokenBalance, tokenBalance) + c,
301
- balancer_v2_math_1.MathSol.mul(tokenBalance, 2n) + b - invariant,
302
- );
303
- if (tokenBalance > prevTokenBalance) {
304
- if (tokenBalance - prevTokenBalance <= 1) {
305
- return tokenBalance;
306
- }
307
- } else if (prevTokenBalance - tokenBalance <= 1) {
308
- return tokenBalance;
309
- }
310
- }
311
- throw new Error('Errors.STABLE_GET_BALANCE_DIDNT_CONVERGE');
312
- }
313
- }
314
- StableMath._AMP_PRECISION = bigint_constants_1.BI_POWS[3];
315
- class StablePool extends BaseGeneralPool {
316
- constructor(vaultAddress, vaultInterface) {
317
- super();
318
- this.vaultAddress = vaultAddress;
319
- this.vaultInterface = vaultInterface;
320
- this.poolInterface = new abi_1.Interface(stable_pool_json_1.default);
321
- this.metaPoolInterface = new abi_1.Interface(
322
- meta_stable_pool_json_1.default,
323
- );
324
- }
325
- _onSwapGivenIn(
326
- tokenAmountsIn,
327
- balances,
328
- indexIn,
329
- indexOut,
330
- _amplificationParameter,
331
- ) {
332
- return StableMath._calcOutGivenIn(
333
- _amplificationParameter,
334
- balances,
335
- indexIn,
336
- indexOut,
337
- tokenAmountsIn,
338
- );
339
- }
340
- /*
341
- Helper function to parse pool data into params for onSell function.
342
- */
343
- parsePoolPairData(pool, poolState, tokenIn, tokenOut) {
344
- let indexIn = 0,
345
- indexOut = 0;
346
- const scalingFactors = [];
347
- const balances = poolState.orderedTokens.map((tokenAddress, i) => {
348
- const t = pool.tokensMap[tokenAddress.toLowerCase()];
349
- if (t.address.toLowerCase() === tokenIn.toLowerCase()) indexIn = i;
350
- if (t.address.toLowerCase() === tokenOut.toLowerCase()) indexOut = i;
351
- if (pool.poolType === 'MetaStable')
352
- scalingFactors.push(
353
- poolState.tokens[t.address.toLowerCase()].scalingFactor || 0n,
354
- );
355
- else scalingFactors.push((0, utils_1.getTokenScalingFactor)(t.decimals));
356
- return poolState.tokens[t.address.toLowerCase()].balance;
357
- });
358
- const poolPairData = {
359
- balances,
360
- indexIn,
361
- indexOut,
362
- scalingFactors,
363
- swapFee: poolState.swapFee,
364
- amp: poolState.amp ? poolState.amp : 0n,
365
- };
366
- return poolPairData;
367
- }
368
- /*
369
- Helper function to construct onchain multicall data for StablePool.
370
- */
371
- getOnChainCalls(pool) {
372
- const poolCallData = [
373
- {
374
- target: this.vaultAddress,
375
- callData: this.vaultInterface.encodeFunctionData('getPoolTokens', [
376
- pool.id,
377
- ]),
378
- },
379
- {
380
- target: pool.address,
381
- callData: this.poolInterface.encodeFunctionData('getSwapFeePercentage'),
382
- },
383
- {
384
- target: pool.address,
385
- callData: this.poolInterface.encodeFunctionData(
386
- 'getAmplificationParameter',
387
- ),
388
- },
389
- ];
390
- if (pool.poolType === 'MetaStable') {
391
- poolCallData.push({
392
- target: pool.address,
393
- callData:
394
- this.metaPoolInterface.encodeFunctionData('getScalingFactors'),
395
- });
396
- }
397
- return poolCallData;
398
- }
399
- /*
400
- Helper function to decodes multicall data for a Stable Pool.
401
- data must contain returnData
402
- startIndex is where to start in returnData. Allows this decode function to be called along with other pool types.
403
- */
404
- decodeOnChainCalls(pool, data, startIndex) {
405
- const pools = {};
406
- const poolTokens = (0, utils_1.decodeThrowError)(
407
- this.vaultInterface,
408
- 'getPoolTokens',
409
- data[startIndex++],
410
- pool.address,
411
- );
412
- const swapFee = (0, utils_1.decodeThrowError)(
413
- this.poolInterface,
414
- 'getSwapFeePercentage',
415
- data[startIndex++],
416
- pool.address,
417
- )[0];
418
- const amp = (0, utils_1.decodeThrowError)(
419
- this.poolInterface,
420
- 'getAmplificationParameter',
421
- data[startIndex++],
422
- pool.address,
423
- );
424
- let scalingFactors;
425
- if (pool.poolType === 'MetaStable') {
426
- scalingFactors = (0, utils_1.decodeThrowError)(
427
- this.metaPoolInterface,
428
- 'getScalingFactors',
429
- data[startIndex++],
430
- pool.address,
431
- )[0];
432
- }
433
- const poolState = {
434
- swapFee: BigInt(swapFee.toString()),
435
- tokens: poolTokens.tokens.reduce((ptAcc, pt, j) => {
436
- const tokenState = {
437
- balance: BigInt(poolTokens.balances[j].toString()),
438
- };
439
- if (scalingFactors)
440
- tokenState.scalingFactor = BigInt(scalingFactors[j].toString());
441
- ptAcc[pt.toLowerCase()] = tokenState;
442
- return ptAcc;
443
- }, {}),
444
- orderedTokens: poolTokens.tokens,
445
- };
446
- if (amp) {
447
- poolState.amp = BigInt(amp.value.toString());
448
- }
449
- pools[pool.address] = poolState;
450
- return [pools, startIndex];
451
- }
452
- /*
453
- For stable pools there is no Swap limit. As an approx - use almost the total balance of token out as we can add any amount of tokenIn and expect some back.
454
- */
455
- getSwapMaxAmount(poolPairData, side) {
456
- return (
457
- (this._upscale(
458
- poolPairData.balances[poolPairData.indexOut],
459
- poolPairData.scalingFactors[poolPairData.indexOut],
460
- ) *
461
- 99n) /
462
- 100n
463
- );
464
- }
465
- }
466
- exports.StablePool = StablePool;
467
- class WeightedMath {
468
- // Computes how many tokens can be taken out of a pool if `amountIn` are sent, given the
469
- // current balances and weights.
470
- static _calcOutGivenIn(
471
- balanceIn,
472
- weightIn,
473
- balanceOut,
474
- weightOut,
475
- amountsIn,
476
- ) {
477
- /**********************************************************************************************
478
- // outGivenIn //
479
- // aO = amountOut //
480
- // bO = balanceOut //
481
- // bI = balanceIn / / bI \ (wI / wO) \ //
482
- // aI = amountIn aO = bO * | 1 - | -------------------------- | ^ | //
483
- // wI = weightIn \ \ ( bI + aI ) / / //
484
- // wO = weightOut //
485
- **********************************************************************************************/
486
- // Amount out, so we round down overall.
487
- // The multiplication rounds down, and the subtrahend (power) rounds up (so the base rounds up too).
488
- // Because bI / (bI + aI) <= 1, the exponent rounds down.
489
- // Cannot exceed maximum in ratio
490
- const exponent = balancer_v2_math_1.MathSol.divDownFixed(
491
- weightIn,
492
- weightOut,
493
- );
494
- return amountsIn.map(amountIn => {
495
- _require(
496
- amountIn <=
497
- balancer_v2_math_1.MathSol.mulDownFixed(
498
- balanceIn,
499
- this._MAX_IN_RATIO,
500
- ),
501
- 'Errors.MAX_IN_RATIO',
502
- );
503
- const denominator = balanceIn + amountIn;
504
- const base = balancer_v2_math_1.MathSol.divUpFixed(
505
- balanceIn,
506
- denominator,
507
- );
508
- const power = balancer_v2_math_1.MathSol.powUpFixed(base, exponent);
509
- return balancer_v2_math_1.MathSol.mulDownFixed(
510
- balanceOut,
511
- balancer_v2_math_1.MathSol.complementFixed(power),
512
- );
513
- });
514
- }
515
- }
516
- exports.WeightedMath = WeightedMath;
517
- WeightedMath._MAX_IN_RATIO = 300000000000000000n;
518
- WeightedMath._MAX_OUT_RATIO = 300000000000000000n;
519
- class WeightedPool extends BaseMinimalSwapInfoPool {
520
- constructor(vaultAddress, vaultInterface) {
521
- super();
522
- this.vaultAddress = vaultAddress;
523
- this.vaultInterface = vaultInterface;
524
- this.poolInterface = new abi_1.Interface(weighted_pool_json_1.default);
525
- }
526
- _onSwapGivenIn(
527
- tokenAmountsIn,
528
- currentBalanceTokenIn,
529
- currentBalanceTokenOut,
530
- _weightIn,
531
- _weightOut,
532
- ) {
533
- return WeightedMath._calcOutGivenIn(
534
- currentBalanceTokenIn,
535
- _weightIn,
536
- currentBalanceTokenOut,
537
- _weightOut,
538
- tokenAmountsIn,
539
- );
540
- }
541
- /*
542
- Helper function to parse pool data into params for onSell function.
543
- */
544
- parsePoolPairData(pool, poolState, tokenIn, tokenOut) {
545
- const inAddress = tokenIn.toLowerCase();
546
- const outAddress = tokenOut.toLowerCase();
547
- const tIn = pool.tokens.find(t => t.address.toLowerCase() === inAddress);
548
- const tOut = pool.tokens.find(t => t.address.toLowerCase() === outAddress);
549
- if (!tIn || !tOut) return {};
550
- const tokenInBalance = poolState.tokens[inAddress].balance;
551
- const tokenOutBalance = poolState.tokens[outAddress].balance;
552
- const tokenInWeight = poolState.tokens[inAddress].weight || 0n;
553
- const tokenOutWeight = poolState.tokens[outAddress].weight || 0n;
554
- const tokenInScalingFactor = (0, utils_1.getTokenScalingFactor)(
555
- tIn.decimals,
556
- );
557
- const tokenOutScalingFactor = (0, utils_1.getTokenScalingFactor)(
558
- tOut.decimals,
559
- );
560
- const poolPairData = {
561
- tokenInBalance,
562
- tokenOutBalance,
563
- tokenInScalingFactor,
564
- tokenOutScalingFactor,
565
- tokenInWeight,
566
- tokenOutWeight,
567
- swapFee: poolState.swapFee,
568
- };
569
- return poolPairData;
570
- }
571
- /*
572
- Helper function to construct onchain multicall data for WeightedPool (also 'LiquidityBootstrapping' and 'Investment' pool types).
573
- */
574
- getOnChainCalls(pool) {
575
- return [
576
- {
577
- target: this.vaultAddress,
578
- callData: this.vaultInterface.encodeFunctionData('getPoolTokens', [
579
- pool.id,
580
- ]),
581
- },
582
- {
583
- target: pool.address,
584
- callData: this.poolInterface.encodeFunctionData('getSwapFeePercentage'),
585
- },
586
- {
587
- target: pool.address,
588
- callData: this.poolInterface.encodeFunctionData('getNormalizedWeights'),
589
- },
590
- ];
591
- }
592
- /*
593
- Helper function to decodes multicall data for a Weighted Pool.
594
- data must contain returnData
595
- startIndex is where to start in returnData. Allows this decode function to be called along with other pool types.
596
- */
597
- decodeOnChainCalls(pool, data, startIndex) {
598
- const pools = {};
599
- const poolTokens = (0, utils_1.decodeThrowError)(
600
- this.vaultInterface,
601
- 'getPoolTokens',
602
- data[startIndex++],
603
- pool.address,
604
- );
605
- const swapFee = (0, utils_1.decodeThrowError)(
606
- this.poolInterface,
607
- 'getSwapFeePercentage',
608
- data[startIndex++],
609
- pool.address,
610
- )[0];
611
- const normalisedWeights = (0, utils_1.decodeThrowError)(
612
- this.poolInterface,
613
- 'getNormalizedWeights',
614
- data[startIndex++],
615
- pool.address,
616
- )[0];
617
- const poolState = {
618
- swapFee: BigInt(swapFee.toString()),
619
- tokens: poolTokens.tokens.reduce((ptAcc, pt, j) => {
620
- const tokenState = {
621
- balance: BigInt(poolTokens.balances[j].toString()),
622
- };
623
- if (normalisedWeights)
624
- tokenState.weight = BigInt(normalisedWeights[j].toString());
625
- ptAcc[pt.toLowerCase()] = tokenState;
626
- return ptAcc;
627
- }, {}),
628
- orderedTokens: poolTokens.tokens,
629
- };
630
- pools[pool.address] = poolState;
631
- return [pools, startIndex];
632
- }
633
- /*
634
- For weighted pools there is a Swap limit of 30%: amounts swapped may not be larger than this percentage of total balance.
635
- */
636
- getSwapMaxAmount(poolPairData, side) {
637
- return (
638
- ((side === constants_1.SwapSide.SELL
639
- ? poolPairData.tokenInBalance
640
- : poolPairData.tokenOutBalance) *
641
- 3n) /
642
- 10n
643
- );
644
- }
645
- }
646
- exports.WeightedPool = WeightedPool;
647
- //# sourceMappingURL=balancer-v2-pool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"balancer-v2-pool.js","sourceRoot":"","sources":["../../../src/dex/balancer-v2/balancer-v2-pool.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { Address } from '../../../types';
2
- import { IDexHelper } from '../../../dex-helper';
3
- import { ThreePool } from './3pool';
4
- export declare const address: Address;
5
- export declare class FRXETHPool extends ThreePool {
6
- constructor(parentName: string, dexHelper: IDexHelper);
7
- }