@paraswap/dex-lib 4.8.23 → 4.8.24

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 (644) 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/dexalot/config.js +4 -4
  5. package/build/dex/native/constants.d.ts +1 -0
  6. package/build/dex/native/constants.js +2 -1
  7. package/build/dex/native/constants.js.map +1 -1
  8. package/build/dex/native/rate-fetcher.d.ts +1 -0
  9. package/build/dex/native/rate-fetcher.js +40 -0
  10. package/build/dex/native/rate-fetcher.js.map +1 -1
  11. package/build/dex/native/types.d.ts +1 -0
  12. package/build/dex/native/validators.js +1 -0
  13. package/build/dex/native/validators.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/{maker-psm → renegade/api}/types.js.map +1 -1
  54. package/build/dex/{se-vlr → 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/package.json +1 -1
  73. package/build/abi/AaveV2_lending_pool.json +0 -53
  74. package/build/abi/BProtocol.json +0 -1155
  75. package/build/abi/Bancor.json +0 -392
  76. package/build/abi/Compound_CETH.json +0 -12
  77. package/build/abi/Jarvis.json +0 -1172
  78. package/build/abi/MStableAsset.json +0 -1545
  79. package/build/abi/OneInchLp.json +0 -1304
  80. package/build/abi/Onebit.json +0 -736
  81. package/build/abi/SSPM.json +0 -829
  82. package/build/abi/Shell.json +0 -1294
  83. package/build/abi/Smoothy.json +0 -1049
  84. package/build/abi/StaderOracle.json +0 -2170
  85. package/build/abi/TraderJoeV2Router.json +0 -50
  86. package/build/abi/aave-weth-gateway-avalanche.json +0 -242
  87. package/build/abi/aave-weth-gateway-polygon.json +0 -242
  88. package/build/abi/aave-weth-gateway.json +0 -24
  89. package/build/abi/bunni-v2/BunniHook.abi.json +0 -1921
  90. package/build/abi/bunni-v2/BunniHub.abi.json +0 -1598
  91. package/build/abi/bunni-v2/BunniToken.abi.json +0 -833
  92. package/build/abi/bunni-v2/FeeOverrideHooklet.abi.json +0 -1947
  93. package/build/abi/bunni-v2/FloodPlain.abi.json +0 -1195
  94. package/build/abi/bunni-v2/PoolManager.abi.json +0 -1366
  95. package/build/abi/bunni-v2/V4Quoter.abi.json +0 -637
  96. package/build/abi/concentrator/arUSD.json +0 -568
  97. package/build/abi/concentrator/arUSD5115.json +0 -1746
  98. package/build/abi/gmx/fast-price-events.json +0 -70
  99. package/build/abi/gmx/fast-price-feed.json +0 -748
  100. package/build/abi/gmx/reader.json +0 -337
  101. package/build/abi/gmx/vault-price-feed.json +0 -477
  102. package/build/abi/gmx/vault.json +0 -2002
  103. package/build/abi/idle-dao/idle-cdo-factory.json +0 -38
  104. package/build/abi/idle-dao/idle-cdo.json +0 -1245
  105. package/build/abi/infusion/InfusionFactory.json +0 -147
  106. package/build/abi/infusion/InfusionPair.json +0 -658
  107. package/build/abi/infusion/InfusionRouter.json +0 -442
  108. package/build/abi/jarvis/ChainlinkAccessControlledOffchainAggregator.json +0 -1009
  109. package/build/abi/jarvis/SynthereumPriceFeed.json +0 -381
  110. package/build/abi/jarvis/jarvis-v6-pool.json +0 -1041
  111. package/build/abi/kyberdmm/kyber-dmm-exchange-router.abi.json +0 -1148
  112. package/build/abi/kyberdmm/kyber-dmm-factory.abi.json +0 -335
  113. package/build/abi/kyberdmm/kyber-dmm-pool.abi.json +0 -803
  114. package/build/abi/maker-psm/pot.json +0 -322
  115. package/build/abi/maker-psm/psm.json +0 -243
  116. package/build/abi/maker-psm/vat.json +0 -363
  117. package/build/abi/nomiswap-v2/nomiswap-v2-pool.json +0 -773
  118. package/build/abi/quick-perps/fast-price-events.json +0 -70
  119. package/build/abi/quick-perps/fast-price-feed.json +0 -741
  120. package/build/abi/quick-perps/reader.json +0 -313
  121. package/build/abi/quick-perps/vault-price-feed.json +0 -323
  122. package/build/abi/quick-perps/vault.json +0 -1953
  123. package/build/abi/synthetix/CombinedSynthetix.abi.json +0 -442
  124. package/build/abi/uniswap-v2/excalibur-pool.json +0 -881
  125. package/build/abi/uniswap-v2/mdex-factory.json +0 -759
  126. package/build/abi/wUSDM.json +0 -757
  127. package/build/abi/wombat/asset.json +0 -743
  128. package/build/abi/wombat/bmw.json +0 -1247
  129. package/build/abi/wombat/pool-v2.json +0 -1289
  130. package/build/abi/wombat/pool-v3.json +0 -2013
  131. package/build/abi/zrx.v2.json +0 -1967
  132. package/build/abi/zrx.v3.json +0 -3454
  133. package/build/abi/zrx.v4.json +0 -2193
  134. package/build/dex/OneInchLp.d.ts +0 -24
  135. package/build/dex/OneInchLp.js +0 -43
  136. package/build/dex/OneInchLp.js.map +0 -1
  137. package/build/dex/aave-v2/aave-v2.d.ts +0 -33
  138. package/build/dex/aave-v2/aave-v2.js +0 -328
  139. package/build/dex/aave-v2/aave-v2.js.map +0 -1
  140. package/build/dex/aave-v2/config.d.ts +0 -14
  141. package/build/dex/aave-v2/config.js +0 -49
  142. package/build/dex/aave-v2/config.js.map +0 -1
  143. package/build/dex/aave-v2/tokenlist.json +0 -904
  144. package/build/dex/aave-v2/tokens.d.ts +0 -8
  145. package/build/dex/aave-v2/tokens.js +0 -65
  146. package/build/dex/aave-v2/tokens.js.map +0 -1
  147. package/build/dex/aave-v2/types.d.ts +0 -33
  148. package/build/dex/aave-v2/types.js +0 -11
  149. package/build/dex/aave-v2/types.js.map +0 -1
  150. package/build/dex/bProtocol/bProtocol.d.ts +0 -15
  151. package/build/dex/bProtocol/bProtocol.js +0 -56
  152. package/build/dex/bProtocol/bProtocol.js.map +0 -1
  153. package/build/dex/bProtocol/types.d.ts +0 -11
  154. package/build/dex/bProtocol/types.js +0 -8
  155. package/build/dex/bProtocol/types.js.map +0 -1
  156. package/build/dex/bancor/bancor.d.ts +0 -15
  157. package/build/dex/bancor/bancor.js +0 -74
  158. package/build/dex/bancor/bancor.js.map +0 -1
  159. package/build/dex/bancor/config.d.ts +0 -6
  160. package/build/dex/bancor/config.js +0 -11
  161. package/build/dex/bancor/config.js.map +0 -1
  162. package/build/dex/bancor/types.d.ts +0 -16
  163. package/build/dex/bancor/types.js +0 -8
  164. package/build/dex/bancor/types.js.map +0 -1
  165. package/build/dex/bunni-v2/bunni-v2-pool.d.ts +0 -62
  166. package/build/dex/bunni-v2/bunni-v2-pool.js +0 -505
  167. package/build/dex/bunni-v2/bunni-v2-pool.js.map +0 -1
  168. package/build/dex/bunni-v2/bunni-v2.d.ts +0 -51
  169. package/build/dex/bunni-v2/bunni-v2.js +0 -460
  170. package/build/dex/bunni-v2/bunni-v2.js.map +0 -1
  171. package/build/dex/bunni-v2/config.d.ts +0 -3
  172. package/build/dex/bunni-v2/config.js +0 -130
  173. package/build/dex/bunni-v2/config.js.map +0 -1
  174. package/build/dex/bunni-v2/encoder.d.ts +0 -19
  175. package/build/dex/bunni-v2/encoder.js.map +0 -1
  176. package/build/dex/bunni-v2/getOnChainState.d.ts +0 -26
  177. package/build/dex/bunni-v2/getOnChainState.js +0 -493
  178. package/build/dex/bunni-v2/getOnChainState.js.map +0 -1
  179. package/build/dex/bunni-v2/hook/BunniSwapMath.d.ts +0 -7
  180. package/build/dex/bunni-v2/hook/BunniSwapMath.js +0 -198
  181. package/build/dex/bunni-v2/hook/BunniSwapMath.js.map +0 -1
  182. package/build/dex/bunni-v2/hook/SwapMath.d.ts +0 -8
  183. package/build/dex/bunni-v2/hook/SwapMath.js +0 -65
  184. package/build/dex/bunni-v2/hook/SwapMath.js.map +0 -1
  185. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.d.ts +0 -33
  186. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.js +0 -33
  187. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.js.map +0 -1
  188. package/build/dex/bunni-v2/hooklet/index.d.ts +0 -21
  189. package/build/dex/bunni-v2/hooklet/index.js +0 -64
  190. package/build/dex/bunni-v2/hooklet/index.js.map +0 -1
  191. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.d.ts +0 -70
  192. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.js +0 -277
  193. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.js.map +0 -1
  194. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.d.ts +0 -64
  195. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.js +0 -262
  196. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.js.map +0 -1
  197. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.d.ts +0 -60
  198. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.js +0 -224
  199. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.js.map +0 -1
  200. package/build/dex/bunni-v2/ldf/GeometricDistribution.d.ts +0 -56
  201. package/build/dex/bunni-v2/ldf/GeometricDistribution.js +0 -489
  202. package/build/dex/bunni-v2/ldf/GeometricDistribution.js.map +0 -1
  203. package/build/dex/bunni-v2/ldf/LDFType.d.ts +0 -5
  204. package/build/dex/bunni-v2/ldf/LDFType.js +0 -10
  205. package/build/dex/bunni-v2/ldf/LDFType.js.map +0 -1
  206. package/build/dex/bunni-v2/ldf/ShiftMode.d.ts +0 -7
  207. package/build/dex/bunni-v2/ldf/ShiftMode.js +0 -19
  208. package/build/dex/bunni-v2/ldf/ShiftMode.js.map +0 -1
  209. package/build/dex/bunni-v2/ldf/UniformDistribution.d.ts +0 -55
  210. package/build/dex/bunni-v2/ldf/UniformDistribution.js +0 -291
  211. package/build/dex/bunni-v2/ldf/UniformDistribution.js.map +0 -1
  212. package/build/dex/bunni-v2/ldf/index.d.ts +0 -15
  213. package/build/dex/bunni-v2/ldf/index.js +0 -21
  214. package/build/dex/bunni-v2/ldf/index.js.map +0 -1
  215. package/build/dex/bunni-v2/lib/AmAmmPayload.d.ts +0 -4
  216. package/build/dex/bunni-v2/lib/AmAmmPayload.js +0 -10
  217. package/build/dex/bunni-v2/lib/AmAmmPayload.js.map +0 -1
  218. package/build/dex/bunni-v2/lib/BitMath.d.ts +0 -4
  219. package/build/dex/bunni-v2/lib/BitMath.js +0 -24
  220. package/build/dex/bunni-v2/lib/BitMath.js.map +0 -1
  221. package/build/dex/bunni-v2/lib/Constants.d.ts +0 -15
  222. package/build/dex/bunni-v2/lib/Constants.js +0 -19
  223. package/build/dex/bunni-v2/lib/Constants.js.map +0 -1
  224. package/build/dex/bunni-v2/lib/ExpMath.d.ts +0 -5
  225. package/build/dex/bunni-v2/lib/ExpMath.js +0 -121
  226. package/build/dex/bunni-v2/lib/ExpMath.js.map +0 -1
  227. package/build/dex/bunni-v2/lib/FeeMath.d.ts +0 -2
  228. package/build/dex/bunni-v2/lib/FeeMath.js +0 -27
  229. package/build/dex/bunni-v2/lib/FeeMath.js.map +0 -1
  230. package/build/dex/bunni-v2/lib/FixedPointMath.d.ts +0 -3
  231. package/build/dex/bunni-v2/lib/FixedPointMath.js +0 -15
  232. package/build/dex/bunni-v2/lib/FixedPointMath.js.map +0 -1
  233. package/build/dex/bunni-v2/lib/FullMathX96.d.ts +0 -4
  234. package/build/dex/bunni-v2/lib/FullMathX96.js +0 -21
  235. package/build/dex/bunni-v2/lib/FullMathX96.js.map +0 -1
  236. package/build/dex/bunni-v2/lib/IdleBalance.d.ts +0 -11
  237. package/build/dex/bunni-v2/lib/IdleBalance.js +0 -33
  238. package/build/dex/bunni-v2/lib/IdleBalance.js.map +0 -1
  239. package/build/dex/bunni-v2/lib/LiquidityAmounts.d.ts +0 -6
  240. package/build/dex/bunni-v2/lib/LiquidityAmounts.js +0 -25
  241. package/build/dex/bunni-v2/lib/LiquidityAmounts.js.map +0 -1
  242. package/build/dex/bunni-v2/lib/Math.d.ts +0 -28
  243. package/build/dex/bunni-v2/lib/Math.js +0 -169
  244. package/build/dex/bunni-v2/lib/Math.js.map +0 -1
  245. package/build/dex/bunni-v2/lib/Oracle.d.ts +0 -27
  246. package/build/dex/bunni-v2/lib/Oracle.js +0 -180
  247. package/build/dex/bunni-v2/lib/Oracle.js.map +0 -1
  248. package/build/dex/bunni-v2/lib/QueryLDF.d.ts +0 -12
  249. package/build/dex/bunni-v2/lib/QueryLDF.js +0 -90
  250. package/build/dex/bunni-v2/lib/QueryLDF.js.map +0 -1
  251. package/build/dex/bunni-v2/lib/QueryTwap.d.ts +0 -2
  252. package/build/dex/bunni-v2/lib/QueryTwap.js +0 -13
  253. package/build/dex/bunni-v2/lib/QueryTwap.js.map +0 -1
  254. package/build/dex/bunni-v2/lib/SqrtPriceMath.d.ts +0 -8
  255. package/build/dex/bunni-v2/lib/SqrtPriceMath.js +0 -84
  256. package/build/dex/bunni-v2/lib/SqrtPriceMath.js.map +0 -1
  257. package/build/dex/bunni-v2/lib/TickMath.d.ts +0 -11
  258. package/build/dex/bunni-v2/lib/TickMath.js +0 -100
  259. package/build/dex/bunni-v2/lib/TickMath.js.map +0 -1
  260. package/build/dex/bunni-v2/lib/VaultMath.d.ts +0 -2
  261. package/build/dex/bunni-v2/lib/VaultMath.js +0 -11
  262. package/build/dex/bunni-v2/lib/VaultMath.js.map +0 -1
  263. package/build/dex/bunni-v2/logic/AmAmm.d.ts +0 -11
  264. package/build/dex/bunni-v2/logic/AmAmm.js +0 -156
  265. package/build/dex/bunni-v2/logic/AmAmm.js.map +0 -1
  266. package/build/dex/bunni-v2/logic/BunniHookLogic.d.ts +0 -10
  267. package/build/dex/bunni-v2/logic/BunniHookLogic.js +0 -298
  268. package/build/dex/bunni-v2/logic/BunniHookLogic.js.map +0 -1
  269. package/build/dex/bunni-v2/logic/BunniHubLogic.d.ts +0 -5
  270. package/build/dex/bunni-v2/logic/BunniHubLogic.js +0 -245
  271. package/build/dex/bunni-v2/logic/BunniHubLogic.js.map +0 -1
  272. package/build/dex/bunni-v2/logic/BunniQuoter.d.ts +0 -12
  273. package/build/dex/bunni-v2/logic/BunniQuoter.js +0 -201
  274. package/build/dex/bunni-v2/logic/BunniQuoter.js.map +0 -1
  275. package/build/dex/bunni-v2/subgraph.d.ts +0 -7
  276. package/build/dex/bunni-v2/subgraph.js +0 -184
  277. package/build/dex/bunni-v2/subgraph.js.map +0 -1
  278. package/build/dex/bunni-v2/types.d.ts +0 -257
  279. package/build/dex/bunni-v2/types.js.map +0 -1
  280. package/build/dex/bunni-v2/utils.d.ts +0 -12
  281. package/build/dex/bunni-v2/utils.js +0 -182
  282. package/build/dex/bunni-v2/utils.js.map +0 -1
  283. package/build/dex/compound/compound.d.ts +0 -15
  284. package/build/dex/compound/compound.js +0 -57
  285. package/build/dex/compound/compound.js.map +0 -1
  286. package/build/dex/compound/types.d.ts +0 -8
  287. package/build/dex/compound/types.js +0 -9
  288. package/build/dex/compound/types.js.map +0 -1
  289. package/build/dex/concentrator-arusd/concentrator-arusd-event.d.ts +0 -17
  290. package/build/dex/concentrator-arusd/concentrator-arusd-event.js +0 -69
  291. package/build/dex/concentrator-arusd/concentrator-arusd-event.js.map +0 -1
  292. package/build/dex/concentrator-arusd/concentrator-arusd.d.ts +0 -41
  293. package/build/dex/concentrator-arusd/concentrator-arusd.js +0 -202
  294. package/build/dex/concentrator-arusd/concentrator-arusd.js.map +0 -1
  295. package/build/dex/concentrator-arusd/config.d.ts +0 -3
  296. package/build/dex/concentrator-arusd/config.js +0 -14
  297. package/build/dex/concentrator-arusd/config.js.map +0 -1
  298. package/build/dex/concentrator-arusd/types.d.ts +0 -14
  299. package/build/dex/concentrator-arusd/types.js.map +0 -1
  300. package/build/dex/concentrator-arusd/utils.d.ts +0 -4
  301. package/build/dex/concentrator-arusd/utils.js +0 -26
  302. package/build/dex/concentrator-arusd/utils.js.map +0 -1
  303. package/build/dex/curve-v1/forks/swerve/config.d.ts +0 -4
  304. package/build/dex/curve-v1/forks/swerve/config.js +0 -47
  305. package/build/dex/curve-v1/forks/swerve/config.js.map +0 -1
  306. package/build/dex/curve-v1/forks/swerve/swerve.d.ts +0 -16
  307. package/build/dex/curve-v1/forks/swerve/swerve.js +0 -46
  308. package/build/dex/curve-v1/forks/swerve/swerve.js.map +0 -1
  309. package/build/dex/ekubo/pools/base-pool.d.ts +0 -47
  310. package/build/dex/ekubo/pools/base-pool.js +0 -184
  311. package/build/dex/ekubo/pools/base-pool.js.map +0 -1
  312. package/build/dex/ekubo/pools/iface.d.ts +0 -46
  313. package/build/dex/ekubo/pools/iface.js +0 -75
  314. package/build/dex/ekubo/pools/iface.js.map +0 -1
  315. package/build/dex/ekubo/pools/math/price.d.ts +0 -7
  316. package/build/dex/ekubo/pools/math/price.js +0 -112
  317. package/build/dex/ekubo/pools/math/price.js.map +0 -1
  318. package/build/dex/ekubo/pools/oracle-pool.d.ts +0 -10
  319. package/build/dex/ekubo/pools/oracle-pool.js +0 -19
  320. package/build/dex/ekubo/pools/oracle-pool.js.map +0 -1
  321. package/build/dex/ekubo/pools/pool-utils.d.ts +0 -44
  322. package/build/dex/ekubo/pools/pool-utils.js +0 -240
  323. package/build/dex/ekubo/pools/pool-utils.js.map +0 -1
  324. package/build/dex/gmx/config.d.ts +0 -11
  325. package/build/dex/gmx/config.js +0 -61
  326. package/build/dex/gmx/config.js.map +0 -1
  327. package/build/dex/gmx/fast-price-feed.d.ts +0 -26
  328. package/build/dex/gmx/fast-price-feed.js +0 -184
  329. package/build/dex/gmx/fast-price-feed.js.map +0 -1
  330. package/build/dex/gmx/gmx.d.ts +0 -54
  331. package/build/dex/gmx/gmx.js +0 -247
  332. package/build/dex/gmx/gmx.js.map +0 -1
  333. package/build/dex/gmx/pool.d.ts +0 -21
  334. package/build/dex/gmx/pool.js +0 -212
  335. package/build/dex/gmx/pool.js.map +0 -1
  336. package/build/dex/gmx/types.d.ts +0 -100
  337. package/build/dex/gmx/types.js +0 -3
  338. package/build/dex/gmx/types.js.map +0 -1
  339. package/build/dex/gmx/usdg.d.ts +0 -15
  340. package/build/dex/gmx/usdg.js +0 -62
  341. package/build/dex/gmx/usdg.js.map +0 -1
  342. package/build/dex/gmx/vault-price-feed.d.ts +0 -47
  343. package/build/dex/gmx/vault-price-feed.js +0 -245
  344. package/build/dex/gmx/vault-price-feed.js.map +0 -1
  345. package/build/dex/gmx/vault-utils.d.ts +0 -8
  346. package/build/dex/gmx/vault-utils.js +0 -42
  347. package/build/dex/gmx/vault-utils.js.map +0 -1
  348. package/build/dex/gmx/vault.d.ts +0 -46
  349. package/build/dex/gmx/vault.js +0 -182
  350. package/build/dex/gmx/vault.js.map +0 -1
  351. package/build/dex/idle-dao/config.d.ts +0 -5
  352. package/build/dex/idle-dao/config.js +0 -24
  353. package/build/dex/idle-dao/config.js.map +0 -1
  354. package/build/dex/idle-dao/idle-dao.d.ts +0 -42
  355. package/build/dex/idle-dao/idle-dao.js +0 -279
  356. package/build/dex/idle-dao/idle-dao.js.map +0 -1
  357. package/build/dex/idle-dao/token_list.d.ts +0 -4
  358. package/build/dex/idle-dao/token_list.js +0 -289
  359. package/build/dex/idle-dao/token_list.js.map +0 -1
  360. package/build/dex/idle-dao/tokens.d.ts +0 -9
  361. package/build/dex/idle-dao/tokens.js +0 -68
  362. package/build/dex/idle-dao/tokens.js.map +0 -1
  363. package/build/dex/idle-dao/types.d.ts +0 -35
  364. package/build/dex/idle-dao/types.js +0 -11
  365. package/build/dex/idle-dao/types.js.map +0 -1
  366. package/build/dex/idle-dao/utils.d.ts +0 -8
  367. package/build/dex/idle-dao/utils.js +0 -149
  368. package/build/dex/idle-dao/utils.js.map +0 -1
  369. package/build/dex/infusion/config.d.ts +0 -3
  370. package/build/dex/infusion/config.js +0 -20
  371. package/build/dex/infusion/config.js.map +0 -1
  372. package/build/dex/infusion/infusion-stable-pool.d.ts +0 -4
  373. package/build/dex/infusion/infusion-stable-pool.js +0 -74
  374. package/build/dex/infusion/infusion-stable-pool.js.map +0 -1
  375. package/build/dex/infusion/infusion.d.ts +0 -51
  376. package/build/dex/infusion/infusion.js +0 -500
  377. package/build/dex/infusion/infusion.js.map +0 -1
  378. package/build/dex/infusion/types.d.ts +0 -45
  379. package/build/dex/infusion/types.js +0 -3
  380. package/build/dex/infusion/types.js.map +0 -1
  381. package/build/dex/infusion/utils/isStablePair.d.ts +0 -2
  382. package/build/dex/infusion/utils/isStablePair.js +0 -18
  383. package/build/dex/infusion/utils/isStablePair.js.map +0 -1
  384. package/build/dex/jarvis-v6/chainLinkpriceFeed-event.d.ts +0 -15
  385. package/build/dex/jarvis-v6/chainLinkpriceFeed-event.js +0 -51
  386. package/build/dex/jarvis-v6/chainLinkpriceFeed-event.js.map +0 -1
  387. package/build/dex/jarvis-v6/config.d.ts +0 -4
  388. package/build/dex/jarvis-v6/config.js +0 -244
  389. package/build/dex/jarvis-v6/config.js.map +0 -1
  390. package/build/dex/jarvis-v6/jarvis-v6-events.d.ts +0 -27
  391. package/build/dex/jarvis-v6/jarvis-v6-events.js +0 -54
  392. package/build/dex/jarvis-v6/jarvis-v6-events.js.map +0 -1
  393. package/build/dex/jarvis-v6/jarvis-v6.d.ts +0 -49
  394. package/build/dex/jarvis-v6/jarvis-v6.js +0 -321
  395. package/build/dex/jarvis-v6/jarvis-v6.js.map +0 -1
  396. package/build/dex/jarvis-v6/syntheteumPool-event.d.ts +0 -15
  397. package/build/dex/jarvis-v6/syntheteumPool-event.js +0 -49
  398. package/build/dex/jarvis-v6/syntheteumPool-event.js.map +0 -1
  399. package/build/dex/jarvis-v6/types.d.ts +0 -48
  400. package/build/dex/jarvis-v6/types.js +0 -9
  401. package/build/dex/jarvis-v6/types.js.map +0 -1
  402. package/build/dex/jarvis-v6/utils.d.ts +0 -13
  403. package/build/dex/jarvis-v6/utils.js +0 -75
  404. package/build/dex/jarvis-v6/utils.js.map +0 -1
  405. package/build/dex/jarvis.d.ts +0 -56
  406. package/build/dex/jarvis.js +0 -163
  407. package/build/dex/jarvis.js.map +0 -1
  408. package/build/dex/kyberdmm/config.d.ts +0 -9
  409. package/build/dex/kyberdmm/config.js +0 -59
  410. package/build/dex/kyberdmm/config.js.map +0 -1
  411. package/build/dex/kyberdmm/fee-formula.d.ts +0 -15
  412. package/build/dex/kyberdmm/fee-formula.js +0 -88
  413. package/build/dex/kyberdmm/fee-formula.js.map +0 -1
  414. package/build/dex/kyberdmm/kyberdmm.d.ts +0 -55
  415. package/build/dex/kyberdmm/kyberdmm.js +0 -447
  416. package/build/dex/kyberdmm/kyberdmm.js.map +0 -1
  417. package/build/dex/kyberdmm/math-ext.d.ts +0 -2
  418. package/build/dex/kyberdmm/math-ext.js +0 -27
  419. package/build/dex/kyberdmm/math-ext.js.map +0 -1
  420. package/build/dex/kyberdmm/pool.d.ts +0 -50
  421. package/build/dex/kyberdmm/pool.js +0 -157
  422. package/build/dex/kyberdmm/pool.js.map +0 -1
  423. package/build/dex/kyberdmm/types.d.ts +0 -81
  424. package/build/dex/kyberdmm/types.js +0 -9
  425. package/build/dex/kyberdmm/types.js.map +0 -1
  426. package/build/dex/mStable.d.ts +0 -44
  427. package/build/dex/mStable.js +0 -75
  428. package/build/dex/mStable.js.map +0 -1
  429. package/build/dex/maker-psm/config.d.ts +0 -11
  430. package/build/dex/maker-psm/config.js +0 -53
  431. package/build/dex/maker-psm/config.js.map +0 -1
  432. package/build/dex/maker-psm/maker-psm.d.ts +0 -103
  433. package/build/dex/maker-psm/maker-psm.js +0 -493
  434. package/build/dex/maker-psm/maker-psm.js.map +0 -1
  435. package/build/dex/maker-psm/types.d.ts +0 -39
  436. package/build/dex/maker-psm/types.js +0 -3
  437. package/build/dex/onebit/onebit.d.ts +0 -16
  438. package/build/dex/onebit/onebit.js +0 -61
  439. package/build/dex/onebit/onebit.js.map +0 -1
  440. package/build/dex/onebit/types.d.ts +0 -14
  441. package/build/dex/onebit/types.js +0 -8
  442. package/build/dex/onebit/types.js.map +0 -1
  443. package/build/dex/quick-perps/config.d.ts +0 -11
  444. package/build/dex/quick-perps/config.js +0 -27
  445. package/build/dex/quick-perps/config.js.map +0 -1
  446. package/build/dex/quick-perps/fast-price-feed.d.ts +0 -26
  447. package/build/dex/quick-perps/fast-price-feed.js +0 -184
  448. package/build/dex/quick-perps/fast-price-feed.js.map +0 -1
  449. package/build/dex/quick-perps/pool.d.ts +0 -21
  450. package/build/dex/quick-perps/pool.js +0 -229
  451. package/build/dex/quick-perps/pool.js.map +0 -1
  452. package/build/dex/quick-perps/quick-perps.d.ts +0 -53
  453. package/build/dex/quick-perps/quick-perps.js +0 -247
  454. package/build/dex/quick-perps/quick-perps.js.map +0 -1
  455. package/build/dex/quick-perps/types.d.ts +0 -98
  456. package/build/dex/quick-perps/types.js +0 -3
  457. package/build/dex/quick-perps/types.js.map +0 -1
  458. package/build/dex/quick-perps/usdq.d.ts +0 -15
  459. package/build/dex/quick-perps/usdq.js +0 -62
  460. package/build/dex/quick-perps/usdq.js.map +0 -1
  461. package/build/dex/quick-perps/vault-price-feed.d.ts +0 -43
  462. package/build/dex/quick-perps/vault-price-feed.js +0 -203
  463. package/build/dex/quick-perps/vault-price-feed.js.map +0 -1
  464. package/build/dex/quick-perps/vault-utils.d.ts +0 -8
  465. package/build/dex/quick-perps/vault-utils.js +0 -42
  466. package/build/dex/quick-perps/vault-utils.js.map +0 -1
  467. package/build/dex/quick-perps/vault.d.ts +0 -46
  468. package/build/dex/quick-perps/vault.js +0 -182
  469. package/build/dex/quick-perps/vault.js.map +0 -1
  470. package/build/dex/quickswap/thena-fusion.d.ts +0 -6
  471. package/build/dex/quickswap/thena-fusion.js +0 -19
  472. package/build/dex/quickswap/thena-fusion.js.map +0 -1
  473. package/build/dex/se-vlr/config.js +0 -24
  474. package/build/dex/se-vlr/config.js.map +0 -1
  475. package/build/dex/se-vlr/se-vlr-pool.d.ts +0 -39
  476. package/build/dex/se-vlr/se-vlr-pool.js +0 -70
  477. package/build/dex/se-vlr/se-vlr-pool.js.map +0 -1
  478. package/build/dex/se-vlr/se-vlr.d.ts +0 -35
  479. package/build/dex/se-vlr/se-vlr.js +0 -131
  480. package/build/dex/se-vlr/se-vlr.js.map +0 -1
  481. package/build/dex/se-vlr/types.d.ts +0 -6
  482. package/build/dex/se-vlr/types.js +0 -3
  483. package/build/dex/se-vlr/types.js.map +0 -1
  484. package/build/dex/shell.d.ts +0 -25
  485. package/build/dex/shell.js +0 -41
  486. package/build/dex/shell.js.map +0 -1
  487. package/build/dex/smoothy/smoothy.d.ts +0 -16
  488. package/build/dex/smoothy/smoothy.js +0 -60
  489. package/build/dex/smoothy/smoothy.js.map +0 -1
  490. package/build/dex/smoothy/types.d.ts +0 -15
  491. package/build/dex/smoothy/types.js +0 -8
  492. package/build/dex/smoothy/types.js.map +0 -1
  493. package/build/dex/solidly/forks-override/aerodrome.d.ts +0 -14
  494. package/build/dex/solidly/forks-override/aerodrome.js +0 -46
  495. package/build/dex/solidly/forks-override/aerodrome.js.map +0 -1
  496. package/build/dex/solidly/forks-override/chronos.d.ts +0 -23
  497. package/build/dex/solidly/forks-override/chronos.js +0 -141
  498. package/build/dex/solidly/forks-override/chronos.js.map +0 -1
  499. package/build/dex/solidly/forks-override/usdfi.d.ts +0 -8
  500. package/build/dex/solidly/forks-override/usdfi.js +0 -15
  501. package/build/dex/solidly/forks-override/usdfi.js.map +0 -1
  502. package/build/dex/solidly/forks-override/velocimeter.d.ts +0 -23
  503. package/build/dex/solidly/forks-override/velocimeter.js +0 -77
  504. package/build/dex/solidly/forks-override/velocimeter.js.map +0 -1
  505. package/build/dex/stader/config.d.ts +0 -3
  506. package/build/dex/stader/config.js +0 -14
  507. package/build/dex/stader/config.js.map +0 -1
  508. package/build/dex/stader/stader-pool.d.ts +0 -19
  509. package/build/dex/stader/stader-pool.js +0 -56
  510. package/build/dex/stader/stader-pool.js.map +0 -1
  511. package/build/dex/stader/stader.d.ts +0 -42
  512. package/build/dex/stader/stader.js +0 -195
  513. package/build/dex/stader/stader.js.map +0 -1
  514. package/build/dex/stader/types.d.ts +0 -13
  515. package/build/dex/stader/types.js +0 -8
  516. package/build/dex/stader/types.js.map +0 -1
  517. package/build/dex/stader/utils.d.ts +0 -4
  518. package/build/dex/stader/utils.js +0 -23
  519. package/build/dex/stader/utils.js.map +0 -1
  520. package/build/dex/synthetix/config.d.ts +0 -4
  521. package/build/dex/synthetix/config.js +0 -53
  522. package/build/dex/synthetix/config.js.map +0 -1
  523. package/build/dex/synthetix/constants.d.ts +0 -23
  524. package/build/dex/synthetix/constants.js +0 -32
  525. package/build/dex/synthetix/constants.js.map +0 -1
  526. package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.d.ts +0 -17
  527. package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.js +0 -102
  528. package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.js.map +0 -1
  529. package/build/dex/synthetix/contract-math/ExchangeRates.d.ts +0 -8
  530. package/build/dex/synthetix/contract-math/ExchangeRates.js +0 -77
  531. package/build/dex/synthetix/contract-math/ExchangeRates.js.map +0 -1
  532. package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.d.ts +0 -17
  533. package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.js +0 -126
  534. package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.js.map +0 -1
  535. package/build/dex/synthetix/contract-math/FullMath.d.ts +0 -3
  536. package/build/dex/synthetix/contract-math/FullMath.js +0 -14
  537. package/build/dex/synthetix/contract-math/FullMath.js.map +0 -1
  538. package/build/dex/synthetix/contract-math/OracleLibrary.d.ts +0 -8
  539. package/build/dex/synthetix/contract-math/OracleLibrary.js +0 -60
  540. package/build/dex/synthetix/contract-math/OracleLibrary.js.map +0 -1
  541. package/build/dex/synthetix/contract-math/SafeDecimalMath.d.ts +0 -9
  542. package/build/dex/synthetix/contract-math/SafeDecimalMath.js +0 -41
  543. package/build/dex/synthetix/contract-math/SafeDecimalMath.js.map +0 -1
  544. package/build/dex/synthetix/contract-math/TickMath.d.ts +0 -7
  545. package/build/dex/synthetix/contract-math/TickMath.js +0 -63
  546. package/build/dex/synthetix/contract-math/TickMath.js.map +0 -1
  547. package/build/dex/synthetix/contract-math/synthetix-math.d.ts +0 -17
  548. package/build/dex/synthetix/contract-math/synthetix-math.js +0 -127
  549. package/build/dex/synthetix/contract-math/synthetix-math.js.map +0 -1
  550. package/build/dex/synthetix/synthetix-state.d.ts +0 -36
  551. package/build/dex/synthetix/synthetix-state.js +0 -615
  552. package/build/dex/synthetix/synthetix-state.js.map +0 -1
  553. package/build/dex/synthetix/synthetix.d.ts +0 -45
  554. package/build/dex/synthetix/synthetix.js +0 -304
  555. package/build/dex/synthetix/synthetix.js.map +0 -1
  556. package/build/dex/synthetix/types.d.ts +0 -90
  557. package/build/dex/synthetix/types.js +0 -3
  558. package/build/dex/synthetix/types.js.map +0 -1
  559. package/build/dex/synthetix/utils.d.ts +0 -10
  560. package/build/dex/synthetix/utils.js +0 -91
  561. package/build/dex/synthetix/utils.js.map +0 -1
  562. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.d.ts +0 -7
  563. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js +0 -20
  564. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js.map +0 -1
  565. package/build/dex/trader-joe-v2.d.ts +0 -40
  566. package/build/dex/trader-joe-v2.js +0 -74
  567. package/build/dex/trader-joe-v2.js.map +0 -1
  568. package/build/dex/uniswap-v2/dfyn.d.ts +0 -19
  569. package/build/dex/uniswap-v2/dfyn.js +0 -61
  570. package/build/dex/uniswap-v2/dfyn.js.map +0 -1
  571. package/build/dex/uniswap-v2/excalibur.d.ts +0 -24
  572. package/build/dex/uniswap-v2/excalibur.js +0 -47
  573. package/build/dex/uniswap-v2/excalibur.js.map +0 -1
  574. package/build/dex/uniswap-v2/mdex.d.ts +0 -24
  575. package/build/dex/uniswap-v2/mdex.js +0 -50
  576. package/build/dex/uniswap-v2/mdex.js.map +0 -1
  577. package/build/dex/uniswap-v2/nomiswap-v2.d.ts +0 -24
  578. package/build/dex/uniswap-v2/nomiswap-v2.js +0 -57
  579. package/build/dex/uniswap-v2/nomiswap-v2.js.map +0 -1
  580. package/build/dex/uniswap-v3/uniswap-v3-new.d.ts +0 -94
  581. package/build/dex/uniswap-v3/uniswap-v3-new.js +0 -923
  582. package/build/dex/uniswap-v3/uniswap-v3-new.js.map +0 -1
  583. package/build/dex/uniswap-v4/contract-math/Position.d.ts +0 -3
  584. package/build/dex/uniswap-v4/contract-math/Position.js +0 -10
  585. package/build/dex/uniswap-v4/contract-math/Position.js.map +0 -1
  586. package/build/dex/usual-bond/config.d.ts +0 -3
  587. package/build/dex/usual-bond/config.js +0 -13
  588. package/build/dex/usual-bond/config.js.map +0 -1
  589. package/build/dex/usual-bond/types.d.ts +0 -7
  590. package/build/dex/usual-bond/types.js +0 -3
  591. package/build/dex/usual-bond/types.js.map +0 -1
  592. package/build/dex/usual-bond/usual-bond.d.ts +0 -35
  593. package/build/dex/usual-bond/usual-bond.js +0 -176
  594. package/build/dex/usual-bond/usual-bond.js.map +0 -1
  595. package/build/dex/wombat/config.d.ts +0 -4
  596. package/build/dex/wombat/config.js +0 -77
  597. package/build/dex/wombat/config.js.map +0 -1
  598. package/build/dex/wombat/types.d.ts +0 -34
  599. package/build/dex/wombat/types.js +0 -3
  600. package/build/dex/wombat/types.js.map +0 -1
  601. package/build/dex/wombat/utils.d.ts +0 -10
  602. package/build/dex/wombat/utils.js +0 -79
  603. package/build/dex/wombat/utils.js.map +0 -1
  604. package/build/dex/wombat/wombat-bmw.d.ts +0 -40
  605. package/build/dex/wombat/wombat-bmw.js +0 -136
  606. package/build/dex/wombat/wombat-bmw.js.map +0 -1
  607. package/build/dex/wombat/wombat-pool.d.ts +0 -60
  608. package/build/dex/wombat/wombat-pool.js +0 -488
  609. package/build/dex/wombat/wombat-pool.js.map +0 -1
  610. package/build/dex/wombat/wombat-quoter.d.ts +0 -17
  611. package/build/dex/wombat/wombat-quoter.js +0 -192
  612. package/build/dex/wombat/wombat-quoter.js.map +0 -1
  613. package/build/dex/wombat/wombat.d.ts +0 -58
  614. package/build/dex/wombat/wombat.js +0 -298
  615. package/build/dex/wombat/wombat.js.map +0 -1
  616. package/build/dex/wusdm/config.d.ts +0 -3
  617. package/build/dex/wusdm/config.js +0 -43
  618. package/build/dex/wusdm/config.js.map +0 -1
  619. package/build/dex/wusdm/constants.d.ts +0 -2
  620. package/build/dex/wusdm/constants.js +0 -6
  621. package/build/dex/wusdm/constants.js.map +0 -1
  622. package/build/dex/wusdm/types.d.ts +0 -18
  623. package/build/dex/wusdm/types.js +0 -11
  624. package/build/dex/wusdm/types.js.map +0 -1
  625. package/build/dex/wusdm/wusdm-pool.d.ts +0 -21
  626. package/build/dex/wusdm/wusdm-pool.js +0 -74
  627. package/build/dex/wusdm/wusdm-pool.js.map +0 -1
  628. package/build/dex/wusdm/wusdm.d.ts +0 -46
  629. package/build/dex/wusdm/wusdm.js +0 -243
  630. package/build/dex/wusdm/wusdm.js.map +0 -1
  631. package/build/dex/zerox/config.d.ts +0 -2
  632. package/build/dex/zerox/config.js +0 -33
  633. package/build/dex/zerox/config.js.map +0 -1
  634. package/build/dex/zerox/index.d.ts +0 -22
  635. package/build/dex/zerox/index.js +0 -225
  636. package/build/dex/zerox/index.js.map +0 -1
  637. package/build/dex/zerox/order.d.ts +0 -88
  638. package/build/dex/zerox/order.js +0 -53
  639. package/build/dex/zerox/order.js.map +0 -1
  640. package/build/dex/zerox/types.d.ts +0 -73
  641. package/build/dex/zerox/types.js +0 -21
  642. package/build/dex/zerox/types.js.map +0 -1
  643. /package/build/dex/{bunni-v2 → pancakeswap-infinity}/types.js +0 -0
  644. /package/build/dex/{concentrator-arusd → renegade/api}/types.js +0 -0
@@ -1,298 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.afterInitialize = afterInitialize;
4
- exports.beforeSwap = beforeSwap;
5
- exports.decodeParams = decodeParams;
6
- exports.observe = observe;
7
- exports._shouldSurgeFromVaults = _shouldSurgeFromVaults;
8
- const constants_1 = require("../../../constants");
9
- const BunniSwapMath_1 = require("../hook/BunniSwapMath");
10
- const hooklet_1 = require("../hooklet");
11
- const LDFType_1 = require("../ldf/LDFType");
12
- const AmAmmPayload_1 = require("../lib/AmAmmPayload");
13
- const Constants_1 = require("../lib/Constants");
14
- const FeeMath_1 = require("../lib/FeeMath");
15
- const IdleBalance_1 = require("../lib/IdleBalance");
16
- const Math_1 = require("../lib/Math");
17
- const Oracle_1 = require("../lib/Oracle");
18
- const QueryLDF_1 = require("../lib/QueryLDF");
19
- const TickMath_1 = require("../lib/TickMath");
20
- const VaultMath_1 = require("../lib/VaultMath");
21
- const AmAmm_1 = require("./AmAmm");
22
- const BunniHubLogic_1 = require("./BunniHubLogic");
23
- function afterInitialize(sqrtPriceX96, tick, twapSecondsAgo, hookParams, blockTimestamp) {
24
- // initialize Slot0
25
- const slot0 = {
26
- sqrtPriceX96: sqrtPriceX96,
27
- tick: tick,
28
- lastSwapTimestamp: blockTimestamp,
29
- lastSurgeTimestamp: 0n,
30
- };
31
- const hookParamsDecoded = decodeParams(hookParams);
32
- const maxTwapSecondsAgo = (0, Math_1.max)((0, Math_1.max)(twapSecondsAgo, hookParamsDecoded.feeTwapSecondsAgo), hookParamsDecoded.rebalanceTwapSecondsAgo);
33
- const observation = {
34
- blockTimestamp: blockTimestamp - maxTwapSecondsAgo,
35
- prevTick: tick,
36
- tickCumulative: 0n,
37
- initialized: true,
38
- };
39
- const observations = [];
40
- observations[0] = observation;
41
- // initialize ObservationState
42
- const observationState = {
43
- index: 0n,
44
- cardinality: 1n,
45
- cardinalityNext: 1n,
46
- intermediateObservation: observation,
47
- observations: observations,
48
- };
49
- // increase cardinality target based on maxTwapSecondsAgo
50
- const cardinalityNext = (maxTwapSecondsAgo + (hookParamsDecoded.oracleMinInterval >> 1n)) /
51
- hookParamsDecoded.oracleMinInterval +
52
- 1n;
53
- if (cardinalityNext > 1n) {
54
- const cardinalityNextNew = (0, Oracle_1.grow)(observationState.observations, 1n, cardinalityNext);
55
- observationState.cardinalityNext = cardinalityNextNew;
56
- }
57
- return { slot0, observationState };
58
- }
59
- async function beforeSwap(state, blockNumber, blockTimestamp, params, hookFeesModifier, hookDeploymentBlock, K, dexHelper, dexParams) {
60
- let useAmAmmFee = false;
61
- let amAmmManager = constants_1.NULL_ADDRESS;
62
- let feeOverridden = false;
63
- let feeOverride = 0n;
64
- let priceOverridden = false;
65
- let sqrtPriceX96Override = 0n;
66
- ({
67
- feeOverridden,
68
- fee: feeOverride,
69
- priceOverridden,
70
- sqrtPriceX96: sqrtPriceX96Override,
71
- } = (0, hooklet_1._hookletBeforeSwap)(state, params, dexParams));
72
- // override price if needed
73
- if (priceOverridden) {
74
- state.slot0.sqrtPriceX96 = sqrtPriceX96Override;
75
- state.slot0.tick = TickMath_1.TickMath.getTickAtSqrtPrice(sqrtPriceX96Override);
76
- }
77
- // compute total token balances
78
- const reserveBalance0 = await (0, VaultMath_1.getReservesInUnderlying)(state.reserve0, state.vault0, blockNumber, dexHelper);
79
- const reserveBalance1 = await (0, VaultMath_1.getReservesInUnderlying)(state.reserve1, state.vault1, blockNumber, dexHelper);
80
- const balance0 = state.rawBalance0 + reserveBalance0;
81
- const balance1 = state.rawBalance1 + reserveBalance1;
82
- // decode hook params
83
- const hookParams = decodeParams(state.hookParams);
84
- // update TWAP oracle
85
- const { updatedIntermediate, updatedIndex, updatedCardinality } = _updateOracle(state, state.slot0.tick, hookParams.oracleMinInterval, blockTimestamp);
86
- // get TWAP values
87
- let arithmeticMeanTick = 0n;
88
- let feeMeanTick = 0n;
89
- const useLDFTwap = state.twapSecondsAgo !== 0n;
90
- const useFeeTwap = !feeOverridden && hookParams.feeTwapSecondsAgo !== 0n;
91
- if (useLDFTwap && useFeeTwap) {
92
- const { tickCumulative0: tickCumulatives0, tickCumulative1: tickCumulatives1, tickCumulative2: tickCumulatives2, } = (0, Oracle_1.observeTriple)(state.observations, updatedIntermediate, blockTimestamp, 0n, state.twapSecondsAgo, hookParams.feeTwapSecondsAgo, state.slot0.tick, updatedIndex, updatedCardinality);
93
- arithmeticMeanTick =
94
- (tickCumulatives0 - tickCumulatives1) / state.twapSecondsAgo;
95
- feeMeanTick =
96
- (tickCumulatives0 - tickCumulatives2) / hookParams.feeTwapSecondsAgo;
97
- }
98
- else if (useLDFTwap) {
99
- arithmeticMeanTick = _getTwap(state, state.slot0.tick, state.twapSecondsAgo, updatedIntermediate, updatedIndex, updatedCardinality, blockTimestamp);
100
- }
101
- else if (useFeeTwap) {
102
- feeMeanTick = _getTwap(state, state.slot0.tick, state.twapSecondsAgo, updatedIntermediate, updatedIndex, updatedCardinality, blockTimestamp);
103
- }
104
- // query the LDF to get total liquidity and token densities
105
- let { totalLiquidity, liquidityDensityOfRoundedTickX96, activeBalance0: currentActiveBalance0, activeBalance1: currentActiveBalance1, newLdfState, shouldSurge, } = (0, QueryLDF_1.queryLDF)(state.key, state.slot0.sqrtPriceX96, state.slot0.tick, arithmeticMeanTick, state.liquidityDensityFunction, state.ldfParams, state.ldfState, balance0, balance1, state.idleBalance, dexParams);
106
- const exactIn = params.amountSpecified < 0n;
107
- if ((params.zeroForOne && currentActiveBalance1 === 0n) ||
108
- (!params.zeroForOne && currentActiveBalance0 === 0n) ||
109
- totalLiquidity === 0n ||
110
- (!exactIn &&
111
- params.amountSpecified >
112
- (params.zeroForOne ? currentActiveBalance1 : currentActiveBalance0))) {
113
- throw new Error('BunniHook__RequestedOutputExceedsBalance()');
114
- }
115
- shouldSurge = shouldSurge && state.ldfType !== LDFType_1.LDFType.STATIC;
116
- if (state.ldfType === LDFType_1.LDFType.DYNAMIC_AND_STATEFUL) {
117
- state.ldfState = newLdfState;
118
- }
119
- if (shouldSurge) {
120
- // the LDF has been updated, so we need to update the idle balance
121
- state.idleBalance = IdleBalance_1.IdleBalanceLibrary.computeIdleBalance(currentActiveBalance0, currentActiveBalance1, balance0, balance1);
122
- }
123
- // check surge based on vault share prices
124
- shouldSurge =
125
- shouldSurge ||
126
- _shouldSurgeFromVaults(state, hookParams, reserveBalance0, reserveBalance1);
127
- // compute swap result
128
- let { updatedSqrtPriceX96, updatedTick, inputAmount, outputAmount } = (0, BunniSwapMath_1.computeSwap)({
129
- key: state.key,
130
- totalLiquidity,
131
- liquidityDensityOfRoundedTickX96,
132
- currentActiveBalance0,
133
- currentActiveBalance1,
134
- sqrtPriceX96: state.slot0.sqrtPriceX96,
135
- currentTick: state.slot0.tick,
136
- liquidityDensityFunction: state.liquidityDensityFunction,
137
- arithmeticMeanTick,
138
- ldfParams: state.ldfParams,
139
- ldfState: state.ldfState,
140
- swapParams: params,
141
- }, dexParams);
142
- // revert if it's an exact output swap and outputAmount < params.amountSpecified
143
- if (!exactIn && outputAmount < params.amountSpecified) {
144
- throw new Error('BunniHook__InsufficientOutput()');
145
- }
146
- // ensure swap never moves price in the opposite direction
147
- // ensure the inputAmount and outputAmount are non-zero
148
- if ((params.zeroForOne && updatedSqrtPriceX96 > state.slot0.sqrtPriceX96) ||
149
- (!params.zeroForOne && updatedSqrtPriceX96 < state.slot0.sqrtPriceX96) ||
150
- outputAmount === 0n ||
151
- inputAmount === 0n) {
152
- throw new Error('BunniHook__InvalidSwap()');
153
- }
154
- // update slot0
155
- let lastSurgeTimestamp = state.slot0.lastSurgeTimestamp;
156
- if (shouldSurge) {
157
- const timeSinceLastSwap = blockTimestamp - state.slot0.lastSwapTimestamp;
158
- lastSurgeTimestamp =
159
- timeSinceLastSwap >= hookParams.surgeFeeAutostartThreshold
160
- ? state.slot0.lastSwapTimestamp + hookParams.surgeFeeAutostartThreshold
161
- : blockTimestamp;
162
- }
163
- state.slot0.sqrtPriceX96 = updatedSqrtPriceX96;
164
- state.slot0.tick = updatedTick;
165
- state.slot0.lastSwapTimestamp = blockTimestamp;
166
- state.slot0.lastSurgeTimestamp = lastSurgeTimestamp;
167
- // update am-AMM state
168
- let amAmmSwapFee = 0n;
169
- if (hookParams.amAmmEnabled) {
170
- const topBid = (0, AmAmm_1.getTopBidWrite)(state, blockNumber, hookDeploymentBlock, K);
171
- const { swapFee0For1, swapFee1For0 } = (0, AmAmmPayload_1.decodeAmAmmPayload)(topBid.payload);
172
- amAmmSwapFee = params.zeroForOne ? swapFee0For1 : swapFee1For0;
173
- }
174
- // charge swap fee
175
- let swapFee = 0n;
176
- let swapFeeAmount = 0n;
177
- useAmAmmFee = hookParams.amAmmEnabled && amAmmManager !== constants_1.NULL_ADDRESS;
178
- const hookFeesBaseSwapFee = feeOverridden
179
- ? (0, Math_1.max)(feeOverride, (0, FeeMath_1.computeSurgeFee)(lastSurgeTimestamp, hookParams.surgeFeeHalfLife, blockTimestamp))
180
- : (0, FeeMath_1.computeDynamicSwapFee)(updatedSqrtPriceX96, feeMeanTick, lastSurgeTimestamp, hookParams.feeMin, hookParams.feeMax, hookParams.feeQuadraticMultiplier, hookParams.surgeFeeHalfLife, blockTimestamp);
181
- swapFee = useAmAmmFee
182
- ? (0, Math_1.max)(amAmmSwapFee, (0, FeeMath_1.computeSurgeFee)(lastSurgeTimestamp, hookParams.surgeFeeHalfLife, blockTimestamp))
183
- : hookFeesBaseSwapFee;
184
- let hookFeesAmount = 0n;
185
- let curatorFeeAmount = 0n;
186
- let hookHandleSwapInputAmount = 0n;
187
- let hookHandleSwapOutputAmount = 0n;
188
- if (exactIn) {
189
- swapFeeAmount = (0, Math_1.mulDivUp)(outputAmount, swapFee, Constants_1.SWAP_FEE_BASE);
190
- if (useAmAmmFee) {
191
- const baseSwapFeeAmount = (0, Math_1.mulDivUp)(outputAmount, hookFeesBaseSwapFee, Constants_1.SWAP_FEE_BASE);
192
- hookFeesAmount = (0, Math_1.mulDivUp)(baseSwapFeeAmount, hookFeesModifier, Constants_1.MODIFIER_BASE);
193
- curatorFeeAmount = (0, Math_1.mulDivUp)(baseSwapFeeAmount, state.curatorFeeRate, Constants_1.CURATOR_FEE_BASE);
194
- if (swapFee !== amAmmSwapFee) {
195
- const swapFeeAdjusted = (0, Math_1.max)(amAmmSwapFee, swapFee -
196
- (0, Math_1.mulDivUp)(hookFeesBaseSwapFee, hookFeesModifier, Constants_1.MODIFIER_BASE) -
197
- (0, Math_1.mulDivUp)(hookFeesBaseSwapFee, state.curatorFeeRate, Constants_1.CURATOR_FEE_BASE));
198
- swapFeeAmount = (0, Math_1.mulDivUp)(outputAmount, swapFeeAdjusted, Constants_1.SWAP_FEE_BASE);
199
- }
200
- }
201
- else {
202
- hookFeesAmount = (0, Math_1.mulDivUp)(swapFeeAmount, hookFeesModifier, Constants_1.MODIFIER_BASE);
203
- curatorFeeAmount = (0, Math_1.mulDivUp)(swapFeeAmount, state.curatorFeeRate, Constants_1.CURATOR_FEE_BASE);
204
- swapFeeAmount -= hookFeesAmount;
205
- }
206
- outputAmount -= swapFeeAmount + hookFeesAmount + curatorFeeAmount;
207
- const actualInputAmount = (0, Math_1.max)(-params.amountSpecified, inputAmount);
208
- inputAmount = actualInputAmount;
209
- hookHandleSwapInputAmount = inputAmount;
210
- hookHandleSwapOutputAmount = useAmAmmFee
211
- ? outputAmount + swapFeeAmount + hookFeesAmount + curatorFeeAmount
212
- : outputAmount + hookFeesAmount + curatorFeeAmount;
213
- }
214
- else {
215
- swapFeeAmount = (0, Math_1.mulDivUp)(inputAmount, swapFee, Constants_1.SWAP_FEE_BASE - swapFee);
216
- if (useAmAmmFee) {
217
- const baseSwapFeeAmount = (0, Math_1.mulDivUp)(inputAmount, hookFeesBaseSwapFee, Constants_1.SWAP_FEE_BASE - hookFeesBaseSwapFee);
218
- hookFeesAmount = (0, Math_1.mulDivUp)(baseSwapFeeAmount, hookFeesModifier, Constants_1.MODIFIER_BASE);
219
- curatorFeeAmount = (0, Math_1.mulDivUp)(baseSwapFeeAmount, state.curatorFeeRate, Constants_1.CURATOR_FEE_BASE);
220
- }
221
- else {
222
- hookFeesAmount = (0, Math_1.mulDivUp)(swapFeeAmount, hookFeesModifier, Constants_1.MODIFIER_BASE);
223
- curatorFeeAmount = (0, Math_1.mulDivUp)(swapFeeAmount, state.curatorFeeRate, Constants_1.CURATOR_FEE_BASE);
224
- swapFeeAmount -= hookFeesAmount + curatorFeeAmount;
225
- }
226
- inputAmount += swapFeeAmount + hookFeesAmount + curatorFeeAmount;
227
- const acutalOutputAmount = (0, Math_1.min)(params.amountSpecified, outputAmount);
228
- outputAmount = acutalOutputAmount;
229
- hookHandleSwapInputAmount = useAmAmmFee
230
- ? inputAmount - swapFeeAmount - hookFeesAmount - curatorFeeAmount
231
- : inputAmount - hookFeesAmount - curatorFeeAmount;
232
- hookHandleSwapOutputAmount = outputAmount;
233
- }
234
- await (0, BunniHubLogic_1.hookHandleSwap)(state, params.zeroForOne, hookHandleSwapInputAmount, hookHandleSwapOutputAmount, shouldSurge, blockNumber, dexHelper);
235
- }
236
- function decodeParams(hookParams) {
237
- return {
238
- feeMin: BigInt.asUintN(24, BigInt(`0x${hookParams.slice(2, 8)}`)),
239
- feeMax: BigInt.asUintN(24, BigInt(`0x${hookParams.slice(8, 14)}`)),
240
- feeQuadraticMultiplier: BigInt.asUintN(24, BigInt(`0x${hookParams.slice(14, 20)}`)),
241
- feeTwapSecondsAgo: BigInt.asUintN(24, BigInt(`0x${hookParams.slice(20, 26)}`)),
242
- maxAmAmmFee: BigInt.asUintN(24, BigInt(`0x${hookParams.slice(26, 32)}`)),
243
- surgeFeeHalfLife: BigInt.asUintN(16, BigInt(`0x${hookParams.slice(32, 36)}`)),
244
- surgeFeeAutostartThreshold: BigInt.asUintN(16, BigInt(`0x${hookParams.slice(36, 40)}`)),
245
- vaultSurgeThreshold0: BigInt.asUintN(16, BigInt(`0x${hookParams.slice(40, 44)}`)),
246
- vaultSurgeThreshold1: BigInt.asUintN(16, BigInt(`0x${hookParams.slice(44, 48)}`)),
247
- rebalanceThreshold: BigInt.asUintN(16, BigInt(`0x${hookParams.slice(48, 52)}`)),
248
- rebalanceMaxSlippage: BigInt.asUintN(16, BigInt(`0x${hookParams.slice(52, 56)}`)),
249
- rebalanceTwapSecondsAgo: BigInt.asUintN(16, BigInt(`0x${hookParams.slice(56, 60)}`)),
250
- rebalanceOrderTTL: BigInt.asUintN(16, BigInt(`0x${hookParams.slice(60, 64)}`)),
251
- amAmmEnabled: Boolean(BigInt(`0x${hookParams.slice(64, 66)}`)),
252
- oracleMinInterval: BigInt.asUintN(32, BigInt(`0x${hookParams.slice(66, 74)}`)),
253
- minRentMultiplier: BigInt.asUintN(48, BigInt(`0x${hookParams.slice(74, 86)}`)),
254
- };
255
- }
256
- function observe(state, secondsAgos, blockTimestamp) {
257
- return (0, Oracle_1._observe)(state.observations, state.intermediateObservation, blockTimestamp, secondsAgos, state.slot0.tick, state.index, state.cardinality);
258
- }
259
- function _shouldSurgeFromVaults(state, hookParams, reserveBalance0, reserveBalance1) {
260
- let shouldSurge = false;
261
- if (state.vault0 !== constants_1.NULL_ADDRESS || state.vault1 !== constants_1.NULL_ADDRESS) {
262
- const rescaleFactor0 = 18n + state.vault0Decimals - state.currency0Decimals;
263
- const rescaleFactor1 = 18n + state.vault1Decimals - state.currency1Decimals;
264
- const sharePrice0 = state.reserve0 === 0n
265
- ? 0n
266
- : (0, Math_1.mulDivUp)(reserveBalance0, 10n ** rescaleFactor0, state.reserve0);
267
- const sharePrice1 = state.reserve1 === 0n
268
- ? 0n
269
- : (0, Math_1.mulDivUp)(reserveBalance1, 10n ** rescaleFactor1, state.reserve1);
270
- shouldSurge =
271
- state.initialized &&
272
- ((0, Math_1.dist)(sharePrice0, state.sharePrice0) >
273
- state.sharePrice0 / hookParams.vaultSurgeThreshold0 ||
274
- (0, Math_1.dist)(sharePrice1, state.sharePrice1) >
275
- state.sharePrice1 / hookParams.vaultSurgeThreshold1);
276
- if (!state.initialized ||
277
- sharePrice0 !== state.sharePrice0 ||
278
- sharePrice1 !== state.sharePrice1) {
279
- state.initialized = true;
280
- state.sharePrice0 = sharePrice0;
281
- state.sharePrice1 = sharePrice1;
282
- }
283
- }
284
- return shouldSurge;
285
- }
286
- function _getTwap(state, currentTick, twapSecondsAgo, updatedIntermediate, updatedIndex, updatedCardinality, blockTimestamp) {
287
- const { tickCumulative0, tickCumulative1 } = (0, Oracle_1.observeDouble)(state.observations, updatedIntermediate, blockTimestamp, twapSecondsAgo, 0n, currentTick, updatedIndex, updatedCardinality);
288
- const tickCumulativesDelta = tickCumulative1 - tickCumulative0;
289
- return tickCumulativesDelta / twapSecondsAgo;
290
- }
291
- function _updateOracle(state, tick, oracleMinInterval, blockTimestamp) {
292
- const { intermediateUpdated: updatedIntermediate, indexUpdated: updatedIndex, cardinalityUpdated: updatedCardinality, } = (0, Oracle_1.write)(state.observations, state.intermediateObservation, state.index, blockTimestamp, tick, state.cardinality, state.cardinalityNext, oracleMinInterval);
293
- state.intermediateObservation = updatedIntermediate;
294
- state.index = updatedIndex;
295
- state.cardinality = updatedCardinality;
296
- return { updatedIntermediate, updatedIndex, updatedCardinality };
297
- }
298
- //# sourceMappingURL=BunniHookLogic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BunniHookLogic.js","sourceRoot":"","sources":["../../../../src/dex/bunni-v2/logic/BunniHookLogic.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { DepositParams, DexParams, PoolState, WithdrawParams } from '../types';
2
- import { IDexHelper } from '../../../dex-helper';
3
- export declare function deposit(state: PoolState, params: DepositParams, blockNumber: bigint, blockTimestamp: bigint, deploymentBlock: bigint, K: bigint, dexHelper: IDexHelper, dexParams: DexParams): Promise<void>;
4
- export declare function withdraw(state: PoolState, params: WithdrawParams, blockNumber: bigint, dexHelper: IDexHelper): Promise<void>;
5
- export declare function hookHandleSwap(state: PoolState, zeroForOne: boolean, inputAmount: bigint, outputAmount: bigint, shouldSurge: boolean, blockNumber: bigint, dexHelper: IDexHelper): Promise<void>;
@@ -1,245 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deposit = deposit;
4
- exports.withdraw = withdraw;
5
- exports.hookHandleSwap = hookHandleSwap;
6
- const VaultMath_1 = require("../lib/VaultMath");
7
- const IdleBalance_1 = require("../lib/IdleBalance");
8
- const LDFType_1 = require("../ldf/LDFType");
9
- const Constants_1 = require("../lib/Constants");
10
- const constants_1 = require("../../../constants");
11
- const Math_1 = require("../lib/Math");
12
- const QueryTwap_1 = require("../lib/QueryTwap");
13
- const QueryLDF_1 = require("../lib/QueryLDF");
14
- const getOnChainState_1 = require("../getOnChainState");
15
- const AmAmm_1 = require("./AmAmm");
16
- async function deposit(state, params, blockNumber, blockTimestamp, deploymentBlock, K, dexHelper, dexParams) {
17
- let amount0;
18
- let amount1;
19
- // trigger am-AMM state machine update to avoid sandwiching rent burns
20
- (0, AmAmm_1._updateAmAmmWrite)(state, blockNumber, deploymentBlock, K);
21
- const depositReturnData = await _depositLogic({
22
- state: state,
23
- params: params,
24
- poolId: state.id,
25
- currentTick: state.slot0.tick,
26
- sqrtPriceX96: state.slot0.sqrtPriceX96,
27
- }, blockNumber, blockTimestamp, dexHelper, dexParams);
28
- let reserveAmount0 = depositReturnData.reserveAmount0;
29
- let reserveAmount1 = depositReturnData.reserveAmount1;
30
- amount0 = depositReturnData.amount0;
31
- amount1 = depositReturnData.amount1;
32
- const rawAmount0 = state.vault0 !== constants_1.NULL_ADDRESS ? amount0 - reserveAmount0 : amount0;
33
- const rawAmount1 = state.vault1 !== constants_1.NULL_ADDRESS ? amount1 - reserveAmount1 : amount1;
34
- state.rawBalance0 += rawAmount0;
35
- state.rawBalance1 += rawAmount1;
36
- if (state.vault0 !== constants_1.NULL_ADDRESS && reserveAmount0 !== 0n) {
37
- const { reserveChange, reserveChangeInUnderlying } = await _depositVaultReserve(reserveAmount0, state.vault0, blockNumber, dexHelper);
38
- state.reserve0 += reserveChange;
39
- reserveAmount0 = reserveChangeInUnderlying;
40
- }
41
- if (state.vault1 !== constants_1.NULL_ADDRESS && reserveAmount1 !== 0n) {
42
- const { reserveChange, reserveChangeInUnderlying } = await _depositVaultReserve(reserveAmount1, state.vault1, blockNumber, dexHelper);
43
- state.reserve1 += reserveChange;
44
- reserveAmount1 = reserveChangeInUnderlying;
45
- }
46
- // update amount0 and amount1 to be the actual amounts added to the pool balance
47
- amount0 =
48
- state.vault0 !== constants_1.NULL_ADDRESS ? rawAmount0 + reserveAmount0 : rawAmount0;
49
- amount1 =
50
- state.vault1 !== constants_1.NULL_ADDRESS ? rawAmount1 + reserveAmount1 : rawAmount1;
51
- if (depositReturnData.balance0 === 0n && depositReturnData.balance1 === 0n) {
52
- if (state.idleBalance !== IdleBalance_1.IdleBalanceLibrary.ZERO) {
53
- state.idleBalance = IdleBalance_1.IdleBalanceLibrary.ZERO;
54
- }
55
- }
56
- else {
57
- const { rawBalance, isToken0 } = IdleBalance_1.IdleBalanceLibrary.fromIdleBalance(state.idleBalance);
58
- const newBalance = rawBalance +
59
- (isToken0
60
- ? depositReturnData.balance0 === 0n
61
- ? amount0
62
- : (0, Math_1.mulDivUp)(amount0, rawBalance, depositReturnData.balance0)
63
- : depositReturnData.balance1 === 0n
64
- ? amount1
65
- : (0, Math_1.mulDivUp)(amount1, rawBalance, depositReturnData.balance1));
66
- if (newBalance !== rawBalance) {
67
- state.idleBalance = IdleBalance_1.IdleBalanceLibrary.toIdleBalance(newBalance, isToken0);
68
- }
69
- }
70
- }
71
- async function withdraw(state, params, blockNumber, dexHelper) {
72
- let amount0;
73
- let amount1;
74
- const reserveAmount0 = await (0, VaultMath_1.getReservesInUnderlying)((0, Math_1.mulDiv)(state.reserve0, params.shares, state.totalSupply), state.vault0, blockNumber, dexHelper);
75
- const reserveAmount1 = await (0, VaultMath_1.getReservesInUnderlying)((0, Math_1.mulDiv)(state.reserve1, params.shares, state.totalSupply), state.vault1, blockNumber, dexHelper);
76
- const rawAmount0 = (0, Math_1.mulDiv)(state.rawBalance0, params.shares, state.totalSupply);
77
- const rawAmount1 = (0, Math_1.mulDiv)(state.rawBalance1, params.shares, state.totalSupply);
78
- amount0 = reserveAmount0 + rawAmount0;
79
- amount1 = reserveAmount1 + rawAmount1;
80
- // update the idle balance
81
- const { rawBalance, isToken0 } = IdleBalance_1.IdleBalanceLibrary.fromIdleBalance(state.idleBalance);
82
- const newBalance = rawBalance - (0, Math_1.mulDiv)(rawBalance, params.shares, state.totalSupply);
83
- if (newBalance !== rawBalance) {
84
- state.idleBalance = IdleBalance_1.IdleBalanceLibrary.toIdleBalance(newBalance, isToken0);
85
- }
86
- if (state.vault0 !== constants_1.NULL_ADDRESS && reserveAmount0 !== 0n) {
87
- const { reserveChange } = await _withdrawVaultReserve(reserveAmount0, state.vault0, blockNumber, dexHelper);
88
- state.reserve0 -= reserveChange;
89
- }
90
- if (state.vault1 !== constants_1.NULL_ADDRESS && reserveAmount1 !== 0n) {
91
- const { reserveChange } = await _withdrawVaultReserve(reserveAmount1, state.vault1, blockNumber, dexHelper);
92
- state.reserve1 -= reserveChange;
93
- }
94
- state.rawBalance0 -= rawAmount0;
95
- state.rawBalance1 -= rawAmount1;
96
- }
97
- async function hookHandleSwap(state, zeroForOne, inputAmount, outputAmount, shouldSurge, blockNumber, dexHelper) {
98
- // pull input claim tokens from hook
99
- if (inputAmount !== 0n) {
100
- zeroForOne
101
- ? (state.rawBalance0 += inputAmount)
102
- : (state.rawBalance1 += inputAmount);
103
- }
104
- if (outputAmount !== 0n) {
105
- const outputRawBalance = zeroForOne
106
- ? state.rawBalance1
107
- : state.rawBalance0;
108
- const outputVault = zeroForOne ? state.vault1 : state.vault0;
109
- if (outputVault !== constants_1.NULL_ADDRESS && outputRawBalance < outputAmount) {
110
- const { reserveChange, actualRawBalanceChange: rawBalanceChange } = await _updateVaultReserveViaClaimTokens(outputAmount - outputRawBalance, outputVault, state, blockNumber, dexHelper);
111
- zeroForOne
112
- ? (state.reserve1 += reserveChange)
113
- : (state.reserve0 += reserveChange);
114
- zeroForOne
115
- ? (state.rawBalance1 += rawBalanceChange)
116
- : (state.rawBalance0 += rawBalanceChange);
117
- }
118
- zeroForOne
119
- ? (state.rawBalance1 -= outputAmount)
120
- : (state.rawBalance0 -= outputAmount);
121
- }
122
- if (!shouldSurge) {
123
- if (state.vault0 !== constants_1.NULL_ADDRESS) {
124
- const { newReserve, newRawBalance } = await _updateRawBalanceIfNeeded(state.vault0, state.rawBalance0, state.reserve0, state.minRawTokenRatio0, state.maxRawTokenRatio0, state.targetRawTokenRatio0, state, blockNumber, dexHelper);
125
- state.reserve0 = newReserve;
126
- state.rawBalance0 = newRawBalance;
127
- }
128
- if (state.vault1 !== constants_1.NULL_ADDRESS) {
129
- const { newReserve, newRawBalance } = await _updateRawBalanceIfNeeded(state.vault1, state.rawBalance1, state.reserve1, state.minRawTokenRatio1, state.maxRawTokenRatio1, state.targetRawTokenRatio1, state, blockNumber, dexHelper);
130
- state.reserve1 = newReserve;
131
- state.rawBalance1 = newRawBalance;
132
- }
133
- }
134
- }
135
- /*
136
- Modified from the originally written solidity specifically
137
- to handle deposit events where the acutal emitted amounts
138
- are known. Replicating the solidity logic exactly will lead
139
- to incorrect values and should not be used unless further
140
- development deems it necessary.
141
- */
142
- async function _depositLogic(inputData, blockNumber, blockTimestamp, dexHelper, dexParams) {
143
- const returnData = {
144
- reserveAmount0: 0n,
145
- reserveAmount1: 0n,
146
- amount0: 0n,
147
- amount1: 0n,
148
- balance0: 0n,
149
- balance1: 0n,
150
- };
151
- const { reserveBalance0, reserveBalance1 } = {
152
- reserveBalance0: await (0, VaultMath_1.getReservesInUnderlying)(inputData.state.reserve0, inputData.state.vault0, blockNumber, dexHelper),
153
- reserveBalance1: await (0, VaultMath_1.getReservesInUnderlying)(inputData.state.reserve1, inputData.state.vault1, blockNumber, dexHelper),
154
- };
155
- returnData.amount0 = inputData.params.amount0Desired;
156
- returnData.amount1 = inputData.params.amount1Desired;
157
- returnData.balance0 = inputData.state.rawBalance0 + reserveBalance0;
158
- returnData.balance1 = inputData.state.rawBalance1 + reserveBalance1;
159
- const requiresLDF = returnData.balance0 === 0n && returnData.balance1 === 0n;
160
- if (requiresLDF) {
161
- const useTwap = inputData.state.twapSecondsAgo !== 0n;
162
- const arithmeticMeanTick = useTwap
163
- ? (0, QueryTwap_1.queryTwap)(inputData.state, inputData.state.twapSecondsAgo, blockTimestamp)
164
- : 0n;
165
- const { newLdfState } = (0, QueryLDF_1.queryLDF)(inputData.state.key, inputData.sqrtPriceX96, inputData.currentTick, arithmeticMeanTick, inputData.state.liquidityDensityFunction, inputData.state.ldfParams, inputData.state.ldfState, inputData.params.amount0Desired, inputData.params.amount1Desired, IdleBalance_1.IdleBalanceLibrary.ZERO, dexParams);
166
- if (inputData.state.ldfType === LDFType_1.LDFType.DYNAMIC_AND_STATEFUL) {
167
- inputData.state.ldfState = newLdfState;
168
- }
169
- }
170
- // update token amounts to deposit into vaults
171
- returnData.reserveAmount0 =
172
- returnData.amount0 -
173
- (0, Math_1.mulDiv)(returnData.amount0, inputData.state.targetRawTokenRatio0, Constants_1.RAW_TOKEN_RATIO_BASE);
174
- returnData.reserveAmount1 =
175
- returnData.amount1 -
176
- (0, Math_1.mulDiv)(returnData.amount1, inputData.state.targetRawTokenRatio1, Constants_1.RAW_TOKEN_RATIO_BASE);
177
- // modify reserveAmount0 using ERC4626::maxDeposit()
178
- if (inputData.state.vault0 !== constants_1.NULL_ADDRESS &&
179
- returnData.reserveAmount0 !== 0n) {
180
- const maxDeposit0 = await (0, getOnChainState_1.ERC4626_maxDeposit)(inputData.state.bunniHub, inputData.state.vault0, blockNumber, dexHelper);
181
- if (returnData.reserveAmount0 > maxDeposit0) {
182
- returnData.reserveAmount0 = maxDeposit0;
183
- }
184
- }
185
- // modify reserveAmount1 using ERC4626::maxDeposit()
186
- if (inputData.state.vault1 !== constants_1.NULL_ADDRESS &&
187
- returnData.reserveAmount1 !== 0n) {
188
- const maxDeposit1 = await (0, getOnChainState_1.ERC4626_maxDeposit)(inputData.state.bunniHub, inputData.state.vault1, blockNumber, dexHelper);
189
- if (returnData.reserveAmount1 > maxDeposit1) {
190
- returnData.reserveAmount1 = maxDeposit1;
191
- }
192
- }
193
- return returnData;
194
- }
195
- async function _depositVaultReserve(amount, vault, blockNumber, dexHelper) {
196
- throw new Error('Unreliable results from _depositVaultReserve(), fallback to RPC state updates');
197
- // @dev
198
- // The original solidity code uses the return value from depositing
199
- // into the ERC4626. Using previewDeposit here gives unreliable
200
- // results and cannot be trusted. I've attempted almost every possible
201
- // combination of RPC calls here to no avail. So, for now, we will
202
- // throw an error to revert back to general RPC state updates.
203
- const reserveChange = await (0, getOnChainState_1.ERC4626_previewDeposit)(amount, vault, blockNumber, dexHelper);
204
- return { reserveChange, reserveChangeInUnderlying: amount };
205
- }
206
- async function _withdrawVaultReserve(amount, vault, blockNumber, dexHelper) {
207
- const reserveChange = await (0, getOnChainState_1.ERC4626_previewWithdraw)(amount, vault, blockNumber, dexHelper);
208
- return { reserveChange };
209
- }
210
- async function _updateVaultReserveViaClaimTokens(rawBalanceChange, vault, state, blockNumber, dexHelper) {
211
- let reserveChange = 0n;
212
- let actualRawBalanceChange = 0n;
213
- let absAmount = (0, Math_1.abs)(rawBalanceChange);
214
- if (rawBalanceChange < 0) {
215
- const maxDepositAmount = await (0, getOnChainState_1.ERC4626_maxDeposit)(state.bunniHub, vault, blockNumber, dexHelper);
216
- absAmount = (0, Math_1.min)(absAmount, maxDepositAmount);
217
- reserveChange = await (0, getOnChainState_1.ERC4626_previewDeposit)(absAmount, vault, blockNumber, dexHelper);
218
- actualRawBalanceChange = rawBalanceChange;
219
- }
220
- else if (rawBalanceChange > 0) {
221
- reserveChange = -(await (0, getOnChainState_1.ERC4626_previewWithdraw)(absAmount, vault, blockNumber, dexHelper));
222
- actualRawBalanceChange = rawBalanceChange;
223
- }
224
- return { reserveChange, actualRawBalanceChange };
225
- }
226
- async function _updateRawBalanceIfNeeded(vault, rawBalance, reserve, minRatio, maxRatio, targetRatio, state, blockNumber, dexHelper) {
227
- let newReserve = 0n;
228
- let newRawBalance = 0n;
229
- const balance = rawBalance +
230
- (await (0, VaultMath_1.getReservesInUnderlying)(reserve, vault, blockNumber, dexHelper));
231
- const minRawBalance = (0, Math_1.mulDiv)(balance, minRatio, Constants_1.RAW_TOKEN_RATIO_BASE);
232
- const maxRawBalance = (0, Math_1.mulDiv)(balance, maxRatio, Constants_1.RAW_TOKEN_RATIO_BASE);
233
- if (rawBalance < minRawBalance || rawBalance > maxRawBalance) {
234
- const targetRawBalance = (0, Math_1.mulDiv)(balance, targetRatio, Constants_1.RAW_TOKEN_RATIO_BASE);
235
- const { reserveChange, actualRawBalanceChange: rawBalanceChange } = await _updateVaultReserveViaClaimTokens(targetRawBalance - rawBalance, vault, state, blockNumber, dexHelper);
236
- newReserve = reserve + reserveChange;
237
- newRawBalance = rawBalance + rawBalanceChange;
238
- }
239
- else {
240
- newReserve = reserve;
241
- newRawBalance = rawBalance;
242
- }
243
- return { newReserve, newRawBalance };
244
- }
245
- //# sourceMappingURL=BunniHubLogic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BunniHubLogic.js","sourceRoot":"","sources":["../../../../src/dex/bunni-v2/logic/BunniHubLogic.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { DexParams, PoolState, SwapParams, VaultState } from '../types';
2
- export declare function quoteSwap(state: PoolState, params: SwapParams, blockNumber: bigint, blockTimestamp: bigint, hookFeesModifier: bigint, hookDeploymentBlock: bigint, K: bigint, vaults: {
3
- [address: string]: VaultState;
4
- }, dexParams: DexParams): {
5
- success: boolean;
6
- updatedSqrtPriceX96: bigint;
7
- updatedTick: bigint;
8
- inputAmount: bigint;
9
- outputAmount: bigint;
10
- swapFee: bigint;
11
- totalLiquidity: bigint;
12
- };