@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,418 +0,0 @@
1
- 'use strict';
2
- var __createBinding =
3
- (this && this.__createBinding) ||
4
- (Object.create
5
- ? function (o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (
9
- !desc ||
10
- ('get' in desc ? !m.__esModule : desc.writable || desc.configurable)
11
- ) {
12
- desc = {
13
- enumerable: true,
14
- get: function () {
15
- return m[k];
16
- },
17
- };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }
21
- : function (o, m, k, k2) {
22
- if (k2 === undefined) k2 = k;
23
- o[k2] = m[k];
24
- });
25
- var __setModuleDefault =
26
- (this && this.__setModuleDefault) ||
27
- (Object.create
28
- ? function (o, v) {
29
- Object.defineProperty(o, 'default', { enumerable: true, value: v });
30
- }
31
- : function (o, v) {
32
- o['default'] = v;
33
- });
34
- var __importStar =
35
- (this && this.__importStar) ||
36
- function (mod) {
37
- if (mod && mod.__esModule) return mod;
38
- var result = {};
39
- if (mod != null)
40
- for (var k in mod)
41
- if (k !== 'default' && Object.prototype.hasOwnProperty.call(mod, k))
42
- __createBinding(result, mod, k);
43
- __setModuleDefault(result, mod);
44
- return result;
45
- };
46
- var __importDefault =
47
- (this && this.__importDefault) ||
48
- function (mod) {
49
- return mod && mod.__esModule ? mod : { default: mod };
50
- };
51
- Object.defineProperty(exports, '__esModule', { value: true });
52
- exports.PhantomStablePool = void 0;
53
- const abi_1 = require('@ethersproject/abi');
54
- const bignumber_1 = require('@ethersproject/bignumber');
55
- const balancer_v2_pool_1 = require('./balancer-v2-pool');
56
- const utils_1 = require('./utils');
57
- const StableMath = __importStar(require('./StableMath'));
58
- const meta_stable_pool_json_1 = __importDefault(
59
- require('../../abi/balancer-v2/meta-stable-pool.json'),
60
- );
61
- const ComposableStable_json_1 = __importDefault(
62
- require('../../abi/balancer-v2/ComposableStable.json'),
63
- );
64
- const lodash_1 = require('lodash');
65
- var PairTypes;
66
- (function (PairTypes) {
67
- PairTypes[(PairTypes['BptToToken'] = 0)] = 'BptToToken';
68
- PairTypes[(PairTypes['TokenToBpt'] = 1)] = 'TokenToBpt';
69
- PairTypes[(PairTypes['TokenToToken'] = 2)] = 'TokenToToken';
70
- })(PairTypes || (PairTypes = {}));
71
- /*
72
- /**
73
- * StablePool with preminted BPT and rate providers for each token, allowing for e.g. wrapped tokens with a known
74
- * price ratio, such as Compound's cTokens.
75
- * BPT is preminted on Pool initialization and registered as one of the Pool's tokens, allowing for swaps to behave as
76
- * single-token joins or exits (by swapping a token for BPT). Regular joins and exits are disabled, since no BPT is
77
- * minted or burned after initialization.
78
- * Preminted BPT is sometimes called Phantom BPT, as the preminted BPT (which is deposited in the Vault as balance of
79
- * the Pool) doesn't belong to any entity until transferred out of the Pool. The Pool's arithmetic behaves as if it
80
- * didn't exist, and the BPT total supply is not a useful value: we rely on the 'virtual supply' (how much BPT is
81
- * actually owned by some entity) instead.
82
- */
83
- class PhantomStablePool extends balancer_v2_pool_1.BasePool {
84
- constructor(vaultAddress, vaultInterface, isComposable = false) {
85
- super();
86
- this.isComposable = isComposable;
87
- // This is the maximum token amount the Vault can hold. In regular operation, the total BPT supply remains constant
88
- // and equal to _INITIAL_BPT_SUPPLY, but most of it remains in the Pool, waiting to be exchanged for tokens. The
89
- // actual amount of BPT in circulation is the total supply minus the amount held by the Pool, and is known as the
90
- // 'virtual supply'.
91
- this.MAX_TOKEN_BALANCE = bignumber_1.BigNumber.from('2')
92
- .pow('112')
93
- .sub('1');
94
- this.vaultAddress = vaultAddress;
95
- this.vaultInterface = vaultInterface;
96
- if (isComposable)
97
- this.poolInterface = new abi_1.Interface(ComposableStable_json_1.default);
98
- else
99
- this.poolInterface = new abi_1.Interface(meta_stable_pool_json_1.default);
100
- }
101
- /*
102
- scaling factors should include rate:
103
- i.e.
104
- scalingFactors: pool.tokens.map(({ decimals, priceRate }) =>
105
- MathSol.mulDownFixed(getTokenScalingFactor(decimals), priceRate)
106
- )
107
- */
108
- onSell(amounts, poolPairData) {
109
- return this._swapGivenIn(
110
- amounts,
111
- poolPairData.tokens,
112
- poolPairData.balances,
113
- poolPairData.indexIn,
114
- poolPairData.indexOut,
115
- poolPairData.bptIndex,
116
- poolPairData.scalingFactors,
117
- poolPairData.swapFee,
118
- poolPairData.amp,
119
- poolPairData.actualSupply,
120
- );
121
- }
122
- // StablePool's `_onSwapGivenIn` and `_onSwapGivenOut` handlers are meant to process swaps between Pool tokens.
123
- // Since one of the Pool's tokens is the preminted BPT, we need to a) handle swaps where that tokens is involved
124
- // separately (as they are effectively single-token joins or exits), and b) remove BPT from the balances array when
125
- // processing regular swaps before delegating those to StablePool's handler.
126
- removeBPT(balances, tokenIndexIn, tokenIndexOut, bptIndex) {
127
- if (bptIndex != -1) {
128
- balances.splice(bptIndex, 1);
129
- if (bptIndex < tokenIndexIn) tokenIndexIn -= 1;
130
- if (bptIndex < tokenIndexOut) tokenIndexOut -= 1;
131
- }
132
- return {
133
- balances,
134
- indexIn: tokenIndexIn,
135
- indexOut: tokenIndexOut,
136
- };
137
- }
138
- _swapGivenIn(
139
- tokenAmountsIn,
140
- tokens,
141
- balances,
142
- indexIn,
143
- indexOut,
144
- bptIndex,
145
- scalingFactors,
146
- swapFeePercentage,
147
- amplificationParameter,
148
- actualSupply,
149
- ) {
150
- // Phantom pools allow trading between token and pool BPT
151
- let pairType;
152
- if ((0, utils_1.isSameAddress)(tokens[indexIn], tokens[bptIndex])) {
153
- pairType = PairTypes.BptToToken;
154
- } else if ((0, utils_1.isSameAddress)(tokens[indexOut], tokens[bptIndex])) {
155
- pairType = PairTypes.TokenToBpt;
156
- } else {
157
- pairType = PairTypes.TokenToToken;
158
- }
159
- // Fees are subtracted before scaling, to reduce the complexity of the rounding direction analysis.
160
- const tokenAmountsInWithFee = tokenAmountsIn.map(a =>
161
- this._subtractSwapFeeAmount(a, swapFeePercentage),
162
- );
163
- const balancesUpscaled = this._upscaleArray(balances, scalingFactors);
164
- const tokenAmountsInScaled = tokenAmountsInWithFee.map(a =>
165
- this._upscale(a, scalingFactors[indexIn]),
166
- );
167
- let bptSupply;
168
- if (actualSupply) bptSupply = actualSupply;
169
- // VirtualBPTSupply must be used for the maths
170
- else bptSupply = this.MAX_TOKEN_BALANCE.sub(balances[bptIndex]).toBigInt();
171
- const droppedBpt = this.removeBPT(
172
- balancesUpscaled,
173
- indexIn,
174
- indexOut,
175
- bptIndex,
176
- );
177
- const amountsOut = this._onSwapGivenIn(
178
- tokenAmountsInScaled,
179
- droppedBpt.balances,
180
- droppedBpt.indexIn,
181
- droppedBpt.indexOut,
182
- amplificationParameter,
183
- bptSupply,
184
- pairType,
185
- );
186
- // amountOut tokens are exiting the Pool, so we round down.
187
- return amountsOut.map(a =>
188
- this._downscaleDown(a, scalingFactors[indexOut]),
189
- );
190
- }
191
- /*
192
- Called when a swap with the Pool occurs, where the amount of tokens entering the Pool is known.
193
- All amounts are upscaled.
194
- Swap fee is already deducted.
195
- The return value is also considered upscaled, and should be downscaled (rounding down)
196
- */
197
- _onSwapGivenIn(
198
- tokenAmountsIn,
199
- balances,
200
- indexIn,
201
- indexOut,
202
- _amplificationParameter,
203
- virtualBptSupply,
204
- pairType,
205
- ) {
206
- const invariant = StableMath._calculateInvariant(
207
- _amplificationParameter,
208
- balances,
209
- true,
210
- );
211
- const amountsOut = [];
212
- if (pairType === PairTypes.TokenToBpt) {
213
- tokenAmountsIn.forEach(amountIn => {
214
- let amt;
215
- try {
216
- const amountsInBigInt = Array(balances.length).fill(0n);
217
- amountsInBigInt[indexIn] = amountIn;
218
- amt = StableMath._calcBptOutGivenExactTokensIn(
219
- _amplificationParameter,
220
- balances,
221
- amountsInBigInt,
222
- virtualBptSupply,
223
- invariant,
224
- );
225
- } catch (err) {
226
- amt = 0n;
227
- }
228
- amountsOut.push(amt);
229
- });
230
- } else if (pairType === PairTypes.BptToToken) {
231
- tokenAmountsIn.forEach(amountIn => {
232
- let amt;
233
- try {
234
- amt = StableMath._calcTokenOutGivenExactBptIn(
235
- _amplificationParameter,
236
- balances,
237
- indexOut,
238
- amountIn,
239
- virtualBptSupply,
240
- invariant,
241
- );
242
- } catch (err) {
243
- amt = 0n;
244
- }
245
- amountsOut.push(amt);
246
- });
247
- } else {
248
- tokenAmountsIn.forEach(amountIn => {
249
- let amt;
250
- try {
251
- amt = StableMath._calcOutGivenIn(
252
- _amplificationParameter,
253
- balances,
254
- indexIn,
255
- indexOut,
256
- amountIn,
257
- invariant,
258
- );
259
- } catch (err) {
260
- amt = 0n;
261
- }
262
- amountsOut.push(amt);
263
- });
264
- }
265
- return amountsOut;
266
- }
267
- /*
268
- Helper function to parse pool data into params for onSell function.
269
- */
270
- parsePoolPairData(pool, poolState, tokenIn, tokenOut) {
271
- let indexIn = 0,
272
- indexOut = 0,
273
- bptIndex = 0;
274
- const balances = [];
275
- const scalingFactors = [];
276
- const tokens = poolState.orderedTokens.map((tokenAddress, i) => {
277
- const t = pool.tokensMap[tokenAddress.toLowerCase()];
278
- if (t.address.toLowerCase() === tokenIn.toLowerCase()) indexIn = i;
279
- if (t.address.toLowerCase() === tokenOut.toLowerCase()) indexOut = i;
280
- if (t.address.toLowerCase() === pool.address.toLowerCase()) bptIndex = i;
281
- balances.push(poolState.tokens[t.address.toLowerCase()].balance);
282
- scalingFactors.push(
283
- poolState.tokens[t.address.toLowerCase()].scalingFactor || 0n,
284
- );
285
- return t.address;
286
- });
287
- const poolPairData = {
288
- tokens,
289
- balances,
290
- indexIn,
291
- indexOut,
292
- scalingFactors,
293
- bptIndex,
294
- swapFee: poolState.swapFee,
295
- amp: poolState.amp ? poolState.amp : 0n,
296
- actualSupply: poolState.actualSupply,
297
- };
298
- return poolPairData;
299
- }
300
- /*
301
- Helper function to construct onchain multicall data for PhantomStablePool.
302
- Main difference to standard StablePool is scaling factors which includes rate.
303
- This also applies to MetaStablePool.
304
- */
305
- getOnChainCalls(pool) {
306
- const calls = [
307
- {
308
- target: this.vaultAddress,
309
- callData: this.vaultInterface.encodeFunctionData('getPoolTokens', [
310
- pool.id,
311
- ]),
312
- },
313
- {
314
- target: pool.address,
315
- callData: this.poolInterface.encodeFunctionData('getSwapFeePercentage'),
316
- },
317
- {
318
- target: pool.address,
319
- callData: this.poolInterface.encodeFunctionData('getScalingFactors'),
320
- },
321
- {
322
- target: pool.address,
323
- callData: this.poolInterface.encodeFunctionData(
324
- 'getAmplificationParameter',
325
- ),
326
- },
327
- ];
328
- /**
329
- * Returns the effective BPT supply.
330
- * In other pools, this would be the same as `totalSupply`, but there are two key differences here:
331
- * - this pool pre-mints BPT and holds it in the Vault as a token, and as such we need to subtract the Vault's
332
- * balance to get the total "circulating supply". This is called the 'virtualSupply'.
333
- * - the Pool owes debt to the Protocol in the form of unminted BPT, which will be minted immediately before the
334
- * next join or exit. We need to take these into account since, even if they don't yet exist, they will
335
- * effectively be included in any Pool operation that involves BPT.
336
- * In the vast majority of cases, this function should be used instead of `totalSupply()`.
337
- */
338
- if (this.isComposable)
339
- calls.push({
340
- target: pool.address,
341
- callData: this.poolInterface.encodeFunctionData('getActualSupply'),
342
- });
343
- return calls;
344
- }
345
- /*
346
- Helper function to decodes multicall data for a PhantomStable Pool.
347
- Main difference to standard StablePool is scaling factors which includes rate.
348
- This also applies to MetaStablePool.
349
- data must contain returnData
350
- startIndex is where to start in returnData. Allows this decode function to be called along with other pool types.
351
- */
352
- decodeOnChainCalls(pool, data, startIndex) {
353
- const pools = {};
354
- const poolTokens = (0, utils_1.decodeThrowError)(
355
- this.vaultInterface,
356
- 'getPoolTokens',
357
- data[startIndex++],
358
- pool.address,
359
- );
360
- const swapFee = (0, utils_1.decodeThrowError)(
361
- this.poolInterface,
362
- 'getSwapFeePercentage',
363
- data[startIndex++],
364
- pool.address,
365
- )[0];
366
- const scalingFactors = (0, utils_1.decodeThrowError)(
367
- this.poolInterface,
368
- 'getScalingFactors',
369
- data[startIndex++],
370
- pool.address,
371
- )[0];
372
- const amp = (0, utils_1.decodeThrowError)(
373
- this.poolInterface,
374
- 'getAmplificationParameter',
375
- data[startIndex++],
376
- pool.address,
377
- );
378
- const tokens = poolTokens.tokens.map((address, idx) => ({
379
- address: address.toLowerCase(),
380
- balance: BigInt(poolTokens.balances[idx].toString()),
381
- scalingFactor: BigInt(scalingFactors[idx].toString()),
382
- }));
383
- const poolState = {
384
- swapFee: BigInt(swapFee.toString()),
385
- tokens: (0, lodash_1.keyBy)(tokens, 'address'),
386
- orderedTokens: poolTokens.tokens,
387
- };
388
- if (amp) {
389
- poolState.amp = BigInt(amp.value.toString());
390
- }
391
- if (this.isComposable) {
392
- const totalSupply = (0, utils_1.decodeThrowError)(
393
- this.poolInterface,
394
- 'getActualSupply',
395
- data[startIndex++],
396
- pool.address,
397
- );
398
- poolState.actualSupply = BigInt(totalSupply.toString());
399
- }
400
- pools[pool.address] = poolState;
401
- return [pools, startIndex];
402
- }
403
- /*
404
- 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.
405
- */
406
- getSwapMaxAmount(poolPairData, side) {
407
- return (
408
- (this._upscale(
409
- poolPairData.balances[poolPairData.indexOut],
410
- poolPairData.scalingFactors[poolPairData.indexOut],
411
- ) *
412
- 99n) /
413
- 100n
414
- );
415
- }
416
- }
417
- exports.PhantomStablePool = PhantomStablePool;
418
- //# sourceMappingURL=PhantomStablePool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PhantomStablePool.js","sourceRoot":"","sources":["../../../src/dex/balancer-v2/PhantomStablePool.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- export declare function _calculateInvariant(amp: bigint, balances: bigint[], roundUp: boolean): bigint;
2
- export declare function _calcOutGivenIn(amp: bigint, balances: bigint[], tokenIndexIn: number, tokenIndexOut: number, amountIn: bigint, invariant?: bigint): bigint;
3
- export declare function _calcInGivenOut(amp: bigint, balances: bigint[], tokenIndexIn: number, tokenIndexOut: number, amountOut: bigint, fee: bigint, invariant?: bigint): bigint;
4
- export declare function _calcBptOutGivenExactTokensIn(amp: bigint, balances: bigint[], amountsIn: bigint[], bptTotalSupply: bigint, invariant?: bigint): bigint;
5
- export declare function _calcBptInGivenExactTokensOut(amp: bigint, balances: bigint[], amountsOut: bigint[], bptTotalSupply: bigint, swapFeePercentage: bigint, invariant?: bigint): bigint;
6
- export declare function _calcTokenOutGivenExactBptIn(amp: bigint, balances: bigint[], tokenIndex: number, bptAmountIn: bigint, bptTotalSupply: bigint, invariant?: bigint): bigint;
7
- export declare function _calcTokensOutGivenExactBptIn(balances: bigint[], bptAmountIn: bigint, bptTotalSupply: bigint): bigint[];
8
- export declare function subtractFee(amount: bigint, fee: bigint): bigint;
9
- export declare function addFee(amount: bigint, fee: bigint): bigint;