@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,297 +0,0 @@
1
- /* eslint-disable no-console */
2
- import dotenv from 'dotenv';
3
- import { Interface } from '@ethersproject/abi';
4
- import { Tokens } from '../../../tests/constants-e2e';
5
- dotenv.config();
6
-
7
- import SmardexPoolLayerOneABI from '../../abi/smardex/layer-1/smardex-pool.json';
8
- import SmardexPoolLayerTwoABI from '../../abi/smardex/layer-2/smardex-pool.json';
9
- import { Smardex } from './smardex';
10
- import { SmardexEventPool } from './smardex-event-pool';
11
- import { Network } from '../../constants';
12
- import { DummyDexHelper } from '../../dex-helper/index';
13
- import { testEventSubscriber } from '../../../tests/utils-events';
14
- import { SmardexPoolState } from './types';
15
-
16
- jest.setTimeout(120 * 1000);
17
- const dexKey = 'Smardex';
18
-
19
- type NetworkConfig = {
20
- name: 'ethereum' | 'polygon' | 'bsc' | 'arbitrum' | 'base';
21
- network: Network;
22
- tokens: typeof Tokens[Network];
23
- pools: Array<{
24
- address: string;
25
- symbol0: string;
26
- symbol1: string;
27
- events: {
28
- [event: string]: number[];
29
- };
30
- }>;
31
- };
32
-
33
- const NETWORK_CONFIGS: NetworkConfig[] = [
34
- {
35
- name: 'ethereum',
36
- network: Network.MAINNET,
37
- tokens: Tokens[Network.MAINNET],
38
- pools: [
39
- {
40
- address: '0xd2bf378cea07fe117ffdfd3f5b7e53c2b0b78c05',
41
- symbol0: 'SDEX',
42
- symbol1: 'USDT',
43
- events: {
44
- ['Swap']: [
45
- 18064045,
46
- 18064060,
47
- 18064194,
48
- 18065266,
49
- 18066464, // the last one contains multiple Swap events
50
- ],
51
- ['Burn']: [17231921, 17762042, 17762668],
52
- ['Mint']: [17739609, 17973926, 18062443],
53
- // ['FeesChanged']: [], // none on L1
54
- ['Sync']: [
55
- 18064045,
56
- 18064060,
57
- 18064194,
58
- 18065266,
59
- 18066464, // the last one contains multiple Sync events
60
- ],
61
- ['Transfer']: [18064025, 18064045, 18065266],
62
- },
63
- },
64
-
65
- {
66
- address: '0xf3a4B8eFe3e3049F6BC71B47ccB7Ce6665420179',
67
- symbol0: 'SDEX',
68
- symbol1: 'ETH',
69
- events: {
70
- ['Swap']: [
71
- 18120396,
72
- 18120367, // multiple Swap events
73
- 18119305,
74
- 18118991,
75
- 18120209,
76
- ],
77
- ['Burn']: [18114357, 18089610, 18026115],
78
- ['Mint']: [18115825, 18109975, 18093408],
79
- // ['FeesChanged']: [], // none on L1
80
- ['Sync']: [
81
- 18120396,
82
- 18120367, // multiple Sync events
83
- 18119305,
84
- 18118991,
85
- 18120209,
86
- ],
87
- ['Transfer']: [18108643, 18105778, 18105793],
88
- },
89
- },
90
- ],
91
- },
92
- {
93
- name: 'polygon',
94
- network: Network.POLYGON,
95
- tokens: Tokens[Network.POLYGON],
96
- pools: [
97
- {
98
- address: '0x77476148B72ECB4E9f6A3cDDC5dd437Df1F003F3',
99
- symbol0: 'USDC',
100
- symbol1: 'SDEX',
101
- events: {
102
- ['Swap']: [47436997, 47437089, 47437096, 47445056, 47445066],
103
- ['Burn']: [47423778, 47334674, 46807911],
104
- ['Mint']: [47417315, 47414686, 47288517],
105
- ['FeesChanged']: [45861051],
106
- ['Sync']: [47436997, 47437089, 47437096, 47445056, 47445066],
107
- ['Transfer']: [47423778, 47403369, 47343062],
108
- },
109
- },
110
- {
111
- address: '0x7130d1Ab6d9C657240331A4DE3e88b5497Be9cEB',
112
- symbol0: 'WMATIC',
113
- symbol1: 'USDC',
114
- events: {
115
- ['Swap']: [47448993, 47449888, 47449861, 47448993, 47449214],
116
- ['Burn']: [47434291, 47433030, 47426957],
117
- ['Mint']: [47354112, 47268128, 47252146],
118
- ['FeesChanged']: [], // Fees didn't change on this pool
119
- ['Sync']: [47448993, 47449888, 47449861, 47448993, 47449214],
120
- ['Transfer']: [47338250, 47338178, 47333469],
121
- },
122
- },
123
- ],
124
- },
125
- {
126
- name: 'arbitrum',
127
- network: Network.ARBITRUM,
128
- tokens: Tokens[Network.ARBITRUM],
129
- pools: [
130
- {
131
- address: '0xacCDd9EE1DCd393E346e5d6350230439b4DA09ab',
132
- symbol0: 'SDEX',
133
- symbol1: 'USDC',
134
- events: {
135
- ['Swap']: [130424308, 130422563, 130418994, 130415253, 130382808],
136
- ['Burn']: [129969327, 129138853, 126200497],
137
- ['Mint']: [130028302, 129940404, 129728771],
138
- ['FeesChanged']: [], // Fees didn't change on this pool
139
- ['Sync']: [130424308, 130422563, 130418994, 130415253, 130382808],
140
- ['Transfer']: [130028373, 129918802, 129668897],
141
- },
142
- },
143
- {
144
- address: '0xD87899d10Eaa10F3adE05038A38251F758E5C0eb',
145
- symbol0: 'ARB',
146
- symbol1: 'USDC',
147
- events: {
148
- ['Swap']: [130429535, 130419879, 130417306, 130414469, 130416990],
149
- ['Burn']: [130200966, 127933595, 125698828],
150
- ['Mint']: [130263032, 130331095, 128594710],
151
- ['FeesChanged']: [], // Fees didn't change on this pool
152
- ['Sync']: [130429535, 130419879, 130417306, 130414469, 130416990],
153
- ['Transfer']: [130423567, 130423514, 130331095],
154
- },
155
- },
156
- ],
157
- },
158
- {
159
- name: 'bsc',
160
- network: Network.BSC,
161
- tokens: Tokens[Network.BSC],
162
- pools: [
163
- {
164
- address: '0xe7b89CbD4E833510F393CCfbE7D433EDbb137aB2',
165
- symbol0: 'USDT',
166
- symbol1: 'SDEX',
167
- events: {
168
- ['Swap']: [31678152, 31678000, 31674992, 31670581, 31675013],
169
- ['Burn']: [31660547, 31655719, 31539131],
170
- ['Mint']: [31652485, 31595468, 31571640],
171
- ['FeesChanged']: [30531399],
172
- ['Sync']: [31678152, 31678000, 31674992, 31670581, 31675013],
173
- ['Transfer']: [31660547, 31655777, 31655736],
174
- },
175
- },
176
- {
177
- address: '0xf315833053a1187fd5e9813E38BD59937492857a',
178
- symbol0: 'USDT',
179
- symbol1: 'BNB',
180
- events: {
181
- ['Swap']: [31678534, 31675409, 31678534, 31675014, 31674391],
182
- ['Burn']: [31666734, 31586726, 31462652],
183
- ['Mint']: [31662048, 31554796, 31524123],
184
- ['FeesChanged']: [], // Fees didn't change on this pool
185
- ['Sync']: [31678534, 31675409, 31678534, 31675014, 31674391],
186
- ['Transfer']: [31666734, 31632200, 31586970],
187
- },
188
- },
189
- ],
190
- },
191
- {
192
- name: 'base',
193
- network: Network.BASE,
194
- tokens: Tokens[Network.BASE],
195
- pools: [
196
- {
197
- address: '0xd70e1bab713d84c3a110ded11e41714542e604ba',
198
- symbol0: 'WETH',
199
- symbol1: 'SDEX',
200
- events: {
201
- ['Swap']: [4761865, 4757945, 4757945, 4757897],
202
- ['Burn']: [4692541],
203
- ['Mint']: [4757945, 4737306, 4701199],
204
- ['FeesChanged']: [], // Fees didn't change on this pool
205
- ['Sync']: [4761865, 4757945, 4757945, 4757897],
206
- ['Transfer']: [4757966, 4737315, 4736210],
207
- },
208
- },
209
- {
210
- address: '0x5a60c797993ee91f012260d995e1e6c6ce3dda6d',
211
- symbol0: 'WETH',
212
- symbol1: 'USDbC',
213
- events: {
214
- ['Swap']: [4763447, 4762313, 4762290],
215
- ['Burn']: [4716925, 4338322, 4282294],
216
- ['Mint']: [4758649, 4649129, 4645429],
217
- ['FeesChanged']: [], // Fees didn't change on this pool
218
- ['Sync']: [4763447, 4762313, 4762290],
219
- ['Transfer']: [4758649, 4716850, 4645429],
220
- },
221
- },
222
- ],
223
- },
224
- ];
225
-
226
- async function fetchPoolStateFromContractAtBlock(
227
- smardexEventPool: SmardexEventPool,
228
- blockNumber: number,
229
- poolAddress: string,
230
- logger: any,
231
- ): Promise<SmardexPoolState | undefined> {
232
- const message = `Smardex: ${poolAddress} blockNumber ${blockNumber}`;
233
- console.log(`Fetching state ${message}`);
234
-
235
- const state = await smardexEventPool.generateState(blockNumber);
236
- console.log(`Done ${message}`);
237
-
238
- return state;
239
- }
240
-
241
- NETWORK_CONFIGS.forEach(({ name, network, pools, tokens }) => {
242
- describe(`Events Tests on ${name}`, function () {
243
- pools.forEach(({ address, events, symbol0, symbol1 }) => {
244
- describe(`${symbol0} <> ${symbol1}`, function () {
245
- const poolAddress = address;
246
- const token0 = tokens[symbol0];
247
- const token1 = tokens[symbol1];
248
- // events in the same block must update the same element
249
- Object.keys(events).forEach((event: string) => {
250
- events[event].forEach((blockNumber: number) => {
251
- it(`${event}:${blockNumber} - should return correct state`, async function () {
252
- const dexHelper = new DummyDexHelper(network);
253
-
254
- const logger = dexHelper.getLogger(dexKey);
255
- const smardex = new Smardex(network, dexKey, dexHelper);
256
- const multicall = smardex.getFeesMultiCallData(poolAddress);
257
- const SmardexPool = new SmardexEventPool(
258
- new Interface(
259
- smardex.isLayer1()
260
- ? SmardexPoolLayerOneABI
261
- : SmardexPoolLayerTwoABI,
262
- ),
263
- dexHelper,
264
- poolAddress,
265
- token0,
266
- token1,
267
- logger,
268
- multicall?.callEntry,
269
- multicall?.callDecoder,
270
- smardex.isLayer1(),
271
- );
272
-
273
- // It is done in generateState. But here have to make it manually
274
- SmardexPool.poolAddress = poolAddress.toLowerCase();
275
- SmardexPool.addressesSubscribed[0] = poolAddress.toLowerCase();
276
-
277
- await testEventSubscriber(
278
- SmardexPool,
279
- SmardexPool.addressesSubscribed,
280
- (_blockNumber: number) =>
281
- fetchPoolStateFromContractAtBlock(
282
- SmardexPool,
283
- _blockNumber,
284
- poolAddress,
285
- logger,
286
- ),
287
- blockNumber,
288
- `${dexKey}_${poolAddress}`,
289
- dexHelper.provider,
290
- );
291
- });
292
- });
293
- });
294
- });
295
- });
296
- });
297
- });
@@ -1,258 +0,0 @@
1
- /* eslint-disable no-console */
2
- import dotenv from 'dotenv';
3
- dotenv.config();
4
-
5
- import { DummyDexHelper } from '../../dex-helper/index';
6
- import { ETHER_ADDRESS, Network, SwapSide } from '../../constants';
7
- import { BI_POWS } from '../../bigint-constants';
8
- import { Smardex } from './smardex';
9
- import { checkPoolPrices, checkPoolsLiquidity } from '../../../tests/utils';
10
- import { Tokens } from '../../../tests/constants-e2e';
11
-
12
- interface NetworkConfig {
13
- name: 'ethereum' | 'bsc' | 'polygon' | 'arbitrum' | 'base';
14
- network: Network;
15
- tokens: typeof Tokens[Network];
16
- tokenPairs: { src: string; dest: string; sell: number[]; buy: number[] }[];
17
- }
18
-
19
- const networkConfigs: Array<NetworkConfig> = [
20
- {
21
- name: 'ethereum',
22
- network: Network.MAINNET,
23
- tokens: Tokens[Network.MAINNET],
24
- tokenPairs: [
25
- {
26
- src: 'SDEX',
27
- dest: 'USDT',
28
- sell: [0, 10_000, 20_000, 30_000],
29
- buy: [0, 1_000, 2_000],
30
- },
31
- {
32
- src: 'SDEX',
33
- dest: 'WETH',
34
- sell: [0, 100_000, 200_000, 300_000],
35
- buy: [0, 1, 2, 3],
36
- },
37
- {
38
- src: 'SDEX',
39
- dest: 'ETH',
40
- sell: [0, 100_000, 200_000, 300_000],
41
- buy: [0, 1, 2, 3],
42
- },
43
- { src: 'WETH', dest: 'WBTC', sell: [0, 2, 4, 6], buy: [0, 1, 2, 3] },
44
- ],
45
- },
46
- {
47
- name: 'arbitrum',
48
- network: Network.ARBITRUM,
49
- tokens: Tokens[Network.ARBITRUM],
50
- tokenPairs: [
51
- {
52
- src: 'SDEX',
53
- dest: 'USDC',
54
- sell: [0, 10_000, 20_000, 30_000],
55
- buy: [0, 1_000, 2_000],
56
- },
57
- {
58
- src: 'SDEX',
59
- dest: 'WETH',
60
- sell: [0, 100_000, 200_000, 300_000],
61
- buy: [0, 1, 2, 3],
62
- },
63
- {
64
- src: 'SDEX',
65
- dest: 'ETH',
66
- sell: [0, 100_000, 200_000, 300_000],
67
- buy: [0, 1, 2, 3],
68
- },
69
- {
70
- src: 'SDEX',
71
- dest: 'WBTC',
72
- sell: [0, 100_000, 200_000, 300_000],
73
- buy: [0, 1, 2, 3],
74
- },
75
- {
76
- src: 'ARB',
77
- dest: 'USDC',
78
- sell: [0, 2_000, 4_000, 6_000],
79
- buy: [0, 1_000, 2_000],
80
- },
81
- ],
82
- },
83
- {
84
- name: 'bsc',
85
- network: Network.BSC,
86
- tokens: Tokens[Network.BSC],
87
- tokenPairs: [
88
- {
89
- src: 'SDEX',
90
- dest: 'USDT',
91
- sell: [0, 10_000, 20_000, 30_000],
92
- buy: [0, 1_000, 2_000],
93
- },
94
- {
95
- src: 'bBTC',
96
- dest: 'SDEX',
97
- sell: [0, 100_000, 200_000, 300_000],
98
- buy: [0, 1, 2, 3],
99
- },
100
- {
101
- src: 'USDT',
102
- dest: 'WBNB',
103
- sell: [0, 100_000, 200_000, 300_000],
104
- buy: [0, 10, 20, 30],
105
- },
106
- { src: 'ETH', dest: 'SDEX', sell: [0, 2, 4, 6], buy: [0, 1, 2, 3] },
107
- {
108
- src: 'USDT',
109
- dest: 'BNB',
110
- sell: [0, 2_000, 4_000, 6_000],
111
- buy: [0, 10, 20, 30],
112
- },
113
- ],
114
- },
115
- {
116
- name: 'polygon',
117
- network: Network.POLYGON,
118
- tokens: Tokens[Network.POLYGON],
119
- tokenPairs: [
120
- {
121
- src: 'USDC',
122
- dest: 'SDEX',
123
- sell: [0, 10_000, 20_000, 30_000],
124
- buy: [0, 100_000, 200_000],
125
- },
126
- {
127
- src: 'SDEX',
128
- dest: 'WETH',
129
- sell: [0, 100_000, 200_000, 300_000],
130
- buy: [0, 2, 4, 6, 8, 10],
131
- },
132
- {
133
- src: 'USDC',
134
- dest: 'WMATIC',
135
- sell: [0, 100_000, 200_000, 300_000],
136
- buy: [0, 20_000, 40_000, 60_000],
137
- },
138
- {
139
- src: 'USDC',
140
- dest: 'MATIC',
141
- sell: [0, 100_000, 200_000, 300_000],
142
- buy: [0, 20_000, 40_000, 60_000],
143
- },
144
- {
145
- src: 'WBTC',
146
- dest: 'SDEX',
147
- sell: [0, 1, 2, 3],
148
- buy: [0, 500_000, 1_000_000, 1_500_000],
149
- },
150
- ],
151
- },
152
- {
153
- name: 'base',
154
- network: Network.BASE,
155
- tokens: Tokens[Network.BASE],
156
- tokenPairs: [
157
- {
158
- src: 'WETH',
159
- dest: 'SDEX',
160
- sell: [0, 2, 4, 6, 8, 10],
161
- buy: [0, 100_000, 200_000, 300_000],
162
- },
163
- {
164
- src: 'WETH',
165
- dest: 'USDbC',
166
- sell: [0, 2, 4, 6, 8, 10],
167
- buy: [0, 10_000, 20_000, 30_000],
168
- },
169
- ],
170
- },
171
- ];
172
-
173
- networkConfigs.forEach(({ name, network, tokens, tokenPairs }) => {
174
- describe(`Smardex Integration Tests on ${name}`, () => {
175
- const dexKey = 'Smardex';
176
-
177
- let dexHelper: DummyDexHelper;
178
- let blocknumber: number;
179
-
180
- beforeEach(async () => {
181
- dexHelper = new DummyDexHelper(network);
182
- blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
183
- });
184
-
185
- // Help us to test the pool prices and volume for a given amount of tokens to swap
186
- const testPoolPricesVolume = async (swapSide: SwapSide, pair: any) => {
187
- const smardex = new Smardex(network, dexKey, dexHelper);
188
- const currentAmounts =
189
- swapSide === SwapSide.SELL
190
- ? pair.sell.map(
191
- (amount: number) =>
192
- BigInt(amount) * BI_POWS[tokens[pair.src].decimals],
193
- )
194
- : pair.buy.map(
195
- (amount: number) =>
196
- BigInt(amount) * BI_POWS[tokens[pair.dest].decimals],
197
- );
198
-
199
- const pools = await smardex.getPoolIdentifiers(
200
- tokens[pair.src],
201
- tokens[pair.dest],
202
- swapSide,
203
- blocknumber,
204
- );
205
- console.log(`${pair.src} <> ${pair.dest} Pool Identifiers: `, pools);
206
- expect(pools.length).toBeGreaterThan(0);
207
-
208
- const poolPrices = await smardex.getPricesVolume(
209
- tokens[pair.src],
210
- tokens[pair.dest],
211
- currentAmounts,
212
- swapSide,
213
- blocknumber,
214
- pools,
215
- );
216
- console.log(`${pair.src} <> ${pair.dest} Pool Prices: `, poolPrices);
217
- expect(poolPrices).not.toBeNull();
218
- checkPoolPrices(poolPrices!, currentAmounts, swapSide, dexKey);
219
- };
220
-
221
- /**
222
- * For each token pair, test:
223
- * - Compute pool identifiers and prices for a given amount of tokens to swap (SELL and BUY)
224
- * - Get top pools for a token
225
- */
226
- tokenPairs.forEach(pair => {
227
- describe(`${pair.src} <> ${pair.dest}`, () => {
228
- it('SELL: Compute pool identiers and prices', async () => {
229
- await testPoolPricesVolume(SwapSide.SELL, pair);
230
- });
231
-
232
- it('BUY: Compute pool identiers and prices', async () => {
233
- await testPoolPricesVolume(SwapSide.BUY, pair);
234
- });
235
- });
236
- });
237
-
238
- it('getTopPoolsForToken', async () => {
239
- const smardex = new Smardex(network, dexKey, dexHelper);
240
- // Get all distinct tokens of the pairs
241
- const distinctTokens = tokenPairs
242
- .reduce((acc, pair) => [...acc, pair.src, pair.dest], [] as string[])
243
- .filter((value, index, self) => self.indexOf(value) === index)
244
- // Native token doesn't have a pool, avoid it
245
- .filter(token => tokens[token].address !== ETHER_ADDRESS);
246
- // Get top pools for each token and check liquidity
247
- await Promise.all(
248
- distinctTokens.map(async token =>
249
- checkPoolsLiquidity(
250
- await smardex.getTopPoolsForToken(tokens[token].address, 10),
251
- tokens[token].address,
252
- dexKey,
253
- ),
254
- ),
255
- );
256
- });
257
- });
258
- });