@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,105 +0,0 @@
1
- import dotenv from 'dotenv';
2
- dotenv.config();
3
-
4
- import { testE2E } from '../../../tests/utils-e2e';
5
- import { Tokens, Holders } from '../../../tests/constants-e2e';
6
- import { Network, ContractMethod, SwapSide } from '../../constants';
7
- import { StaticJsonRpcProvider } from '@ethersproject/providers';
8
- import { aaveV1GetToken } from './tokens';
9
- import { generateConfig } from '../../config';
10
-
11
- jest.setTimeout(1000 * 60 * 3);
12
-
13
- describe('AaveV1 E2E', () => {
14
- describe('AaveV1 MAINNET', () => {
15
- const dexKey = 'AaveV1';
16
- const network = Network.MAINNET;
17
- const holders = Holders[network];
18
- const provider = new StaticJsonRpcProvider(
19
- generateConfig(network).privateHttpProvider,
20
- network,
21
- );
22
- // TODO: Modify the USDTSymbol, aUSDTSymbol, aETHAmount;
23
-
24
- const aETHSymbol: string = 'aETH';
25
- const aUSDTSymbol: string = 'aUSDT';
26
- const USDTSymbol: string = 'USDT';
27
-
28
- const aUSDTAmount: string = '20000000';
29
- const USDTAmount: string = '20000000';
30
- const aETHAmount: string = '100000000000000000';
31
- const ethAmount = '100000000000000000';
32
-
33
- const ETH = Tokens[network]['ETH'];
34
- const aETH = aaveV1GetToken(network, aETHSymbol);
35
- const aUSDT = aaveV1GetToken(network, aUSDTSymbol);
36
-
37
- expect(aETH).not.toBe(null);
38
- expect(aUSDT).not.toBe(null);
39
- const USDT = Tokens[network][USDTSymbol];
40
-
41
- const contractMethods: { [side in SwapSide]: ContractMethod[] } = {
42
- [SwapSide.SELL]: [ContractMethod.swapExactAmountIn],
43
- [SwapSide.BUY]: [],
44
- };
45
-
46
- [SwapSide.SELL, SwapSide.BUY].forEach((side: SwapSide) =>
47
- contractMethods[side].forEach((contractMethod: ContractMethod) => {
48
- describe(`${contractMethod}`, () => {
49
- it('ETH -> aETH', async () => {
50
- await testE2E(
51
- ETH,
52
- aETH!,
53
- holders['ETH'],
54
- side === SwapSide.SELL ? ethAmount : aETHAmount,
55
- side,
56
- dexKey,
57
- contractMethod,
58
- network,
59
- provider,
60
- );
61
- });
62
- it('aETH -> ETH', async () => {
63
- await testE2E(
64
- aETH!,
65
- ETH,
66
- holders[aETHSymbol],
67
- side === SwapSide.SELL ? aETHAmount : ethAmount,
68
- side,
69
- dexKey,
70
- contractMethod,
71
- network,
72
- provider,
73
- );
74
- });
75
- it('USDT -> aUSDT', async () => {
76
- await testE2E(
77
- USDT,
78
- aUSDT!,
79
- holders[USDTSymbol],
80
- side === SwapSide.SELL ? USDTAmount : aUSDTAmount,
81
- side,
82
- dexKey,
83
- contractMethod,
84
- network,
85
- provider,
86
- );
87
- });
88
- it('aUSDT -> USDT', async () => {
89
- await testE2E(
90
- aUSDT!,
91
- USDT,
92
- holders[aUSDTSymbol],
93
- side === SwapSide.SELL ? aUSDTAmount : USDTAmount,
94
- side,
95
- dexKey,
96
- contractMethod,
97
- network,
98
- provider,
99
- );
100
- });
101
- });
102
- }),
103
- );
104
- });
105
- });
@@ -1,100 +0,0 @@
1
- import dotenv from 'dotenv';
2
- dotenv.config();
3
-
4
- import { DummyDexHelper } from '../../dex-helper/index';
5
- import { Network, SwapSide } from '../../constants';
6
- import { AaveV1 } from './aave-v1';
7
- import {
8
- checkPoolsLiquidity,
9
- checkConstantPoolPrices,
10
- } from '../../../tests/utils';
11
- import { Tokens } from '../../../tests/constants-e2e';
12
- import { aaveV1GetToken } from './tokens';
13
- import { BI_POWS } from '../../bigint-constants';
14
-
15
- describe('AaveV1', function () {
16
- describe('AaveV1 MAINNET', () => {
17
- const network = Network.MAINNET;
18
- const USDTSymbol = 'USDT';
19
- const USDT = Tokens[network][USDTSymbol];
20
-
21
- const aUSDTSymbol = 'aUSDT';
22
- const aUSDT = aaveV1GetToken(network, aUSDTSymbol);
23
- if (!aUSDT) {
24
- expect(aUSDT).not.toBe(null);
25
- return;
26
- }
27
-
28
- const amounts = [0n, BI_POWS[18], 2000000000000000000n];
29
-
30
- const dexKey = 'AaveV1';
31
- it('getPoolIdentifiers and getPricesVolume SELL', async function () {
32
- const dexHelper = new DummyDexHelper(network);
33
- const blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
34
- const aaveV1 = new AaveV1(network, dexKey, dexHelper);
35
-
36
- const pools = await aaveV1.getPoolIdentifiers(
37
- USDT,
38
- aUSDT,
39
- SwapSide.SELL,
40
- blocknumber,
41
- );
42
- console.log(`${USDTSymbol} <> ${aUSDTSymbol} Pool Identifiers: `, pools);
43
-
44
- expect(pools.length).toBeGreaterThan(0);
45
-
46
- const poolPrices = await aaveV1.getPricesVolume(
47
- USDT,
48
- aUSDT,
49
- amounts,
50
- SwapSide.SELL,
51
- blocknumber,
52
- pools,
53
- );
54
-
55
- console.log('${USDTSymbol} <> ${aUSDTSymbol} Pool Prices: ', poolPrices);
56
-
57
- expect(poolPrices).not.toBeNull();
58
- checkConstantPoolPrices(poolPrices!, amounts, dexKey);
59
- });
60
-
61
- it('getPoolIdentifiers and getPricesVolume BUY', async function () {
62
- const dexHelper = new DummyDexHelper(network);
63
- const blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
64
- const aaveV1 = new AaveV1(network, dexKey, dexHelper);
65
-
66
- const pools = await aaveV1.getPoolIdentifiers(
67
- USDT,
68
- aUSDT,
69
- SwapSide.BUY,
70
- blocknumber,
71
- );
72
- console.log(`${USDTSymbol} <> ${aUSDTSymbol} Pool Identifiers: `, pools);
73
-
74
- expect(pools.length).toBeGreaterThan(0);
75
-
76
- const poolPrices = await aaveV1.getPricesVolume(
77
- USDT,
78
- aUSDT,
79
- amounts,
80
- SwapSide.BUY,
81
- blocknumber,
82
- pools,
83
- );
84
- console.log('${USDTSymbol} <> ${aUSDTSymbol} Pool Prices: ', poolPrices);
85
-
86
- expect(poolPrices).not.toBeNull();
87
- checkConstantPoolPrices(poolPrices!, amounts, dexKey);
88
- });
89
-
90
- it('getTopPoolsForToken', async function () {
91
- const dexHelper = new DummyDexHelper(network);
92
- const aaveV1 = new AaveV1(network, dexKey, dexHelper);
93
-
94
- const poolLiquidity = await aaveV1.getTopPoolsForToken(USDT.address, 10);
95
- console.log(`${USDTSymbol} Top Pools:`, poolLiquidity);
96
-
97
- checkPoolsLiquidity(poolLiquidity, USDT.address, dexKey);
98
- });
99
- });
100
- });
@@ -1,261 +0,0 @@
1
- import { Interface, JsonFragment } from '@ethersproject/abi';
2
- import {
3
- Token,
4
- Address,
5
- ExchangePrices,
6
- PoolPrices,
7
- AdapterExchangeParam,
8
- SimpleExchangeParam,
9
- PoolLiquidity,
10
- Logger,
11
- NumberAsString,
12
- DexExchangeParam,
13
- } from '../../types';
14
- import { SwapSide, Network } from '../../constants';
15
- import * as CALLDATA_GAS_COST from '../../calldata-gas-cost';
16
- import { getBigIntPow, getDexKeysWithNetwork } from '../../utils';
17
- import { IDex } from '../../dex/idex';
18
- import { IDexHelper } from '../../dex-helper/idex-helper';
19
- import { AaveV1Data, AaveV1Param } from './types';
20
- import { SimpleExchange } from '../simple-exchange';
21
- import { AaveV1Config, Adapters } from './config';
22
- import AAVE_LENDING_POOL_ABI_V1 from '../../abi/AaveV1_lending_pool.json';
23
- import ERC20 from '../../abi/erc20.json';
24
- import { isAAVEPair } from './tokens';
25
-
26
- const AaveGasCost = 400 * 1000;
27
-
28
- enum AaveV1Functions {
29
- deposit = 'deposit',
30
- redeem = 'redeem',
31
- }
32
-
33
- const AAVE_LENDING_POOL = '0x398eC7346DcD622eDc5ae82352F02bE94C62d119';
34
- const AAVE_PROXY = '0x3dfd23a6c5e8bbcfc9581d2e864a68feb6a076d3';
35
- const REF_CODE = 1;
36
-
37
- export class AaveV1
38
- extends SimpleExchange
39
- implements IDex<AaveV1Data, AaveV1Param>
40
- {
41
- readonly hasConstantPriceLargeAmounts = true;
42
- readonly isFeeOnTransferSupported = false;
43
-
44
- public static dexKeysWithNetwork: { key: string; networks: Network[] }[] =
45
- getDexKeysWithNetwork(AaveV1Config);
46
-
47
- logger: Logger;
48
- aavePool: Interface;
49
- aContract: Interface;
50
-
51
- constructor(
52
- protected network: Network,
53
- dexKey: string,
54
- protected dexHelper: IDexHelper, // TODO: add any additional optional params to support other fork DEXes
55
- ) {
56
- super(dexHelper, dexKey);
57
- this.logger = dexHelper.getLogger(dexKey);
58
- this.aavePool = new Interface(AAVE_LENDING_POOL_ABI_V1 as JsonFragment[]);
59
- this.aContract = new Interface(ERC20 as JsonFragment[]);
60
- }
61
-
62
- async initializePricing(blockNumber: number) {}
63
-
64
- // Returns the list of contract adapters (name and index)
65
- // for a buy/sell. Return null if there are no adapters.
66
- getAdapters(side: SwapSide): { name: string; index: number }[] | null {
67
- return Adapters[this.network][side];
68
- }
69
-
70
- // Returns list of pool identifiers that can be used
71
- // for a given swap. poolIdentifiers must be unique
72
- // across DEXes. It is recommended to use
73
- // ${dexKey}_${poolAddress} as a poolIdentifier
74
- async getPoolIdentifiers(
75
- srcToken: Token,
76
- destToken: Token,
77
- side: SwapSide,
78
- blockNumber: number,
79
- ): Promise<string[]> {
80
- const aToken = isAAVEPair(this.network, srcToken, destToken);
81
- if (aToken === null) {
82
- return [];
83
- }
84
- return [`${this.dexKey}_${aToken.address}`];
85
- }
86
-
87
- // Returns pool prices for amounts.
88
- // If limitPools is defined only pools in limitPools
89
- // should be used. If limitPools is undefined then
90
- // any pools can be used.
91
- async getPricesVolume(
92
- srcToken: Token,
93
- destToken: Token,
94
- amounts: bigint[],
95
- side: SwapSide,
96
- blockNumber: number,
97
- limitPools?: string[],
98
- ): Promise<null | ExchangePrices<AaveV1Data>> {
99
- const aToken = isAAVEPair(this.network, srcToken, destToken);
100
- if (!aToken) {
101
- return null;
102
- }
103
- const fromAToken = aToken == srcToken;
104
- return [
105
- {
106
- prices: amounts,
107
- unit: getBigIntPow(
108
- (side === SwapSide.SELL ? destToken : srcToken).decimals,
109
- ),
110
- gasCost: AaveGasCost,
111
- exchange: this.dexKey,
112
- data: {
113
- fromAToken,
114
- isV2: false,
115
- },
116
- poolAddresses: [fromAToken ? srcToken.address : destToken.address],
117
- },
118
- ];
119
- }
120
-
121
- // Returns estimated gas cost of calldata for this DEX in multiSwap
122
- getCalldataGasCost(poolPrices: PoolPrices<AaveV1Data>): number | number[] {
123
- return (
124
- CALLDATA_GAS_COST.DEX_OVERHEAD +
125
- CALLDATA_GAS_COST.LENGTH_SMALL +
126
- CALLDATA_GAS_COST.ADDRESS
127
- );
128
- }
129
-
130
- // Encode params required by the exchange adapter
131
- // Used for multiSwap, buy & megaSwap
132
- getAdapterParam(
133
- srcToken: string,
134
- destToken: string,
135
- srcAmount: string,
136
- destAmount: string,
137
- data: AaveV1Data,
138
- side: SwapSide,
139
- ): AdapterExchangeParam {
140
- const aToken = data.fromAToken ? srcToken : destToken; // Warning
141
- const payload = this.abiCoder.encodeParameter(
142
- {
143
- ParentStruct: {
144
- aToken: 'address',
145
- },
146
- },
147
- { aToken },
148
- );
149
-
150
- return {
151
- targetExchange: AAVE_LENDING_POOL,
152
- payload,
153
- networkFee: '0',
154
- };
155
- }
156
-
157
- // Encode call data used by simpleSwap like routers
158
- // Used for simpleSwap & simpleBuy
159
- // Hint: this.buildSimpleParamWithoutWETHConversion
160
- // could be useful
161
- async getSimpleParam(
162
- srcToken: string,
163
- destToken: string,
164
- srcAmount: string,
165
- destAmount: string,
166
- data: AaveV1Data,
167
- side: SwapSide,
168
- ): Promise<SimpleExchangeParam> {
169
- const amount = side === SwapSide.SELL ? srcAmount : destAmount;
170
- const [Interface, swapFunction, swapFunctionParams, swapCallee, spender] =
171
- ((): [Interface, AaveV1Functions, AaveV1Param, Address, Address?] => {
172
- if (data.fromAToken) {
173
- return [this.aContract, AaveV1Functions.redeem, [amount], srcToken];
174
- }
175
-
176
- return [
177
- this.aavePool,
178
- AaveV1Functions.deposit,
179
- [srcToken, amount, REF_CODE],
180
- AAVE_LENDING_POOL,
181
- AAVE_PROXY, // warning
182
- ];
183
- })();
184
-
185
- const swapData = Interface.encodeFunctionData(
186
- swapFunction,
187
- swapFunctionParams,
188
- );
189
-
190
- return this.buildSimpleParamWithoutWETHConversion(
191
- srcToken,
192
- amount,
193
- destToken,
194
- destAmount,
195
- swapData,
196
- swapCallee,
197
- spender,
198
- );
199
- }
200
-
201
- // DEAD
202
- getDexParam(
203
- srcToken: Address,
204
- destToken: Address,
205
- srcAmount: NumberAsString,
206
- destAmount: NumberAsString,
207
- recipient: Address,
208
- data: AaveV1Data,
209
- side: SwapSide,
210
- ): DexExchangeParam {
211
- const amount = side === SwapSide.SELL ? srcAmount : destAmount;
212
- const [Interface, swapFunction, swapFunctionParams, swapCallee] = ((): [
213
- Interface,
214
- AaveV1Functions,
215
- AaveV1Param,
216
- Address,
217
- ] => {
218
- if (data.fromAToken) {
219
- return [this.aContract, AaveV1Functions.redeem, [amount], srcToken];
220
- }
221
-
222
- return [
223
- this.aavePool,
224
- AaveV1Functions.deposit,
225
- [srcToken, amount, REF_CODE],
226
- AAVE_LENDING_POOL,
227
- ];
228
- })();
229
-
230
- const exchangeData = Interface.encodeFunctionData(
231
- swapFunction,
232
- swapFunctionParams,
233
- );
234
-
235
- return {
236
- needWrapNative: this.needWrapNative,
237
- dexFuncHasRecipient: false,
238
- exchangeData,
239
- targetExchange: swapCallee,
240
- returnAmountPos: undefined,
241
- };
242
- }
243
-
244
- // This is called once before getTopPoolsForToken is
245
- // called for multiple tokens. This can be helpful to
246
- // update common state required for calculating
247
- // getTopPoolsForToken. It is optional for a DEX
248
- // to implement this
249
- updatePoolState(): Promise<void> {
250
- return Promise.resolve();
251
- }
252
-
253
- // Returns list of top pools based on liquidity. Max
254
- // limit number pools should be returned.
255
- async getTopPoolsForToken(
256
- tokenAddress: Address,
257
- limit: number,
258
- ): Promise<PoolLiquidity[]> {
259
- return [];
260
- }
261
- }
@@ -1,22 +0,0 @@
1
- import { DexParams } from './types';
2
- import { DexConfigMap } from '../../types';
3
- import { Network, SwapSide } from '../../constants';
4
-
5
- export const AaveV1Config: DexConfigMap<DexParams> = {
6
- AaveV1: {
7
- [Network.MAINNET]: {},
8
- },
9
- };
10
-
11
- export const Adapters: {
12
- [chainId: number]: { [side: string]: { name: string; index: number }[] };
13
- } = {
14
- [Network.MAINNET]: {
15
- [SwapSide.SELL]: [
16
- {
17
- name: 'Adapter03',
18
- index: 5,
19
- },
20
- ],
21
- },
22
- };
@@ -1,134 +0,0 @@
1
- [
2
- {
3
- "aSymbol": "aETH",
4
- "aAddress": "0x3a3a65aab0dd2a17e3f1947ba16138cd37d08c04",
5
- "address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
6
- "decimals": 18
7
- },
8
- {
9
- "aSymbol": "aDAI",
10
- "aAddress": "0xfc1e690f61efd961294b3e1ce3313fbd8aa4f85d",
11
- "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
12
- "decimals": 18
13
- },
14
- {
15
- "aSymbol": "aUSDC",
16
- "aAddress": "0x9ba00d6856a4edf4665bca2c2309936572473b7e",
17
- "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
18
- "decimals": 6
19
- },
20
- {
21
- "aSymbol": "aSUSD",
22
- "aAddress": "0x625ae63000f46200499120b906716420bd059240",
23
- "address": "0x57ab1e02fee23774580c119740129eac7081e9d3",
24
- "decimals": 18
25
- },
26
- {
27
- "aSymbol": "aTUSD",
28
- "aAddress": "0x4da9b813057d04baef4e5800e36083717b4a0341",
29
- "address": "0x8dd5fbce2f6a956c3022ba3663759011dd51e73e",
30
- "decimals": 18
31
- },
32
- {
33
- "aSymbol": "aUSDT",
34
- "aAddress": "0x71fc860f7d3a592a4a98740e39db31d25db65ae8",
35
- "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
36
- "decimals": 6
37
- },
38
- {
39
- "aSymbol": "aBUSD",
40
- "aAddress": "0x6ee0f7bb50a54ab5253da0667b0dc2ee526c30a8",
41
- "address": "0x4fabb145d64652a948d72533023f6e7a623c7c53",
42
- "decimals": 18
43
- },
44
- {
45
- "aSymbol": "aBAT",
46
- "aAddress": "0xe1ba0fb44ccb0d11b80f92f4f8ed94ca3ff51d00",
47
- "address": "0x0d8775f648430679a709e98d2b0cb6250d2887ef",
48
- "decimals": 18
49
- },
50
- {
51
- "aSymbol": "aENJ",
52
- "aAddress": "0x712db54daa836b53ef1ecbb9c6ba3b9efb073f40",
53
- "address": "0xf629cbd94d3791c9250152bd8dfbdf380e2a3b9c",
54
- "decimals": 18
55
- },
56
- {
57
- "aSymbol": "aKNC",
58
- "aAddress": "0x9d91be44c06d373a8a226e1f3b146956083803eb",
59
- "address": "0xdd974d5c2e2928dea5f71b9825b8b646686bd200",
60
- "decimals": 18
61
- },
62
- {
63
- "aSymbol": "aAAVE",
64
- "aAddress": "0xba3d9687cf50fe253cd2e1cfeede1d6787344ed5",
65
- "address": "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9",
66
- "decimals": 18
67
- },
68
- {
69
- "aSymbol": "aLINK",
70
- "aAddress": "0xa64bd6c70cb9051f6a9ba1f163fdc07e0dfb5f84",
71
- "address": "0x514910771af9ca656af840dff83e8264ecf986ca",
72
- "decimals": 18
73
- },
74
- {
75
- "aSymbol": "aMANA",
76
- "aAddress": "0x6fce4a401b6b80ace52baaefe4421bd188e76f6f",
77
- "address": "0x0f5d2fb29fb7d3cfee444a200298f468908cc942",
78
- "decimals": 18
79
- },
80
- {
81
- "aSymbol": "aMKR",
82
- "aAddress": "0x7deb5e830be29f91e298ba5ff1356bb7f8146998",
83
- "address": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2",
84
- "decimals": 18
85
- },
86
- {
87
- "aSymbol": "aREN",
88
- "aAddress": "0x69948cc03f478b95283f7dbf1ce764d0fc7ec54c",
89
- "address": "0x408e41876cccdc0f92210600ef50372656052a38",
90
- "decimals": 18
91
- },
92
- {
93
- "aSymbol": "aREP",
94
- "aAddress": "0x71010a9d003445ac60c4e6a7017c1e89a477b438",
95
- "address": "0xe94327d07fc17907b4db788e5adf2ed424addff6",
96
- "decimals": 18
97
- },
98
- {
99
- "aSymbol": "aSNX",
100
- "aAddress": "0x328c4c80bc7aca0834db37e6600a6c49e12da4de",
101
- "address": "0xc011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f",
102
- "decimals": 18
103
- },
104
- {
105
- "aSymbol": "aUNI",
106
- "aAddress": "0xb124541127a0a657f056d9dd06188c4f1b0e5aab",
107
- "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984",
108
- "decimals": 18
109
- },
110
- {
111
- "aSymbol": "aWBTC",
112
- "aAddress": "0xfc4b8ed459e00e5400be803a9bb3954234fd50e3",
113
- "address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
114
- "decimals": 8
115
- },
116
- {
117
- "aSymbol": "aYFI",
118
- "aAddress": "0x12e51e77daaa58aa0e9247db7510ea4b46f9bead",
119
- "address": "0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e",
120
- "decimals": 18
121
- },
122
- {
123
- "aSymbol": "aZRX",
124
- "aAddress": "0x6fb0855c404e09c47c3fbca25f08d4e41f9f062f",
125
- "address": "0xe41d2489571d322189246dafa5ebde1f4699f498",
126
- "decimals": 18
127
- },
128
- {
129
- "aSymbol": "aLEND",
130
- "aAddress": "0x7d2d3688df45ce7c552e19c27e007673da9204b8",
131
- "address": "0x80fb784b7ed66730e8b1dbd9820afd29931aab03",
132
- "decimals": 18
133
- }
134
- ]
@@ -1,58 +0,0 @@
1
- import { aToken, Token } from '../../types';
2
- import { Network } from '../../constants';
3
-
4
- import tokensMainnet from './tokens-mainnet.json';
5
-
6
- const Tokens: { [network: number]: { [symbol: string]: aToken } } = {};
7
- const TokensByAddress: { [network: number]: { [address: string]: aToken } } =
8
- {};
9
-
10
- const tokensByNetwork: { [network: number]: any } = {
11
- [Network.MAINNET]: tokensMainnet,
12
- };
13
-
14
- for (const [key, tokens] of Object.entries(tokensByNetwork)) {
15
- const network = +key;
16
- Tokens[network] = {};
17
- TokensByAddress[network] = {};
18
- for (const token of tokens) {
19
- Tokens[network][token.aSymbol] = token;
20
- TokensByAddress[network][token.aAddress.toLowerCase()] = token;
21
- }
22
- }
23
-
24
- // return null if pair does not exists otherwise return the aToken
25
- export function isAAVEPair(
26
- network: number,
27
- src: Token,
28
- dst: Token,
29
- ): Token | null {
30
- const srcAddr = src.address.toLowerCase();
31
- const dstAddr = dst.address.toLowerCase();
32
-
33
- const _src = TokensByAddress[network][srcAddr];
34
- const _dst = TokensByAddress[network][dstAddr];
35
-
36
- if (_src && _src.address == dstAddr) {
37
- return src;
38
- }
39
-
40
- if (_dst && _dst.address == srcAddr) {
41
- return dst;
42
- }
43
-
44
- return null;
45
- }
46
-
47
- export function aaveV1GetToken(network: number, symbol: string): Token | null {
48
- const aToken = Tokens[network][symbol];
49
- if (!aToken) {
50
- return null;
51
- }
52
-
53
- return {
54
- address: aToken.aAddress,
55
- decimals: aToken.decimals,
56
- symbol: aToken.aSymbol,
57
- };
58
- }
@@ -1,24 +0,0 @@
1
- import { Address } from '../../types';
2
-
3
- export type AaveV1Data = {
4
- fromAToken: boolean;
5
- isV2: boolean;
6
- // TODO: AaveV1Data is the dex data that is
7
- // returned by the API that can be used for
8
- // tx building. The data structure should be minimal.
9
- // Complete me!
10
- };
11
-
12
- export type DexParams = {
13
- // TODO: DexParams is set of parameters the can
14
- // be used to initiate a DEX fork.
15
- // Complete me!
16
- };
17
-
18
- export type AaveV1RedeemParams = [
19
- _reserve: string,
20
- _amount: string,
21
- _referralCode: number,
22
- ];
23
- export type AaveV1DepositParams = [token: string];
24
- export type AaveV1Param = AaveV1RedeemParams | AaveV1DepositParams;