@paraswap/dex-lib 4.8.21-redis-token-slots.3 → 4.8.22

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 (444) hide show
  1. package/build/abi/pancakeswap-infinity/cl-pool-manager.abi.json +136 -0
  2. package/build/abi/pancakeswap-infinity/cl-quoter.abi.json +66 -0
  3. package/build/abi/pancakeswap-infinity/router.abi.json +23 -0
  4. package/build/dex/balancer-v3/balancer-v3.js +2 -2
  5. package/build/dex/fluid-dex/constants.d.ts +1 -0
  6. package/build/dex/fluid-dex/constants.js +2 -1
  7. package/build/dex/fluid-dex/constants.js.map +1 -1
  8. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.d.ts +8 -41
  9. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js +20 -66
  10. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js.map +1 -1
  11. package/build/dex/fluid-dex/fluid-dex.d.ts +4 -0
  12. package/build/dex/fluid-dex/fluid-dex.js +29 -4
  13. package/build/dex/fluid-dex/fluid-dex.js.map +1 -1
  14. package/build/dex/pancakeswap-infinity/config.d.ts +4 -0
  15. package/build/dex/pancakeswap-infinity/config.js +30 -0
  16. package/build/dex/pancakeswap-infinity/config.js.map +1 -0
  17. package/build/dex/pancakeswap-infinity/constants.d.ts +11 -0
  18. package/build/dex/pancakeswap-infinity/constants.js +15 -0
  19. package/build/dex/pancakeswap-infinity/constants.js.map +1 -0
  20. package/build/dex/pancakeswap-infinity/encoder.d.ts +16 -0
  21. package/build/dex/{bunni-v2 → pancakeswap-infinity}/encoder.js +88 -199
  22. package/build/dex/pancakeswap-infinity/encoder.js.map +1 -0
  23. package/build/dex/pancakeswap-infinity/liquidity.d.ts +1 -0
  24. package/build/dex/pancakeswap-infinity/liquidity.js +7 -0
  25. package/build/dex/pancakeswap-infinity/liquidity.js.map +1 -0
  26. package/build/dex/pancakeswap-infinity/optimizer.d.ts +2 -0
  27. package/build/dex/pancakeswap-infinity/optimizer.js +48 -0
  28. package/build/dex/pancakeswap-infinity/optimizer.js.map +1 -0
  29. package/build/dex/pancakeswap-infinity/pancakeswap-infinity-pool-manager.d.ts +36 -0
  30. package/build/dex/pancakeswap-infinity/pancakeswap-infinity-pool-manager.js +393 -0
  31. package/build/dex/pancakeswap-infinity/pancakeswap-infinity-pool-manager.js.map +1 -0
  32. package/build/dex/pancakeswap-infinity/pancakeswap-infinity-pool.d.ts +37 -0
  33. package/build/dex/pancakeswap-infinity/pancakeswap-infinity-pool.js +289 -0
  34. package/build/dex/pancakeswap-infinity/pancakeswap-infinity-pool.js.map +1 -0
  35. package/build/dex/pancakeswap-infinity/pancakeswap-infinity.d.ts +42 -0
  36. package/build/dex/pancakeswap-infinity/pancakeswap-infinity.js +350 -0
  37. package/build/dex/pancakeswap-infinity/pancakeswap-infinity.js.map +1 -0
  38. package/build/dex/pancakeswap-infinity/subgraph.d.ts +8 -0
  39. package/build/dex/pancakeswap-infinity/subgraph.js +122 -0
  40. package/build/dex/pancakeswap-infinity/subgraph.js.map +1 -0
  41. package/build/dex/pancakeswap-infinity/types.d.ts +101 -0
  42. package/build/dex/pancakeswap-infinity/types.js.map +1 -0
  43. package/build/dex/pancakeswap-infinity/utils.d.ts +5 -0
  44. package/build/dex/pancakeswap-infinity/utils.js +45 -0
  45. package/build/dex/pancakeswap-infinity/utils.js.map +1 -0
  46. package/build/dex/renegade/api/auth.d.ts +1 -0
  47. package/build/dex/renegade/api/auth.js +63 -0
  48. package/build/dex/renegade/api/auth.js.map +1 -0
  49. package/build/dex/renegade/api/renegade-client.d.ts +18 -0
  50. package/build/dex/renegade/api/renegade-client.js +82 -0
  51. package/build/dex/renegade/api/renegade-client.js.map +1 -0
  52. package/build/dex/renegade/api/types.d.ts +110 -0
  53. package/build/dex/{wombat → renegade/api}/types.js.map +1 -1
  54. package/build/dex/{stader → renegade}/config.d.ts +1 -1
  55. package/build/dex/renegade/config.js +16 -0
  56. package/build/dex/renegade/config.js.map +1 -0
  57. package/build/dex/renegade/constants.d.ts +25 -0
  58. package/build/dex/renegade/constants.js +47 -0
  59. package/build/dex/renegade/constants.js.map +1 -0
  60. package/build/dex/renegade/rate-fetcher.d.ts +23 -0
  61. package/build/dex/renegade/rate-fetcher.js +135 -0
  62. package/build/dex/renegade/rate-fetcher.js.map +1 -0
  63. package/build/dex/renegade/renegade-levels-response.d.ts +22 -0
  64. package/build/dex/renegade/renegade-levels-response.js +99 -0
  65. package/build/dex/renegade/renegade-levels-response.js.map +1 -0
  66. package/build/dex/renegade/renegade.d.ts +57 -0
  67. package/build/dex/renegade/renegade.js +499 -0
  68. package/build/dex/renegade/renegade.js.map +1 -0
  69. package/build/dex/renegade/types.d.ts +38 -0
  70. package/build/dex/renegade/types.js +4 -0
  71. package/build/dex/renegade/types.js.map +1 -0
  72. package/build/dex/uniswap-v3/config.js +1 -1
  73. package/build/index.d.ts +0 -1
  74. package/build/index.js +1 -3
  75. package/build/index.js.map +1 -1
  76. package/package.json +1 -1
  77. package/build/abi/AaveV2_lending_pool.json +0 -53
  78. package/build/abi/Bancor.json +0 -392
  79. package/build/abi/Compound_CETH.json +0 -12
  80. package/build/abi/SSPM.json +0 -829
  81. package/build/abi/Smoothy.json +0 -1049
  82. package/build/abi/StaderOracle.json +0 -2170
  83. package/build/abi/aave-weth-gateway-avalanche.json +0 -242
  84. package/build/abi/aave-weth-gateway-polygon.json +0 -242
  85. package/build/abi/aave-weth-gateway.json +0 -24
  86. package/build/abi/bunni-v2/BunniHook.abi.json +0 -1921
  87. package/build/abi/bunni-v2/BunniHub.abi.json +0 -1598
  88. package/build/abi/bunni-v2/BunniToken.abi.json +0 -833
  89. package/build/abi/bunni-v2/FeeOverrideHooklet.abi.json +0 -1947
  90. package/build/abi/bunni-v2/FloodPlain.abi.json +0 -1195
  91. package/build/abi/bunni-v2/PoolManager.abi.json +0 -1366
  92. package/build/abi/bunni-v2/V4Quoter.abi.json +0 -637
  93. package/build/abi/concentrator/arUSD.json +0 -568
  94. package/build/abi/concentrator/arUSD5115.json +0 -1746
  95. package/build/abi/gmx/fast-price-events.json +0 -70
  96. package/build/abi/gmx/fast-price-feed.json +0 -748
  97. package/build/abi/gmx/reader.json +0 -337
  98. package/build/abi/gmx/vault-price-feed.json +0 -477
  99. package/build/abi/gmx/vault.json +0 -2002
  100. package/build/abi/jarvis/ChainlinkAccessControlledOffchainAggregator.json +0 -1009
  101. package/build/abi/jarvis/SynthereumPriceFeed.json +0 -381
  102. package/build/abi/jarvis/jarvis-v6-pool.json +0 -1041
  103. package/build/abi/kyberdmm/kyber-dmm-exchange-router.abi.json +0 -1148
  104. package/build/abi/kyberdmm/kyber-dmm-factory.abi.json +0 -335
  105. package/build/abi/kyberdmm/kyber-dmm-pool.abi.json +0 -803
  106. package/build/abi/synthetix/CombinedSynthetix.abi.json +0 -442
  107. package/build/abi/wombat/asset.json +0 -743
  108. package/build/abi/wombat/bmw.json +0 -1247
  109. package/build/abi/wombat/pool-v2.json +0 -1289
  110. package/build/abi/wombat/pool-v3.json +0 -2013
  111. package/build/dex/aave-v2/aave-v2.d.ts +0 -33
  112. package/build/dex/aave-v2/aave-v2.js +0 -328
  113. package/build/dex/aave-v2/aave-v2.js.map +0 -1
  114. package/build/dex/aave-v2/config.d.ts +0 -14
  115. package/build/dex/aave-v2/config.js +0 -49
  116. package/build/dex/aave-v2/config.js.map +0 -1
  117. package/build/dex/aave-v2/tokenlist.json +0 -904
  118. package/build/dex/aave-v2/tokens.d.ts +0 -8
  119. package/build/dex/aave-v2/tokens.js +0 -65
  120. package/build/dex/aave-v2/tokens.js.map +0 -1
  121. package/build/dex/aave-v2/types.d.ts +0 -33
  122. package/build/dex/aave-v2/types.js +0 -11
  123. package/build/dex/aave-v2/types.js.map +0 -1
  124. package/build/dex/bancor/bancor.d.ts +0 -15
  125. package/build/dex/bancor/bancor.js +0 -74
  126. package/build/dex/bancor/bancor.js.map +0 -1
  127. package/build/dex/bancor/config.d.ts +0 -6
  128. package/build/dex/bancor/config.js +0 -11
  129. package/build/dex/bancor/config.js.map +0 -1
  130. package/build/dex/bancor/types.d.ts +0 -16
  131. package/build/dex/bancor/types.js +0 -8
  132. package/build/dex/bancor/types.js.map +0 -1
  133. package/build/dex/bunni-v2/bunni-v2-pool.d.ts +0 -62
  134. package/build/dex/bunni-v2/bunni-v2-pool.js +0 -505
  135. package/build/dex/bunni-v2/bunni-v2-pool.js.map +0 -1
  136. package/build/dex/bunni-v2/bunni-v2.d.ts +0 -51
  137. package/build/dex/bunni-v2/bunni-v2.js +0 -460
  138. package/build/dex/bunni-v2/bunni-v2.js.map +0 -1
  139. package/build/dex/bunni-v2/config.d.ts +0 -3
  140. package/build/dex/bunni-v2/config.js +0 -130
  141. package/build/dex/bunni-v2/config.js.map +0 -1
  142. package/build/dex/bunni-v2/encoder.d.ts +0 -19
  143. package/build/dex/bunni-v2/encoder.js.map +0 -1
  144. package/build/dex/bunni-v2/getOnChainState.d.ts +0 -26
  145. package/build/dex/bunni-v2/getOnChainState.js +0 -493
  146. package/build/dex/bunni-v2/getOnChainState.js.map +0 -1
  147. package/build/dex/bunni-v2/hook/BunniSwapMath.d.ts +0 -7
  148. package/build/dex/bunni-v2/hook/BunniSwapMath.js +0 -198
  149. package/build/dex/bunni-v2/hook/BunniSwapMath.js.map +0 -1
  150. package/build/dex/bunni-v2/hook/SwapMath.d.ts +0 -8
  151. package/build/dex/bunni-v2/hook/SwapMath.js +0 -65
  152. package/build/dex/bunni-v2/hook/SwapMath.js.map +0 -1
  153. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.d.ts +0 -33
  154. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.js +0 -33
  155. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.js.map +0 -1
  156. package/build/dex/bunni-v2/hooklet/index.d.ts +0 -21
  157. package/build/dex/bunni-v2/hooklet/index.js +0 -64
  158. package/build/dex/bunni-v2/hooklet/index.js.map +0 -1
  159. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.d.ts +0 -70
  160. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.js +0 -277
  161. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.js.map +0 -1
  162. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.d.ts +0 -64
  163. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.js +0 -262
  164. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.js.map +0 -1
  165. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.d.ts +0 -60
  166. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.js +0 -224
  167. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.js.map +0 -1
  168. package/build/dex/bunni-v2/ldf/GeometricDistribution.d.ts +0 -56
  169. package/build/dex/bunni-v2/ldf/GeometricDistribution.js +0 -489
  170. package/build/dex/bunni-v2/ldf/GeometricDistribution.js.map +0 -1
  171. package/build/dex/bunni-v2/ldf/LDFType.d.ts +0 -5
  172. package/build/dex/bunni-v2/ldf/LDFType.js +0 -10
  173. package/build/dex/bunni-v2/ldf/LDFType.js.map +0 -1
  174. package/build/dex/bunni-v2/ldf/ShiftMode.d.ts +0 -7
  175. package/build/dex/bunni-v2/ldf/ShiftMode.js +0 -19
  176. package/build/dex/bunni-v2/ldf/ShiftMode.js.map +0 -1
  177. package/build/dex/bunni-v2/ldf/UniformDistribution.d.ts +0 -55
  178. package/build/dex/bunni-v2/ldf/UniformDistribution.js +0 -291
  179. package/build/dex/bunni-v2/ldf/UniformDistribution.js.map +0 -1
  180. package/build/dex/bunni-v2/ldf/index.d.ts +0 -15
  181. package/build/dex/bunni-v2/ldf/index.js +0 -21
  182. package/build/dex/bunni-v2/ldf/index.js.map +0 -1
  183. package/build/dex/bunni-v2/lib/AmAmmPayload.d.ts +0 -4
  184. package/build/dex/bunni-v2/lib/AmAmmPayload.js +0 -10
  185. package/build/dex/bunni-v2/lib/AmAmmPayload.js.map +0 -1
  186. package/build/dex/bunni-v2/lib/BitMath.d.ts +0 -4
  187. package/build/dex/bunni-v2/lib/BitMath.js +0 -24
  188. package/build/dex/bunni-v2/lib/BitMath.js.map +0 -1
  189. package/build/dex/bunni-v2/lib/Constants.d.ts +0 -15
  190. package/build/dex/bunni-v2/lib/Constants.js +0 -19
  191. package/build/dex/bunni-v2/lib/Constants.js.map +0 -1
  192. package/build/dex/bunni-v2/lib/ExpMath.d.ts +0 -5
  193. package/build/dex/bunni-v2/lib/ExpMath.js +0 -121
  194. package/build/dex/bunni-v2/lib/ExpMath.js.map +0 -1
  195. package/build/dex/bunni-v2/lib/FeeMath.d.ts +0 -2
  196. package/build/dex/bunni-v2/lib/FeeMath.js +0 -27
  197. package/build/dex/bunni-v2/lib/FeeMath.js.map +0 -1
  198. package/build/dex/bunni-v2/lib/FixedPointMath.d.ts +0 -3
  199. package/build/dex/bunni-v2/lib/FixedPointMath.js +0 -15
  200. package/build/dex/bunni-v2/lib/FixedPointMath.js.map +0 -1
  201. package/build/dex/bunni-v2/lib/FullMathX96.d.ts +0 -4
  202. package/build/dex/bunni-v2/lib/FullMathX96.js +0 -21
  203. package/build/dex/bunni-v2/lib/FullMathX96.js.map +0 -1
  204. package/build/dex/bunni-v2/lib/IdleBalance.d.ts +0 -11
  205. package/build/dex/bunni-v2/lib/IdleBalance.js +0 -33
  206. package/build/dex/bunni-v2/lib/IdleBalance.js.map +0 -1
  207. package/build/dex/bunni-v2/lib/LiquidityAmounts.d.ts +0 -6
  208. package/build/dex/bunni-v2/lib/LiquidityAmounts.js +0 -25
  209. package/build/dex/bunni-v2/lib/LiquidityAmounts.js.map +0 -1
  210. package/build/dex/bunni-v2/lib/Math.d.ts +0 -28
  211. package/build/dex/bunni-v2/lib/Math.js +0 -169
  212. package/build/dex/bunni-v2/lib/Math.js.map +0 -1
  213. package/build/dex/bunni-v2/lib/Oracle.d.ts +0 -27
  214. package/build/dex/bunni-v2/lib/Oracle.js +0 -180
  215. package/build/dex/bunni-v2/lib/Oracle.js.map +0 -1
  216. package/build/dex/bunni-v2/lib/QueryLDF.d.ts +0 -12
  217. package/build/dex/bunni-v2/lib/QueryLDF.js +0 -90
  218. package/build/dex/bunni-v2/lib/QueryLDF.js.map +0 -1
  219. package/build/dex/bunni-v2/lib/QueryTwap.d.ts +0 -2
  220. package/build/dex/bunni-v2/lib/QueryTwap.js +0 -13
  221. package/build/dex/bunni-v2/lib/QueryTwap.js.map +0 -1
  222. package/build/dex/bunni-v2/lib/SqrtPriceMath.d.ts +0 -8
  223. package/build/dex/bunni-v2/lib/SqrtPriceMath.js +0 -84
  224. package/build/dex/bunni-v2/lib/SqrtPriceMath.js.map +0 -1
  225. package/build/dex/bunni-v2/lib/TickMath.d.ts +0 -11
  226. package/build/dex/bunni-v2/lib/TickMath.js +0 -100
  227. package/build/dex/bunni-v2/lib/TickMath.js.map +0 -1
  228. package/build/dex/bunni-v2/lib/VaultMath.d.ts +0 -2
  229. package/build/dex/bunni-v2/lib/VaultMath.js +0 -11
  230. package/build/dex/bunni-v2/lib/VaultMath.js.map +0 -1
  231. package/build/dex/bunni-v2/logic/AmAmm.d.ts +0 -11
  232. package/build/dex/bunni-v2/logic/AmAmm.js +0 -156
  233. package/build/dex/bunni-v2/logic/AmAmm.js.map +0 -1
  234. package/build/dex/bunni-v2/logic/BunniHookLogic.d.ts +0 -10
  235. package/build/dex/bunni-v2/logic/BunniHookLogic.js +0 -298
  236. package/build/dex/bunni-v2/logic/BunniHookLogic.js.map +0 -1
  237. package/build/dex/bunni-v2/logic/BunniHubLogic.d.ts +0 -5
  238. package/build/dex/bunni-v2/logic/BunniHubLogic.js +0 -245
  239. package/build/dex/bunni-v2/logic/BunniHubLogic.js.map +0 -1
  240. package/build/dex/bunni-v2/logic/BunniQuoter.d.ts +0 -12
  241. package/build/dex/bunni-v2/logic/BunniQuoter.js +0 -201
  242. package/build/dex/bunni-v2/logic/BunniQuoter.js.map +0 -1
  243. package/build/dex/bunni-v2/subgraph.d.ts +0 -7
  244. package/build/dex/bunni-v2/subgraph.js +0 -184
  245. package/build/dex/bunni-v2/subgraph.js.map +0 -1
  246. package/build/dex/bunni-v2/types.d.ts +0 -257
  247. package/build/dex/bunni-v2/types.js.map +0 -1
  248. package/build/dex/bunni-v2/utils.d.ts +0 -12
  249. package/build/dex/bunni-v2/utils.js +0 -182
  250. package/build/dex/bunni-v2/utils.js.map +0 -1
  251. package/build/dex/compound/compound.d.ts +0 -15
  252. package/build/dex/compound/compound.js +0 -57
  253. package/build/dex/compound/compound.js.map +0 -1
  254. package/build/dex/compound/types.d.ts +0 -8
  255. package/build/dex/compound/types.js +0 -9
  256. package/build/dex/compound/types.js.map +0 -1
  257. package/build/dex/concentrator-arusd/concentrator-arusd-event.d.ts +0 -17
  258. package/build/dex/concentrator-arusd/concentrator-arusd-event.js +0 -69
  259. package/build/dex/concentrator-arusd/concentrator-arusd-event.js.map +0 -1
  260. package/build/dex/concentrator-arusd/concentrator-arusd.d.ts +0 -41
  261. package/build/dex/concentrator-arusd/concentrator-arusd.js +0 -202
  262. package/build/dex/concentrator-arusd/concentrator-arusd.js.map +0 -1
  263. package/build/dex/concentrator-arusd/config.d.ts +0 -3
  264. package/build/dex/concentrator-arusd/config.js +0 -14
  265. package/build/dex/concentrator-arusd/config.js.map +0 -1
  266. package/build/dex/concentrator-arusd/types.d.ts +0 -14
  267. package/build/dex/concentrator-arusd/types.js.map +0 -1
  268. package/build/dex/concentrator-arusd/utils.d.ts +0 -4
  269. package/build/dex/concentrator-arusd/utils.js +0 -26
  270. package/build/dex/concentrator-arusd/utils.js.map +0 -1
  271. package/build/dex/curve-v1/forks/swerve/config.d.ts +0 -4
  272. package/build/dex/curve-v1/forks/swerve/config.js +0 -47
  273. package/build/dex/curve-v1/forks/swerve/config.js.map +0 -1
  274. package/build/dex/curve-v1/forks/swerve/swerve.d.ts +0 -16
  275. package/build/dex/curve-v1/forks/swerve/swerve.js +0 -46
  276. package/build/dex/curve-v1/forks/swerve/swerve.js.map +0 -1
  277. package/build/dex/gmx/config.d.ts +0 -11
  278. package/build/dex/gmx/config.js +0 -61
  279. package/build/dex/gmx/config.js.map +0 -1
  280. package/build/dex/gmx/fast-price-feed.d.ts +0 -26
  281. package/build/dex/gmx/fast-price-feed.js +0 -184
  282. package/build/dex/gmx/fast-price-feed.js.map +0 -1
  283. package/build/dex/gmx/gmx.d.ts +0 -54
  284. package/build/dex/gmx/gmx.js +0 -247
  285. package/build/dex/gmx/gmx.js.map +0 -1
  286. package/build/dex/gmx/pool.d.ts +0 -21
  287. package/build/dex/gmx/pool.js +0 -212
  288. package/build/dex/gmx/pool.js.map +0 -1
  289. package/build/dex/gmx/types.d.ts +0 -100
  290. package/build/dex/gmx/types.js +0 -3
  291. package/build/dex/gmx/types.js.map +0 -1
  292. package/build/dex/gmx/usdg.d.ts +0 -15
  293. package/build/dex/gmx/usdg.js +0 -62
  294. package/build/dex/gmx/usdg.js.map +0 -1
  295. package/build/dex/gmx/vault-price-feed.d.ts +0 -47
  296. package/build/dex/gmx/vault-price-feed.js +0 -245
  297. package/build/dex/gmx/vault-price-feed.js.map +0 -1
  298. package/build/dex/gmx/vault-utils.d.ts +0 -8
  299. package/build/dex/gmx/vault-utils.js +0 -42
  300. package/build/dex/gmx/vault-utils.js.map +0 -1
  301. package/build/dex/gmx/vault.d.ts +0 -46
  302. package/build/dex/gmx/vault.js +0 -182
  303. package/build/dex/gmx/vault.js.map +0 -1
  304. package/build/dex/jarvis-v6/chainLinkpriceFeed-event.d.ts +0 -15
  305. package/build/dex/jarvis-v6/chainLinkpriceFeed-event.js +0 -51
  306. package/build/dex/jarvis-v6/chainLinkpriceFeed-event.js.map +0 -1
  307. package/build/dex/jarvis-v6/config.d.ts +0 -4
  308. package/build/dex/jarvis-v6/config.js +0 -244
  309. package/build/dex/jarvis-v6/config.js.map +0 -1
  310. package/build/dex/jarvis-v6/jarvis-v6-events.d.ts +0 -27
  311. package/build/dex/jarvis-v6/jarvis-v6-events.js +0 -54
  312. package/build/dex/jarvis-v6/jarvis-v6-events.js.map +0 -1
  313. package/build/dex/jarvis-v6/jarvis-v6.d.ts +0 -49
  314. package/build/dex/jarvis-v6/jarvis-v6.js +0 -321
  315. package/build/dex/jarvis-v6/jarvis-v6.js.map +0 -1
  316. package/build/dex/jarvis-v6/syntheteumPool-event.d.ts +0 -15
  317. package/build/dex/jarvis-v6/syntheteumPool-event.js +0 -49
  318. package/build/dex/jarvis-v6/syntheteumPool-event.js.map +0 -1
  319. package/build/dex/jarvis-v6/types.d.ts +0 -48
  320. package/build/dex/jarvis-v6/types.js +0 -9
  321. package/build/dex/jarvis-v6/types.js.map +0 -1
  322. package/build/dex/jarvis-v6/utils.d.ts +0 -13
  323. package/build/dex/jarvis-v6/utils.js +0 -75
  324. package/build/dex/jarvis-v6/utils.js.map +0 -1
  325. package/build/dex/kyberdmm/config.d.ts +0 -9
  326. package/build/dex/kyberdmm/config.js +0 -59
  327. package/build/dex/kyberdmm/config.js.map +0 -1
  328. package/build/dex/kyberdmm/fee-formula.d.ts +0 -15
  329. package/build/dex/kyberdmm/fee-formula.js +0 -88
  330. package/build/dex/kyberdmm/fee-formula.js.map +0 -1
  331. package/build/dex/kyberdmm/kyberdmm.d.ts +0 -55
  332. package/build/dex/kyberdmm/kyberdmm.js +0 -447
  333. package/build/dex/kyberdmm/kyberdmm.js.map +0 -1
  334. package/build/dex/kyberdmm/math-ext.d.ts +0 -2
  335. package/build/dex/kyberdmm/math-ext.js +0 -27
  336. package/build/dex/kyberdmm/math-ext.js.map +0 -1
  337. package/build/dex/kyberdmm/pool.d.ts +0 -50
  338. package/build/dex/kyberdmm/pool.js +0 -157
  339. package/build/dex/kyberdmm/pool.js.map +0 -1
  340. package/build/dex/kyberdmm/types.d.ts +0 -81
  341. package/build/dex/kyberdmm/types.js +0 -9
  342. package/build/dex/kyberdmm/types.js.map +0 -1
  343. package/build/dex/quickswap/thena-fusion.d.ts +0 -6
  344. package/build/dex/quickswap/thena-fusion.js +0 -19
  345. package/build/dex/quickswap/thena-fusion.js.map +0 -1
  346. package/build/dex/smoothy/smoothy.d.ts +0 -16
  347. package/build/dex/smoothy/smoothy.js +0 -60
  348. package/build/dex/smoothy/smoothy.js.map +0 -1
  349. package/build/dex/smoothy/types.d.ts +0 -15
  350. package/build/dex/smoothy/types.js +0 -8
  351. package/build/dex/smoothy/types.js.map +0 -1
  352. package/build/dex/stader/config.js +0 -14
  353. package/build/dex/stader/config.js.map +0 -1
  354. package/build/dex/stader/stader-pool.d.ts +0 -19
  355. package/build/dex/stader/stader-pool.js +0 -56
  356. package/build/dex/stader/stader-pool.js.map +0 -1
  357. package/build/dex/stader/stader.d.ts +0 -42
  358. package/build/dex/stader/stader.js +0 -195
  359. package/build/dex/stader/stader.js.map +0 -1
  360. package/build/dex/stader/types.d.ts +0 -13
  361. package/build/dex/stader/types.js +0 -8
  362. package/build/dex/stader/types.js.map +0 -1
  363. package/build/dex/stader/utils.d.ts +0 -4
  364. package/build/dex/stader/utils.js +0 -23
  365. package/build/dex/stader/utils.js.map +0 -1
  366. package/build/dex/synthetix/config.d.ts +0 -4
  367. package/build/dex/synthetix/config.js +0 -53
  368. package/build/dex/synthetix/config.js.map +0 -1
  369. package/build/dex/synthetix/constants.d.ts +0 -23
  370. package/build/dex/synthetix/constants.js +0 -32
  371. package/build/dex/synthetix/constants.js.map +0 -1
  372. package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.d.ts +0 -17
  373. package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.js +0 -102
  374. package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.js.map +0 -1
  375. package/build/dex/synthetix/contract-math/ExchangeRates.d.ts +0 -8
  376. package/build/dex/synthetix/contract-math/ExchangeRates.js +0 -77
  377. package/build/dex/synthetix/contract-math/ExchangeRates.js.map +0 -1
  378. package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.d.ts +0 -17
  379. package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.js +0 -126
  380. package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.js.map +0 -1
  381. package/build/dex/synthetix/contract-math/FullMath.d.ts +0 -3
  382. package/build/dex/synthetix/contract-math/FullMath.js +0 -14
  383. package/build/dex/synthetix/contract-math/FullMath.js.map +0 -1
  384. package/build/dex/synthetix/contract-math/OracleLibrary.d.ts +0 -8
  385. package/build/dex/synthetix/contract-math/OracleLibrary.js +0 -60
  386. package/build/dex/synthetix/contract-math/OracleLibrary.js.map +0 -1
  387. package/build/dex/synthetix/contract-math/SafeDecimalMath.d.ts +0 -9
  388. package/build/dex/synthetix/contract-math/SafeDecimalMath.js +0 -41
  389. package/build/dex/synthetix/contract-math/SafeDecimalMath.js.map +0 -1
  390. package/build/dex/synthetix/contract-math/TickMath.d.ts +0 -7
  391. package/build/dex/synthetix/contract-math/TickMath.js +0 -63
  392. package/build/dex/synthetix/contract-math/TickMath.js.map +0 -1
  393. package/build/dex/synthetix/contract-math/synthetix-math.d.ts +0 -17
  394. package/build/dex/synthetix/contract-math/synthetix-math.js +0 -127
  395. package/build/dex/synthetix/contract-math/synthetix-math.js.map +0 -1
  396. package/build/dex/synthetix/synthetix-state.d.ts +0 -36
  397. package/build/dex/synthetix/synthetix-state.js +0 -615
  398. package/build/dex/synthetix/synthetix-state.js.map +0 -1
  399. package/build/dex/synthetix/synthetix.d.ts +0 -45
  400. package/build/dex/synthetix/synthetix.js +0 -304
  401. package/build/dex/synthetix/synthetix.js.map +0 -1
  402. package/build/dex/synthetix/types.d.ts +0 -90
  403. package/build/dex/synthetix/types.js +0 -3
  404. package/build/dex/synthetix/types.js.map +0 -1
  405. package/build/dex/synthetix/utils.d.ts +0 -10
  406. package/build/dex/synthetix/utils.js +0 -91
  407. package/build/dex/synthetix/utils.js.map +0 -1
  408. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.d.ts +0 -7
  409. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js +0 -20
  410. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js.map +0 -1
  411. package/build/dex/uniswap-v4/api-go/compare-pricing.d.ts +0 -1
  412. package/build/dex/uniswap-v4/api-go/compare-pricing.js +0 -187
  413. package/build/dex/uniswap-v4/api-go/compare-pricing.js.map +0 -1
  414. package/build/dex/uniswap-v4/api-go/compare-states.d.ts +0 -1
  415. package/build/dex/uniswap-v4/api-go/compare-states.js +0 -149
  416. package/build/dex/uniswap-v4/api-go/compare-states.js.map +0 -1
  417. package/build/dex/uniswap-v4/api-go/fetch-pool-key.d.ts +0 -0
  418. package/build/dex/uniswap-v4/api-go/fetch-pool-key.js +0 -140
  419. package/build/dex/uniswap-v4/api-go/fetch-pool-key.js.map +0 -1
  420. package/build/dex/wombat/config.d.ts +0 -4
  421. package/build/dex/wombat/config.js +0 -77
  422. package/build/dex/wombat/config.js.map +0 -1
  423. package/build/dex/wombat/types.d.ts +0 -34
  424. package/build/dex/wombat/types.js +0 -3
  425. package/build/dex/wombat/utils.d.ts +0 -10
  426. package/build/dex/wombat/utils.js +0 -79
  427. package/build/dex/wombat/utils.js.map +0 -1
  428. package/build/dex/wombat/wombat-bmw.d.ts +0 -40
  429. package/build/dex/wombat/wombat-bmw.js +0 -136
  430. package/build/dex/wombat/wombat-bmw.js.map +0 -1
  431. package/build/dex/wombat/wombat-pool.d.ts +0 -60
  432. package/build/dex/wombat/wombat-pool.js +0 -488
  433. package/build/dex/wombat/wombat-pool.js.map +0 -1
  434. package/build/dex/wombat/wombat-quoter.d.ts +0 -17
  435. package/build/dex/wombat/wombat-quoter.js +0 -192
  436. package/build/dex/wombat/wombat-quoter.js.map +0 -1
  437. package/build/dex/wombat/wombat.d.ts +0 -58
  438. package/build/dex/wombat/wombat.js +0 -298
  439. package/build/dex/wombat/wombat.js.map +0 -1
  440. package/build/tenderly-simulation.d.ts +0 -221
  441. package/build/tenderly-simulation.js +0 -517
  442. package/build/tenderly-simulation.js.map +0 -1
  443. /package/build/dex/{bunni-v2 → pancakeswap-infinity}/types.js +0 -0
  444. /package/build/dex/{concentrator-arusd → renegade/api}/types.js +0 -0
@@ -0,0 +1,136 @@
1
+ [
2
+ {
3
+ "anonymous": false,
4
+ "inputs": [
5
+ { "indexed": true, "name": "id", "type": "bytes32" },
6
+ { "indexed": true, "name": "currency0", "type": "address" },
7
+ { "indexed": true, "name": "currency1", "type": "address" },
8
+ { "indexed": false, "name": "hooks", "type": "address" },
9
+ { "indexed": false, "name": "fee", "type": "uint24" },
10
+ { "indexed": false, "name": "parameters", "type": "bytes32" },
11
+ { "indexed": false, "name": "sqrtPriceX96", "type": "uint160" },
12
+ { "indexed": false, "name": "tick", "type": "int24" }
13
+ ],
14
+ "name": "Initialize",
15
+ "type": "event"
16
+ },
17
+ {
18
+ "anonymous": false,
19
+ "inputs": [
20
+ { "indexed": true, "name": "id", "type": "bytes32" },
21
+ { "indexed": true, "name": "sender", "type": "address" },
22
+ { "indexed": false, "name": "amount0", "type": "int128" },
23
+ { "indexed": false, "name": "amount1", "type": "int128" },
24
+ { "indexed": false, "name": "sqrtPriceX96", "type": "uint160" },
25
+ { "indexed": false, "name": "liquidity", "type": "uint128" },
26
+ { "indexed": false, "name": "tick", "type": "int24" },
27
+ { "indexed": false, "name": "fee", "type": "uint24" },
28
+ { "indexed": false, "name": "protocolFee", "type": "uint16" }
29
+ ],
30
+ "name": "Swap",
31
+ "type": "event"
32
+ },
33
+ {
34
+ "anonymous": false,
35
+ "inputs": [
36
+ { "indexed": true, "name": "id", "type": "bytes32" },
37
+ { "indexed": true, "name": "sender", "type": "address" },
38
+ { "indexed": false, "name": "tickLower", "type": "int24" },
39
+ { "indexed": false, "name": "tickUpper", "type": "int24" },
40
+ { "indexed": false, "name": "liquidityDelta", "type": "int256" },
41
+ { "indexed": false, "name": "salt", "type": "bytes32" }
42
+ ],
43
+ "name": "ModifyLiquidity",
44
+ "type": "event"
45
+ },
46
+ {
47
+ "anonymous": false,
48
+ "inputs": [
49
+ { "indexed": true, "name": "id", "type": "bytes32" },
50
+ { "indexed": true, "name": "sender", "type": "address" },
51
+ { "indexed": false, "name": "amount0", "type": "uint256" },
52
+ { "indexed": false, "name": "amount1", "type": "uint256" },
53
+ { "indexed": false, "name": "tick", "type": "int24" }
54
+ ],
55
+ "name": "Donate",
56
+ "type": "event"
57
+ },
58
+ {
59
+ "anonymous": false,
60
+ "inputs": [
61
+ { "indexed": true, "name": "id", "type": "bytes32" },
62
+ { "indexed": false, "name": "dynamicLPFee", "type": "uint24" }
63
+ ],
64
+ "name": "DynamicLPFeeUpdated",
65
+ "type": "event"
66
+ },
67
+ {
68
+ "anonymous": false,
69
+ "inputs": [
70
+ { "indexed": true, "name": "id", "type": "bytes32" },
71
+ { "indexed": false, "name": "protocolFee", "type": "uint24" }
72
+ ],
73
+ "name": "ProtocolFeeUpdated",
74
+ "type": "event"
75
+ },
76
+ {
77
+ "inputs": [{ "name": "id", "type": "bytes32" }],
78
+ "name": "getSlot0",
79
+ "outputs": [
80
+ { "name": "sqrtPriceX96", "type": "uint160" },
81
+ { "name": "tick", "type": "int24" },
82
+ { "name": "protocolFee", "type": "uint24" },
83
+ { "name": "lpFee", "type": "uint24" }
84
+ ],
85
+ "stateMutability": "view",
86
+ "type": "function"
87
+ },
88
+ {
89
+ "inputs": [{ "name": "id", "type": "bytes32" }],
90
+ "name": "getLiquidity",
91
+ "outputs": [{ "name": "liquidity", "type": "uint128" }],
92
+ "stateMutability": "view",
93
+ "type": "function"
94
+ },
95
+ {
96
+ "inputs": [{ "name": "id", "type": "bytes32" }],
97
+ "name": "getFeeGrowthGlobals",
98
+ "outputs": [
99
+ { "name": "feeGrowthGlobal0x128", "type": "uint256" },
100
+ { "name": "feeGrowthGlobal1x128", "type": "uint256" }
101
+ ],
102
+ "stateMutability": "view",
103
+ "type": "function"
104
+ },
105
+ {
106
+ "inputs": [
107
+ { "name": "id", "type": "bytes32" },
108
+ { "name": "word", "type": "int16" }
109
+ ],
110
+ "name": "getPoolBitmapInfo",
111
+ "outputs": [{ "name": "tickBitmap", "type": "uint256" }],
112
+ "stateMutability": "view",
113
+ "type": "function"
114
+ },
115
+ {
116
+ "inputs": [
117
+ { "name": "id", "type": "bytes32" },
118
+ { "name": "tick", "type": "int24" }
119
+ ],
120
+ "name": "getPoolTickInfo",
121
+ "outputs": [
122
+ {
123
+ "components": [
124
+ { "name": "liquidityGross", "type": "uint128" },
125
+ { "name": "liquidityNet", "type": "int128" },
126
+ { "name": "feeGrowthOutside0X128", "type": "uint256" },
127
+ { "name": "feeGrowthOutside1X128", "type": "uint256" }
128
+ ],
129
+ "name": "info",
130
+ "type": "tuple"
131
+ }
132
+ ],
133
+ "stateMutability": "view",
134
+ "type": "function"
135
+ }
136
+ ]
@@ -0,0 +1,66 @@
1
+ [
2
+ {
3
+ "inputs": [
4
+ {
5
+ "components": [
6
+ {
7
+ "components": [
8
+ { "name": "currency0", "type": "address" },
9
+ { "name": "currency1", "type": "address" },
10
+ { "name": "hooks", "type": "address" },
11
+ { "name": "poolManager", "type": "address" },
12
+ { "name": "fee", "type": "uint24" },
13
+ { "name": "parameters", "type": "bytes32" }
14
+ ],
15
+ "name": "poolKey",
16
+ "type": "tuple"
17
+ },
18
+ { "name": "zeroForOne", "type": "bool" },
19
+ { "name": "exactAmount", "type": "uint128" },
20
+ { "name": "hookData", "type": "bytes" }
21
+ ],
22
+ "name": "params",
23
+ "type": "tuple"
24
+ }
25
+ ],
26
+ "name": "quoteExactInputSingle",
27
+ "outputs": [
28
+ { "name": "amountOut", "type": "uint256" },
29
+ { "name": "gasEstimate", "type": "uint256" }
30
+ ],
31
+ "stateMutability": "nonpayable",
32
+ "type": "function"
33
+ },
34
+ {
35
+ "inputs": [
36
+ {
37
+ "components": [
38
+ {
39
+ "components": [
40
+ { "name": "currency0", "type": "address" },
41
+ { "name": "currency1", "type": "address" },
42
+ { "name": "hooks", "type": "address" },
43
+ { "name": "poolManager", "type": "address" },
44
+ { "name": "fee", "type": "uint24" },
45
+ { "name": "parameters", "type": "bytes32" }
46
+ ],
47
+ "name": "poolKey",
48
+ "type": "tuple"
49
+ },
50
+ { "name": "zeroForOne", "type": "bool" },
51
+ { "name": "exactAmount", "type": "uint128" },
52
+ { "name": "hookData", "type": "bytes" }
53
+ ],
54
+ "name": "params",
55
+ "type": "tuple"
56
+ }
57
+ ],
58
+ "name": "quoteExactOutputSingle",
59
+ "outputs": [
60
+ { "name": "amountIn", "type": "uint256" },
61
+ { "name": "gasEstimate", "type": "uint256" }
62
+ ],
63
+ "stateMutability": "nonpayable",
64
+ "type": "function"
65
+ }
66
+ ]
@@ -0,0 +1,23 @@
1
+ [
2
+ {
3
+ "inputs": [
4
+ { "name": "commands", "type": "bytes" },
5
+ { "name": "inputs", "type": "bytes[]" }
6
+ ],
7
+ "name": "execute",
8
+ "outputs": [],
9
+ "stateMutability": "payable",
10
+ "type": "function"
11
+ },
12
+ {
13
+ "inputs": [
14
+ { "name": "commands", "type": "bytes" },
15
+ { "name": "inputs", "type": "bytes[]" },
16
+ { "name": "deadline", "type": "uint256" }
17
+ ],
18
+ "name": "execute",
19
+ "outputs": [],
20
+ "stateMutability": "payable",
21
+ "type": "function"
22
+ }
23
+ ]
@@ -53,8 +53,8 @@ const getGasCost_1 = require("./getGasCost");
53
53
  const balancer_hook_event_subscriber_1 = require("./hooks/balancer-hook-event-subscriber");
54
54
  const utils_3 = require("./utils");
55
55
  const MAX_UINT256 = '115792089237316195423570985008687907853269984665640564039457584007913129639935';
56
- const POOL_UPDATE_TTL = 1 * 60; // 1min
57
- const RATE_UPDATE_TTL = 1 * 60; // 1min
56
+ const POOL_UPDATE_TTL = 2 * 60; // 2min
57
+ const RATE_UPDATE_TTL = 2 * 60; // 2min
58
58
  const HOOK_UPDATE_TTL = 5 * 60; // 5min
59
59
  class BalancerV3 extends simple_exchange_1.SimpleExchange {
60
60
  network;
@@ -1 +1,2 @@
1
1
  export declare const MIN_SWAP_LIQUIDITY = 8500n;
2
+ export declare const RESERVE_REFRESH_INTERVAL_MS: number;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MIN_SWAP_LIQUIDITY = void 0;
3
+ exports.RESERVE_REFRESH_INTERVAL_MS = exports.MIN_SWAP_LIQUIDITY = void 0;
4
4
  // on-chain we use 1e4 but use extra buffer to avoid reverts
5
5
  exports.MIN_SWAP_LIQUIDITY = 8500n;
6
+ exports.RESERVE_REFRESH_INTERVAL_MS = 10 * 1000;
6
7
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/fluid-dex/constants.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAC/C,QAAA,kBAAkB,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/fluid-dex/constants.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAC/C,QAAA,kBAAkB,GAAG,KAAK,CAAC;AAE3B,QAAA,2BAA2B,GAAG,EAAE,GAAG,IAAI,CAAC"}
@@ -1,49 +1,16 @@
1
- import { Interface } from '@ethersproject/abi';
2
- import { DeepReadonly } from 'ts-essentials';
3
- import { Log, Logger } from '../../types';
4
- import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
1
+ import { Logger } from '../../types';
5
2
  import { IDexHelper } from '../../dex-helper/idex-helper';
6
3
  import { CommonAddresses, FluidDexLiquidityProxyState } from './types';
7
- import { Address } from '../../types';
8
4
  import { Contract } from 'ethers';
9
- export declare class FluidDexLiquidityProxy extends StatefulEventSubscriber<FluidDexLiquidityProxyState> {
10
- readonly parentName: string;
5
+ export declare class FluidDexLiquidityProxy {
6
+ readonly dexKey: string;
11
7
  readonly commonAddresses: CommonAddresses;
12
8
  protected network: number;
13
9
  readonly dexHelper: IDexHelper;
14
- handlers: {
15
- [event: string]: (event: any, state: DeepReadonly<FluidDexLiquidityProxyState>, log: Readonly<Log>) => Promise<DeepReadonly<FluidDexLiquidityProxyState> | null>;
16
- };
17
- logDecoder: (log: Log) => any;
18
- addressesSubscribed: Address[];
19
- readonly liquidityIface: Interface;
20
- readonly resolverIface: Interface;
21
- resolverContract: Contract;
22
- constructor(parentName: string, commonAddresses: CommonAddresses, network: number, dexHelper: IDexHelper, logger: Logger);
23
- /**
24
- * Handle a trade rate change on the pool.
25
- */
26
- handleOperate(event: any, state: DeepReadonly<FluidDexLiquidityProxyState>, log: Readonly<Log>): Promise<DeepReadonly<FluidDexLiquidityProxyState> | null>;
27
- /**
28
- * The function is called every time any of the subscribed
29
- * addresses release log. The function accepts the current
30
- * state, updates the state according to the log, and returns
31
- * the updated state.
32
- * @param state - Current state of event subscriber
33
- * @param log - Log released by one of the subscribed addresses
34
- * @returns Updates state of the event subscriber after the log
35
- */
36
- processLog(state: DeepReadonly<FluidDexLiquidityProxyState>, log: Readonly<Log>): Promise<DeepReadonly<FluidDexLiquidityProxyState> | null>;
37
- getStateOrGenerate(blockNumber: number): Promise<FluidDexLiquidityProxyState>;
38
- /**
39
- * The function generates state using on-chain calls. This
40
- * function is called to regenerate state if the event based
41
- * system fails to fetch events and the local state is no
42
- * more correct.
43
- * @param blockNumber - Blocknumber for which the state should
44
- * should be generated
45
- * @returns state of the event subscriber at blocknumber
46
- */
47
- generateState(blockNumber: number): Promise<DeepReadonly<FluidDexLiquidityProxyState>>;
10
+ readonly logger: Logger;
11
+ readonly resolverContract: Contract;
12
+ constructor(dexKey: string, commonAddresses: CommonAddresses, network: number, dexHelper: IDexHelper, logger: Logger);
13
+ fetchAndSetState(blockNumber: number): Promise<void>;
14
+ getState(): Promise<FluidDexLiquidityProxyState | null>;
48
15
  private convertToFluidDexPoolState;
49
16
  }
@@ -4,86 +4,40 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.FluidDexLiquidityProxy = void 0;
7
- const abi_1 = require("@ethersproject/abi");
8
7
  const utils_1 = require("../../utils");
9
- const stateful_event_subscriber_1 = require("../../stateful-event-subscriber");
10
- const resolver_abi_json_1 = __importDefault(require("../../abi/fluid-dex/resolver.abi.json"));
11
- const liquidityUserModule_abi_json_1 = __importDefault(require("../../abi/fluid-dex/liquidityUserModule.abi.json"));
12
8
  const ethers_1 = require("ethers");
13
- class FluidDexLiquidityProxy extends stateful_event_subscriber_1.StatefulEventSubscriber {
14
- parentName;
9
+ const resolver_abi_json_1 = __importDefault(require("../../abi/fluid-dex/resolver.abi.json"));
10
+ const STATE_CACHE_KEY = 'liquidity_proxy_state';
11
+ const STATE_TTL_SECONDS = 600; // 10 minutes
12
+ const LOCAL_CACHE_TTL_SECONDS = 5; // 5 seconds
13
+ class FluidDexLiquidityProxy {
14
+ dexKey;
15
15
  commonAddresses;
16
16
  network;
17
17
  dexHelper;
18
- handlers = {};
19
- logDecoder;
20
- addressesSubscribed;
21
- liquidityIface = new abi_1.Interface(liquidityUserModule_abi_json_1.default);
22
- resolverIface = new abi_1.Interface(resolver_abi_json_1.default);
18
+ logger;
23
19
  resolverContract;
24
- constructor(parentName, commonAddresses, network, dexHelper, logger) {
25
- super(parentName, 'liquidity proxy', dexHelper, logger);
26
- this.parentName = parentName;
20
+ constructor(dexKey, commonAddresses, network, dexHelper, logger) {
21
+ this.dexKey = dexKey;
27
22
  this.commonAddresses = commonAddresses;
28
23
  this.network = network;
29
24
  this.dexHelper = dexHelper;
30
- this.logDecoder = (log) => this.liquidityIface.parseLog(log);
25
+ this.logger = logger;
31
26
  this.resolverContract = new ethers_1.Contract(this.commonAddresses.resolver, resolver_abi_json_1.default, this.dexHelper.provider);
32
- this.addressesSubscribed = [commonAddresses.liquidityProxy];
33
- // Add handlers
34
- this.handlers['LogOperate'] = this.handleOperate.bind(this);
35
- }
36
- /**
37
- * Handle a trade rate change on the pool.
38
- */
39
- async handleOperate(event, state, log) {
40
- return this.generateState(log.blockNumber);
41
- }
42
- /**
43
- * The function is called every time any of the subscribed
44
- * addresses release log. The function accepts the current
45
- * state, updates the state according to the log, and returns
46
- * the updated state.
47
- * @param state - Current state of event subscriber
48
- * @param log - Log released by one of the subscribed addresses
49
- * @returns Updates state of the event subscriber after the log
50
- */
51
- async processLog(state, log) {
52
- try {
53
- const event = this.logDecoder(log);
54
- if (event.name in this.handlers) {
55
- return await this.handlers[event.name](event, state, log);
56
- }
57
- }
58
- catch (e) {
59
- (0, utils_1.catchParseLogError)(e, this.logger);
60
- }
61
- return null;
62
- }
63
- async getStateOrGenerate(blockNumber) {
64
- let state = this.getState(blockNumber);
65
- if (!state) {
66
- state = await this.generateState(blockNumber);
67
- this.setState(state, blockNumber);
68
- }
69
- return state;
70
27
  }
71
- /**
72
- * The function generates state using on-chain calls. This
73
- * function is called to regenerate state if the event based
74
- * system fails to fetch events and the local state is no
75
- * more correct.
76
- * @param blockNumber - Blocknumber for which the state should
77
- * should be generated
78
- * @returns state of the event subscriber at blocknumber
79
- */
80
- async generateState(blockNumber) {
28
+ async fetchAndSetState(blockNumber) {
81
29
  const rawResult = await this.resolverContract.callStatic.getAllPoolsReservesAdjusted({
82
30
  blockTag: blockNumber,
83
31
  });
84
- const convertedResult = this.convertToFluidDexPoolState(rawResult);
85
- this.logger.info(`${this.parentName}: ${this.name}: generating state...`);
86
- return convertedResult;
32
+ const state = this.convertToFluidDexPoolState(rawResult);
33
+ await this.dexHelper.cache.setex(this.dexKey, this.network, STATE_CACHE_KEY, STATE_TTL_SECONDS, utils_1.Utils.Serialize(state));
34
+ }
35
+ async getState() {
36
+ const cached = await this.dexHelper.cache.getAndCacheLocally(this.dexKey, this.network, STATE_CACHE_KEY, LOCAL_CACHE_TTL_SECONDS);
37
+ if (cached) {
38
+ return utils_1.Utils.Parse(cached);
39
+ }
40
+ return null;
87
41
  }
88
42
  convertToFluidDexPoolState(poolReserves) {
89
43
  const result = poolReserves.map(poolReserve => {
@@ -1 +1 @@
1
- {"version":3,"file":"fluid-dex-liquidity-proxy.js","sourceRoot":"","sources":["../../../src/dex/fluid-dex/fluid-dex-liquidity-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fluid-dex-liquidity-proxy.js","sourceRoot":"","sources":["../../../src/dex/fluid-dex/fluid-dex-liquidity-proxy.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export declare class FluidDex extends SimpleExchange implements IDex<FluidDexDat
15
15
  readonly hasConstantPriceLargeAmounts = false;
16
16
  readonly needWrapNative = false;
17
17
  readonly isFeeOnTransferSupported = false;
18
+ readonly isStatePollingDex = true;
18
19
  static dexKeysWithNetwork: {
19
20
  key: string;
20
21
  networks: Network[];
@@ -25,10 +26,12 @@ export declare class FluidDex extends SimpleExchange implements IDex<FluidDexDat
25
26
  readonly factory: FluidDexFactory;
26
27
  readonly liquidityProxy: FluidDexLiquidityProxy;
27
28
  readonly fluidDexPoolIface: Interface;
29
+ private reserveUpdateIntervalTask?;
28
30
  constructor(network: Network, dexKey: string, dexHelper: IDexHelper);
29
31
  private fetchFluidDexPools;
30
32
  private generateFluidDexPoolsFromPoolsFactory;
31
33
  initializePricing(blockNumber: number): Promise<void>;
34
+ private updateReserves;
32
35
  getAdapters(side: SwapSide): null;
33
36
  protected onPoolCreatedUpdatePools(poolsFromFactory: readonly PoolWithDecimals[]): void;
34
37
  getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
@@ -150,4 +153,5 @@ export declare class FluidDex extends SimpleExchange implements IDex<FluidDexDat
150
153
  private applyFeeForBuy;
151
154
  private applyFeeForSell;
152
155
  private abs;
156
+ releaseResources(): void;
153
157
  }
@@ -58,6 +58,7 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
58
58
  hasConstantPriceLargeAmounts = false;
59
59
  needWrapNative = false;
60
60
  isFeeOnTransferSupported = false;
61
+ isStatePollingDex = true;
61
62
  static dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.FluidDexConfig);
62
63
  logger;
63
64
  pools = [];
@@ -65,6 +66,7 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
65
66
  factory;
66
67
  liquidityProxy;
67
68
  fluidDexPoolIface;
69
+ reserveUpdateIntervalTask;
68
70
  constructor(network, dexKey, dexHelper) {
69
71
  super(dexHelper, dexKey);
70
72
  this.network = network;
@@ -101,7 +103,21 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
101
103
  await eventPool.initialize(blockNumber);
102
104
  return eventPool;
103
105
  }));
104
- await this.liquidityProxy.initialize(blockNumber);
106
+ if (!this.dexHelper.config.isSlave) {
107
+ void this.updateReserves();
108
+ if (!this.reserveUpdateIntervalTask) {
109
+ this.reserveUpdateIntervalTask = setInterval(this.updateReserves.bind(this), constants_2.RESERVE_REFRESH_INTERVAL_MS);
110
+ }
111
+ }
112
+ }
113
+ async updateReserves() {
114
+ try {
115
+ const blockNumber = await this.dexHelper.provider.getBlockNumber();
116
+ await this.liquidityProxy.fetchAndSetState(blockNumber);
117
+ }
118
+ catch (error) {
119
+ this.logger.error(`${this.dexKey}: Error updating reserves:`, error);
120
+ }
105
121
  }
106
122
  getAdapters(side) {
107
123
  return null;
@@ -142,7 +158,11 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
142
158
  }
143
159
  if (!pools.length)
144
160
  return null;
145
- const liquidityProxyState = await this.liquidityProxy.getStateOrGenerate(blockNumber);
161
+ const liquidityProxyState = await this.liquidityProxy.getState();
162
+ if (!liquidityProxyState) {
163
+ this.logger.warn(`${this.dexKey}-${this.network}: Liquidity proxy state is not available`);
164
+ return null;
165
+ }
146
166
  const poolsPrices = await Promise.all(pools.map(async (pool) => {
147
167
  const currentPoolReserves = liquidityProxyState.poolsReserves.find(poolReserve => poolReserve.pool.toLowerCase() === pool.address.toLowerCase());
148
168
  const eventPool = this.eventPools.find(eventPool => eventPool.poolAddress.toLowerCase() ===
@@ -207,7 +227,6 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
207
227
  await eventPool.updatePoolState(blockNumber);
208
228
  return eventPool;
209
229
  }));
210
- await this.liquidityProxy.updatePoolState(blockNumber);
211
230
  }
212
231
  // Returns list of top pools based on liquidity. Max
213
232
  // limit number pools should be returned.
@@ -219,7 +238,7 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
219
238
  if (!relevantPools.length) {
220
239
  return [];
221
240
  }
222
- const liquidityProxyState = this.liquidityProxy.getStaleState();
241
+ const liquidityProxyState = await this.liquidityProxy.getState();
223
242
  if (!liquidityProxyState) {
224
243
  return [];
225
244
  }
@@ -816,6 +835,12 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
816
835
  abs(value) {
817
836
  return value < 0 ? -value : value;
818
837
  }
838
+ releaseResources() {
839
+ if (this.reserveUpdateIntervalTask) {
840
+ clearInterval(this.reserveUpdateIntervalTask);
841
+ this.reserveUpdateIntervalTask = undefined;
842
+ }
843
+ }
819
844
  }
820
845
  exports.FluidDex = FluidDex;
821
846
  //# sourceMappingURL=fluid-dex.js.map