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

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 (409) hide show
  1. package/build/dex/balancer-v3/balancer-v3.js +2 -2
  2. package/build/dex/fluid-dex/constants.d.ts +1 -0
  3. package/build/dex/fluid-dex/constants.js +2 -1
  4. package/build/dex/fluid-dex/constants.js.map +1 -1
  5. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.d.ts +8 -41
  6. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js +20 -66
  7. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js.map +1 -1
  8. package/build/dex/fluid-dex/fluid-dex.d.ts +4 -0
  9. package/build/dex/fluid-dex/fluid-dex.js +29 -4
  10. package/build/dex/fluid-dex/fluid-dex.js.map +1 -1
  11. package/build/dex/renegade/api/auth.d.ts +1 -0
  12. package/build/dex/renegade/api/auth.js +63 -0
  13. package/build/dex/renegade/api/auth.js.map +1 -0
  14. package/build/dex/renegade/api/renegade-client.d.ts +18 -0
  15. package/build/dex/renegade/api/renegade-client.js +82 -0
  16. package/build/dex/renegade/api/renegade-client.js.map +1 -0
  17. package/build/dex/renegade/api/types.d.ts +110 -0
  18. package/build/dex/{wombat → renegade/api}/types.js.map +1 -1
  19. package/build/dex/{stader → renegade}/config.d.ts +1 -1
  20. package/build/dex/renegade/config.js +16 -0
  21. package/build/dex/renegade/config.js.map +1 -0
  22. package/build/dex/renegade/constants.d.ts +25 -0
  23. package/build/dex/renegade/constants.js +47 -0
  24. package/build/dex/renegade/constants.js.map +1 -0
  25. package/build/dex/renegade/rate-fetcher.d.ts +23 -0
  26. package/build/dex/renegade/rate-fetcher.js +135 -0
  27. package/build/dex/renegade/rate-fetcher.js.map +1 -0
  28. package/build/dex/renegade/renegade-levels-response.d.ts +22 -0
  29. package/build/dex/renegade/renegade-levels-response.js +99 -0
  30. package/build/dex/renegade/renegade-levels-response.js.map +1 -0
  31. package/build/dex/renegade/renegade.d.ts +57 -0
  32. package/build/dex/renegade/renegade.js +499 -0
  33. package/build/dex/renegade/renegade.js.map +1 -0
  34. package/build/dex/renegade/types.d.ts +38 -0
  35. package/build/dex/renegade/types.js +4 -0
  36. package/build/dex/renegade/types.js.map +1 -0
  37. package/build/index.d.ts +0 -1
  38. package/build/index.js +1 -3
  39. package/build/index.js.map +1 -1
  40. package/package.json +1 -1
  41. package/build/abi/AaveV2_lending_pool.json +0 -53
  42. package/build/abi/Bancor.json +0 -392
  43. package/build/abi/Compound_CETH.json +0 -12
  44. package/build/abi/SSPM.json +0 -829
  45. package/build/abi/Smoothy.json +0 -1049
  46. package/build/abi/StaderOracle.json +0 -2170
  47. package/build/abi/aave-weth-gateway-avalanche.json +0 -242
  48. package/build/abi/aave-weth-gateway-polygon.json +0 -242
  49. package/build/abi/aave-weth-gateway.json +0 -24
  50. package/build/abi/bunni-v2/BunniHook.abi.json +0 -1921
  51. package/build/abi/bunni-v2/BunniHub.abi.json +0 -1598
  52. package/build/abi/bunni-v2/BunniToken.abi.json +0 -833
  53. package/build/abi/bunni-v2/FeeOverrideHooklet.abi.json +0 -1947
  54. package/build/abi/bunni-v2/FloodPlain.abi.json +0 -1195
  55. package/build/abi/bunni-v2/PoolManager.abi.json +0 -1366
  56. package/build/abi/bunni-v2/V4Quoter.abi.json +0 -637
  57. package/build/abi/concentrator/arUSD.json +0 -568
  58. package/build/abi/concentrator/arUSD5115.json +0 -1746
  59. package/build/abi/gmx/fast-price-events.json +0 -70
  60. package/build/abi/gmx/fast-price-feed.json +0 -748
  61. package/build/abi/gmx/reader.json +0 -337
  62. package/build/abi/gmx/vault-price-feed.json +0 -477
  63. package/build/abi/gmx/vault.json +0 -2002
  64. package/build/abi/jarvis/ChainlinkAccessControlledOffchainAggregator.json +0 -1009
  65. package/build/abi/jarvis/SynthereumPriceFeed.json +0 -381
  66. package/build/abi/jarvis/jarvis-v6-pool.json +0 -1041
  67. package/build/abi/kyberdmm/kyber-dmm-exchange-router.abi.json +0 -1148
  68. package/build/abi/kyberdmm/kyber-dmm-factory.abi.json +0 -335
  69. package/build/abi/kyberdmm/kyber-dmm-pool.abi.json +0 -803
  70. package/build/abi/synthetix/CombinedSynthetix.abi.json +0 -442
  71. package/build/abi/wombat/asset.json +0 -743
  72. package/build/abi/wombat/bmw.json +0 -1247
  73. package/build/abi/wombat/pool-v2.json +0 -1289
  74. package/build/abi/wombat/pool-v3.json +0 -2013
  75. package/build/dex/aave-v2/aave-v2.d.ts +0 -33
  76. package/build/dex/aave-v2/aave-v2.js +0 -328
  77. package/build/dex/aave-v2/aave-v2.js.map +0 -1
  78. package/build/dex/aave-v2/config.d.ts +0 -14
  79. package/build/dex/aave-v2/config.js +0 -49
  80. package/build/dex/aave-v2/config.js.map +0 -1
  81. package/build/dex/aave-v2/tokenlist.json +0 -904
  82. package/build/dex/aave-v2/tokens.d.ts +0 -8
  83. package/build/dex/aave-v2/tokens.js +0 -65
  84. package/build/dex/aave-v2/tokens.js.map +0 -1
  85. package/build/dex/aave-v2/types.d.ts +0 -33
  86. package/build/dex/aave-v2/types.js +0 -11
  87. package/build/dex/aave-v2/types.js.map +0 -1
  88. package/build/dex/bancor/bancor.d.ts +0 -15
  89. package/build/dex/bancor/bancor.js +0 -74
  90. package/build/dex/bancor/bancor.js.map +0 -1
  91. package/build/dex/bancor/config.d.ts +0 -6
  92. package/build/dex/bancor/config.js +0 -11
  93. package/build/dex/bancor/config.js.map +0 -1
  94. package/build/dex/bancor/types.d.ts +0 -16
  95. package/build/dex/bancor/types.js +0 -8
  96. package/build/dex/bancor/types.js.map +0 -1
  97. package/build/dex/bunni-v2/bunni-v2-pool.d.ts +0 -62
  98. package/build/dex/bunni-v2/bunni-v2-pool.js +0 -505
  99. package/build/dex/bunni-v2/bunni-v2-pool.js.map +0 -1
  100. package/build/dex/bunni-v2/bunni-v2.d.ts +0 -51
  101. package/build/dex/bunni-v2/bunni-v2.js +0 -460
  102. package/build/dex/bunni-v2/bunni-v2.js.map +0 -1
  103. package/build/dex/bunni-v2/config.d.ts +0 -3
  104. package/build/dex/bunni-v2/config.js +0 -130
  105. package/build/dex/bunni-v2/config.js.map +0 -1
  106. package/build/dex/bunni-v2/encoder.d.ts +0 -19
  107. package/build/dex/bunni-v2/encoder.js +0 -400
  108. package/build/dex/bunni-v2/encoder.js.map +0 -1
  109. package/build/dex/bunni-v2/getOnChainState.d.ts +0 -26
  110. package/build/dex/bunni-v2/getOnChainState.js +0 -493
  111. package/build/dex/bunni-v2/getOnChainState.js.map +0 -1
  112. package/build/dex/bunni-v2/hook/BunniSwapMath.d.ts +0 -7
  113. package/build/dex/bunni-v2/hook/BunniSwapMath.js +0 -198
  114. package/build/dex/bunni-v2/hook/BunniSwapMath.js.map +0 -1
  115. package/build/dex/bunni-v2/hook/SwapMath.d.ts +0 -8
  116. package/build/dex/bunni-v2/hook/SwapMath.js +0 -65
  117. package/build/dex/bunni-v2/hook/SwapMath.js.map +0 -1
  118. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.d.ts +0 -33
  119. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.js +0 -33
  120. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.js.map +0 -1
  121. package/build/dex/bunni-v2/hooklet/index.d.ts +0 -21
  122. package/build/dex/bunni-v2/hooklet/index.js +0 -64
  123. package/build/dex/bunni-v2/hooklet/index.js.map +0 -1
  124. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.d.ts +0 -70
  125. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.js +0 -277
  126. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.js.map +0 -1
  127. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.d.ts +0 -64
  128. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.js +0 -262
  129. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.js.map +0 -1
  130. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.d.ts +0 -60
  131. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.js +0 -224
  132. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.js.map +0 -1
  133. package/build/dex/bunni-v2/ldf/GeometricDistribution.d.ts +0 -56
  134. package/build/dex/bunni-v2/ldf/GeometricDistribution.js +0 -489
  135. package/build/dex/bunni-v2/ldf/GeometricDistribution.js.map +0 -1
  136. package/build/dex/bunni-v2/ldf/LDFType.d.ts +0 -5
  137. package/build/dex/bunni-v2/ldf/LDFType.js +0 -10
  138. package/build/dex/bunni-v2/ldf/LDFType.js.map +0 -1
  139. package/build/dex/bunni-v2/ldf/ShiftMode.d.ts +0 -7
  140. package/build/dex/bunni-v2/ldf/ShiftMode.js +0 -19
  141. package/build/dex/bunni-v2/ldf/ShiftMode.js.map +0 -1
  142. package/build/dex/bunni-v2/ldf/UniformDistribution.d.ts +0 -55
  143. package/build/dex/bunni-v2/ldf/UniformDistribution.js +0 -291
  144. package/build/dex/bunni-v2/ldf/UniformDistribution.js.map +0 -1
  145. package/build/dex/bunni-v2/ldf/index.d.ts +0 -15
  146. package/build/dex/bunni-v2/ldf/index.js +0 -21
  147. package/build/dex/bunni-v2/ldf/index.js.map +0 -1
  148. package/build/dex/bunni-v2/lib/AmAmmPayload.d.ts +0 -4
  149. package/build/dex/bunni-v2/lib/AmAmmPayload.js +0 -10
  150. package/build/dex/bunni-v2/lib/AmAmmPayload.js.map +0 -1
  151. package/build/dex/bunni-v2/lib/BitMath.d.ts +0 -4
  152. package/build/dex/bunni-v2/lib/BitMath.js +0 -24
  153. package/build/dex/bunni-v2/lib/BitMath.js.map +0 -1
  154. package/build/dex/bunni-v2/lib/Constants.d.ts +0 -15
  155. package/build/dex/bunni-v2/lib/Constants.js +0 -19
  156. package/build/dex/bunni-v2/lib/Constants.js.map +0 -1
  157. package/build/dex/bunni-v2/lib/ExpMath.d.ts +0 -5
  158. package/build/dex/bunni-v2/lib/ExpMath.js +0 -121
  159. package/build/dex/bunni-v2/lib/ExpMath.js.map +0 -1
  160. package/build/dex/bunni-v2/lib/FeeMath.d.ts +0 -2
  161. package/build/dex/bunni-v2/lib/FeeMath.js +0 -27
  162. package/build/dex/bunni-v2/lib/FeeMath.js.map +0 -1
  163. package/build/dex/bunni-v2/lib/FixedPointMath.d.ts +0 -3
  164. package/build/dex/bunni-v2/lib/FixedPointMath.js +0 -15
  165. package/build/dex/bunni-v2/lib/FixedPointMath.js.map +0 -1
  166. package/build/dex/bunni-v2/lib/FullMathX96.d.ts +0 -4
  167. package/build/dex/bunni-v2/lib/FullMathX96.js +0 -21
  168. package/build/dex/bunni-v2/lib/FullMathX96.js.map +0 -1
  169. package/build/dex/bunni-v2/lib/IdleBalance.d.ts +0 -11
  170. package/build/dex/bunni-v2/lib/IdleBalance.js +0 -33
  171. package/build/dex/bunni-v2/lib/IdleBalance.js.map +0 -1
  172. package/build/dex/bunni-v2/lib/LiquidityAmounts.d.ts +0 -6
  173. package/build/dex/bunni-v2/lib/LiquidityAmounts.js +0 -25
  174. package/build/dex/bunni-v2/lib/LiquidityAmounts.js.map +0 -1
  175. package/build/dex/bunni-v2/lib/Math.d.ts +0 -28
  176. package/build/dex/bunni-v2/lib/Math.js +0 -169
  177. package/build/dex/bunni-v2/lib/Math.js.map +0 -1
  178. package/build/dex/bunni-v2/lib/Oracle.d.ts +0 -27
  179. package/build/dex/bunni-v2/lib/Oracle.js +0 -180
  180. package/build/dex/bunni-v2/lib/Oracle.js.map +0 -1
  181. package/build/dex/bunni-v2/lib/QueryLDF.d.ts +0 -12
  182. package/build/dex/bunni-v2/lib/QueryLDF.js +0 -90
  183. package/build/dex/bunni-v2/lib/QueryLDF.js.map +0 -1
  184. package/build/dex/bunni-v2/lib/QueryTwap.d.ts +0 -2
  185. package/build/dex/bunni-v2/lib/QueryTwap.js +0 -13
  186. package/build/dex/bunni-v2/lib/QueryTwap.js.map +0 -1
  187. package/build/dex/bunni-v2/lib/SqrtPriceMath.d.ts +0 -8
  188. package/build/dex/bunni-v2/lib/SqrtPriceMath.js +0 -84
  189. package/build/dex/bunni-v2/lib/SqrtPriceMath.js.map +0 -1
  190. package/build/dex/bunni-v2/lib/TickMath.d.ts +0 -11
  191. package/build/dex/bunni-v2/lib/TickMath.js +0 -100
  192. package/build/dex/bunni-v2/lib/TickMath.js.map +0 -1
  193. package/build/dex/bunni-v2/lib/VaultMath.d.ts +0 -2
  194. package/build/dex/bunni-v2/lib/VaultMath.js +0 -11
  195. package/build/dex/bunni-v2/lib/VaultMath.js.map +0 -1
  196. package/build/dex/bunni-v2/logic/AmAmm.d.ts +0 -11
  197. package/build/dex/bunni-v2/logic/AmAmm.js +0 -156
  198. package/build/dex/bunni-v2/logic/AmAmm.js.map +0 -1
  199. package/build/dex/bunni-v2/logic/BunniHookLogic.d.ts +0 -10
  200. package/build/dex/bunni-v2/logic/BunniHookLogic.js +0 -298
  201. package/build/dex/bunni-v2/logic/BunniHookLogic.js.map +0 -1
  202. package/build/dex/bunni-v2/logic/BunniHubLogic.d.ts +0 -5
  203. package/build/dex/bunni-v2/logic/BunniHubLogic.js +0 -245
  204. package/build/dex/bunni-v2/logic/BunniHubLogic.js.map +0 -1
  205. package/build/dex/bunni-v2/logic/BunniQuoter.d.ts +0 -12
  206. package/build/dex/bunni-v2/logic/BunniQuoter.js +0 -201
  207. package/build/dex/bunni-v2/logic/BunniQuoter.js.map +0 -1
  208. package/build/dex/bunni-v2/subgraph.d.ts +0 -7
  209. package/build/dex/bunni-v2/subgraph.js +0 -184
  210. package/build/dex/bunni-v2/subgraph.js.map +0 -1
  211. package/build/dex/bunni-v2/types.d.ts +0 -257
  212. package/build/dex/bunni-v2/types.js.map +0 -1
  213. package/build/dex/bunni-v2/utils.d.ts +0 -12
  214. package/build/dex/bunni-v2/utils.js +0 -182
  215. package/build/dex/bunni-v2/utils.js.map +0 -1
  216. package/build/dex/compound/compound.d.ts +0 -15
  217. package/build/dex/compound/compound.js +0 -57
  218. package/build/dex/compound/compound.js.map +0 -1
  219. package/build/dex/compound/types.d.ts +0 -8
  220. package/build/dex/compound/types.js +0 -9
  221. package/build/dex/compound/types.js.map +0 -1
  222. package/build/dex/concentrator-arusd/concentrator-arusd-event.d.ts +0 -17
  223. package/build/dex/concentrator-arusd/concentrator-arusd-event.js +0 -69
  224. package/build/dex/concentrator-arusd/concentrator-arusd-event.js.map +0 -1
  225. package/build/dex/concentrator-arusd/concentrator-arusd.d.ts +0 -41
  226. package/build/dex/concentrator-arusd/concentrator-arusd.js +0 -202
  227. package/build/dex/concentrator-arusd/concentrator-arusd.js.map +0 -1
  228. package/build/dex/concentrator-arusd/config.d.ts +0 -3
  229. package/build/dex/concentrator-arusd/config.js +0 -14
  230. package/build/dex/concentrator-arusd/config.js.map +0 -1
  231. package/build/dex/concentrator-arusd/types.d.ts +0 -14
  232. package/build/dex/concentrator-arusd/types.js +0 -3
  233. package/build/dex/concentrator-arusd/types.js.map +0 -1
  234. package/build/dex/concentrator-arusd/utils.d.ts +0 -4
  235. package/build/dex/concentrator-arusd/utils.js +0 -26
  236. package/build/dex/concentrator-arusd/utils.js.map +0 -1
  237. package/build/dex/curve-v1/forks/swerve/config.d.ts +0 -4
  238. package/build/dex/curve-v1/forks/swerve/config.js +0 -47
  239. package/build/dex/curve-v1/forks/swerve/config.js.map +0 -1
  240. package/build/dex/curve-v1/forks/swerve/swerve.d.ts +0 -16
  241. package/build/dex/curve-v1/forks/swerve/swerve.js +0 -46
  242. package/build/dex/curve-v1/forks/swerve/swerve.js.map +0 -1
  243. package/build/dex/gmx/config.d.ts +0 -11
  244. package/build/dex/gmx/config.js +0 -61
  245. package/build/dex/gmx/config.js.map +0 -1
  246. package/build/dex/gmx/fast-price-feed.d.ts +0 -26
  247. package/build/dex/gmx/fast-price-feed.js +0 -184
  248. package/build/dex/gmx/fast-price-feed.js.map +0 -1
  249. package/build/dex/gmx/gmx.d.ts +0 -54
  250. package/build/dex/gmx/gmx.js +0 -247
  251. package/build/dex/gmx/gmx.js.map +0 -1
  252. package/build/dex/gmx/pool.d.ts +0 -21
  253. package/build/dex/gmx/pool.js +0 -212
  254. package/build/dex/gmx/pool.js.map +0 -1
  255. package/build/dex/gmx/types.d.ts +0 -100
  256. package/build/dex/gmx/types.js +0 -3
  257. package/build/dex/gmx/types.js.map +0 -1
  258. package/build/dex/gmx/usdg.d.ts +0 -15
  259. package/build/dex/gmx/usdg.js +0 -62
  260. package/build/dex/gmx/usdg.js.map +0 -1
  261. package/build/dex/gmx/vault-price-feed.d.ts +0 -47
  262. package/build/dex/gmx/vault-price-feed.js +0 -245
  263. package/build/dex/gmx/vault-price-feed.js.map +0 -1
  264. package/build/dex/gmx/vault-utils.d.ts +0 -8
  265. package/build/dex/gmx/vault-utils.js +0 -42
  266. package/build/dex/gmx/vault-utils.js.map +0 -1
  267. package/build/dex/gmx/vault.d.ts +0 -46
  268. package/build/dex/gmx/vault.js +0 -182
  269. package/build/dex/gmx/vault.js.map +0 -1
  270. package/build/dex/jarvis-v6/chainLinkpriceFeed-event.d.ts +0 -15
  271. package/build/dex/jarvis-v6/chainLinkpriceFeed-event.js +0 -51
  272. package/build/dex/jarvis-v6/chainLinkpriceFeed-event.js.map +0 -1
  273. package/build/dex/jarvis-v6/config.d.ts +0 -4
  274. package/build/dex/jarvis-v6/config.js +0 -244
  275. package/build/dex/jarvis-v6/config.js.map +0 -1
  276. package/build/dex/jarvis-v6/jarvis-v6-events.d.ts +0 -27
  277. package/build/dex/jarvis-v6/jarvis-v6-events.js +0 -54
  278. package/build/dex/jarvis-v6/jarvis-v6-events.js.map +0 -1
  279. package/build/dex/jarvis-v6/jarvis-v6.d.ts +0 -49
  280. package/build/dex/jarvis-v6/jarvis-v6.js +0 -321
  281. package/build/dex/jarvis-v6/jarvis-v6.js.map +0 -1
  282. package/build/dex/jarvis-v6/syntheteumPool-event.d.ts +0 -15
  283. package/build/dex/jarvis-v6/syntheteumPool-event.js +0 -49
  284. package/build/dex/jarvis-v6/syntheteumPool-event.js.map +0 -1
  285. package/build/dex/jarvis-v6/types.d.ts +0 -48
  286. package/build/dex/jarvis-v6/types.js +0 -9
  287. package/build/dex/jarvis-v6/types.js.map +0 -1
  288. package/build/dex/jarvis-v6/utils.d.ts +0 -13
  289. package/build/dex/jarvis-v6/utils.js +0 -75
  290. package/build/dex/jarvis-v6/utils.js.map +0 -1
  291. package/build/dex/kyberdmm/config.d.ts +0 -9
  292. package/build/dex/kyberdmm/config.js +0 -59
  293. package/build/dex/kyberdmm/config.js.map +0 -1
  294. package/build/dex/kyberdmm/fee-formula.d.ts +0 -15
  295. package/build/dex/kyberdmm/fee-formula.js +0 -88
  296. package/build/dex/kyberdmm/fee-formula.js.map +0 -1
  297. package/build/dex/kyberdmm/kyberdmm.d.ts +0 -55
  298. package/build/dex/kyberdmm/kyberdmm.js +0 -447
  299. package/build/dex/kyberdmm/kyberdmm.js.map +0 -1
  300. package/build/dex/kyberdmm/math-ext.d.ts +0 -2
  301. package/build/dex/kyberdmm/math-ext.js +0 -27
  302. package/build/dex/kyberdmm/math-ext.js.map +0 -1
  303. package/build/dex/kyberdmm/pool.d.ts +0 -50
  304. package/build/dex/kyberdmm/pool.js +0 -157
  305. package/build/dex/kyberdmm/pool.js.map +0 -1
  306. package/build/dex/kyberdmm/types.d.ts +0 -81
  307. package/build/dex/kyberdmm/types.js +0 -9
  308. package/build/dex/kyberdmm/types.js.map +0 -1
  309. package/build/dex/quickswap/thena-fusion.d.ts +0 -6
  310. package/build/dex/quickswap/thena-fusion.js +0 -19
  311. package/build/dex/quickswap/thena-fusion.js.map +0 -1
  312. package/build/dex/smoothy/smoothy.d.ts +0 -16
  313. package/build/dex/smoothy/smoothy.js +0 -60
  314. package/build/dex/smoothy/smoothy.js.map +0 -1
  315. package/build/dex/smoothy/types.d.ts +0 -15
  316. package/build/dex/smoothy/types.js +0 -8
  317. package/build/dex/smoothy/types.js.map +0 -1
  318. package/build/dex/stader/config.js +0 -14
  319. package/build/dex/stader/config.js.map +0 -1
  320. package/build/dex/stader/stader-pool.d.ts +0 -19
  321. package/build/dex/stader/stader-pool.js +0 -56
  322. package/build/dex/stader/stader-pool.js.map +0 -1
  323. package/build/dex/stader/stader.d.ts +0 -42
  324. package/build/dex/stader/stader.js +0 -195
  325. package/build/dex/stader/stader.js.map +0 -1
  326. package/build/dex/stader/types.d.ts +0 -13
  327. package/build/dex/stader/types.js +0 -8
  328. package/build/dex/stader/types.js.map +0 -1
  329. package/build/dex/stader/utils.d.ts +0 -4
  330. package/build/dex/stader/utils.js +0 -23
  331. package/build/dex/stader/utils.js.map +0 -1
  332. package/build/dex/synthetix/config.d.ts +0 -4
  333. package/build/dex/synthetix/config.js +0 -53
  334. package/build/dex/synthetix/config.js.map +0 -1
  335. package/build/dex/synthetix/constants.d.ts +0 -23
  336. package/build/dex/synthetix/constants.js +0 -32
  337. package/build/dex/synthetix/constants.js.map +0 -1
  338. package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.d.ts +0 -17
  339. package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.js +0 -102
  340. package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.js.map +0 -1
  341. package/build/dex/synthetix/contract-math/ExchangeRates.d.ts +0 -8
  342. package/build/dex/synthetix/contract-math/ExchangeRates.js +0 -77
  343. package/build/dex/synthetix/contract-math/ExchangeRates.js.map +0 -1
  344. package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.d.ts +0 -17
  345. package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.js +0 -126
  346. package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.js.map +0 -1
  347. package/build/dex/synthetix/contract-math/FullMath.d.ts +0 -3
  348. package/build/dex/synthetix/contract-math/FullMath.js +0 -14
  349. package/build/dex/synthetix/contract-math/FullMath.js.map +0 -1
  350. package/build/dex/synthetix/contract-math/OracleLibrary.d.ts +0 -8
  351. package/build/dex/synthetix/contract-math/OracleLibrary.js +0 -60
  352. package/build/dex/synthetix/contract-math/OracleLibrary.js.map +0 -1
  353. package/build/dex/synthetix/contract-math/SafeDecimalMath.d.ts +0 -9
  354. package/build/dex/synthetix/contract-math/SafeDecimalMath.js +0 -41
  355. package/build/dex/synthetix/contract-math/SafeDecimalMath.js.map +0 -1
  356. package/build/dex/synthetix/contract-math/TickMath.d.ts +0 -7
  357. package/build/dex/synthetix/contract-math/TickMath.js +0 -63
  358. package/build/dex/synthetix/contract-math/TickMath.js.map +0 -1
  359. package/build/dex/synthetix/contract-math/synthetix-math.d.ts +0 -17
  360. package/build/dex/synthetix/contract-math/synthetix-math.js +0 -127
  361. package/build/dex/synthetix/contract-math/synthetix-math.js.map +0 -1
  362. package/build/dex/synthetix/synthetix-state.d.ts +0 -36
  363. package/build/dex/synthetix/synthetix-state.js +0 -615
  364. package/build/dex/synthetix/synthetix-state.js.map +0 -1
  365. package/build/dex/synthetix/synthetix.d.ts +0 -45
  366. package/build/dex/synthetix/synthetix.js +0 -304
  367. package/build/dex/synthetix/synthetix.js.map +0 -1
  368. package/build/dex/synthetix/types.d.ts +0 -90
  369. package/build/dex/synthetix/types.js +0 -3
  370. package/build/dex/synthetix/types.js.map +0 -1
  371. package/build/dex/synthetix/utils.d.ts +0 -10
  372. package/build/dex/synthetix/utils.js +0 -91
  373. package/build/dex/synthetix/utils.js.map +0 -1
  374. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.d.ts +0 -7
  375. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js +0 -20
  376. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js.map +0 -1
  377. package/build/dex/uniswap-v4/api-go/compare-pricing.d.ts +0 -1
  378. package/build/dex/uniswap-v4/api-go/compare-pricing.js +0 -187
  379. package/build/dex/uniswap-v4/api-go/compare-pricing.js.map +0 -1
  380. package/build/dex/uniswap-v4/api-go/compare-states.d.ts +0 -1
  381. package/build/dex/uniswap-v4/api-go/compare-states.js +0 -149
  382. package/build/dex/uniswap-v4/api-go/compare-states.js.map +0 -1
  383. package/build/dex/uniswap-v4/api-go/fetch-pool-key.d.ts +0 -0
  384. package/build/dex/uniswap-v4/api-go/fetch-pool-key.js +0 -140
  385. package/build/dex/uniswap-v4/api-go/fetch-pool-key.js.map +0 -1
  386. package/build/dex/wombat/config.d.ts +0 -4
  387. package/build/dex/wombat/config.js +0 -77
  388. package/build/dex/wombat/config.js.map +0 -1
  389. package/build/dex/wombat/types.d.ts +0 -34
  390. package/build/dex/wombat/types.js +0 -3
  391. package/build/dex/wombat/utils.d.ts +0 -10
  392. package/build/dex/wombat/utils.js +0 -79
  393. package/build/dex/wombat/utils.js.map +0 -1
  394. package/build/dex/wombat/wombat-bmw.d.ts +0 -40
  395. package/build/dex/wombat/wombat-bmw.js +0 -136
  396. package/build/dex/wombat/wombat-bmw.js.map +0 -1
  397. package/build/dex/wombat/wombat-pool.d.ts +0 -60
  398. package/build/dex/wombat/wombat-pool.js +0 -488
  399. package/build/dex/wombat/wombat-pool.js.map +0 -1
  400. package/build/dex/wombat/wombat-quoter.d.ts +0 -17
  401. package/build/dex/wombat/wombat-quoter.js +0 -192
  402. package/build/dex/wombat/wombat-quoter.js.map +0 -1
  403. package/build/dex/wombat/wombat.d.ts +0 -58
  404. package/build/dex/wombat/wombat.js +0 -298
  405. package/build/dex/wombat/wombat.js.map +0 -1
  406. package/build/tenderly-simulation.d.ts +0 -221
  407. package/build/tenderly-simulation.js +0 -517
  408. package/build/tenderly-simulation.js.map +0 -1
  409. /package/build/dex/{bunni-v2 → renegade/api}/types.js +0 -0
@@ -1,17 +0,0 @@
1
- import { PoolState } from '../types';
2
- declare class ExchangeRatesWithDexPricing {
3
- effectiveAtomicValueAndRates(state: PoolState, sourceCurrencyKey: string, sourceAmount: bigint, destinationCurrencyKey: string): [bigint, bigint, bigint, bigint];
4
- private _effectiveValueAndRates;
5
- getRate(state: PoolState, currencyKey: string): bigint;
6
- private _getRateAndUpdatedTime;
7
- formatAggregatorAnswer(state: PoolState, currencyKey: string, rate: bigint): bigint;
8
- private _getPureChainlinkPriceForAtomicSwapsEnabled;
9
- private _getMinValue;
10
- private _getMaxValue;
11
- private _getPriceFromDexAggregator;
12
- private _getAtomicEquivalentForDexPricing;
13
- private _dexPriceDestinationValue;
14
- private _getAtomicTwapWindow;
15
- }
16
- export declare const exchangeRatesWithDexPricing: ExchangeRatesWithDexPricing;
17
- export {};
@@ -1,126 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.exchangeRatesWithDexPricing = void 0;
4
- const constants_1 = require("../../../constants");
5
- const utils_1 = require("../../../utils");
6
- const DexPriceAggregatorUniswapV3_1 = require("./DexPriceAggregatorUniswapV3");
7
- const SafeDecimalMath_1 = require("./SafeDecimalMath");
8
- class ExchangeRatesWithDexPricing {
9
- effectiveAtomicValueAndRates(state, sourceCurrencyKey, sourceAmount, destinationCurrencyKey) {
10
- const [systemValue, systemSourceRate, systemDestinationRate] = this._effectiveValueAndRates(state, sourceCurrencyKey, sourceAmount, destinationCurrencyKey);
11
- const usePureChainlinkPriceForSource = this._getPureChainlinkPriceForAtomicSwapsEnabled(state, sourceCurrencyKey);
12
- const usePureChainlinkPriceForDest = this._getPureChainlinkPriceForAtomicSwapsEnabled(state, destinationCurrencyKey);
13
- let sourceRate = 0n;
14
- let destRate = 0n;
15
- if (usePureChainlinkPriceForSource) {
16
- sourceRate = systemSourceRate;
17
- }
18
- else {
19
- sourceRate = this._getMinValue(systemSourceRate, this._getPriceFromDexAggregator(state, sourceCurrencyKey, state.sUSDCurrencyKey, sourceAmount));
20
- }
21
- if (usePureChainlinkPriceForDest) {
22
- destRate = systemDestinationRate;
23
- }
24
- else {
25
- destRate = this._getMaxValue(systemDestinationRate, this._getPriceFromDexAggregator(state, state.sUSDCurrencyKey, destinationCurrencyKey, sourceAmount));
26
- }
27
- const value = (sourceAmount * sourceRate) / destRate;
28
- return [value, systemValue, systemSourceRate, systemDestinationRate];
29
- }
30
- _effectiveValueAndRates(state, sourceCurrencyKey, sourceAmount, destinationCurrencyKey) {
31
- const sourceRate = this.getRate(state, sourceCurrencyKey);
32
- let value = 0n;
33
- let destinationRate = 0n;
34
- if (sourceCurrencyKey === destinationCurrencyKey) {
35
- destinationRate = sourceRate;
36
- value = sourceAmount;
37
- }
38
- else {
39
- destinationRate = this.getRate(state, destinationCurrencyKey);
40
- if (destinationRate > 0n) {
41
- value = SafeDecimalMath_1.SafeDecimalMath.divideDecimalRound(SafeDecimalMath_1.SafeDecimalMath.multiplyDecimalRound(sourceAmount, sourceRate), destinationRate);
42
- }
43
- }
44
- return [value, sourceRate, destinationRate];
45
- }
46
- getRate(state, currencyKey) {
47
- return this._getRateAndUpdatedTime(state, currencyKey).rate;
48
- }
49
- _getRateAndUpdatedTime(state, currencyKey) {
50
- if (currencyKey === state.sUSDCurrencyKey) {
51
- return { rate: SafeDecimalMath_1.SafeDecimalMath.unit, time: 0n };
52
- }
53
- else {
54
- const aggregator = state.aggregators[currencyKey];
55
- return aggregator !== undefined
56
- ? {
57
- rate: BigInt.asUintN(216, this.formatAggregatorAnswer(state, currencyKey, aggregator.latestRoundData.answer)),
58
- time: BigInt.asUintN(40, aggregator.latestRoundData.updatedAt),
59
- }
60
- : { rate: 0n, time: 0n };
61
- }
62
- }
63
- formatAggregatorAnswer(state, currencyKey, rate) {
64
- (0, utils_1._require)(rate >= 0, 'Negative rate not supported', { rate, currencyKey }, 'rate >= 0');
65
- const decimals = state.aggregatorDecimals[currencyKey];
66
- let result = BigInt.asUintN(256, rate);
67
- if (decimals === 0 || decimals === 18) {
68
- // do not convert for 0 (part of implicit interface), and not needed for 18
69
- }
70
- else if (decimals < 18) {
71
- // increase precision to 18
72
- const multiplier = (0, utils_1.getBigIntPow)(18 - decimals); // SafeMath not needed since decimals is small
73
- result = result * multiplier;
74
- }
75
- else if (decimals > 18) {
76
- // decrease precision to 18
77
- const divisor = (0, utils_1.getBigIntPow)(decimals - 18); // SafeMath not needed since decimals is small
78
- result = result / divisor;
79
- }
80
- return result;
81
- }
82
- _getPureChainlinkPriceForAtomicSwapsEnabled(state, currencyKey) {
83
- return state.pureChainlinkPriceForAtomicSwapsEnabled[currencyKey];
84
- }
85
- _getMinValue(x, y) {
86
- return x < y ? x : y;
87
- }
88
- _getMaxValue(x, y) {
89
- return x > y ? x : y;
90
- }
91
- _getPriceFromDexAggregator(state, sourceCurrencyKey, destCurrencyKey, amount) {
92
- (0, utils_1._require)(amount !== 0n, 'Amount must be greater than 0', { amount }, 'amount !== 0n');
93
- (0, utils_1._require)(sourceCurrencyKey === state.sUSDCurrencyKey ||
94
- destCurrencyKey === state.sUSDCurrencyKey, 'Atomic swaps must go through sUSD', { sourceCurrencyKey, destCurrencyKey }, `sourceCurrencyKey === sUSD || destCurrencyKey === sUSD`);
95
- const sourceEquivalent = this._getAtomicEquivalentForDexPricing(state, sourceCurrencyKey);
96
- (0, utils_1._require)(sourceEquivalent.address !== constants_1.NULL_ADDRESS, 'No atomic equivalent for source', { sourceEquivalent }, 'sourceEquivalent !== NULL_ADDRESS');
97
- const destEquivalent = this._getAtomicEquivalentForDexPricing(state, destCurrencyKey);
98
- (0, utils_1._require)(destEquivalent.address !== constants_1.NULL_ADDRESS, 'No atomic equivalent for dest', { destEquivalent }, 'destEquivalent !== NULL_ADDRESS');
99
- const result = (this._dexPriceDestinationValue(state, sourceEquivalent, destEquivalent, amount) *
100
- SafeDecimalMath_1.SafeDecimalMath.unit) /
101
- amount;
102
- (0, utils_1._require)(result !== 0n, 'Result must be greater than 0', { result }, 'result !== 0n');
103
- return destCurrencyKey === state.sUSDCurrencyKey
104
- ? result
105
- : SafeDecimalMath_1.SafeDecimalMath.divideDecimalRound(SafeDecimalMath_1.SafeDecimalMath.unit, result);
106
- }
107
- _getAtomicEquivalentForDexPricing(state, currencyKey) {
108
- return state.atomicEquivalentForDexPricing[currencyKey];
109
- }
110
- _dexPriceDestinationValue(state, sourceEquivalent, destEquivalent, sourceAmount) {
111
- const sourceAmountInEquivalent = (sourceAmount * (0, utils_1.getBigIntPow)(sourceEquivalent.decimals)) /
112
- SafeDecimalMath_1.SafeDecimalMath.unit;
113
- const twapWindow = this._getAtomicTwapWindow(state);
114
- (0, utils_1._require)(twapWindow !== 0n, 'Uninitialized atomic twap window', { twapWindow }, 'twapWindow !== 0n');
115
- const twapValueInEquivalent = DexPriceAggregatorUniswapV3_1.dexPriceAggregatorUniswapV3.assetToAsset(state, sourceEquivalent.address, sourceAmountInEquivalent, destEquivalent.address, twapWindow);
116
- (0, utils_1._require)(twapValueInEquivalent > 0n, 'dex price returned 0', { twapValueInEquivalent }, 'twapValueInEquivalent > 0n');
117
- // Similar to source amount, normalize decimals back to internal unit for output amount
118
- return ((twapValueInEquivalent * SafeDecimalMath_1.SafeDecimalMath.unit) /
119
- (0, utils_1.getBigIntPow)(destEquivalent.decimals));
120
- }
121
- _getAtomicTwapWindow(state) {
122
- return state.atomicTwapWindow;
123
- }
124
- }
125
- exports.exchangeRatesWithDexPricing = new ExchangeRatesWithDexPricing();
126
- //# sourceMappingURL=ExchangeRatesWithDexPricing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExchangeRatesWithDexPricing.js","sourceRoot":"","sources":["../../../../src/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAElD,0CAAwD;AAExD,+EAA4E;AAC5E,uDAAoD;AAEpD,MAAM,2BAA2B;IAC/B,4BAA4B,CAC1B,KAAgB,EAChB,iBAAyB,EACzB,YAAoB,EACpB,sBAA8B;QAE9B,MAAM,CAAC,WAAW,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,GAC1D,IAAI,CAAC,uBAAuB,CAC1B,KAAK,EACL,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,CACvB,CAAC;QAEJ,MAAM,8BAA8B,GAClC,IAAI,CAAC,2CAA2C,CAC9C,KAAK,EACL,iBAAiB,CAClB,CAAC;QACJ,MAAM,4BAA4B,GAChC,IAAI,CAAC,2CAA2C,CAC9C,KAAK,EACL,sBAAsB,CACvB,CAAC;QACJ,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,IAAI,8BAA8B,EAAE,CAAC;YACnC,UAAU,GAAG,gBAAgB,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,IAAI,CAAC,YAAY,CAC5B,gBAAgB,EAChB,IAAI,CAAC,0BAA0B,CAC7B,KAAK,EACL,iBAAiB,EACjB,KAAK,CAAC,eAAe,EACrB,YAAY,CACb,CACF,CAAC;QACJ,CAAC;QAED,IAAI,4BAA4B,EAAE,CAAC;YACjC,QAAQ,GAAG,qBAAqB,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,IAAI,CAAC,YAAY,CAC1B,qBAAqB,EACrB,IAAI,CAAC,0BAA0B,CAC7B,KAAK,EACL,KAAK,CAAC,eAAe,EACrB,sBAAsB,EACtB,YAAY,CACb,CACF,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,QAAQ,CAAC;QAErD,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;IACvE,CAAC;IAEO,uBAAuB,CAC7B,KAAgB,EAChB,iBAAyB,EACzB,YAAoB,EACpB,sBAA8B;QAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QAC1D,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,iBAAiB,KAAK,sBAAsB,EAAE,CAAC;YACjD,eAAe,GAAG,UAAU,CAAC;YAC7B,KAAK,GAAG,YAAY,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;YAC9D,IAAI,eAAe,GAAG,EAAE,EAAE,CAAC;gBACzB,KAAK,GAAG,iCAAe,CAAC,kBAAkB,CACxC,iCAAe,CAAC,oBAAoB,CAAC,YAAY,EAAE,UAAU,CAAC,EAC9D,eAAe,CAChB,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,CAAC,KAAgB,EAAE,WAAmB;QAC3C,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC;IAC9D,CAAC;IAEO,sBAAsB,CAC5B,KAAgB,EAChB,WAAmB;QAEnB,IAAI,WAAW,KAAK,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1C,OAAO,EAAE,IAAI,EAAE,iCAAe,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAClD,OAAO,UAAU,KAAK,SAAS;gBAC7B,CAAC,CAAC;oBACE,IAAI,EAAE,MAAM,CAAC,OAAO,CAClB,GAAG,EACH,IAAI,CAAC,sBAAsB,CACzB,KAAK,EACL,WAAW,EACX,UAAU,CAAC,eAAe,CAAC,MAAM,CAClC,CACF;oBACD,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC;iBAC/D;gBACH,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,sBAAsB,CACpB,KAAgB,EAChB,WAAmB,EACnB,IAAY;QAEZ,IAAA,gBAAQ,EACN,IAAI,IAAI,CAAC,EACT,6BAA6B,EAC7B,EAAE,IAAI,EAAE,WAAW,EAAE,EACrB,WAAW,CACZ,CAAC;QACF,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;YACtC,2EAA2E;QAC7E,CAAC;aAAM,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC;YACzB,2BAA2B;YAC3B,MAAM,UAAU,GAAG,IAAA,oBAAY,EAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,8CAA8C;YAC9F,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;QAC/B,CAAC;aAAM,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC;YACzB,2BAA2B;YAC3B,MAAM,OAAO,GAAG,IAAA,oBAAY,EAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,8CAA8C;YAC3F,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;QAC5B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,2CAA2C,CACjD,KAAgB,EAChB,WAAmB;QAEnB,OAAO,KAAK,CAAC,uCAAuC,CAAC,WAAW,CAAC,CAAC;IACpE,CAAC;IAEO,YAAY,CAAC,CAAS,EAAE,CAAS;QACvC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAEO,YAAY,CAAC,CAAS,EAAE,CAAS;QACvC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAEO,0BAA0B,CAChC,KAAgB,EAChB,iBAAyB,EACzB,eAAuB,EACvB,MAAc;QAEd,IAAA,gBAAQ,EACN,MAAM,KAAK,EAAE,EACb,+BAA+B,EAC/B,EAAE,MAAM,EAAE,EACV,eAAe,CAChB,CAAC;QACF,IAAA,gBAAQ,EACN,iBAAiB,KAAK,KAAK,CAAC,eAAe;YACzC,eAAe,KAAK,KAAK,CAAC,eAAe,EAC3C,mCAAmC,EACnC,EAAE,iBAAiB,EAAE,eAAe,EAAE,EACtC,wDAAwD,CACzD,CAAC;QAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,iCAAiC,CAC7D,KAAK,EACL,iBAAiB,CAClB,CAAC;QAEF,IAAA,gBAAQ,EACN,gBAAgB,CAAC,OAAO,KAAK,wBAAY,EACzC,iCAAiC,EACjC,EAAE,gBAAgB,EAAE,EACpB,mCAAmC,CACpC,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,CAAC,iCAAiC,CAC3D,KAAK,EACL,eAAe,CAChB,CAAC;QACF,IAAA,gBAAQ,EACN,cAAc,CAAC,OAAO,KAAK,wBAAY,EACvC,+BAA+B,EAC/B,EAAE,cAAc,EAAE,EAClB,iCAAiC,CAClC,CAAC;QAEF,MAAM,MAAM,GACV,CAAC,IAAI,CAAC,yBAAyB,CAC7B,KAAK,EACL,gBAAgB,EAChB,cAAc,EACd,MAAM,CACP;YACC,iCAAe,CAAC,IAAI,CAAC;YACvB,MAAM,CAAC;QACT,IAAA,gBAAQ,EACN,MAAM,KAAK,EAAE,EACb,+BAA+B,EAC/B,EAAE,MAAM,EAAE,EACV,eAAe,CAChB,CAAC;QAEF,OAAO,eAAe,KAAK,KAAK,CAAC,eAAe;YAC9C,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,iCAAe,CAAC,kBAAkB,CAAC,iCAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;IAEO,iCAAiC,CACvC,KAAgB,EAChB,WAAmB;QAEnB,OAAO,KAAK,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;IAEO,yBAAyB,CAC/B,KAAgB,EAChB,gBAAuB,EACvB,cAAqB,EACrB,YAAoB;QAEpB,MAAM,wBAAwB,GAC5B,CAAC,YAAY,GAAG,IAAA,oBAAY,EAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACxD,iCAAe,CAAC,IAAI,CAAC;QAEvB,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACpD,IAAA,gBAAQ,EACN,UAAU,KAAK,EAAE,EACjB,kCAAkC,EAClC,EAAE,UAAU,EAAE,EACd,mBAAmB,CACpB,CAAC;QAEF,MAAM,qBAAqB,GAAG,yDAA2B,CAAC,YAAY,CACpE,KAAK,EACL,gBAAgB,CAAC,OAAO,EACxB,wBAAwB,EACxB,cAAc,CAAC,OAAO,EACtB,UAAU,CACX,CAAC;QACF,IAAA,gBAAQ,EACN,qBAAqB,GAAG,EAAE,EAC1B,sBAAsB,EACtB,EAAE,qBAAqB,EAAE,EACzB,4BAA4B,CAC7B,CAAC;QAEF,uFAAuF;QACvF,OAAO,CACL,CAAC,qBAAqB,GAAG,iCAAe,CAAC,IAAI,CAAC;YAC9C,IAAA,oBAAY,EAAC,cAAc,CAAC,QAAQ,CAAC,CACtC,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,KAAgB;QAC3C,OAAO,KAAK,CAAC,gBAAgB,CAAC;IAChC,CAAC;CACF;AAEY,QAAA,2BAA2B,GAAG,IAAI,2BAA2B,EAAE,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare class FullMath {
2
- static mulDiv(a: bigint, b: bigint, denominator: bigint): bigint;
3
- }
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FullMath = void 0;
4
- const bigint_constants_1 = require("../../../bigint-constants");
5
- const utils_1 = require("../../../utils");
6
- class FullMath {
7
- static mulDiv(a, b, denominator) {
8
- const result = (a * b) / denominator;
9
- (0, utils_1._require)(result <= bigint_constants_1.BI_MAX_UINT256, '', { result, BI_MAX_UINT: bigint_constants_1.BI_MAX_UINT256 }, 'result <= BI_MAX_UINT256');
10
- return result;
11
- }
12
- }
13
- exports.FullMath = FullMath;
14
- //# sourceMappingURL=FullMath.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FullMath.js","sourceRoot":"","sources":["../../../../src/dex/synthetix/contract-math/FullMath.ts"],"names":[],"mappings":";;;AAAA,gEAA2D;AAC3D,0CAA0C;AAE1C,MAAa,QAAQ;IACnB,MAAM,CAAC,MAAM,CAAC,CAAS,EAAE,CAAS,EAAE,WAAmB;QACrD,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;QAErC,IAAA,gBAAQ,EACN,MAAM,IAAI,iCAAc,EACxB,EAAE,EACF,EAAE,MAAM,EAAE,WAAW,EAAE,iCAAc,EAAE,EACvC,0BAA0B,CAC3B,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAbD,4BAaC"}
@@ -1,8 +0,0 @@
1
- import { Address } from '../../../types';
2
- import { PoolState } from '../types';
3
- export declare class OracleLibrary {
4
- static getBlockStartingTick(state: PoolState, pool: Address): bigint;
5
- static getPrevIndex(observationIndex: bigint, observationCardinality: bigint): bigint;
6
- static consult(state: PoolState, pool: Address, secondsAgo: bigint): bigint;
7
- static getQuoteAtTick(tick: bigint, baseAmount: bigint, baseToken: Address, quoteToken: Address): bigint;
8
- }
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OracleLibrary = void 0;
4
- const bigint_constants_1 = require("../../../bigint-constants");
5
- const utils_1 = require("../../../utils");
6
- const FullMath_1 = require("./FullMath");
7
- const TickMath_1 = require("./TickMath");
8
- class OracleLibrary {
9
- static getBlockStartingTick(state, pool) {
10
- let { tick, observationIndex, observationCardinality } = state.dexPriceAggregator.uniswapV3Slot0[pool];
11
- // 2 observations are needed to reliably calculate the block starting tick
12
- (0, utils_1._require)(observationCardinality > 1n, 'NEO', { observationCardinality }, 'observationCardinality > 1n');
13
- // If the latest observation occurred in the past, then no tick-changing trades have happened in this block
14
- // therefore the tick in `slot0` is the same as at the beginning of the current block.
15
- // We don't need to check if this observation is initialized - it is guaranteed to be.
16
- const { blockTimestamp: observationTimestamp, tickCumulative } = state.dexPriceAggregator.uniswapV3Observations[pool][Number(observationIndex)];
17
- if (observationTimestamp !== BigInt.asUintN(32, state.blockTimestamp)) {
18
- return tick;
19
- }
20
- const prevIndex = OracleLibrary.getPrevIndex(observationIndex, observationCardinality);
21
- const { blockTimestamp: prevObservationTimestamp, tickCumulative: prevTickCumulative, initialized: prevInitialized, } = state.dexPriceAggregator.uniswapV3Observations[pool][Number(prevIndex)];
22
- (0, utils_1._require)(prevInitialized, 'ONI', { prevInitialized, pool }, 'prevInitialized');
23
- const delta = observationTimestamp - prevObservationTimestamp;
24
- tick = BigInt.asIntN(24, (tickCumulative - prevTickCumulative) / delta);
25
- return tick;
26
- }
27
- static getPrevIndex(observationIndex, observationCardinality) {
28
- return ((BigInt.asUintN(256, observationIndex) + observationCardinality - 1n) %
29
- BigInt(observationCardinality));
30
- }
31
- static consult(state, pool, secondsAgo) {
32
- (0, utils_1._require)(secondsAgo !== 0n, 'BP', { secondsAgo, pool }, 'secondsAgo !== 0n');
33
- const tickCumulatives = state.dexPriceAggregator.tickCumulatives[pool];
34
- const tickCumulativesDelta = tickCumulatives[1] - tickCumulatives[0];
35
- const arithmeticMeanTick = BigInt.asIntN(24, tickCumulativesDelta / secondsAgo);
36
- return arithmeticMeanTick;
37
- }
38
- static getQuoteAtTick(tick, baseAmount, baseToken, quoteToken) {
39
- const sqrtRatioX96 = TickMath_1.TickMath.getSqrtRatioAtTick(tick);
40
- let quoteAmount = 0n;
41
- // Calculate quoteAmount with better precision if it doesn't overflow when multiplied by itself
42
- if (sqrtRatioX96 <= bigint_constants_1.BI_MAX_UINT128) {
43
- const ratioX192 = BigInt.asUintN(256, sqrtRatioX96) * sqrtRatioX96;
44
- quoteAmount =
45
- baseToken < quoteToken
46
- ? FullMath_1.FullMath.mulDiv(ratioX192, baseAmount, 1n << 192n)
47
- : FullMath_1.FullMath.mulDiv(1n << 192n, baseAmount, ratioX192);
48
- }
49
- else {
50
- const ratioX128 = FullMath_1.FullMath.mulDiv(sqrtRatioX96, sqrtRatioX96, 1n << 64n);
51
- quoteAmount =
52
- baseToken < quoteToken
53
- ? FullMath_1.FullMath.mulDiv(ratioX128, baseAmount, 1n << 128n)
54
- : FullMath_1.FullMath.mulDiv(1n << 128n, baseAmount, ratioX128);
55
- }
56
- return quoteAmount;
57
- }
58
- }
59
- exports.OracleLibrary = OracleLibrary;
60
- //# sourceMappingURL=OracleLibrary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OracleLibrary.js","sourceRoot":"","sources":["../../../../src/dex/synthetix/contract-math/OracleLibrary.ts"],"names":[],"mappings":";;;AAAA,gEAA2D;AAE3D,0CAA0C;AAE1C,yCAAsC;AACtC,yCAAsC;AAEtC,MAAa,aAAa;IACxB,MAAM,CAAC,oBAAoB,CAAC,KAAgB,EAAE,IAAa;QACzD,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,GACpD,KAAK,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAEhD,0EAA0E;QAC1E,IAAA,gBAAQ,EACN,sBAAsB,GAAG,EAAE,EAC3B,KAAK,EACL,EAAE,sBAAsB,EAAE,EAC1B,6BAA6B,CAC9B,CAAC;QAEF,2GAA2G;QAC3G,sFAAsF;QACtF,sFAAsF;QACtF,MAAM,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,GAC5D,KAAK,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAClD,MAAM,CAAC,gBAAgB,CAAC,CACzB,CAAC;QAEJ,IAAI,oBAAoB,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAC1C,gBAAgB,EAChB,sBAAsB,CACvB,CAAC;QAEF,MAAM,EACJ,cAAc,EAAE,wBAAwB,EACxC,cAAc,EAAE,kBAAkB,EAClC,WAAW,EAAE,eAAe,GAC7B,GAAG,KAAK,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAE5E,IAAA,gBAAQ,EACN,eAAe,EACf,KAAK,EACL,EAAE,eAAe,EAAE,IAAI,EAAE,EACzB,iBAAiB,CAClB,CAAC;QAEF,MAAM,KAAK,GAAG,oBAAoB,GAAG,wBAAwB,CAAC;QAC9D,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,cAAc,GAAG,kBAAkB,CAAC,GAAG,KAAK,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,YAAY,CACjB,gBAAwB,EACxB,sBAA8B;QAE9B,OAAO,CACL,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,sBAAsB,GAAG,EAAE,CAAC;YACrE,MAAM,CAAC,sBAAsB,CAAC,CAC/B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,KAAgB,EAAE,IAAa,EAAE,UAAkB;QAChE,IAAA,gBAAQ,EACN,UAAU,KAAK,EAAE,EACjB,IAAI,EACJ,EAAE,UAAU,EAAE,IAAI,EAAE,EACpB,mBAAmB,CACpB,CAAC;QAEF,MAAM,eAAe,GAAG,KAAK,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAEvE,MAAM,oBAAoB,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAErE,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CACtC,EAAE,EACF,oBAAoB,GAAG,UAAU,CAClC,CAAC;QACF,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,cAAc,CACnB,IAAY,EACZ,UAAkB,EAClB,SAAkB,EAClB,UAAmB;QAEnB,MAAM,YAAY,GAAG,mBAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,+FAA+F;QAC/F,IAAI,YAAY,IAAI,iCAAc,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,YAAY,CAAC;YACnE,WAAW;gBACT,SAAS,GAAG,UAAU;oBACpB,CAAC,CAAC,mBAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,IAAI,IAAI,CAAC;oBACpD,CAAC,CAAC,mBAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,mBAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC;YACzE,WAAW;gBACT,SAAS,GAAG,UAAU;oBACpB,CAAC,CAAC,mBAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,IAAI,IAAI,CAAC;oBACpD,CAAC,CAAC,mBAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AArGD,sCAqGC"}
@@ -1,9 +0,0 @@
1
- export declare class SafeDecimalMath {
2
- static get unit(): bigint;
3
- static multiplyDecimal(x: bigint, y: bigint): bigint;
4
- static divideDecimalRound(x: bigint, y: bigint): bigint;
5
- static _divideDecimalRound(x: bigint, y: bigint, precisionUnit: bigint): bigint;
6
- static multiplyDecimalRound(x: bigint, y: bigint): bigint;
7
- static _multiplyDecimalRound(x: bigint, y: bigint, precisionUnit: bigint): bigint;
8
- static divideDecimal(x: bigint, y: bigint): bigint;
9
- }
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SafeDecimalMath = void 0;
4
- const bigint_constants_1 = require("../../../bigint-constants");
5
- const decimals = 18;
6
- const UNIT = bigint_constants_1.BI_POWS[decimals];
7
- class SafeDecimalMath {
8
- static get unit() {
9
- return UNIT;
10
- }
11
- static multiplyDecimal(x, y) {
12
- /* Divide by UNIT to remove the extra factor introduced by the product. */
13
- return (x * y) / UNIT;
14
- }
15
- static divideDecimalRound(x, y) {
16
- return SafeDecimalMath._divideDecimalRound(x, y, UNIT);
17
- }
18
- static _divideDecimalRound(x, y, precisionUnit) {
19
- let resultTimesTen = (x * (precisionUnit * 10n)) / y;
20
- if (resultTimesTen % 10n >= 5n) {
21
- resultTimesTen += 10n;
22
- }
23
- return resultTimesTen / 10n;
24
- }
25
- static multiplyDecimalRound(x, y) {
26
- return SafeDecimalMath._multiplyDecimalRound(x, y, UNIT);
27
- }
28
- static _multiplyDecimalRound(x, y, precisionUnit) {
29
- let quotientTimesTen = (x * y) / (precisionUnit / 10n);
30
- if (quotientTimesTen % 10n >= 5n) {
31
- quotientTimesTen += 10n;
32
- }
33
- return quotientTimesTen / 10n;
34
- }
35
- static divideDecimal(x, y) {
36
- /* Reintroduce the UNIT factor that will be divided out by y. */
37
- return (x * UNIT) / y;
38
- }
39
- }
40
- exports.SafeDecimalMath = SafeDecimalMath;
41
- //# sourceMappingURL=SafeDecimalMath.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SafeDecimalMath.js","sourceRoot":"","sources":["../../../../src/dex/synthetix/contract-math/SafeDecimalMath.ts"],"names":[],"mappings":";;;AAAA,gEAAoD;AAEpD,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,MAAM,IAAI,GAAG,0BAAO,CAAC,QAAQ,CAAC,CAAC;AAE/B,MAAa,eAAe;IAC1B,MAAM,KAAK,IAAI;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,CAAS,EAAE,CAAS;QACzC,0EAA0E;QAC1E,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,CAAS,EAAE,CAAS;QAC5C,OAAO,eAAe,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,CAAS,EAAE,CAAS,EAAE,aAAqB;QACpE,IAAI,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAErD,IAAI,cAAc,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC;YAC/B,cAAc,IAAI,GAAG,CAAC;QACxB,CAAC;QAED,OAAO,cAAc,GAAG,GAAG,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,CAAS,EAAE,CAAS;QAC9C,OAAO,eAAe,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,CAAS,EAAE,CAAS,EAAE,aAAqB;QACtE,IAAI,gBAAgB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC;QAEvD,IAAI,gBAAgB,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC;YACjC,gBAAgB,IAAI,GAAG,CAAC;QAC1B,CAAC;QAED,OAAO,gBAAgB,GAAG,GAAG,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,CAAS,EAAE,CAAS;QACvC,gEAAgE;QAChE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;CACF;AA1CD,0CA0CC"}
@@ -1,7 +0,0 @@
1
- export declare class TickMath {
2
- static readonly MIN_TICK = -887272n;
3
- static readonly MAX_TICK: bigint;
4
- static readonly MIN_SQRT_RATIO = 4295128739n;
5
- static readonly MAX_SQRT_RATIO = 1461446703485210103287273052203988822378723970342n;
6
- static getSqrtRatioAtTick(tick: bigint): bigint;
7
- }
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TickMath = void 0;
4
- const bigint_constants_1 = require("../../../bigint-constants");
5
- const utils_1 = require("../../../utils");
6
- class TickMath {
7
- static MIN_TICK = -887272n;
8
- static MAX_TICK = -TickMath.MIN_TICK;
9
- static MIN_SQRT_RATIO = 4295128739n;
10
- static MAX_SQRT_RATIO = 1461446703485210103287273052203988822378723970342n;
11
- static getSqrtRatioAtTick(tick) {
12
- const absTick = tick < 0n
13
- ? BigInt.asUintN(256, -BigInt.asIntN(256, tick))
14
- : BigInt.asUintN(256, BigInt.asIntN(256, tick));
15
- (0, utils_1._require)(absTick <= BigInt.asUintN(256, TickMath.MAX_TICK), 'T', { absTick }, 'absTick <= BigInt.asUintN(256, TickMath.MAX_TICK)');
16
- let ratio = (absTick & 0x1n) !== 0n
17
- ? 0xfffcb933bd6fad37aa2d162d1a594001n
18
- : 0x100000000000000000000000000000000n;
19
- if ((absTick & 0x2n) !== 0n)
20
- ratio = (ratio * 0xfff97272373d413259a46990580e213an) >> 128n;
21
- if ((absTick & 0x4n) !== 0n)
22
- ratio = (ratio * 0xfff2e50f5f656932ef12357cf3c7fdccn) >> 128n;
23
- if ((absTick & 0x8n) !== 0n)
24
- ratio = (ratio * 0xffe5caca7e10e4e61c3624eaa0941cd0n) >> 128n;
25
- if ((absTick & 0x10n) !== 0n)
26
- ratio = (ratio * 0xffcb9843d60f6159c9db58835c926644n) >> 128n;
27
- if ((absTick & 0x20n) !== 0n)
28
- ratio = (ratio * 0xff973b41fa98c081472e6896dfb254c0n) >> 128n;
29
- if ((absTick & 0x40n) !== 0n)
30
- ratio = (ratio * 0xff2ea16466c96a3843ec78b326b52861n) >> 128n;
31
- if ((absTick & 0x80n) !== 0n)
32
- ratio = (ratio * 0xfe5dee046a99a2a811c461f1969c3053n) >> 128n;
33
- if ((absTick & 0x100n) !== 0n)
34
- ratio = (ratio * 0xfcbe86c7900a88aedcffc83b479aa3a4n) >> 128n;
35
- if ((absTick & 0x200n) !== 0n)
36
- ratio = (ratio * 0xf987a7253ac413176f2b074cf7815e54n) >> 128n;
37
- if ((absTick & 0x400n) !== 0n)
38
- ratio = (ratio * 0xf3392b0822b70005940c7a398e4b70f3n) >> 128n;
39
- if ((absTick & 0x800n) !== 0n)
40
- ratio = (ratio * 0xe7159475a2c29b7443b29c7fa6e889d9n) >> 128n;
41
- if ((absTick & 0x1000n) !== 0n)
42
- ratio = (ratio * 0xd097f3bdfd2022b8845ad8f792aa5825n) >> 128n;
43
- if ((absTick & 0x2000n) !== 0n)
44
- ratio = (ratio * 0xa9f746462d870fdf8a65dc1f90e061e5n) >> 128n;
45
- if ((absTick & 0x4000n) !== 0n)
46
- ratio = (ratio * 0x70d869a156d2a1b890bb3df62baf32f7n) >> 128n;
47
- if ((absTick & 0x8000n) !== 0n)
48
- ratio = (ratio * 0x31be135f97d08fd981231505542fcfa6n) >> 128n;
49
- if ((absTick & 0x10000n) !== 0n)
50
- ratio = (ratio * 0x9aa508b5b7a84e1c677de54f3e99bc9n) >> 128n;
51
- if ((absTick & 0x20000n) !== 0n)
52
- ratio = (ratio * 0x5d6af8dedb81196699c329225ee604n) >> 128n;
53
- if ((absTick & 0x40000n) !== 0n)
54
- ratio = (ratio * 0x2216e584f5fa1ea926041bedfe98n) >> 128n;
55
- if ((absTick & 0x80000n) !== 0n)
56
- ratio = (ratio * 0x48a170391f7dc42444e8fa2n) >> 128n;
57
- if (tick > 0)
58
- ratio = bigint_constants_1.BI_MAX_UINT256 / ratio;
59
- return BigInt.asUintN(160, (ratio >> 32n) + (ratio % (1n << 32n) == 0n ? 0n : 1n));
60
- }
61
- }
62
- exports.TickMath = TickMath;
63
- //# sourceMappingURL=TickMath.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TickMath.js","sourceRoot":"","sources":["../../../../src/dex/synthetix/contract-math/TickMath.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { PoolState } from '../types';
2
- export declare class SynthetixMath {
3
- getAmountsForAtomicExchange(state: PoolState, sourceAmount: bigint, sourceCurrencyKey: string, destinationCurrencyKey: string): bigint;
4
- getAmountsForExchange(state: PoolState, sourceAmount: bigint, sourceCurrencyKey: string, destinationCurrencyKey: string): bigint;
5
- private _feeRateForExchange;
6
- private _dynamicFeeRateForExchange;
7
- private _dynamicFeeRateForCurrency;
8
- private _dynamicFeeRateForCurrencyRound;
9
- private _dynamicFeeCalculation;
10
- private _thresholdedAbsDeviationRatio;
11
- private _getAmountsForAtomicExchangeMinusFees;
12
- private _feeRateForAtomicExchange;
13
- private _deductFeesFromAmount;
14
- private _getAtomicExchangeFeeRate;
15
- private _getExchangeFeeRate;
16
- }
17
- export declare const synthetixMath: SynthetixMath;
@@ -1,127 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.synthetixMath = exports.SynthetixMath = void 0;
4
- const utils_1 = require("../../../utils");
5
- const ExchangeRates_1 = require("./ExchangeRates");
6
- const ExchangeRatesWithDexPricing_1 = require("./ExchangeRatesWithDexPricing");
7
- const SafeDecimalMath_1 = require("./SafeDecimalMath");
8
- class SynthetixMath {
9
- getAmountsForAtomicExchange(state, sourceAmount, sourceCurrencyKey, destinationCurrencyKey) {
10
- const [amountReceived] = this._getAmountsForAtomicExchangeMinusFees(state, sourceAmount, sourceCurrencyKey, destinationCurrencyKey);
11
- return amountReceived;
12
- }
13
- getAmountsForExchange(state, sourceAmount, sourceCurrencyKey, destinationCurrencyKey) {
14
- const [exchangeFeeRate, tooVolatile] = this._feeRateForExchange(state, sourceCurrencyKey, destinationCurrencyKey);
15
- // check rates volatility result
16
- (0, utils_1._require)(!tooVolatile, 'exchange rates too volatile', { sourceAmount, sourceCurrencyKey, destinationCurrencyKey, tooVolatile }, '!tooVolatile');
17
- const destinationAmount = ExchangeRates_1.exchangeRates.effectiveValueAndRates(state, sourceCurrencyKey, sourceAmount, destinationCurrencyKey);
18
- return this._deductFeesFromAmount(destinationAmount, exchangeFeeRate);
19
- }
20
- _feeRateForExchange(state, sourceCurrencyKey, destinationCurrencyKey) {
21
- // Get the exchange fee rate as per the source currencyKey and destination currencyKey
22
- const baseRate = this._getExchangeFeeRate(state, sourceCurrencyKey) +
23
- this._getExchangeFeeRate(state, destinationCurrencyKey);
24
- const [dynamicFee, tooVolatile] = this._dynamicFeeRateForExchange(state, sourceCurrencyKey, destinationCurrencyKey);
25
- return [baseRate + dynamicFee, tooVolatile];
26
- }
27
- _dynamicFeeRateForExchange(state, sourceCurrencyKey, destinationCurrencyKey) {
28
- const [dynamicFeeDst, dstVolatile] = this._dynamicFeeRateForCurrency(state, destinationCurrencyKey);
29
- const [dynamicFeeSrc, srcVolatile] = this._dynamicFeeRateForCurrency(state, sourceCurrencyKey);
30
- let dynamicFee = dynamicFeeDst + dynamicFeeSrc;
31
- // cap to maxFee
32
- const overMax = dynamicFee > state.exchangeDynamicFeeConfig.maxFee;
33
- dynamicFee = overMax ? state.exchangeDynamicFeeConfig.maxFee : dynamicFee;
34
- return [dynamicFee, overMax || dstVolatile || srcVolatile];
35
- }
36
- _dynamicFeeRateForCurrency(state, currencyKey) {
37
- // no dynamic dynamicFee for sUSD or too few rounds
38
- if (currencyKey === state.sUSDCurrencyKey ||
39
- state.exchangeDynamicFeeConfig.rounds <= 1) {
40
- return [0n, false];
41
- }
42
- const roundId = ExchangeRates_1.exchangeRates.getCurrentRoundId(state, currencyKey);
43
- return this._dynamicFeeRateForCurrencyRound(state, currencyKey, roundId);
44
- }
45
- _dynamicFeeRateForCurrencyRound(state, currencyKey, roundId) {
46
- // no dynamic dynamicFee for sUSD or too few rounds
47
- if (currencyKey == state.sUSDCurrencyKey ||
48
- state.exchangeDynamicFeeConfig.rounds <= 1) {
49
- return [0n, false];
50
- }
51
- const [prices] = ExchangeRates_1.exchangeRates.ratesAndUpdatedTimeForCurrencyLastNRounds(state, currencyKey, state.exchangeDynamicFeeConfig.rounds, roundId);
52
- let dynamicFee = this._dynamicFeeCalculation(prices, state.exchangeDynamicFeeConfig.threshold, state.exchangeDynamicFeeConfig.weightDecay);
53
- // cap to maxFee
54
- const overMax = dynamicFee > state.exchangeDynamicFeeConfig.maxFee;
55
- dynamicFee = overMax ? state.exchangeDynamicFeeConfig.maxFee : dynamicFee;
56
- return [dynamicFee, overMax];
57
- }
58
- _dynamicFeeCalculation(prices, threshold, weightDecay) {
59
- // don't underflow
60
- if (prices.length == 0) {
61
- return 0n;
62
- }
63
- let dynamicFee = 0n; // start with 0
64
- // go backwards in price array
65
- for (let i = prices.length - 1; i > 0; i--) {
66
- // apply decay from previous round (will be 0 for first round)
67
- dynamicFee = SafeDecimalMath_1.SafeDecimalMath.multiplyDecimal(dynamicFee, weightDecay);
68
- // calculate price deviation
69
- const deviation = this._thresholdedAbsDeviationRatio(prices[i - 1], prices[i], threshold);
70
- // add to total fee
71
- dynamicFee = dynamicFee + deviation;
72
- }
73
- return dynamicFee;
74
- }
75
- _thresholdedAbsDeviationRatio(price, previousPrice, threshold) {
76
- if (previousPrice === 0n) {
77
- return 0n; // don't divide by zero
78
- }
79
- // abs difference between prices
80
- const absDelta = price > previousPrice ? price - previousPrice : previousPrice - price;
81
- // relative to previous price
82
- const deviationRatio = SafeDecimalMath_1.SafeDecimalMath.divideDecimal(absDelta, previousPrice);
83
- // only the positive difference from threshold
84
- return deviationRatio > threshold ? deviationRatio - threshold : 0n;
85
- }
86
- _getAmountsForAtomicExchangeMinusFees(state, sourceAmount, sourceCurrencyKey, destinationCurrencyKey) {
87
- let amountReceived = 0n;
88
- let fee = 0n;
89
- let exchangeFeeRate = 0n;
90
- let [destinationAmount, systemConvertedAmount, systemSourceRate, systemDestinationRate,] = ExchangeRatesWithDexPricing_1.exchangeRatesWithDexPricing.effectiveAtomicValueAndRates(state, sourceCurrencyKey, sourceAmount, destinationCurrencyKey);
91
- exchangeFeeRate = this._feeRateForAtomicExchange(state, sourceCurrencyKey, destinationCurrencyKey);
92
- amountReceived = this._deductFeesFromAmount(destinationAmount, exchangeFeeRate);
93
- fee = destinationAmount - amountReceived;
94
- return [
95
- amountReceived,
96
- fee,
97
- exchangeFeeRate,
98
- systemConvertedAmount,
99
- systemSourceRate,
100
- systemDestinationRate,
101
- ];
102
- }
103
- _feeRateForAtomicExchange(state, sourceCurrencyKey, destinationCurrencyKey) {
104
- let baseRate = this._getAtomicExchangeFeeRate(state, sourceCurrencyKey) +
105
- this._getAtomicExchangeFeeRate(state, destinationCurrencyKey);
106
- if (baseRate === 0n) {
107
- baseRate =
108
- this._getExchangeFeeRate(state, sourceCurrencyKey) +
109
- this._getExchangeFeeRate(state, destinationCurrencyKey);
110
- }
111
- return baseRate;
112
- }
113
- _deductFeesFromAmount(destinationAmount, exchangeFeeRate) {
114
- return SafeDecimalMath_1.SafeDecimalMath.multiplyDecimal(destinationAmount, SafeDecimalMath_1.SafeDecimalMath.unit - exchangeFeeRate);
115
- }
116
- _getAtomicExchangeFeeRate(state, currencyKey) {
117
- // Onchain call adapted into state retrieval
118
- return state.atomicExchangeFeeRate[currencyKey];
119
- }
120
- _getExchangeFeeRate(state, currencyKey) {
121
- // Onchain call adapted into state retrieval
122
- return state.exchangeFeeRate[currencyKey];
123
- }
124
- }
125
- exports.SynthetixMath = SynthetixMath;
126
- exports.synthetixMath = new SynthetixMath();
127
- //# sourceMappingURL=synthetix-math.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"synthetix-math.js","sourceRoot":"","sources":["../../../../src/dex/synthetix/contract-math/synthetix-math.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAE1C,mDAAgD;AAChD,+EAA4E;AAC5E,uDAAoD;AAEpD,MAAa,aAAa;IACxB,2BAA2B,CACzB,KAAgB,EAChB,YAAoB,EACpB,iBAAyB,EACzB,sBAA8B;QAE9B,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,qCAAqC,CACjE,KAAK,EACL,YAAY,EACZ,iBAAiB,EACjB,sBAAsB,CACvB,CAAC;QACF,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,qBAAqB,CACnB,KAAgB,EAChB,YAAoB,EACpB,iBAAyB,EACzB,sBAA8B;QAE9B,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAC7D,KAAK,EACL,iBAAiB,EACjB,sBAAsB,CACvB,CAAC;QAEF,gCAAgC;QAChC,IAAA,gBAAQ,EACN,CAAC,WAAW,EACZ,6BAA6B,EAC7B,EAAE,YAAY,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,WAAW,EAAE,EACxE,cAAc,CACf,CAAC;QAEF,MAAM,iBAAiB,GAAG,6BAAa,CAAC,sBAAsB,CAC5D,KAAK,EACL,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,CACvB,CAAC;QAEF,OAAO,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IACxE,CAAC;IAEO,mBAAmB,CACzB,KAAgB,EAChB,iBAAyB,EACzB,sBAA8B;QAE9B,sFAAsF;QACtF,MAAM,QAAQ,GACZ,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,CAAC;YAClD,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;QAE1D,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAC/D,KAAK,EACL,iBAAiB,EACjB,sBAAsB,CACvB,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,UAAU,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAEO,0BAA0B,CAChC,KAAgB,EAChB,iBAAyB,EACzB,sBAA8B;QAE9B,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAClE,KAAK,EACL,sBAAsB,CACvB,CAAC;QACF,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAClE,KAAK,EACL,iBAAiB,CAClB,CAAC;QACF,IAAI,UAAU,GAAG,aAAa,GAAG,aAAa,CAAC;QAC/C,gBAAgB;QAChB,MAAM,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC;QACnE,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;QAC1E,OAAO,CAAC,UAAU,EAAE,OAAO,IAAI,WAAW,IAAI,WAAW,CAAC,CAAC;IAC7D,CAAC;IAEO,0BAA0B,CAChC,KAAgB,EAChB,WAAmB;QAEnB,mDAAmD;QACnD,IACE,WAAW,KAAK,KAAK,CAAC,eAAe;YACrC,KAAK,CAAC,wBAAwB,CAAC,MAAM,IAAI,CAAC,EAC1C,CAAC;YACD,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,OAAO,GAAG,6BAAa,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,+BAA+B,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAEO,+BAA+B,CACrC,KAAgB,EAChB,WAAmB,EACnB,OAAe;QAEf,mDAAmD;QACnD,IACE,WAAW,IAAI,KAAK,CAAC,eAAe;YACpC,KAAK,CAAC,wBAAwB,CAAC,MAAM,IAAI,CAAC,EAC1C,CAAC;YACD,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,GAAG,6BAAa,CAAC,yCAAyC,CACtE,KAAK,EACL,WAAW,EACX,KAAK,CAAC,wBAAwB,CAAC,MAAM,EACrC,OAAO,CACR,CAAC;QACF,IAAI,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAC1C,MAAM,EACN,KAAK,CAAC,wBAAwB,CAAC,SAAS,EACxC,KAAK,CAAC,wBAAwB,CAAC,WAAW,CAC3C,CAAC;QACF,gBAAgB;QAChB,MAAM,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC;QACnE,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;QAC1E,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAEO,sBAAsB,CAC5B,MAAgB,EAChB,SAAiB,EACjB,WAAmB;QAEnB,kBAAkB;QAClB,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,UAAU,GAAG,EAAE,CAAC,CAAC,eAAe;QACpC,8BAA8B;QAC9B,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,8DAA8D;YAC9D,UAAU,GAAG,iCAAe,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACtE,4BAA4B;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,6BAA6B,CAClD,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EACb,MAAM,CAAC,CAAC,CAAC,EACT,SAAS,CACV,CAAC;YACF,mBAAmB;YACnB,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;QACtC,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,6BAA6B,CACnC,KAAa,EACb,aAAqB,EACrB,SAAiB;QAEjB,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC,CAAC,uBAAuB;QACpC,CAAC;QACD,gCAAgC;QAChC,MAAM,QAAQ,GACZ,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC;QACxE,6BAA6B;QAC7B,MAAM,cAAc,GAAG,iCAAe,CAAC,aAAa,CAClD,QAAQ,EACR,aAAa,CACd,CAAC;QACF,8CAA8C;QAC9C,OAAO,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,CAAC;IAEO,qCAAqC,CAC3C,KAAgB,EAChB,YAAoB,EACpB,iBAAyB,EACzB,sBAA8B;QAE9B,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,eAAe,GAAG,EAAE,CAAC;QAEzB,IAAI,CACF,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACtB,GAAG,yDAA2B,CAAC,4BAA4B,CAC1D,KAAK,EACL,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,CACvB,CAAC;QAEF,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAC9C,KAAK,EACL,iBAAiB,EACjB,sBAAsB,CACvB,CAAC;QACF,cAAc,GAAG,IAAI,CAAC,qBAAqB,CACzC,iBAAiB,EACjB,eAAe,CAChB,CAAC;QACF,GAAG,GAAG,iBAAiB,GAAG,cAAc,CAAC;QAEzC,OAAO;YACL,cAAc;YACd,GAAG;YACH,eAAe;YACf,qBAAqB;YACrB,gBAAgB;YAChB,qBAAqB;SACtB,CAAC;IACJ,CAAC;IAEO,yBAAyB,CAC/B,KAAgB,EAChB,iBAAyB,EACzB,sBAA8B;QAE9B,IAAI,QAAQ,GACV,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,iBAAiB,CAAC;YACxD,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;QAEhE,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;YACpB,QAAQ;gBACN,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,CAAC;oBAClD,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,qBAAqB,CAC3B,iBAAyB,EACzB,eAAuB;QAEvB,OAAO,iCAAe,CAAC,eAAe,CACpC,iBAAiB,EACjB,iCAAe,CAAC,IAAI,GAAG,eAAe,CACvC,CAAC;IACJ,CAAC;IAEO,yBAAyB,CAC/B,KAAgB,EAChB,WAAmB;QAEnB,4CAA4C;QAC5C,OAAO,KAAK,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAEO,mBAAmB,CAAC,KAAgB,EAAE,WAAmB;QAC/D,4CAA4C;QAC5C,OAAO,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;CACF;AAjQD,sCAiQC;AAEY,QAAA,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
@@ -1,36 +0,0 @@
1
- import { Interface } from '@ethersproject/abi';
2
- import { IDexHelper } from '../../dex-helper';
3
- import { MultiWrapper } from '../../lib/multi-wrapper';
4
- import { Logger } from '../../types';
5
- import { DexParams, OnchainConfigValues, PoolState } from './types';
6
- export declare class SynthetixState {
7
- private dexKey;
8
- private dexHelper;
9
- private combinedIface;
10
- private config;
11
- private onchainConfigValueUpdateFrequencyInMs;
12
- logger: Logger;
13
- fullState?: {
14
- blockNumber: number;
15
- updatedAtInMs: number;
16
- values: PoolState;
17
- };
18
- isStateSynching: boolean;
19
- private readonly _onchainConfigValues;
20
- constructor(dexKey: string, dexHelper: IDexHelper, combinedIface: Interface, config: DexParams, onchainConfigValueUpdateFrequencyInMs?: number);
21
- get multiWrapper(): MultiWrapper;
22
- get onchainConfigValuesWithUndefined(): OnchainConfigValues | undefined;
23
- get onchainConfigValues(): OnchainConfigValues;
24
- updateOnchainConfigValues(blockNumber?: number): Promise<void>;
25
- getState(): PoolState | undefined;
26
- updateOnchainState(blockNumber?: number): Promise<PoolState | undefined>;
27
- getOnchainConfigValues(blockNumber?: number): Promise<OnchainConfigValues>;
28
- private _buildObserveSlot0SuspensionsLatestRoundCallData;
29
- private _buildObservationsRoundAndOverriddenCallData;
30
- private _buildOneOverriddenCallData;
31
- private _buildOverriddenCallData;
32
- private _buildOverriddenAndDecimalsCallData;
33
- private _buildFlexibleStorageCurrencyCallData;
34
- private _buildResolverAggregatorAndCurrencyCallData;
35
- private _buildInitialStateCallData;
36
- }