@paraswap/dex-lib 2.50.5 → 2.50.6-sdai

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 (263) hide show
  1. package/build/abi/maker-psm/pot.json +322 -0
  2. package/build/abi/{angle/stagToken.json → sdai/SavingsDai.abi.json} +177 -263
  3. package/build/config.js +2 -1
  4. package/build/config.js.map +1 -1
  5. package/build/dex/curve-v1-factory/config.js +11 -128
  6. package/build/dex/curve-v1-factory/config.js.map +1 -1
  7. package/build/dex/curve-v1-factory/curve-v1-factory.d.ts +0 -1
  8. package/build/dex/curve-v1-factory/curve-v1-factory.js +17 -29
  9. package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
  10. package/build/dex/curve-v1-factory/curve-v1-pool-manager.js +0 -1
  11. package/build/dex/curve-v1-factory/curve-v1-pool-manager.js.map +1 -1
  12. package/build/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.js +0 -1
  13. package/build/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.js.map +1 -1
  14. package/build/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.js +1 -4
  15. package/build/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.js.map +1 -1
  16. package/build/dex/curve-v1-factory/price-handlers/functions/_rates.js +0 -1
  17. package/build/dex/curve-v1-factory/price-handlers/functions/_rates.js.map +1 -1
  18. package/build/dex/curve-v1-factory/price-handlers/functions/_xp.js +0 -1
  19. package/build/dex/curve-v1-factory/price-handlers/functions/_xp.js.map +1 -1
  20. package/build/dex/curve-v1-factory/price-handlers/functions/_xp_mem.js +0 -1
  21. package/build/dex/curve-v1-factory/price-handlers/functions/_xp_mem.js.map +1 -1
  22. package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js +0 -1
  23. package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js.map +1 -1
  24. package/build/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.js +0 -1
  25. package/build/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.js.map +1 -1
  26. package/build/dex/curve-v1-factory/price-handlers/functions/constants.js +0 -10
  27. package/build/dex/curve-v1-factory/price-handlers/functions/constants.js.map +1 -1
  28. package/build/dex/curve-v1-factory/price-handlers/functions/get_D.js +0 -40
  29. package/build/dex/curve-v1-factory/price-handlers/functions/get_D.js.map +1 -1
  30. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_mem.js +0 -1
  31. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_mem.js.map +1 -1
  32. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.js +0 -1
  33. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.js.map +1 -1
  34. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy.js +0 -24
  35. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy.js.map +1 -1
  36. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.js +0 -1
  37. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.js.map +1 -1
  38. package/build/dex/curve-v1-factory/price-handlers/functions/get_y.js +0 -53
  39. package/build/dex/curve-v1-factory/price-handlers/functions/get_y.js.map +1 -1
  40. package/build/dex/curve-v1-factory/price-handlers/functions/get_y_D.js +0 -1
  41. package/build/dex/curve-v1-factory/price-handlers/functions/get_y_D.js.map +1 -1
  42. package/build/dex/curve-v1-factory/price-handlers/functions/utils.d.ts +0 -1
  43. package/build/dex/curve-v1-factory/price-handlers/functions/utils.js +1 -5
  44. package/build/dex/curve-v1-factory/price-handlers/functions/utils.js.map +1 -1
  45. package/build/dex/curve-v1-factory/price-handlers/types.d.ts +2 -2
  46. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.d.ts +2 -3
  47. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js +6 -38
  48. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js.map +1 -1
  49. package/build/dex/curve-v1-factory/state-polling-pools/pool-polling-base.js.map +1 -1
  50. package/build/dex/curve-v1-factory/types.d.ts +2 -11
  51. package/build/dex/curve-v1-factory/types.js +0 -3
  52. package/build/dex/curve-v1-factory/types.js.map +1 -1
  53. package/build/dex/hashflow/constants.d.ts +0 -27
  54. package/build/dex/hashflow/constants.js +1 -29
  55. package/build/dex/hashflow/constants.js.map +1 -1
  56. package/build/dex/hashflow/hashflow.d.ts +2 -3
  57. package/build/dex/hashflow/hashflow.js +12 -69
  58. package/build/dex/hashflow/hashflow.js.map +1 -1
  59. package/build/dex/hashflow/types.d.ts +0 -11
  60. package/build/dex/hashflow/types.js +0 -9
  61. package/build/dex/hashflow/types.js.map +1 -1
  62. package/build/dex/idex.d.ts +1 -1
  63. package/build/dex/index.d.ts +2 -2
  64. package/build/dex/index.js +2 -0
  65. package/build/dex/index.js.map +1 -1
  66. package/build/dex/pancakeswap-v3/config.js +0 -15
  67. package/build/dex/pancakeswap-v3/config.js.map +1 -1
  68. package/build/dex/pancakeswap-v3/pancakeswap-v3.js +1 -1
  69. package/build/dex/pancakeswap-v3/pancakeswap-v3.js.map +1 -1
  70. package/build/dex/sdai/config.d.ts +11 -0
  71. package/build/dex/sdai/config.js +24 -0
  72. package/build/dex/sdai/config.js.map +1 -0
  73. package/build/dex/sdai/constants.d.ts +2 -0
  74. package/build/dex/sdai/constants.js +6 -0
  75. package/build/dex/sdai/constants.js.map +1 -0
  76. package/build/dex/sdai/scripts/validate-state.d.ts +1 -0
  77. package/build/dex/sdai/scripts/validate-state.js +102 -0
  78. package/build/dex/sdai/scripts/validate-state.js.map +1 -0
  79. package/build/dex/sdai/sdai-pool.d.ts +16 -0
  80. package/build/dex/sdai/sdai-pool.js +85 -0
  81. package/build/dex/sdai/sdai-pool.js.map +1 -0
  82. package/build/dex/sdai/sdai.d.ts +51 -0
  83. package/build/dex/sdai/sdai.js +172 -0
  84. package/build/dex/sdai/sdai.js.map +1 -0
  85. package/build/dex/sdai/types.d.ts +21 -0
  86. package/build/dex/sdai/types.js +11 -0
  87. package/build/dex/sdai/types.js.map +1 -0
  88. package/build/dex/sdai/utils.d.ts +4 -0
  89. package/build/dex/sdai/utils.js +39 -0
  90. package/build/dex/sdai/utils.js.map +1 -0
  91. package/build/dex/woo-fi-v2/config.js +4 -4
  92. package/package.json +1 -1
  93. package/src/abi/maker-psm/pot.json +322 -0
  94. package/src/abi/sdai/SavingsDai.abi.json +877 -0
  95. package/src/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  96. package/src/config.ts +2 -1
  97. package/src/dex/curve-v1-factory/config.ts +11 -128
  98. package/src/dex/curve-v1-factory/curve-v1-factory-e2e.test.ts +1 -123
  99. package/src/dex/curve-v1-factory/curve-v1-factory-integration.test.ts +0 -392
  100. package/src/dex/curve-v1-factory/curve-v1-factory.ts +39 -61
  101. package/src/dex/curve-v1-factory/curve-v1-pool-manager.ts +0 -1
  102. package/src/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.ts +0 -2
  103. package/src/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.ts +2 -6
  104. package/src/dex/curve-v1-factory/price-handlers/functions/_rates.ts +0 -2
  105. package/src/dex/curve-v1-factory/price-handlers/functions/_xp.ts +0 -2
  106. package/src/dex/curve-v1-factory/price-handlers/functions/_xp_mem.ts +0 -2
  107. package/src/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.ts +0 -2
  108. package/src/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.ts +0 -2
  109. package/src/dex/curve-v1-factory/price-handlers/functions/constants.ts +0 -11
  110. package/src/dex/curve-v1-factory/price-handlers/functions/get_D.ts +1 -59
  111. package/src/dex/curve-v1-factory/price-handlers/functions/get_D_mem.ts +0 -2
  112. package/src/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.ts +0 -2
  113. package/src/dex/curve-v1-factory/price-handlers/functions/get_dy.ts +0 -51
  114. package/src/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.ts +0 -2
  115. package/src/dex/curve-v1-factory/price-handlers/functions/get_y.ts +1 -68
  116. package/src/dex/curve-v1-factory/price-handlers/functions/get_y_D.ts +0 -2
  117. package/src/dex/curve-v1-factory/price-handlers/functions/utils.ts +0 -4
  118. package/src/dex/curve-v1-factory/price-handlers/types.ts +1 -8
  119. package/src/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.ts +18 -71
  120. package/src/dex/curve-v1-factory/state-polling-pools/pool-polling-base.ts +0 -1
  121. package/src/dex/curve-v1-factory/types.ts +1 -12
  122. package/src/dex/hashflow/constants.ts +0 -32
  123. package/src/dex/hashflow/hashflow.ts +19 -121
  124. package/src/dex/hashflow/types.ts +2 -20
  125. package/src/dex/idex.ts +1 -1
  126. package/src/dex/index.ts +4 -2
  127. package/src/dex/pancakeswap-v3/config.ts +0 -16
  128. package/src/dex/pancakeswap-v3/pancakeswap-v3.ts +1 -3
  129. package/src/dex/sdai/config.ts +28 -0
  130. package/src/dex/sdai/constants.ts +2 -0
  131. package/src/dex/sdai/scripts/validate-state.ts +144 -0
  132. package/src/dex/sdai/sdai-e2e.test.ts +96 -0
  133. package/src/dex/sdai/sdai-events.test.ts +105 -0
  134. package/src/dex/sdai/sdai-integration.test.ts +148 -0
  135. package/src/dex/sdai/sdai-pool.ts +113 -0
  136. package/src/dex/sdai/sdai.ts +233 -0
  137. package/src/dex/sdai/types.ts +23 -0
  138. package/src/dex/sdai/utils.ts +48 -0
  139. package/src/dex/woo-fi-v2/config.ts +4 -4
  140. package/tests/constants-e2e.ts +3 -38
  141. package/tests/utils-e2e.ts +0 -1
  142. package/build/abi/Redstone.json +0 -739
  143. package/build/abi/angle-transmuter/MorphoOracle.json +0 -193
  144. package/build/abi/angle-transmuter/MorphoVault.json +0 -2506
  145. package/build/abi/angle-transmuter/Pyth.json +0 -1534
  146. package/build/abi/angle-transmuter/Transmuter.json +0 -1711
  147. package/build/abi/pharaoh/PharaohPool.abi.json +0 -1582
  148. package/build/abi/smardex/smardex-factory.json +0 -185
  149. package/build/abi/smardex/smardex-pool.json +0 -578
  150. package/build/abi/smardex/smardex-router.json +0 -648
  151. package/build/abi/trader-joe-v2_1/FactoryABI.json +0 -1208
  152. package/build/abi/trader-joe-v2_1/PairABI.json +0 -1493
  153. package/build/abi/trader-joe-v2_1/RouterABI.json +0 -1489
  154. package/build/abi/trader-joe-v2_1/StateMulticall.json +0 -193
  155. package/build/abi/wombat/pool.json +0 -1289
  156. package/build/dex/aave-v2/tokens-avalanche.json +0 -44
  157. package/build/dex/aave-v2/tokens-mainnet.json +0 -188
  158. package/build/dex/aave-v2/tokens-polygon.json +0 -44
  159. package/build/dex/angle-staked-stable/angle-staked-stable-pool.d.ts +0 -55
  160. package/build/dex/angle-staked-stable/angle-staked-stable-pool.js +0 -183
  161. package/build/dex/angle-staked-stable/angle-staked-stable-pool.js.map +0 -1
  162. package/build/dex/angle-staked-stable/angle-staked-stable.d.ts +0 -50
  163. package/build/dex/angle-staked-stable/angle-staked-stable.js +0 -228
  164. package/build/dex/angle-staked-stable/angle-staked-stable.js.map +0 -1
  165. package/build/dex/angle-staked-stable/config.d.ts +0 -4
  166. package/build/dex/angle-staked-stable/config.js +0 -139
  167. package/build/dex/angle-staked-stable/config.js.map +0 -1
  168. package/build/dex/angle-staked-stable/types.d.ts +0 -15
  169. package/build/dex/angle-staked-stable/types.js +0 -3
  170. package/build/dex/angle-staked-stable/types.js.map +0 -1
  171. package/build/dex/angle-transmuter/angle-transmuter-pool.d.ts +0 -61
  172. package/build/dex/angle-transmuter/angle-transmuter-pool.js +0 -415
  173. package/build/dex/angle-transmuter/angle-transmuter-pool.js.map +0 -1
  174. package/build/dex/angle-transmuter/angle-transmuter.d.ts +0 -59
  175. package/build/dex/angle-transmuter/angle-transmuter.js +0 -262
  176. package/build/dex/angle-transmuter/angle-transmuter.js.map +0 -1
  177. package/build/dex/angle-transmuter/backedOracle.d.ts +0 -19
  178. package/build/dex/angle-transmuter/backedOracle.js +0 -56
  179. package/build/dex/angle-transmuter/backedOracle.js.map +0 -1
  180. package/build/dex/angle-transmuter/config.d.ts +0 -4
  181. package/build/dex/angle-transmuter/config.js +0 -30
  182. package/build/dex/angle-transmuter/config.js.map +0 -1
  183. package/build/dex/angle-transmuter/constants.d.ts +0 -77
  184. package/build/dex/angle-transmuter/constants.js +0 -94
  185. package/build/dex/angle-transmuter/constants.js.map +0 -1
  186. package/build/dex/angle-transmuter/morphoOracle.d.ts +0 -42
  187. package/build/dex/angle-transmuter/morphoOracle.js +0 -179
  188. package/build/dex/angle-transmuter/morphoOracle.js.map +0 -1
  189. package/build/dex/angle-transmuter/morphoVault.d.ts +0 -19
  190. package/build/dex/angle-transmuter/morphoVault.js +0 -78
  191. package/build/dex/angle-transmuter/morphoVault.js.map +0 -1
  192. package/build/dex/angle-transmuter/pyth.d.ts +0 -19
  193. package/build/dex/angle-transmuter/pyth.js +0 -70
  194. package/build/dex/angle-transmuter/pyth.js.map +0 -1
  195. package/build/dex/angle-transmuter/redstone.d.ts +0 -20
  196. package/build/dex/angle-transmuter/redstone.js +0 -73
  197. package/build/dex/angle-transmuter/redstone.js.map +0 -1
  198. package/build/dex/angle-transmuter/transmuter.d.ts +0 -52
  199. package/build/dex/angle-transmuter/transmuter.js +0 -374
  200. package/build/dex/angle-transmuter/transmuter.js.map +0 -1
  201. package/build/dex/angle-transmuter/types.d.ts +0 -188
  202. package/build/dex/angle-transmuter/types.js +0 -33
  203. package/build/dex/angle-transmuter/types.js.map +0 -1
  204. package/build/dex/angle-transmuter/utils.d.ts +0 -9
  205. package/build/dex/angle-transmuter/utils.js +0 -252
  206. package/build/dex/angle-transmuter/utils.js.map +0 -1
  207. package/build/dex/smardex/subgraph-queries.d.ts +0 -1
  208. package/build/dex/smardex/subgraph-queries.js +0 -17
  209. package/build/dex/smardex/subgraph-queries.js.map +0 -1
  210. package/build/dex/smardex/usd-reserves.d.ts +0 -23
  211. package/build/dex/smardex/usd-reserves.js +0 -86
  212. package/build/dex/smardex/usd-reserves.js.map +0 -1
  213. package/build/dex/trader-joe-v2-1-2/config.d.ts +0 -4
  214. package/build/dex/trader-joe-v2-1-2/config.js +0 -47
  215. package/build/dex/trader-joe-v2-1-2/config.js.map +0 -1
  216. package/build/dex/trader-joe-v2-1-2/constants.d.ts +0 -20
  217. package/build/dex/trader-joe-v2-1-2/constants.js +0 -22
  218. package/build/dex/trader-joe-v2-1-2/constants.js.map +0 -1
  219. package/build/dex/trader-joe-v2-1-2/math/index.d.ts +0 -37
  220. package/build/dex/trader-joe-v2-1-2/math/index.js +0 -291
  221. package/build/dex/trader-joe-v2-1-2/math/index.js.map +0 -1
  222. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.d.ts +0 -60
  223. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js +0 -248
  224. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js.map +0 -1
  225. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.d.ts +0 -53
  226. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js +0 -307
  227. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js.map +0 -1
  228. package/build/dex/trader-joe-v2-1-2/types.d.ts +0 -82
  229. package/build/dex/trader-joe-v2-1-2/types.js +0 -9
  230. package/build/dex/trader-joe-v2-1-2/types.js.map +0 -1
  231. package/build/dex/trader-joe-v2_1/config.d.ts +0 -4
  232. package/build/dex/trader-joe-v2_1/config.js +0 -47
  233. package/build/dex/trader-joe-v2_1/config.js.map +0 -1
  234. package/build/dex/trader-joe-v2_1/constants.d.ts +0 -20
  235. package/build/dex/trader-joe-v2_1/constants.js +0 -22
  236. package/build/dex/trader-joe-v2_1/constants.js.map +0 -1
  237. package/build/dex/trader-joe-v2_1/math/index.d.ts +0 -37
  238. package/build/dex/trader-joe-v2_1/math/index.js +0 -291
  239. package/build/dex/trader-joe-v2_1/math/index.js.map +0 -1
  240. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.d.ts +0 -0
  241. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js +0 -384
  242. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js.map +0 -1
  243. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.d.ts +0 -60
  244. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.js +0 -247
  245. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.js.map +0 -1
  246. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.d.ts +0 -53
  247. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.js +0 -307
  248. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.js.map +0 -1
  249. package/build/dex/trader-joe-v2_1/types.d.ts +0 -82
  250. package/build/dex/trader-joe-v2_1/types.js +0 -9
  251. package/build/dex/trader-joe-v2_1/types.js.map +0 -1
  252. package/build/dex/wombat/wombat-pool-poller.d.ts +0 -22
  253. package/build/dex/wombat/wombat-pool-poller.js +0 -164
  254. package/build/dex/wombat/wombat-pool-poller.js.map +0 -1
  255. package/build/dex-helper/Cache.d.ts +0 -31
  256. package/build/dex-helper/Cache.js +0 -106
  257. package/build/dex-helper/Cache.js.map +0 -1
  258. package/build/dex-helper/RedisBatcher.d.ts +0 -20
  259. package/build/dex-helper/RedisBatcher.js +0 -75
  260. package/build/dex-helper/RedisBatcher.js.map +0 -1
  261. package/build/dex-helper/RedisWrapper.d.ts +0 -37
  262. package/build/dex-helper/RedisWrapper.js +0 -165
  263. package/build/dex-helper/RedisWrapper.js.map +0 -1
@@ -1,384 +0,0 @@
1
- "use strict";
2
- // import { Network, SwapSide } from '../../constants';
3
- // import {
4
- // AdapterExchangeParam,
5
- // Address,
6
- // ExchangePrices,
7
- // Logger,
8
- // PoolPrices,
9
- // SimpleExchangeParam,
10
- // Token,
11
- // } from '../../types';
12
- // import { IDex, IDexTxBuilder } from '../idex';
13
- // import { IDexHelper } from '../../dex-helper';
14
- // import {
15
- // getLocalDeadlineAsFriendlyPlaceholder,
16
- // SimpleExchange,
17
- // } from '../simple-exchange';
18
- // import { NumberAsString } from '@paraswap/core';
19
- // import { AsyncOrSync } from 'ts-essentials';
20
- // import { Interface, JsonFragment } from '@ethersproject/abi';
21
- // import TraderJoeV21RouterABI from '../../abi/TraderJoeV21Router.json';
22
- // import { getBigIntPow, getDexKeysWithNetwork, interpolate } from '../../utils';
23
- // import { Adapters, TraderJoeV2_1Config } from './config';
24
- // // import * as CALLDATA_GAS_COST from '../calldata-gas-cost';
25
- // import * as CALLDATA_GAS_COST from '../../calldata-gas-cost';
26
- // import {
27
- // TRADER_JOE_V2_CHUNKS,
28
- // TRADER_JOE_V2_QUOTE_GASLIMIT,
29
- // } from './constants';
30
- // import { LBPairsAvailable } from './types';
31
- // type RouterPath = [
32
- // pairBinSteps: NumberAsString[],
33
- // versions: NumberAsString[],
34
- // tokenPath: Address[],
35
- // ];
36
- // type TraderJoeV2RouterSellParams = [
37
- // _amountIn: NumberAsString,
38
- // _amountOutMin: NumberAsString,
39
- // _routerPath: RouterPath,
40
- // to: Address,
41
- // _deadline: string,
42
- // ];
43
- // type TraderJoeV2RouterBuyParams = [
44
- // _amountOut: NumberAsString,
45
- // _amountInMax: NumberAsString,
46
- // _routerPath: RouterPath,
47
- // to: Address,
48
- // _deadline: string,
49
- // ];
50
- // type TraderJoeV2RouterParam =
51
- // | TraderJoeV2RouterSellParams
52
- // | TraderJoeV2RouterBuyParams;
53
- // export type TraderJoeV2Data = {
54
- // tokenIn: string; // redundant
55
- // tokenOut: string; // redundant
56
- // binStep: string;
57
- // };
58
- // enum TraderJoeV2RouterFunctions {
59
- // swapExactTokensForTokens = 'swapExactTokensForTokens',
60
- // swapTokensForExactTokens = 'swapTokensForExactTokens',
61
- // }
62
- // export class TraderJoeV21
63
- // extends SimpleExchange
64
- // implements IDex<TraderJoeV2Data, TraderJoeV2RouterParam>
65
- // {
66
- // availablePools: { [key: string]: string } = {};
67
- // // pairs: { [key: string]: SmardexPair } = {};
68
- // // factory: Contract;
69
- // // routerInterface: Interface;
70
- // exchangeRouterInterface: Interface;
71
- // factoryAddress: string;
72
- // routerAddress: string;
73
- // protected subgraphURL: string | undefined;
74
- // logger: Logger;
75
- // needWrapNative = true;
76
- // public static dexKeysWithNetwork: { key: string; networks: Network[] }[] =
77
- // getDexKeysWithNetwork(TraderJoeV2_1Config);
78
- // constructor(
79
- // protected network: Network,
80
- // dexKey: string,
81
- // public dexHelper: IDexHelper,
82
- // protected adapters = Adapters[network] || {},
83
- // ) {
84
- // super(dexHelper, dexKey);
85
- // this.logger = dexHelper.getLogger(dexKey);
86
- // const config = TraderJoeV2_1Config[dexKey];
87
- // this.routerAddress = config[network].routerAddress!;
88
- // this.factoryAddress = config[network].factoryAddress;
89
- // // const factoryAbi = this.isLayer1()
90
- // // ? SmardexFactoryLayerOneABI
91
- // // : SmardexFactoryLayerTwoABI;
92
- // // this.factory = new dexHelper.web3Provider.eth.Contract(
93
- // // factoryAbi as any,
94
- // // this.factoryAddress,
95
- // // );
96
- // // this.routerInterface = new Interface(ParaSwapABI);
97
- // this.exchangeRouterInterface = new Interface(
98
- // TraderJoeV21RouterABI as JsonFragment[],
99
- // );
100
- // // super(dexHelper, 'traderjoev2.1');
101
- // // this.routerAddress =
102
- // // TraderJoeV2_1Config[dexHelper.config.data.network].routerAddress;
103
- // // // this.routerAddress =
104
- // // // TRADERJOE_V2_1_ROUTER_ADDRESS[dexHelper.config.data.network];
105
- // // this.exchangeRouterInterface = new Interface(
106
- // // TraderJoeV21RouterABI as JsonFragment[],
107
- // // );
108
- // }
109
- // getAdapterParam(
110
- // srcToken: Address,
111
- // destToken: Address,
112
- // srcAmount: NumberAsString,
113
- // destAmount: NumberAsString,
114
- // data: TraderJoeV2Data,
115
- // side: SwapSide,
116
- // ): AdapterExchangeParam {
117
- // let payload = this.abiCoder.encodeParameters(
118
- // ['tuple(tuple(uint256[],uint8[],address[]),uint256)'],
119
- // [
120
- // [
121
- // [
122
- // [
123
- // data.binStep, // _pairBinSteps: uint256[]
124
- // ],
125
- // [
126
- // 2, // _versions: uint8[]
127
- // ],
128
- // [
129
- // data.tokenIn,
130
- // data.tokenOut, // _tokenPath: address[]
131
- // ],
132
- // ],
133
- // getLocalDeadlineAsFriendlyPlaceholder(), // _deadline: uint256
134
- // ],
135
- // ],
136
- // );
137
- // return {
138
- // targetExchange: this.routerAddress,
139
- // payload,
140
- // networkFee: '0',
141
- // };
142
- // }
143
- // getSimpleParam(
144
- // srcToken: Address,
145
- // destToken: Address,
146
- // srcAmount: NumberAsString,
147
- // destAmount: NumberAsString,
148
- // data: TraderJoeV2Data,
149
- // side: SwapSide,
150
- // ): AsyncOrSync<SimpleExchangeParam> {
151
- // const swapFunction =
152
- // side === SwapSide.SELL
153
- // ? TraderJoeV2RouterFunctions.swapExactTokensForTokens
154
- // : TraderJoeV2RouterFunctions.swapTokensForExactTokens;
155
- // const swapFunctionParams: TraderJoeV2RouterParam =
156
- // side === SwapSide.SELL
157
- // ? [
158
- // srcAmount,
159
- // destAmount,
160
- // [[data.binStep], ['2'], [srcToken, destToken]],
161
- // this.augustusAddress,
162
- // getLocalDeadlineAsFriendlyPlaceholder(),
163
- // ]
164
- // : [
165
- // destAmount,
166
- // srcAmount,
167
- // [[data.binStep], ['2'], [srcToken, destToken]],
168
- // this.augustusAddress,
169
- // getLocalDeadlineAsFriendlyPlaceholder(),
170
- // ];
171
- // const swapData = this.exchangeRouterInterface.encodeFunctionData(
172
- // swapFunction,
173
- // swapFunctionParams,
174
- // );
175
- // return this.buildSimpleParamWithoutWETHConversion(
176
- // srcToken,
177
- // srcAmount,
178
- // destToken,
179
- // destAmount,
180
- // swapData,
181
- // this.routerAddress,
182
- // );
183
- // }
184
- // async getPricesVolume(
185
- // from: Token,
186
- // to: Token,
187
- // amounts: bigint[],
188
- // side: SwapSide,
189
- // routeID: number,
190
- // usedPools: { [poolIdentifier: string]: number } | null,
191
- // ): Promise<null | ExchangePrices<TraderJoeV2Data>> {
192
- // try {
193
- // const _from = this.dexHelper.config.wrapETH(from);
194
- // const _to = this.dexHelper.config.wrapETH(to);
195
- // const pools = await this.getPools(_from, _to);
196
- // if (!pools || !pools.length) return null;
197
- // const filteredPools = !usedPools
198
- // ? pools
199
- // : pools.filter(p => usedPools[this.getPoolIdentifier(p)] === routeID);
200
- // if (!filteredPools.length) return null;
201
- // const unitVolume = getBigIntPow(
202
- // (side === SwapSide.SELL ? _from : _to).decimals,
203
- // );
204
- // const chunks = amounts.length - 1;
205
- // const _width = Math.floor(chunks / TRADER_JOE_V2_CHUNKS);
206
- // const _amounts = [unitVolume].concat(
207
- // Array.from(Array(TRADER_JOE_V2_CHUNKS).keys()).map(
208
- // i => amounts[(i + 1) * _width],
209
- // ),
210
- // );
211
- // const calldata = filteredPools.flatMap(pool =>
212
- // _amounts.map(_amount => ({
213
- // target: this.routerAddress,
214
- // gasLimit: TRADER_JOE_V2_QUOTE_GASLIMIT,
215
- // callData: (side === SwapSide.SELL
216
- // ? this.router.methods.getSwapOut(
217
- // pool.LBPair,
218
- // _amount.toString(),
219
- // _from.address === pool.tokenX,
220
- // )
221
- // : this.router.methods.getSwapIn(
222
- // pool.LBPair,
223
- // _amount.toString(),
224
- // _from.address === pool.tokenX,
225
- // )
226
- // ).encodeABI(),
227
- // })),
228
- // );
229
- // const data = await this.uniswapMulti.methods.multicall(calldata).call();
230
- // const quoteIndex = side === SwapSide.SELL ? 1 : 0;
231
- // const quoteLeftIndex = side === SwapSide.SELL ? 0 : 1;
232
- // const prices = filteredPools.map((pool, i) => {
233
- // const rates = _amounts.map((_, j) => {
234
- // if (!data.returnData[i * _amounts.length + j].success) {
235
- // return 0n;
236
- // }
237
- // const decoded = defaultAbiCoder.decode(
238
- // // amountInLeft amountOut fee
239
- // ['uint128', 'uint128', 'uint128'],
240
- // data.returnData[i * _amounts.length + j].returnData,
241
- // );
242
- // if (BigInt(decoded[quoteLeftIndex]).valueOf() !== 0n) {
243
- // return BigInt(0);
244
- // }
245
- // return BigInt(decoded[quoteIndex].toString());
246
- // });
247
- // // index of pools, isolate pool
248
- // const unit: bigint = rates[0];
249
- // const prices = interpolate(
250
- // _amounts.slice(1),
251
- // rates.slice(1),
252
- // amounts,
253
- // side,
254
- // );
255
- // return {
256
- // prices,
257
- // unit,
258
- // data: {
259
- // tokenIn: _from.address, // redundant, fix by contract change
260
- // tokenOut: _to.address, // same
261
- // binStep: pool.binStep.toString(),
262
- // },
263
- // poolIdentifier: this.getPoolIdentifier(pool),
264
- // exchange: this.routerAddress,
265
- // gasCost: TRADER_JOE_V2_QUOTE_GASLIMIT,
266
- // poolAddresses: [pool.LBPair],
267
- // };
268
- // });
269
- // return prices;
270
- // } catch (e) {
271
- // this.logger.error(
272
- // `Error_getPrices: ${this.dexKey} for pair (${
273
- // from.symbol || from.address
274
- // }, ${to.symbol || to.address}) and side=${side}:`,
275
- // e,
276
- // );
277
- // return null;
278
- // }
279
- // }
280
- // private async getPools(
281
- // tokenA: Token,
282
- // tokenB: Token,
283
- // ): Promise<LBPairsAvailable[] | undefined> {
284
- // try {
285
- // const cacheKey = this.computeCacheKey(tokenA.address, tokenB.address);
286
- // // TODO: Improve
287
- // const poolsInCache = await this.dexHelper.cache.rawget(cacheKey);
288
- // if (!!poolsInCache) {
289
- // return JSON.parse(poolsInCache);
290
- // }
291
- // // warning: order between tokenX and tokenY is not guranteed on LBPairs
292
- // const [tokenX, tokenY] = this._sortTokens(tokenA.address, tokenB.address);
293
- // const pools: LBPairsAvailable[] =
294
- // (await this.factory.methods.getAllLBPairs(tokenX, tokenY).call()) || [];
295
- // if (!pools.length) {
296
- // await this.dexHelper.cache.setex(cacheKey, EMPTY_POOL_CACHE_TTL, '[]');
297
- // return [];
298
- // }
299
- // const getTokenXCallData = pools.map(pool => ({
300
- // target: pool.LBPair,
301
- // gasLimit: TRADER_JOE_V2_QUOTE_GASLIMIT,
302
- // callData: this.pair.methods.getTokenX().encodeABI(),
303
- // }));
304
- // const data = await this.uniswapMulti.methods
305
- // .multicall(getTokenXCallData)
306
- // .call();
307
- // const _pools = pools.map((pool, i) => {
308
- // const decodedTokenX = defaultAbiCoder
309
- // .decode(['address'], data.returnData[i].returnData)[0]
310
- // .toString()
311
- // .toLowerCase();
312
- // return {
313
- // ...pool,
314
- // tokenX: decodedTokenX,
315
- // };
316
- // });
317
- // await RedisWrapper.setex(
318
- // cacheKey,
319
- // POPULATED_POOL_CACHE_TTL,
320
- // JSON.stringify(_pools),
321
- // );
322
- // return _pools;
323
- // } catch (e) {
324
- // logger.error(
325
- // `${EXCHANGES.TRADERJOE_V2_1} Error 'poolByPair' reading from factory for pair: ${tokenA.address} and ${tokenA.address}:`,
326
- // e,
327
- // );
328
- // return;
329
- // }
330
- // }
331
- // protected getPoolIdentifier(pool: LBPairsAvailable) {
332
- // return `${EXCHANGES.TRADERJOE_V2_1}_${pool.LBPair}`;
333
- // }
334
- // // FIXME
335
- // getCalldataGasCost(
336
- // poolPrices: PoolPrices<TraderJoeV2Data>,
337
- // ): number | number[] {
338
- // return (
339
- // CALLDATA_GAS_COST.DEX_OVERHEAD +
340
- // CALLDATA_GAS_COST.LENGTH_SMALL +
341
- // // ParentStruct header
342
- // CALLDATA_GAS_COST.OFFSET_SMALL +
343
- // // ParentStruct -> path header
344
- // CALLDATA_GAS_COST.OFFSET_SMALL +
345
- // // ParentStruct -> deadline
346
- // CALLDATA_GAS_COST.TIMESTAMP +
347
- // // ParentStruct -> path (20+3+20 = 43 = 32+11 bytes)
348
- // CALLDATA_GAS_COST.LENGTH_SMALL +
349
- // CALLDATA_GAS_COST.FULL_WORD +
350
- // CALLDATA_GAS_COST.wordNonZeroBytes(11)
351
- // );
352
- // }
353
- // async getPoolIdentifiers(
354
- // _from: Token,
355
- // _to: Token,
356
- // side: SwapSide,
357
- // blockNumber: number,
358
- // ): Promise<string[]> {
359
- // const from = this.dexHelper.config.wrapETH(_from);
360
- // const to = this.dexHelper.config.wrapETH(_to);
361
- // if (from.address.toLowerCase() === to.address.toLowerCase()) {
362
- // return [];
363
- // }
364
- // const tokenAddress = [from.address.toLowerCase(), to.address.toLowerCase()]
365
- // .sort((a, b) => (a > b ? 1 : -1))
366
- // .join('_');
367
- // const poolIdentifier = `${this.dexKey}_${tokenAddress}`;
368
- // return [poolIdentifier];
369
- // }
370
- // protected computeCacheKey(from: Address, to: Address): string {
371
- // return `${this.dexKey}_${this.network}_${this._sortTokens(from, to).join(
372
- // '_',
373
- // )}_2`;
374
- // }
375
- // private _sortTokens(srcAddress: Address, destAddress: Address) {
376
- // return [srcAddress.toLowerCase(), destAddress.toLowerCase()].sort((a, b) =>
377
- // a < b ? -1 : 1,
378
- // );
379
- // }
380
- // // protected getPoolIdentifier(pool: LBPairsAvailable) {
381
- // // return `${EXCHANGES.TRADERJOE_V2_1}_${pool.LBPair}`;
382
- // // }
383
- // }
384
- //# sourceMappingURL=trader-joe-v2.1.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trader-joe-v2.1.js","sourceRoot":"","sources":["../../../src/dex/trader-joe-v2_1/trader-joe-v2.1.ts"],"names":[],"mappings":"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"}
@@ -1,60 +0,0 @@
1
- import { Interface } from '@ethersproject/abi';
2
- import { DeepReadonly } from 'ts-essentials';
3
- import { Address, Log, Logger } from '../../types';
4
- import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
5
- import { IDexHelper } from '../../dex-helper/idex-helper';
6
- import { PoolState } from './types';
7
- export declare class TraderJoeV2_1EventPool extends StatefulEventSubscriber<PoolState> {
8
- readonly parentName: string;
9
- protected network: number;
10
- protected dexHelper: IDexHelper;
11
- private readonly factoryAddress;
12
- private readonly stateMultiAddress;
13
- handlers: {
14
- [event: string]: (event: any, state: PoolState, log: Readonly<Log>) => DeepReadonly<PoolState> | null;
15
- };
16
- logDecoder: (log: Log) => any;
17
- readonly binStep: bigint;
18
- initFailed: boolean;
19
- initRetryAttemptCount: number;
20
- private stateMulti;
21
- private math;
22
- addressesSubscribed: string[];
23
- poolAddress?: Address;
24
- token0: Address;
25
- token1: Address;
26
- readonly poolIface: Interface;
27
- constructor(parentName: string, network: number, dexHelper: IDexHelper, token0: Address, token1: Address, binStep: bigint, factoryAddress: Address, stateMultiAddress: Address, logger: Logger);
28
- getSwapOut(amount: bigint, fromAddress: Address, blockNumber: number): bigint;
29
- getSwapIn(amount: bigint, fromAddress: Address, blockNumber: number): bigint;
30
- /**
31
- * The function is called every time any of the subscribed
32
- * addresses release log. The function accepts the current
33
- * state, updates the state according to the log, and returns
34
- * the updated state.
35
- * @param state - Current state of event subscriber
36
- * @param log - Log released by one of the subscribed addresses
37
- * @returns Updates state of the event subscriber after the log
38
- */
39
- protected processLog(state: DeepReadonly<PoolState>, log: Readonly<Log>): DeepReadonly<PoolState> | null;
40
- /**
41
- * The function generates state using on-chain calls. This
42
- * function is called to regenerate state if the event based
43
- * system fails to fetch events and the local state is no
44
- * more correct.
45
- * @param blockNumber - Blocknumber for which the state should
46
- * should be generated
47
- * @returns state of the event subscriber at blocknumber
48
- */
49
- generateState(blockNumber: number): Promise<DeepReadonly<PoolState>>;
50
- isValid(): boolean;
51
- handleTransferBatch(event: any, state: PoolState, log: Readonly<Log>): DeepReadonly<PoolState> | null;
52
- handleDepositedToBins(event: any, state: PoolState, log: Readonly<Log>): DeepReadonly<PoolState> | null;
53
- handleWithdrawnFromBins(event: any, state: PoolState, log: Readonly<Log>): DeepReadonly<PoolState> | null;
54
- handleCompositionFees(event: any, state: PoolState, log: Readonly<Log>): DeepReadonly<PoolState> | null;
55
- handleSwap(event: any, state: PoolState, log: Readonly<Log>): DeepReadonly<PoolState> | null;
56
- handleStaticFeeParametersSet(event: any, state: PoolState, log: Readonly<Log>): DeepReadonly<PoolState> | null;
57
- handleFlashLoan(event: any, state: PoolState, log: Readonly<Log>): DeepReadonly<PoolState> | null;
58
- handleForcedDecay(event: any, state: PoolState, log: Readonly<Log>): DeepReadonly<PoolState> | null;
59
- private decodeAmounts;
60
- }