@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.
- package/build/abi/pancakeswap-infinity/cl-pool-manager.abi.json +136 -0
- package/build/abi/pancakeswap-infinity/cl-quoter.abi.json +66 -0
- package/build/abi/pancakeswap-infinity/router.abi.json +23 -0
- package/build/dex/dexalot/config.js +4 -4
- package/build/dex/native/constants.d.ts +1 -0
- package/build/dex/native/constants.js +2 -1
- package/build/dex/native/constants.js.map +1 -1
- package/build/dex/native/rate-fetcher.d.ts +1 -0
- package/build/dex/native/rate-fetcher.js +40 -0
- package/build/dex/native/rate-fetcher.js.map +1 -1
- package/build/dex/native/types.d.ts +1 -0
- package/build/dex/native/validators.js +1 -0
- package/build/dex/native/validators.js.map +1 -1
- package/build/dex/pancakeswap-infinity/config.d.ts +4 -0
- package/build/dex/pancakeswap-infinity/config.js +30 -0
- package/build/dex/pancakeswap-infinity/config.js.map +1 -0
- package/build/dex/pancakeswap-infinity/constants.d.ts +11 -0
- package/build/dex/pancakeswap-infinity/constants.js +15 -0
- package/build/dex/pancakeswap-infinity/constants.js.map +1 -0
- package/build/dex/pancakeswap-infinity/encoder.d.ts +16 -0
- package/build/dex/{bunni-v2 → pancakeswap-infinity}/encoder.js +88 -199
- package/build/dex/pancakeswap-infinity/encoder.js.map +1 -0
- package/build/dex/pancakeswap-infinity/liquidity.d.ts +1 -0
- package/build/dex/pancakeswap-infinity/liquidity.js +7 -0
- package/build/dex/pancakeswap-infinity/liquidity.js.map +1 -0
- package/build/dex/pancakeswap-infinity/optimizer.d.ts +2 -0
- package/build/dex/pancakeswap-infinity/optimizer.js +48 -0
- package/build/dex/pancakeswap-infinity/optimizer.js.map +1 -0
- package/build/dex/pancakeswap-infinity/pancakeswap-infinity-pool-manager.d.ts +36 -0
- package/build/dex/pancakeswap-infinity/pancakeswap-infinity-pool-manager.js +393 -0
- package/build/dex/pancakeswap-infinity/pancakeswap-infinity-pool-manager.js.map +1 -0
- package/build/dex/pancakeswap-infinity/pancakeswap-infinity-pool.d.ts +37 -0
- package/build/dex/pancakeswap-infinity/pancakeswap-infinity-pool.js +289 -0
- package/build/dex/pancakeswap-infinity/pancakeswap-infinity-pool.js.map +1 -0
- package/build/dex/pancakeswap-infinity/pancakeswap-infinity.d.ts +42 -0
- package/build/dex/pancakeswap-infinity/pancakeswap-infinity.js +350 -0
- package/build/dex/pancakeswap-infinity/pancakeswap-infinity.js.map +1 -0
- package/build/dex/pancakeswap-infinity/subgraph.d.ts +8 -0
- package/build/dex/pancakeswap-infinity/subgraph.js +122 -0
- package/build/dex/pancakeswap-infinity/subgraph.js.map +1 -0
- package/build/dex/pancakeswap-infinity/types.d.ts +101 -0
- package/build/dex/pancakeswap-infinity/types.js.map +1 -0
- package/build/dex/pancakeswap-infinity/utils.d.ts +5 -0
- package/build/dex/pancakeswap-infinity/utils.js +45 -0
- package/build/dex/pancakeswap-infinity/utils.js.map +1 -0
- package/build/dex/renegade/api/auth.d.ts +1 -0
- package/build/dex/renegade/api/auth.js +63 -0
- package/build/dex/renegade/api/auth.js.map +1 -0
- package/build/dex/renegade/api/renegade-client.d.ts +18 -0
- package/build/dex/renegade/api/renegade-client.js +82 -0
- package/build/dex/renegade/api/renegade-client.js.map +1 -0
- package/build/dex/renegade/api/types.d.ts +110 -0
- package/build/dex/{maker-psm → renegade/api}/types.js.map +1 -1
- package/build/dex/{se-vlr → renegade}/config.d.ts +1 -1
- package/build/dex/renegade/config.js +16 -0
- package/build/dex/renegade/config.js.map +1 -0
- package/build/dex/renegade/constants.d.ts +25 -0
- package/build/dex/renegade/constants.js +47 -0
- package/build/dex/renegade/constants.js.map +1 -0
- package/build/dex/renegade/rate-fetcher.d.ts +23 -0
- package/build/dex/renegade/rate-fetcher.js +135 -0
- package/build/dex/renegade/rate-fetcher.js.map +1 -0
- package/build/dex/renegade/renegade-levels-response.d.ts +22 -0
- package/build/dex/renegade/renegade-levels-response.js +99 -0
- package/build/dex/renegade/renegade-levels-response.js.map +1 -0
- package/build/dex/renegade/renegade.d.ts +57 -0
- package/build/dex/renegade/renegade.js +499 -0
- package/build/dex/renegade/renegade.js.map +1 -0
- package/build/dex/renegade/types.d.ts +38 -0
- package/build/dex/renegade/types.js +4 -0
- package/build/dex/renegade/types.js.map +1 -0
- package/package.json +1 -1
- package/build/abi/AaveV2_lending_pool.json +0 -53
- package/build/abi/BProtocol.json +0 -1155
- package/build/abi/Bancor.json +0 -392
- package/build/abi/Compound_CETH.json +0 -12
- package/build/abi/Jarvis.json +0 -1172
- package/build/abi/MStableAsset.json +0 -1545
- package/build/abi/OneInchLp.json +0 -1304
- package/build/abi/Onebit.json +0 -736
- package/build/abi/SSPM.json +0 -829
- package/build/abi/Shell.json +0 -1294
- package/build/abi/Smoothy.json +0 -1049
- package/build/abi/StaderOracle.json +0 -2170
- package/build/abi/TraderJoeV2Router.json +0 -50
- package/build/abi/aave-weth-gateway-avalanche.json +0 -242
- package/build/abi/aave-weth-gateway-polygon.json +0 -242
- package/build/abi/aave-weth-gateway.json +0 -24
- package/build/abi/bunni-v2/BunniHook.abi.json +0 -1921
- package/build/abi/bunni-v2/BunniHub.abi.json +0 -1598
- package/build/abi/bunni-v2/BunniToken.abi.json +0 -833
- package/build/abi/bunni-v2/FeeOverrideHooklet.abi.json +0 -1947
- package/build/abi/bunni-v2/FloodPlain.abi.json +0 -1195
- package/build/abi/bunni-v2/PoolManager.abi.json +0 -1366
- package/build/abi/bunni-v2/V4Quoter.abi.json +0 -637
- package/build/abi/concentrator/arUSD.json +0 -568
- package/build/abi/concentrator/arUSD5115.json +0 -1746
- package/build/abi/gmx/fast-price-events.json +0 -70
- package/build/abi/gmx/fast-price-feed.json +0 -748
- package/build/abi/gmx/reader.json +0 -337
- package/build/abi/gmx/vault-price-feed.json +0 -477
- package/build/abi/gmx/vault.json +0 -2002
- package/build/abi/idle-dao/idle-cdo-factory.json +0 -38
- package/build/abi/idle-dao/idle-cdo.json +0 -1245
- package/build/abi/infusion/InfusionFactory.json +0 -147
- package/build/abi/infusion/InfusionPair.json +0 -658
- package/build/abi/infusion/InfusionRouter.json +0 -442
- package/build/abi/jarvis/ChainlinkAccessControlledOffchainAggregator.json +0 -1009
- package/build/abi/jarvis/SynthereumPriceFeed.json +0 -381
- package/build/abi/jarvis/jarvis-v6-pool.json +0 -1041
- package/build/abi/kyberdmm/kyber-dmm-exchange-router.abi.json +0 -1148
- package/build/abi/kyberdmm/kyber-dmm-factory.abi.json +0 -335
- package/build/abi/kyberdmm/kyber-dmm-pool.abi.json +0 -803
- package/build/abi/maker-psm/pot.json +0 -322
- package/build/abi/maker-psm/psm.json +0 -243
- package/build/abi/maker-psm/vat.json +0 -363
- package/build/abi/nomiswap-v2/nomiswap-v2-pool.json +0 -773
- package/build/abi/quick-perps/fast-price-events.json +0 -70
- package/build/abi/quick-perps/fast-price-feed.json +0 -741
- package/build/abi/quick-perps/reader.json +0 -313
- package/build/abi/quick-perps/vault-price-feed.json +0 -323
- package/build/abi/quick-perps/vault.json +0 -1953
- package/build/abi/synthetix/CombinedSynthetix.abi.json +0 -442
- package/build/abi/uniswap-v2/excalibur-pool.json +0 -881
- package/build/abi/uniswap-v2/mdex-factory.json +0 -759
- package/build/abi/wUSDM.json +0 -757
- package/build/abi/wombat/asset.json +0 -743
- package/build/abi/wombat/bmw.json +0 -1247
- package/build/abi/wombat/pool-v2.json +0 -1289
- package/build/abi/wombat/pool-v3.json +0 -2013
- package/build/abi/zrx.v2.json +0 -1967
- package/build/abi/zrx.v3.json +0 -3454
- package/build/abi/zrx.v4.json +0 -2193
- package/build/dex/OneInchLp.d.ts +0 -24
- package/build/dex/OneInchLp.js +0 -43
- package/build/dex/OneInchLp.js.map +0 -1
- package/build/dex/aave-v2/aave-v2.d.ts +0 -33
- package/build/dex/aave-v2/aave-v2.js +0 -328
- package/build/dex/aave-v2/aave-v2.js.map +0 -1
- package/build/dex/aave-v2/config.d.ts +0 -14
- package/build/dex/aave-v2/config.js +0 -49
- package/build/dex/aave-v2/config.js.map +0 -1
- package/build/dex/aave-v2/tokenlist.json +0 -904
- package/build/dex/aave-v2/tokens.d.ts +0 -8
- package/build/dex/aave-v2/tokens.js +0 -65
- package/build/dex/aave-v2/tokens.js.map +0 -1
- package/build/dex/aave-v2/types.d.ts +0 -33
- package/build/dex/aave-v2/types.js +0 -11
- package/build/dex/aave-v2/types.js.map +0 -1
- package/build/dex/bProtocol/bProtocol.d.ts +0 -15
- package/build/dex/bProtocol/bProtocol.js +0 -56
- package/build/dex/bProtocol/bProtocol.js.map +0 -1
- package/build/dex/bProtocol/types.d.ts +0 -11
- package/build/dex/bProtocol/types.js +0 -8
- package/build/dex/bProtocol/types.js.map +0 -1
- package/build/dex/bancor/bancor.d.ts +0 -15
- package/build/dex/bancor/bancor.js +0 -74
- package/build/dex/bancor/bancor.js.map +0 -1
- package/build/dex/bancor/config.d.ts +0 -6
- package/build/dex/bancor/config.js +0 -11
- package/build/dex/bancor/config.js.map +0 -1
- package/build/dex/bancor/types.d.ts +0 -16
- package/build/dex/bancor/types.js +0 -8
- package/build/dex/bancor/types.js.map +0 -1
- package/build/dex/bunni-v2/bunni-v2-pool.d.ts +0 -62
- package/build/dex/bunni-v2/bunni-v2-pool.js +0 -505
- package/build/dex/bunni-v2/bunni-v2-pool.js.map +0 -1
- package/build/dex/bunni-v2/bunni-v2.d.ts +0 -51
- package/build/dex/bunni-v2/bunni-v2.js +0 -460
- package/build/dex/bunni-v2/bunni-v2.js.map +0 -1
- package/build/dex/bunni-v2/config.d.ts +0 -3
- package/build/dex/bunni-v2/config.js +0 -130
- package/build/dex/bunni-v2/config.js.map +0 -1
- package/build/dex/bunni-v2/encoder.d.ts +0 -19
- package/build/dex/bunni-v2/encoder.js.map +0 -1
- package/build/dex/bunni-v2/getOnChainState.d.ts +0 -26
- package/build/dex/bunni-v2/getOnChainState.js +0 -493
- package/build/dex/bunni-v2/getOnChainState.js.map +0 -1
- package/build/dex/bunni-v2/hook/BunniSwapMath.d.ts +0 -7
- package/build/dex/bunni-v2/hook/BunniSwapMath.js +0 -198
- package/build/dex/bunni-v2/hook/BunniSwapMath.js.map +0 -1
- package/build/dex/bunni-v2/hook/SwapMath.d.ts +0 -8
- package/build/dex/bunni-v2/hook/SwapMath.js +0 -65
- package/build/dex/bunni-v2/hook/SwapMath.js.map +0 -1
- package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.d.ts +0 -33
- package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.js +0 -33
- package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.js.map +0 -1
- package/build/dex/bunni-v2/hooklet/index.d.ts +0 -21
- package/build/dex/bunni-v2/hooklet/index.js +0 -64
- package/build/dex/bunni-v2/hooklet/index.js.map +0 -1
- package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.d.ts +0 -70
- package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.js +0 -277
- package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.js.map +0 -1
- package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.d.ts +0 -64
- package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.js +0 -262
- package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.js.map +0 -1
- package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.d.ts +0 -60
- package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.js +0 -224
- package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.js.map +0 -1
- package/build/dex/bunni-v2/ldf/GeometricDistribution.d.ts +0 -56
- package/build/dex/bunni-v2/ldf/GeometricDistribution.js +0 -489
- package/build/dex/bunni-v2/ldf/GeometricDistribution.js.map +0 -1
- package/build/dex/bunni-v2/ldf/LDFType.d.ts +0 -5
- package/build/dex/bunni-v2/ldf/LDFType.js +0 -10
- package/build/dex/bunni-v2/ldf/LDFType.js.map +0 -1
- package/build/dex/bunni-v2/ldf/ShiftMode.d.ts +0 -7
- package/build/dex/bunni-v2/ldf/ShiftMode.js +0 -19
- package/build/dex/bunni-v2/ldf/ShiftMode.js.map +0 -1
- package/build/dex/bunni-v2/ldf/UniformDistribution.d.ts +0 -55
- package/build/dex/bunni-v2/ldf/UniformDistribution.js +0 -291
- package/build/dex/bunni-v2/ldf/UniformDistribution.js.map +0 -1
- package/build/dex/bunni-v2/ldf/index.d.ts +0 -15
- package/build/dex/bunni-v2/ldf/index.js +0 -21
- package/build/dex/bunni-v2/ldf/index.js.map +0 -1
- package/build/dex/bunni-v2/lib/AmAmmPayload.d.ts +0 -4
- package/build/dex/bunni-v2/lib/AmAmmPayload.js +0 -10
- package/build/dex/bunni-v2/lib/AmAmmPayload.js.map +0 -1
- package/build/dex/bunni-v2/lib/BitMath.d.ts +0 -4
- package/build/dex/bunni-v2/lib/BitMath.js +0 -24
- package/build/dex/bunni-v2/lib/BitMath.js.map +0 -1
- package/build/dex/bunni-v2/lib/Constants.d.ts +0 -15
- package/build/dex/bunni-v2/lib/Constants.js +0 -19
- package/build/dex/bunni-v2/lib/Constants.js.map +0 -1
- package/build/dex/bunni-v2/lib/ExpMath.d.ts +0 -5
- package/build/dex/bunni-v2/lib/ExpMath.js +0 -121
- package/build/dex/bunni-v2/lib/ExpMath.js.map +0 -1
- package/build/dex/bunni-v2/lib/FeeMath.d.ts +0 -2
- package/build/dex/bunni-v2/lib/FeeMath.js +0 -27
- package/build/dex/bunni-v2/lib/FeeMath.js.map +0 -1
- package/build/dex/bunni-v2/lib/FixedPointMath.d.ts +0 -3
- package/build/dex/bunni-v2/lib/FixedPointMath.js +0 -15
- package/build/dex/bunni-v2/lib/FixedPointMath.js.map +0 -1
- package/build/dex/bunni-v2/lib/FullMathX96.d.ts +0 -4
- package/build/dex/bunni-v2/lib/FullMathX96.js +0 -21
- package/build/dex/bunni-v2/lib/FullMathX96.js.map +0 -1
- package/build/dex/bunni-v2/lib/IdleBalance.d.ts +0 -11
- package/build/dex/bunni-v2/lib/IdleBalance.js +0 -33
- package/build/dex/bunni-v2/lib/IdleBalance.js.map +0 -1
- package/build/dex/bunni-v2/lib/LiquidityAmounts.d.ts +0 -6
- package/build/dex/bunni-v2/lib/LiquidityAmounts.js +0 -25
- package/build/dex/bunni-v2/lib/LiquidityAmounts.js.map +0 -1
- package/build/dex/bunni-v2/lib/Math.d.ts +0 -28
- package/build/dex/bunni-v2/lib/Math.js +0 -169
- package/build/dex/bunni-v2/lib/Math.js.map +0 -1
- package/build/dex/bunni-v2/lib/Oracle.d.ts +0 -27
- package/build/dex/bunni-v2/lib/Oracle.js +0 -180
- package/build/dex/bunni-v2/lib/Oracle.js.map +0 -1
- package/build/dex/bunni-v2/lib/QueryLDF.d.ts +0 -12
- package/build/dex/bunni-v2/lib/QueryLDF.js +0 -90
- package/build/dex/bunni-v2/lib/QueryLDF.js.map +0 -1
- package/build/dex/bunni-v2/lib/QueryTwap.d.ts +0 -2
- package/build/dex/bunni-v2/lib/QueryTwap.js +0 -13
- package/build/dex/bunni-v2/lib/QueryTwap.js.map +0 -1
- package/build/dex/bunni-v2/lib/SqrtPriceMath.d.ts +0 -8
- package/build/dex/bunni-v2/lib/SqrtPriceMath.js +0 -84
- package/build/dex/bunni-v2/lib/SqrtPriceMath.js.map +0 -1
- package/build/dex/bunni-v2/lib/TickMath.d.ts +0 -11
- package/build/dex/bunni-v2/lib/TickMath.js +0 -100
- package/build/dex/bunni-v2/lib/TickMath.js.map +0 -1
- package/build/dex/bunni-v2/lib/VaultMath.d.ts +0 -2
- package/build/dex/bunni-v2/lib/VaultMath.js +0 -11
- package/build/dex/bunni-v2/lib/VaultMath.js.map +0 -1
- package/build/dex/bunni-v2/logic/AmAmm.d.ts +0 -11
- package/build/dex/bunni-v2/logic/AmAmm.js +0 -156
- package/build/dex/bunni-v2/logic/AmAmm.js.map +0 -1
- package/build/dex/bunni-v2/logic/BunniHookLogic.d.ts +0 -10
- package/build/dex/bunni-v2/logic/BunniHookLogic.js +0 -298
- package/build/dex/bunni-v2/logic/BunniHookLogic.js.map +0 -1
- package/build/dex/bunni-v2/logic/BunniHubLogic.d.ts +0 -5
- package/build/dex/bunni-v2/logic/BunniHubLogic.js +0 -245
- package/build/dex/bunni-v2/logic/BunniHubLogic.js.map +0 -1
- package/build/dex/bunni-v2/logic/BunniQuoter.d.ts +0 -12
- package/build/dex/bunni-v2/logic/BunniQuoter.js +0 -201
- package/build/dex/bunni-v2/logic/BunniQuoter.js.map +0 -1
- package/build/dex/bunni-v2/subgraph.d.ts +0 -7
- package/build/dex/bunni-v2/subgraph.js +0 -184
- package/build/dex/bunni-v2/subgraph.js.map +0 -1
- package/build/dex/bunni-v2/types.d.ts +0 -257
- package/build/dex/bunni-v2/types.js.map +0 -1
- package/build/dex/bunni-v2/utils.d.ts +0 -12
- package/build/dex/bunni-v2/utils.js +0 -182
- package/build/dex/bunni-v2/utils.js.map +0 -1
- package/build/dex/compound/compound.d.ts +0 -15
- package/build/dex/compound/compound.js +0 -57
- package/build/dex/compound/compound.js.map +0 -1
- package/build/dex/compound/types.d.ts +0 -8
- package/build/dex/compound/types.js +0 -9
- package/build/dex/compound/types.js.map +0 -1
- package/build/dex/concentrator-arusd/concentrator-arusd-event.d.ts +0 -17
- package/build/dex/concentrator-arusd/concentrator-arusd-event.js +0 -69
- package/build/dex/concentrator-arusd/concentrator-arusd-event.js.map +0 -1
- package/build/dex/concentrator-arusd/concentrator-arusd.d.ts +0 -41
- package/build/dex/concentrator-arusd/concentrator-arusd.js +0 -202
- package/build/dex/concentrator-arusd/concentrator-arusd.js.map +0 -1
- package/build/dex/concentrator-arusd/config.d.ts +0 -3
- package/build/dex/concentrator-arusd/config.js +0 -14
- package/build/dex/concentrator-arusd/config.js.map +0 -1
- package/build/dex/concentrator-arusd/types.d.ts +0 -14
- package/build/dex/concentrator-arusd/types.js.map +0 -1
- package/build/dex/concentrator-arusd/utils.d.ts +0 -4
- package/build/dex/concentrator-arusd/utils.js +0 -26
- package/build/dex/concentrator-arusd/utils.js.map +0 -1
- package/build/dex/curve-v1/forks/swerve/config.d.ts +0 -4
- package/build/dex/curve-v1/forks/swerve/config.js +0 -47
- package/build/dex/curve-v1/forks/swerve/config.js.map +0 -1
- package/build/dex/curve-v1/forks/swerve/swerve.d.ts +0 -16
- package/build/dex/curve-v1/forks/swerve/swerve.js +0 -46
- package/build/dex/curve-v1/forks/swerve/swerve.js.map +0 -1
- package/build/dex/ekubo/pools/base-pool.d.ts +0 -47
- package/build/dex/ekubo/pools/base-pool.js +0 -184
- package/build/dex/ekubo/pools/base-pool.js.map +0 -1
- package/build/dex/ekubo/pools/iface.d.ts +0 -46
- package/build/dex/ekubo/pools/iface.js +0 -75
- package/build/dex/ekubo/pools/iface.js.map +0 -1
- package/build/dex/ekubo/pools/math/price.d.ts +0 -7
- package/build/dex/ekubo/pools/math/price.js +0 -112
- package/build/dex/ekubo/pools/math/price.js.map +0 -1
- package/build/dex/ekubo/pools/oracle-pool.d.ts +0 -10
- package/build/dex/ekubo/pools/oracle-pool.js +0 -19
- package/build/dex/ekubo/pools/oracle-pool.js.map +0 -1
- package/build/dex/ekubo/pools/pool-utils.d.ts +0 -44
- package/build/dex/ekubo/pools/pool-utils.js +0 -240
- package/build/dex/ekubo/pools/pool-utils.js.map +0 -1
- package/build/dex/gmx/config.d.ts +0 -11
- package/build/dex/gmx/config.js +0 -61
- package/build/dex/gmx/config.js.map +0 -1
- package/build/dex/gmx/fast-price-feed.d.ts +0 -26
- package/build/dex/gmx/fast-price-feed.js +0 -184
- package/build/dex/gmx/fast-price-feed.js.map +0 -1
- package/build/dex/gmx/gmx.d.ts +0 -54
- package/build/dex/gmx/gmx.js +0 -247
- package/build/dex/gmx/gmx.js.map +0 -1
- package/build/dex/gmx/pool.d.ts +0 -21
- package/build/dex/gmx/pool.js +0 -212
- package/build/dex/gmx/pool.js.map +0 -1
- package/build/dex/gmx/types.d.ts +0 -100
- package/build/dex/gmx/types.js +0 -3
- package/build/dex/gmx/types.js.map +0 -1
- package/build/dex/gmx/usdg.d.ts +0 -15
- package/build/dex/gmx/usdg.js +0 -62
- package/build/dex/gmx/usdg.js.map +0 -1
- package/build/dex/gmx/vault-price-feed.d.ts +0 -47
- package/build/dex/gmx/vault-price-feed.js +0 -245
- package/build/dex/gmx/vault-price-feed.js.map +0 -1
- package/build/dex/gmx/vault-utils.d.ts +0 -8
- package/build/dex/gmx/vault-utils.js +0 -42
- package/build/dex/gmx/vault-utils.js.map +0 -1
- package/build/dex/gmx/vault.d.ts +0 -46
- package/build/dex/gmx/vault.js +0 -182
- package/build/dex/gmx/vault.js.map +0 -1
- package/build/dex/idle-dao/config.d.ts +0 -5
- package/build/dex/idle-dao/config.js +0 -24
- package/build/dex/idle-dao/config.js.map +0 -1
- package/build/dex/idle-dao/idle-dao.d.ts +0 -42
- package/build/dex/idle-dao/idle-dao.js +0 -279
- package/build/dex/idle-dao/idle-dao.js.map +0 -1
- package/build/dex/idle-dao/token_list.d.ts +0 -4
- package/build/dex/idle-dao/token_list.js +0 -289
- package/build/dex/idle-dao/token_list.js.map +0 -1
- package/build/dex/idle-dao/tokens.d.ts +0 -9
- package/build/dex/idle-dao/tokens.js +0 -68
- package/build/dex/idle-dao/tokens.js.map +0 -1
- package/build/dex/idle-dao/types.d.ts +0 -35
- package/build/dex/idle-dao/types.js +0 -11
- package/build/dex/idle-dao/types.js.map +0 -1
- package/build/dex/idle-dao/utils.d.ts +0 -8
- package/build/dex/idle-dao/utils.js +0 -149
- package/build/dex/idle-dao/utils.js.map +0 -1
- package/build/dex/infusion/config.d.ts +0 -3
- package/build/dex/infusion/config.js +0 -20
- package/build/dex/infusion/config.js.map +0 -1
- package/build/dex/infusion/infusion-stable-pool.d.ts +0 -4
- package/build/dex/infusion/infusion-stable-pool.js +0 -74
- package/build/dex/infusion/infusion-stable-pool.js.map +0 -1
- package/build/dex/infusion/infusion.d.ts +0 -51
- package/build/dex/infusion/infusion.js +0 -500
- package/build/dex/infusion/infusion.js.map +0 -1
- package/build/dex/infusion/types.d.ts +0 -45
- package/build/dex/infusion/types.js +0 -3
- package/build/dex/infusion/types.js.map +0 -1
- package/build/dex/infusion/utils/isStablePair.d.ts +0 -2
- package/build/dex/infusion/utils/isStablePair.js +0 -18
- package/build/dex/infusion/utils/isStablePair.js.map +0 -1
- package/build/dex/jarvis-v6/chainLinkpriceFeed-event.d.ts +0 -15
- package/build/dex/jarvis-v6/chainLinkpriceFeed-event.js +0 -51
- package/build/dex/jarvis-v6/chainLinkpriceFeed-event.js.map +0 -1
- package/build/dex/jarvis-v6/config.d.ts +0 -4
- package/build/dex/jarvis-v6/config.js +0 -244
- package/build/dex/jarvis-v6/config.js.map +0 -1
- package/build/dex/jarvis-v6/jarvis-v6-events.d.ts +0 -27
- package/build/dex/jarvis-v6/jarvis-v6-events.js +0 -54
- package/build/dex/jarvis-v6/jarvis-v6-events.js.map +0 -1
- package/build/dex/jarvis-v6/jarvis-v6.d.ts +0 -49
- package/build/dex/jarvis-v6/jarvis-v6.js +0 -321
- package/build/dex/jarvis-v6/jarvis-v6.js.map +0 -1
- package/build/dex/jarvis-v6/syntheteumPool-event.d.ts +0 -15
- package/build/dex/jarvis-v6/syntheteumPool-event.js +0 -49
- package/build/dex/jarvis-v6/syntheteumPool-event.js.map +0 -1
- package/build/dex/jarvis-v6/types.d.ts +0 -48
- package/build/dex/jarvis-v6/types.js +0 -9
- package/build/dex/jarvis-v6/types.js.map +0 -1
- package/build/dex/jarvis-v6/utils.d.ts +0 -13
- package/build/dex/jarvis-v6/utils.js +0 -75
- package/build/dex/jarvis-v6/utils.js.map +0 -1
- package/build/dex/jarvis.d.ts +0 -56
- package/build/dex/jarvis.js +0 -163
- package/build/dex/jarvis.js.map +0 -1
- package/build/dex/kyberdmm/config.d.ts +0 -9
- package/build/dex/kyberdmm/config.js +0 -59
- package/build/dex/kyberdmm/config.js.map +0 -1
- package/build/dex/kyberdmm/fee-formula.d.ts +0 -15
- package/build/dex/kyberdmm/fee-formula.js +0 -88
- package/build/dex/kyberdmm/fee-formula.js.map +0 -1
- package/build/dex/kyberdmm/kyberdmm.d.ts +0 -55
- package/build/dex/kyberdmm/kyberdmm.js +0 -447
- package/build/dex/kyberdmm/kyberdmm.js.map +0 -1
- package/build/dex/kyberdmm/math-ext.d.ts +0 -2
- package/build/dex/kyberdmm/math-ext.js +0 -27
- package/build/dex/kyberdmm/math-ext.js.map +0 -1
- package/build/dex/kyberdmm/pool.d.ts +0 -50
- package/build/dex/kyberdmm/pool.js +0 -157
- package/build/dex/kyberdmm/pool.js.map +0 -1
- package/build/dex/kyberdmm/types.d.ts +0 -81
- package/build/dex/kyberdmm/types.js +0 -9
- package/build/dex/kyberdmm/types.js.map +0 -1
- package/build/dex/mStable.d.ts +0 -44
- package/build/dex/mStable.js +0 -75
- package/build/dex/mStable.js.map +0 -1
- package/build/dex/maker-psm/config.d.ts +0 -11
- package/build/dex/maker-psm/config.js +0 -53
- package/build/dex/maker-psm/config.js.map +0 -1
- package/build/dex/maker-psm/maker-psm.d.ts +0 -103
- package/build/dex/maker-psm/maker-psm.js +0 -493
- package/build/dex/maker-psm/maker-psm.js.map +0 -1
- package/build/dex/maker-psm/types.d.ts +0 -39
- package/build/dex/maker-psm/types.js +0 -3
- package/build/dex/onebit/onebit.d.ts +0 -16
- package/build/dex/onebit/onebit.js +0 -61
- package/build/dex/onebit/onebit.js.map +0 -1
- package/build/dex/onebit/types.d.ts +0 -14
- package/build/dex/onebit/types.js +0 -8
- package/build/dex/onebit/types.js.map +0 -1
- package/build/dex/quick-perps/config.d.ts +0 -11
- package/build/dex/quick-perps/config.js +0 -27
- package/build/dex/quick-perps/config.js.map +0 -1
- package/build/dex/quick-perps/fast-price-feed.d.ts +0 -26
- package/build/dex/quick-perps/fast-price-feed.js +0 -184
- package/build/dex/quick-perps/fast-price-feed.js.map +0 -1
- package/build/dex/quick-perps/pool.d.ts +0 -21
- package/build/dex/quick-perps/pool.js +0 -229
- package/build/dex/quick-perps/pool.js.map +0 -1
- package/build/dex/quick-perps/quick-perps.d.ts +0 -53
- package/build/dex/quick-perps/quick-perps.js +0 -247
- package/build/dex/quick-perps/quick-perps.js.map +0 -1
- package/build/dex/quick-perps/types.d.ts +0 -98
- package/build/dex/quick-perps/types.js +0 -3
- package/build/dex/quick-perps/types.js.map +0 -1
- package/build/dex/quick-perps/usdq.d.ts +0 -15
- package/build/dex/quick-perps/usdq.js +0 -62
- package/build/dex/quick-perps/usdq.js.map +0 -1
- package/build/dex/quick-perps/vault-price-feed.d.ts +0 -43
- package/build/dex/quick-perps/vault-price-feed.js +0 -203
- package/build/dex/quick-perps/vault-price-feed.js.map +0 -1
- package/build/dex/quick-perps/vault-utils.d.ts +0 -8
- package/build/dex/quick-perps/vault-utils.js +0 -42
- package/build/dex/quick-perps/vault-utils.js.map +0 -1
- package/build/dex/quick-perps/vault.d.ts +0 -46
- package/build/dex/quick-perps/vault.js +0 -182
- package/build/dex/quick-perps/vault.js.map +0 -1
- package/build/dex/quickswap/thena-fusion.d.ts +0 -6
- package/build/dex/quickswap/thena-fusion.js +0 -19
- package/build/dex/quickswap/thena-fusion.js.map +0 -1
- package/build/dex/se-vlr/config.js +0 -24
- package/build/dex/se-vlr/config.js.map +0 -1
- package/build/dex/se-vlr/se-vlr-pool.d.ts +0 -39
- package/build/dex/se-vlr/se-vlr-pool.js +0 -70
- package/build/dex/se-vlr/se-vlr-pool.js.map +0 -1
- package/build/dex/se-vlr/se-vlr.d.ts +0 -35
- package/build/dex/se-vlr/se-vlr.js +0 -131
- package/build/dex/se-vlr/se-vlr.js.map +0 -1
- package/build/dex/se-vlr/types.d.ts +0 -6
- package/build/dex/se-vlr/types.js +0 -3
- package/build/dex/se-vlr/types.js.map +0 -1
- package/build/dex/shell.d.ts +0 -25
- package/build/dex/shell.js +0 -41
- package/build/dex/shell.js.map +0 -1
- package/build/dex/smoothy/smoothy.d.ts +0 -16
- package/build/dex/smoothy/smoothy.js +0 -60
- package/build/dex/smoothy/smoothy.js.map +0 -1
- package/build/dex/smoothy/types.d.ts +0 -15
- package/build/dex/smoothy/types.js +0 -8
- package/build/dex/smoothy/types.js.map +0 -1
- package/build/dex/solidly/forks-override/aerodrome.d.ts +0 -14
- package/build/dex/solidly/forks-override/aerodrome.js +0 -46
- package/build/dex/solidly/forks-override/aerodrome.js.map +0 -1
- package/build/dex/solidly/forks-override/chronos.d.ts +0 -23
- package/build/dex/solidly/forks-override/chronos.js +0 -141
- package/build/dex/solidly/forks-override/chronos.js.map +0 -1
- package/build/dex/solidly/forks-override/usdfi.d.ts +0 -8
- package/build/dex/solidly/forks-override/usdfi.js +0 -15
- package/build/dex/solidly/forks-override/usdfi.js.map +0 -1
- package/build/dex/solidly/forks-override/velocimeter.d.ts +0 -23
- package/build/dex/solidly/forks-override/velocimeter.js +0 -77
- package/build/dex/solidly/forks-override/velocimeter.js.map +0 -1
- package/build/dex/stader/config.d.ts +0 -3
- package/build/dex/stader/config.js +0 -14
- package/build/dex/stader/config.js.map +0 -1
- package/build/dex/stader/stader-pool.d.ts +0 -19
- package/build/dex/stader/stader-pool.js +0 -56
- package/build/dex/stader/stader-pool.js.map +0 -1
- package/build/dex/stader/stader.d.ts +0 -42
- package/build/dex/stader/stader.js +0 -195
- package/build/dex/stader/stader.js.map +0 -1
- package/build/dex/stader/types.d.ts +0 -13
- package/build/dex/stader/types.js +0 -8
- package/build/dex/stader/types.js.map +0 -1
- package/build/dex/stader/utils.d.ts +0 -4
- package/build/dex/stader/utils.js +0 -23
- package/build/dex/stader/utils.js.map +0 -1
- package/build/dex/synthetix/config.d.ts +0 -4
- package/build/dex/synthetix/config.js +0 -53
- package/build/dex/synthetix/config.js.map +0 -1
- package/build/dex/synthetix/constants.d.ts +0 -23
- package/build/dex/synthetix/constants.js +0 -32
- package/build/dex/synthetix/constants.js.map +0 -1
- package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.d.ts +0 -17
- package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.js +0 -102
- package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.js.map +0 -1
- package/build/dex/synthetix/contract-math/ExchangeRates.d.ts +0 -8
- package/build/dex/synthetix/contract-math/ExchangeRates.js +0 -77
- package/build/dex/synthetix/contract-math/ExchangeRates.js.map +0 -1
- package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.d.ts +0 -17
- package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.js +0 -126
- package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.js.map +0 -1
- package/build/dex/synthetix/contract-math/FullMath.d.ts +0 -3
- package/build/dex/synthetix/contract-math/FullMath.js +0 -14
- package/build/dex/synthetix/contract-math/FullMath.js.map +0 -1
- package/build/dex/synthetix/contract-math/OracleLibrary.d.ts +0 -8
- package/build/dex/synthetix/contract-math/OracleLibrary.js +0 -60
- package/build/dex/synthetix/contract-math/OracleLibrary.js.map +0 -1
- package/build/dex/synthetix/contract-math/SafeDecimalMath.d.ts +0 -9
- package/build/dex/synthetix/contract-math/SafeDecimalMath.js +0 -41
- package/build/dex/synthetix/contract-math/SafeDecimalMath.js.map +0 -1
- package/build/dex/synthetix/contract-math/TickMath.d.ts +0 -7
- package/build/dex/synthetix/contract-math/TickMath.js +0 -63
- package/build/dex/synthetix/contract-math/TickMath.js.map +0 -1
- package/build/dex/synthetix/contract-math/synthetix-math.d.ts +0 -17
- package/build/dex/synthetix/contract-math/synthetix-math.js +0 -127
- package/build/dex/synthetix/contract-math/synthetix-math.js.map +0 -1
- package/build/dex/synthetix/synthetix-state.d.ts +0 -36
- package/build/dex/synthetix/synthetix-state.js +0 -615
- package/build/dex/synthetix/synthetix-state.js.map +0 -1
- package/build/dex/synthetix/synthetix.d.ts +0 -45
- package/build/dex/synthetix/synthetix.js +0 -304
- package/build/dex/synthetix/synthetix.js.map +0 -1
- package/build/dex/synthetix/types.d.ts +0 -90
- package/build/dex/synthetix/types.js +0 -3
- package/build/dex/synthetix/types.js.map +0 -1
- package/build/dex/synthetix/utils.d.ts +0 -10
- package/build/dex/synthetix/utils.js +0 -91
- package/build/dex/synthetix/utils.js.map +0 -1
- package/build/dex/trader-joe-v2.1/trader-joe-v2.1.d.ts +0 -7
- package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js +0 -20
- package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js.map +0 -1
- package/build/dex/trader-joe-v2.d.ts +0 -40
- package/build/dex/trader-joe-v2.js +0 -74
- package/build/dex/trader-joe-v2.js.map +0 -1
- package/build/dex/uniswap-v2/dfyn.d.ts +0 -19
- package/build/dex/uniswap-v2/dfyn.js +0 -61
- package/build/dex/uniswap-v2/dfyn.js.map +0 -1
- package/build/dex/uniswap-v2/excalibur.d.ts +0 -24
- package/build/dex/uniswap-v2/excalibur.js +0 -47
- package/build/dex/uniswap-v2/excalibur.js.map +0 -1
- package/build/dex/uniswap-v2/mdex.d.ts +0 -24
- package/build/dex/uniswap-v2/mdex.js +0 -50
- package/build/dex/uniswap-v2/mdex.js.map +0 -1
- package/build/dex/uniswap-v2/nomiswap-v2.d.ts +0 -24
- package/build/dex/uniswap-v2/nomiswap-v2.js +0 -57
- package/build/dex/uniswap-v2/nomiswap-v2.js.map +0 -1
- package/build/dex/uniswap-v3/uniswap-v3-new.d.ts +0 -94
- package/build/dex/uniswap-v3/uniswap-v3-new.js +0 -923
- package/build/dex/uniswap-v3/uniswap-v3-new.js.map +0 -1
- package/build/dex/uniswap-v4/contract-math/Position.d.ts +0 -3
- package/build/dex/uniswap-v4/contract-math/Position.js +0 -10
- package/build/dex/uniswap-v4/contract-math/Position.js.map +0 -1
- package/build/dex/usual-bond/config.d.ts +0 -3
- package/build/dex/usual-bond/config.js +0 -13
- package/build/dex/usual-bond/config.js.map +0 -1
- package/build/dex/usual-bond/types.d.ts +0 -7
- package/build/dex/usual-bond/types.js +0 -3
- package/build/dex/usual-bond/types.js.map +0 -1
- package/build/dex/usual-bond/usual-bond.d.ts +0 -35
- package/build/dex/usual-bond/usual-bond.js +0 -176
- package/build/dex/usual-bond/usual-bond.js.map +0 -1
- package/build/dex/wombat/config.d.ts +0 -4
- package/build/dex/wombat/config.js +0 -77
- package/build/dex/wombat/config.js.map +0 -1
- package/build/dex/wombat/types.d.ts +0 -34
- package/build/dex/wombat/types.js +0 -3
- package/build/dex/wombat/types.js.map +0 -1
- package/build/dex/wombat/utils.d.ts +0 -10
- package/build/dex/wombat/utils.js +0 -79
- package/build/dex/wombat/utils.js.map +0 -1
- package/build/dex/wombat/wombat-bmw.d.ts +0 -40
- package/build/dex/wombat/wombat-bmw.js +0 -136
- package/build/dex/wombat/wombat-bmw.js.map +0 -1
- package/build/dex/wombat/wombat-pool.d.ts +0 -60
- package/build/dex/wombat/wombat-pool.js +0 -488
- package/build/dex/wombat/wombat-pool.js.map +0 -1
- package/build/dex/wombat/wombat-quoter.d.ts +0 -17
- package/build/dex/wombat/wombat-quoter.js +0 -192
- package/build/dex/wombat/wombat-quoter.js.map +0 -1
- package/build/dex/wombat/wombat.d.ts +0 -58
- package/build/dex/wombat/wombat.js +0 -298
- package/build/dex/wombat/wombat.js.map +0 -1
- package/build/dex/wusdm/config.d.ts +0 -3
- package/build/dex/wusdm/config.js +0 -43
- package/build/dex/wusdm/config.js.map +0 -1
- package/build/dex/wusdm/constants.d.ts +0 -2
- package/build/dex/wusdm/constants.js +0 -6
- package/build/dex/wusdm/constants.js.map +0 -1
- package/build/dex/wusdm/types.d.ts +0 -18
- package/build/dex/wusdm/types.js +0 -11
- package/build/dex/wusdm/types.js.map +0 -1
- package/build/dex/wusdm/wusdm-pool.d.ts +0 -21
- package/build/dex/wusdm/wusdm-pool.js +0 -74
- package/build/dex/wusdm/wusdm-pool.js.map +0 -1
- package/build/dex/wusdm/wusdm.d.ts +0 -46
- package/build/dex/wusdm/wusdm.js +0 -243
- package/build/dex/wusdm/wusdm.js.map +0 -1
- package/build/dex/zerox/config.d.ts +0 -2
- package/build/dex/zerox/config.js +0 -33
- package/build/dex/zerox/config.js.map +0 -1
- package/build/dex/zerox/index.d.ts +0 -22
- package/build/dex/zerox/index.js +0 -225
- package/build/dex/zerox/index.js.map +0 -1
- package/build/dex/zerox/order.d.ts +0 -88
- package/build/dex/zerox/order.js +0 -53
- package/build/dex/zerox/order.js.map +0 -1
- package/build/dex/zerox/types.d.ts +0 -73
- package/build/dex/zerox/types.js +0 -21
- package/build/dex/zerox/types.js.map +0 -1
- /package/build/dex/{bunni-v2 → pancakeswap-infinity}/types.js +0 -0
- /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
|
-
};
|