@paraswap/dex-lib 4.8.15 → 4.8.16
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/algebra-integral/AlgebraIntegralPool.abi.json +901 -0
- package/build/abi/algebra-integral/AlgebraIntegralStateMulticall.abi.json +610 -0
- package/build/abi/ekubo/core.json +0 -1198
- package/build/abi/ekubo/data-fetcher.json +0 -74
- package/build/abi/ekubo/router.json +0 -687
- package/build/abi/ekubo/twamm-data-fetcher.json +0 -124
- package/build/abi/ekubo/twamm.json +0 -660
- package/build/abi/ekubo-v3/boosted-fees-data-fetcher.json +92 -0
- package/build/abi/ekubo-v3/boosted-fees.json +39 -0
- package/build/abi/ekubo-v3/core.json +0 -704
- package/build/abi/ekubo-v3/mev-capture-router.json +1 -828
- package/build/abi/ekubo-v3/quote-data-fetcher.json +0 -74
- package/build/abi/ekubo-v3/twamm-data-fetcher.json +0 -124
- package/build/abi/ekubo-v3/twamm.json +0 -563
- package/build/dex/algebra-integral/algebra-integral-pool.d.ts +40 -0
- package/build/dex/algebra-integral/algebra-integral-pool.js +268 -0
- package/build/dex/algebra-integral/algebra-integral-pool.js.map +1 -0
- package/build/dex/algebra-integral/config.js +9 -0
- package/build/dex/algebra-integral/config.js.map +1 -1
- package/build/dex/algebra-integral/forks/blackhole-cl.js +1 -1
- package/build/dex/algebra-integral/forks/blackhole-cl.js.map +1 -1
- package/build/dex/algebra-integral/utils.d.ts +4 -0
- package/build/dex/algebra-integral/utils.js +47 -0
- package/build/dex/algebra-integral/utils.js.map +1 -0
- package/build/dex/ekubo-v3/config.d.ts +2 -0
- package/build/dex/ekubo-v3/config.js +3 -1
- package/build/dex/ekubo-v3/config.js.map +1 -1
- package/build/dex/ekubo-v3/ekubo-v3-pool-manager.d.ts +25 -0
- package/build/dex/ekubo-v3/ekubo-v3-pool-manager.js +207 -96
- package/build/dex/ekubo-v3/ekubo-v3-pool-manager.js.map +1 -1
- package/build/dex/ekubo-v3/extension-type.d.ts +9 -0
- package/build/dex/ekubo-v3/extension-type.js +36 -0
- package/build/dex/ekubo-v3/extension-type.js.map +1 -0
- package/build/dex/ekubo-v3/pools/boosted-fees.d.ts +39 -0
- package/build/dex/ekubo-v3/pools/boosted-fees.js +189 -0
- package/build/dex/ekubo-v3/pools/boosted-fees.js.map +1 -0
- package/build/dex/ekubo-v3/pools/concentrated.d.ts +47 -0
- package/build/dex/ekubo-v3/pools/concentrated.js +324 -0
- package/build/dex/ekubo-v3/pools/concentrated.js.map +1 -0
- package/build/dex/ekubo-v3/pools/full-range.d.ts +11 -6
- package/build/dex/ekubo-v3/pools/full-range.js +41 -38
- package/build/dex/ekubo-v3/pools/full-range.js.map +1 -1
- package/build/dex/ekubo-v3/pools/mev-capture.d.ts +10 -6
- package/build/dex/ekubo-v3/pools/mev-capture.js +53 -30
- package/build/dex/ekubo-v3/pools/mev-capture.js.map +1 -1
- package/build/dex/ekubo-v3/pools/oracle.d.ts +9 -5
- package/build/dex/ekubo-v3/pools/oracle.js +21 -8
- package/build/dex/ekubo-v3/pools/oracle.js.map +1 -1
- package/build/dex/ekubo-v3/pools/pool.d.ts +7 -7
- package/build/dex/ekubo-v3/pools/pool.js +17 -6
- package/build/dex/ekubo-v3/pools/pool.js.map +1 -1
- package/build/dex/ekubo-v3/pools/stableswap.d.ts +13 -9
- package/build/dex/ekubo-v3/pools/stableswap.js +86 -87
- package/build/dex/ekubo-v3/pools/stableswap.js.map +1 -1
- package/build/dex/ekubo-v3/pools/timed.d.ts +25 -0
- package/build/dex/ekubo-v3/pools/timed.js +91 -0
- package/build/dex/ekubo-v3/pools/timed.js.map +1 -0
- package/build/dex/ekubo-v3/pools/twamm.d.ts +9 -10
- package/build/dex/ekubo-v3/pools/twamm.js +119 -159
- package/build/dex/ekubo-v3/pools/twamm.js.map +1 -1
- package/build/dex/ekubo-v3/types.d.ts +13 -1
- package/build/dex/ekubo-v3/utils.js +7 -0
- package/build/dex/ekubo-v3/utils.js.map +1 -1
- 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 +0 -400
- 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 +0 -3
- 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 +0 -3
- 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/maker-psm/types.js.map +0 -1
- 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.d.ts +0 -3
- 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
|
@@ -1,61 +1,64 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FullRangePoolState = exports.FullRangePool = void 0;
|
|
3
|
+
exports.FullRangePoolState = exports.FullRangePool = exports.FullRangePoolBase = void 0;
|
|
4
|
+
exports.quoteFullRange = quoteFullRange;
|
|
4
5
|
const pool_1 = require("./pool");
|
|
5
6
|
const sqrt_ratio_1 = require("./math/sqrt-ratio");
|
|
6
7
|
const swap_1 = require("./math/swap");
|
|
7
8
|
const tick_1 = require("./math/tick");
|
|
8
|
-
const utils_1 = require("./utils");
|
|
9
9
|
const delta_1 = require("./math/delta");
|
|
10
10
|
const GAS_COST_OF_ONE_FULL_RANGE_SWAP = 14_774;
|
|
11
|
-
class
|
|
11
|
+
class FullRangePoolBase extends pool_1.EkuboPool {
|
|
12
12
|
quoteDataFetcher;
|
|
13
13
|
constructor(parentName, dexHelper, logger, contracts, initBlockNumber, key) {
|
|
14
14
|
const { contract: { address }, interface: iface, quoteDataFetcher, } = contracts.core;
|
|
15
|
-
super(parentName, dexHelper, logger, initBlockNumber, key,
|
|
16
|
-
[address]: new pool_1.NamedEventHandlers(iface, {
|
|
17
|
-
PositionUpdated: (args, oldState) => FullRangePoolState.fromPositionUpdatedEvent(oldState, args.liquidityDelta.toBigInt()),
|
|
18
|
-
}),
|
|
19
|
-
}, {
|
|
20
|
-
[address]: data => FullRangePoolState.fromSwappedEvent((0, utils_1.parseSwappedEvent)(data)),
|
|
21
|
-
});
|
|
15
|
+
super(parentName, dexHelper, logger, initBlockNumber, key, address, iface);
|
|
22
16
|
this.quoteDataFetcher = quoteDataFetcher;
|
|
23
17
|
}
|
|
18
|
+
_quote(amount, isToken1, state, sqrtRatioLimit) {
|
|
19
|
+
return quoteFullRange(this.key, amount, isToken1, state, sqrtRatioLimit);
|
|
20
|
+
}
|
|
21
|
+
_computeTvl(state) {
|
|
22
|
+
return FullRangePoolState.computeTvl(state);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.FullRangePoolBase = FullRangePoolBase;
|
|
26
|
+
function quoteFullRange(key, amount, isToken1, state, sqrtRatioLimit) {
|
|
27
|
+
const isIncreasing = (0, swap_1.isPriceIncreasing)(amount, isToken1);
|
|
28
|
+
let sqrtRatio = state.sqrtRatio;
|
|
29
|
+
const liquidity = state.liquidity;
|
|
30
|
+
sqrtRatioLimit ??= isIncreasing ? tick_1.MAX_SQRT_RATIO : tick_1.MIN_SQRT_RATIO;
|
|
31
|
+
const step = (0, swap_1.computeStep)({
|
|
32
|
+
fee: key.config.fee,
|
|
33
|
+
sqrtRatio,
|
|
34
|
+
liquidity,
|
|
35
|
+
isToken1,
|
|
36
|
+
sqrtRatioLimit,
|
|
37
|
+
amount,
|
|
38
|
+
});
|
|
39
|
+
return {
|
|
40
|
+
consumedAmount: step.consumedAmount,
|
|
41
|
+
calculatedAmount: step.calculatedAmount,
|
|
42
|
+
gasConsumed: GAS_COST_OF_ONE_FULL_RANGE_SWAP,
|
|
43
|
+
skipAhead: 0,
|
|
44
|
+
stateAfter: {
|
|
45
|
+
sqrtRatio: step.sqrtRatioNext,
|
|
46
|
+
liquidity,
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
class FullRangePool extends FullRangePoolBase {
|
|
24
51
|
async generateState(blockNumber) {
|
|
25
52
|
const data = await this.quoteDataFetcher.getQuoteData([this.key.toAbi()], 0, {
|
|
26
53
|
blockTag: blockNumber,
|
|
27
54
|
});
|
|
28
55
|
return FullRangePoolState.fromQuoter(data[0]);
|
|
29
56
|
}
|
|
30
|
-
|
|
31
|
-
return
|
|
32
|
-
}
|
|
33
|
-
quoteFullRange(amount, isToken1, state, sqrtRatioLimit) {
|
|
34
|
-
const isIncreasing = (0, swap_1.isPriceIncreasing)(amount, isToken1);
|
|
35
|
-
let sqrtRatio = state.sqrtRatio;
|
|
36
|
-
const liquidity = state.liquidity;
|
|
37
|
-
sqrtRatioLimit ??= isIncreasing ? tick_1.MAX_SQRT_RATIO : tick_1.MIN_SQRT_RATIO;
|
|
38
|
-
const step = (0, swap_1.computeStep)({
|
|
39
|
-
fee: this.key.config.fee,
|
|
40
|
-
sqrtRatio,
|
|
41
|
-
liquidity,
|
|
42
|
-
isToken1,
|
|
43
|
-
sqrtRatioLimit,
|
|
44
|
-
amount,
|
|
45
|
-
});
|
|
46
|
-
return {
|
|
47
|
-
consumedAmount: step.consumedAmount,
|
|
48
|
-
calculatedAmount: step.calculatedAmount,
|
|
49
|
-
gasConsumed: GAS_COST_OF_ONE_FULL_RANGE_SWAP,
|
|
50
|
-
skipAhead: 0,
|
|
51
|
-
stateAfter: {
|
|
52
|
-
sqrtRatio: step.sqrtRatioNext,
|
|
53
|
-
liquidity,
|
|
54
|
-
},
|
|
55
|
-
};
|
|
57
|
+
handlePositionUpdated(args, oldState) {
|
|
58
|
+
return FullRangePoolState.fromPositionUpdatedEvent(oldState, args.liquidityDelta.toBigInt());
|
|
56
59
|
}
|
|
57
|
-
|
|
58
|
-
return FullRangePoolState.
|
|
60
|
+
handleSwappedEvent(ev, _oldState) {
|
|
61
|
+
return FullRangePoolState.fromSwappedEvent(ev);
|
|
59
62
|
}
|
|
60
63
|
}
|
|
61
64
|
exports.FullRangePool = FullRangePool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"full-range.js","sourceRoot":"","sources":["../../../../src/dex/ekubo-v3/pools/full-range.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"full-range.js","sourceRoot":"","sources":["../../../../src/dex/ekubo-v3/pools/full-range.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { Result } from '@ethersproject/abi';
|
|
1
2
|
import { DeepReadonly } from 'ts-essentials';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { ConcentratedPoolTypeConfig } from './utils';
|
|
5
|
-
export declare class MevCapturePool extends
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
import { Quote } from './pool';
|
|
4
|
+
import { ConcentratedPoolBase, ConcentratedPoolState } from './concentrated';
|
|
5
|
+
import { ConcentratedPoolTypeConfig, PoolKey, SwappedEvent } from './utils';
|
|
6
|
+
export declare class MevCapturePool extends ConcentratedPoolBase<ConcentratedPoolState.Object> {
|
|
7
|
+
generateState(blockNumber: number): Promise<DeepReadonly<ConcentratedPoolState.Object>>;
|
|
8
|
+
protected _quote(amount: bigint, isToken1: boolean, state: DeepReadonly<ConcentratedPoolState.Object>, sqrtRatioLimit?: bigint): Quote;
|
|
9
|
+
protected handlePositionUpdated(args: Result, oldState: DeepReadonly<ConcentratedPoolState.Object>): DeepReadonly<ConcentratedPoolState.Object> | null;
|
|
10
|
+
protected handleSwappedEvent(ev: SwappedEvent, oldState: DeepReadonly<ConcentratedPoolState.Object>): DeepReadonly<ConcentratedPoolState.Object> | null;
|
|
8
11
|
}
|
|
12
|
+
export declare function quoteMevCapture(key: PoolKey<ConcentratedPoolTypeConfig>, amount: bigint, isToken1: boolean, state: DeepReadonly<ConcentratedPoolState.Object>, sqrtRatioLimit?: bigint): Quote<Pick<ConcentratedPoolState.Object, 'activeTickIndex' | 'sqrtRatio' | 'liquidity'>>;
|
|
@@ -1,42 +1,65 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MevCapturePool = void 0;
|
|
4
|
-
|
|
4
|
+
exports.quoteMevCapture = quoteMevCapture;
|
|
5
|
+
const concentrated_1 = require("./concentrated");
|
|
5
6
|
const tick_1 = require("./math/tick");
|
|
6
7
|
const bigint_constants_1 = require("../../../bigint-constants");
|
|
7
8
|
const swap_1 = require("./math/swap");
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
|
|
9
|
+
const ethers_1 = require("ethers");
|
|
10
|
+
const utils_1 = require("ethers/lib/utils");
|
|
11
|
+
// This assumes fees are always accumulated
|
|
12
|
+
const EXTRA_BASE_GAS_COST_OF_ONE_MEV_CAPTURE_SWAP = 32_258;
|
|
13
|
+
class MevCapturePool extends concentrated_1.ConcentratedPoolBase {
|
|
14
|
+
async generateState(blockNumber) {
|
|
15
|
+
const data = await this.quoteDataFetcher.getQuoteData([this.key.toAbi()], 10, {
|
|
16
|
+
blockTag: blockNumber,
|
|
17
|
+
});
|
|
18
|
+
return concentrated_1.ConcentratedPoolState.fromQuoter(data[0]);
|
|
19
|
+
}
|
|
11
20
|
_quote(amount, isToken1, state, sqrtRatioLimit) {
|
|
12
|
-
return this.
|
|
21
|
+
return quoteMevCapture(this.key, amount, isToken1, state, sqrtRatioLimit);
|
|
22
|
+
}
|
|
23
|
+
handlePositionUpdated(args, oldState) {
|
|
24
|
+
const [lower, upper] = [
|
|
25
|
+
ethers_1.BigNumber.from((0, utils_1.hexDataSlice)(args.positionId, 24, 28))
|
|
26
|
+
.fromTwos(32)
|
|
27
|
+
.toNumber(),
|
|
28
|
+
ethers_1.BigNumber.from((0, utils_1.hexDataSlice)(args.positionId, 28, 32))
|
|
29
|
+
.fromTwos(32)
|
|
30
|
+
.toNumber(),
|
|
31
|
+
];
|
|
32
|
+
return concentrated_1.ConcentratedPoolState.fromPositionUpdatedEvent(oldState, [lower, upper], args.liquidityDelta.toBigInt());
|
|
13
33
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const tickAfterSwap = (0, tick_1.approximateSqrtRatioToTick)(quote.stateAfter.sqrtRatio);
|
|
17
|
-
const poolConfig = this.key.config;
|
|
18
|
-
const approximateFeeMultiplier = (Math.abs(tickAfterSwap - state.activeTick) + 1) /
|
|
19
|
-
poolConfig.poolTypeConfig.tickSpacing;
|
|
20
|
-
let fixedPointAdditionalFee = BigInt(Math.round(approximateFeeMultiplier * Number(poolConfig.fee)));
|
|
21
|
-
if (fixedPointAdditionalFee > bigint_constants_1.BI_MAX_UINT64) {
|
|
22
|
-
fixedPointAdditionalFee = bigint_constants_1.BI_MAX_UINT64;
|
|
23
|
-
}
|
|
24
|
-
let calculatedAmount = quote.calculatedAmount;
|
|
25
|
-
if (amount >= 0n) {
|
|
26
|
-
// Exact input, remove the additional fee from the output
|
|
27
|
-
calculatedAmount -= (0, swap_1.computeFee)(calculatedAmount, fixedPointAdditionalFee);
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
const inputAmountFee = (0, swap_1.computeFee)(calculatedAmount, poolConfig.fee);
|
|
31
|
-
const inputAmount = calculatedAmount - inputAmountFee;
|
|
32
|
-
const bf = (0, swap_1.amountBeforeFee)(inputAmount, fixedPointAdditionalFee);
|
|
33
|
-
const fee = bf - inputAmount;
|
|
34
|
-
calculatedAmount += fee;
|
|
35
|
-
}
|
|
36
|
-
quote.gasConsumed += EXTRA_BASE_GAS_COST_OF_ONE_MEV_CAPTURE_SWAP;
|
|
37
|
-
quote.calculatedAmount = calculatedAmount;
|
|
38
|
-
return quote;
|
|
34
|
+
handleSwappedEvent(ev, oldState) {
|
|
35
|
+
return concentrated_1.ConcentratedPoolState.fromSwappedEvent(oldState, ev);
|
|
39
36
|
}
|
|
40
37
|
}
|
|
41
38
|
exports.MevCapturePool = MevCapturePool;
|
|
39
|
+
function quoteMevCapture(key, amount, isToken1, state, sqrtRatioLimit) {
|
|
40
|
+
const quote = (0, concentrated_1.quoteConcentrated)(key, amount, isToken1, state, sqrtRatioLimit);
|
|
41
|
+
const tickAfterSwap = (0, tick_1.approximateSqrtRatioToTick)(quote.stateAfter.sqrtRatio);
|
|
42
|
+
const poolConfig = key.config;
|
|
43
|
+
const approximateFeeMultiplier = (Math.abs(tickAfterSwap - state.activeTick) + 1) /
|
|
44
|
+
poolConfig.poolTypeConfig.tickSpacing;
|
|
45
|
+
let fixedPointAdditionalFee = BigInt(Math.round(approximateFeeMultiplier * Number(poolConfig.fee)));
|
|
46
|
+
if (fixedPointAdditionalFee > bigint_constants_1.BI_MAX_UINT64) {
|
|
47
|
+
fixedPointAdditionalFee = bigint_constants_1.BI_MAX_UINT64;
|
|
48
|
+
}
|
|
49
|
+
let calculatedAmount = quote.calculatedAmount;
|
|
50
|
+
if (amount >= 0n) {
|
|
51
|
+
// Exact input, remove the additional fee from the output
|
|
52
|
+
calculatedAmount -= (0, swap_1.computeFee)(calculatedAmount, fixedPointAdditionalFee);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
const inputAmountFee = (0, swap_1.computeFee)(calculatedAmount, poolConfig.fee);
|
|
56
|
+
const inputAmount = calculatedAmount - inputAmountFee;
|
|
57
|
+
const bf = (0, swap_1.amountBeforeFee)(inputAmount, fixedPointAdditionalFee);
|
|
58
|
+
const fee = bf - inputAmount;
|
|
59
|
+
calculatedAmount += fee;
|
|
60
|
+
}
|
|
61
|
+
quote.gasConsumed += EXTRA_BASE_GAS_COST_OF_ONE_MEV_CAPTURE_SWAP;
|
|
62
|
+
quote.calculatedAmount = calculatedAmount;
|
|
63
|
+
return quote;
|
|
64
|
+
}
|
|
42
65
|
//# sourceMappingURL=mev-capture.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mev-capture.js","sourceRoot":"","sources":["../../../../src/dex/ekubo-v3/pools/mev-capture.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"mev-capture.js","sourceRoot":"","sources":["../../../../src/dex/ekubo-v3/pools/mev-capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { DeepReadonly } from 'ts-essentials';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
2
|
+
import { Result } from '@ethersproject/abi';
|
|
3
|
+
import { FullRangePoolBase, FullRangePoolState } from './full-range';
|
|
4
|
+
import { Quote } from './pool';
|
|
5
|
+
import { PoolKey, StableswapPoolTypeConfig, SwappedEvent } from './utils';
|
|
6
|
+
export declare class OraclePool extends FullRangePoolBase<FullRangePoolState.Object> {
|
|
7
|
+
generateState(blockNumber?: number | 'latest'): Promise<DeepReadonly<FullRangePoolState.Object>>;
|
|
6
8
|
protected _quote(amount: bigint, isToken1: boolean, state: DeepReadonly<FullRangePoolState.Object>, sqrtRatioLimit?: bigint): Quote;
|
|
7
|
-
|
|
9
|
+
protected handlePositionUpdated(args: Result, oldState: DeepReadonly<FullRangePoolState.Object>): DeepReadonly<FullRangePoolState.Object> | null;
|
|
10
|
+
protected handleSwappedEvent(ev: SwappedEvent, _oldState: DeepReadonly<FullRangePoolState.Object>): DeepReadonly<FullRangePoolState.Object> | null;
|
|
8
11
|
}
|
|
12
|
+
export declare function quoteOracle(key: PoolKey<StableswapPoolTypeConfig>, amount: bigint, isToken1: boolean, state: DeepReadonly<FullRangePoolState.Object>, sqrtRatioLimit?: bigint): Quote;
|
|
@@ -1,18 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OraclePool = void 0;
|
|
4
|
+
exports.quoteOracle = quoteOracle;
|
|
4
5
|
const full_range_1 = require("./full-range");
|
|
5
|
-
//
|
|
6
|
-
const
|
|
7
|
-
class OraclePool extends full_range_1.
|
|
6
|
+
// This assumes a snapshot is always inserted
|
|
7
|
+
const GAS_COST_OF_ONE_ORACLE_SWAP = 23_828;
|
|
8
|
+
class OraclePool extends full_range_1.FullRangePoolBase {
|
|
9
|
+
async generateState(blockNumber) {
|
|
10
|
+
const data = await this.quoteDataFetcher.getQuoteData([this.key.toAbi()], 0, {
|
|
11
|
+
blockTag: blockNumber,
|
|
12
|
+
});
|
|
13
|
+
return full_range_1.FullRangePoolState.fromQuoter(data[0]);
|
|
14
|
+
}
|
|
8
15
|
_quote(amount, isToken1, state, sqrtRatioLimit) {
|
|
9
|
-
return this.
|
|
16
|
+
return quoteOracle(this.key, amount, isToken1, state, sqrtRatioLimit);
|
|
17
|
+
}
|
|
18
|
+
handlePositionUpdated(args, oldState) {
|
|
19
|
+
return full_range_1.FullRangePoolState.fromPositionUpdatedEvent(oldState, args.liquidityDelta.toBigInt());
|
|
10
20
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
fullRangeQuote.gasConsumed = BASE_GAS_COST_OF_ONE_ORACLE_SWAP;
|
|
14
|
-
return fullRangeQuote;
|
|
21
|
+
handleSwappedEvent(ev, _oldState) {
|
|
22
|
+
return full_range_1.FullRangePoolState.fromSwappedEvent(ev);
|
|
15
23
|
}
|
|
16
24
|
}
|
|
17
25
|
exports.OraclePool = OraclePool;
|
|
26
|
+
function quoteOracle(key, amount, isToken1, state, sqrtRatioLimit) {
|
|
27
|
+
const quote = (0, full_range_1.quoteFullRange)(key, amount, isToken1, state, sqrtRatioLimit);
|
|
28
|
+
quote.gasConsumed = GAS_COST_OF_ONE_ORACLE_SWAP;
|
|
29
|
+
return quote;
|
|
30
|
+
}
|
|
18
31
|
//# sourceMappingURL=oracle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../../../src/dex/ekubo-v3/pools/oracle.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../../../src/dex/ekubo-v3/pools/oracle.ts"],"names":[],"mappings":";;;AAsDA,kCAYC;AAhED,6CAIsB;AAItB,6CAA6C;AAC7C,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAE3C,MAAa,UAAW,SAAQ,8BAA4C;IAC1D,KAAK,CAAC,aAAa,CACjC,WAA+B;QAE/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CACnD,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAClB,CAAC,EACD;YACE,QAAQ,EAAE,WAAW;SACtB,CACF,CAAC;QACF,OAAO,+BAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAEkB,MAAM,CACvB,MAAc,EACd,QAAiB,EACjB,KAA8C,EAC9C,cAAuB;QAEvB,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IACxE,CAAC;IAEkB,qBAAqB,CACtC,IAAY,EACZ,QAAiD;QAEjD,OAAO,+BAAkB,CAAC,wBAAwB,CAChD,QAAQ,EACR,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAC/B,CAAC;IACJ,CAAC;IAEkB,kBAAkB,CACnC,EAAgB,EAChB,SAAkD;QAElD,OAAO,+BAAkB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;CACF;AAvCD,gCAuCC;AAED,SAAgB,WAAW,CACzB,GAAsC,EACtC,MAAc,EACd,QAAiB,EACjB,KAA8C,EAC9C,cAAuB;IAEvB,MAAM,KAAK,GAAG,IAAA,2BAAc,EAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAE3E,KAAK,CAAC,WAAW,GAAG,2BAA2B,CAAC;IAEhD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { DeepReadonly } from 'ts-essentials';
|
|
|
4
4
|
import { IDexHelper } from '../../../dex-helper/idex-helper';
|
|
5
5
|
import { StatefulEventSubscriber } from '../../../stateful-event-subscriber';
|
|
6
6
|
import { BlockHeader, Log } from '../../../types';
|
|
7
|
-
import { PoolKey, PoolTypeConfig } from './utils';
|
|
7
|
+
import { PoolKey, PoolTypeConfig, SwappedEvent } from './utils';
|
|
8
8
|
import { EventSubscriber } from '../../../dex-helper';
|
|
9
9
|
export type Quote<StateAfter = undefined> = {
|
|
10
10
|
consumedAmount: bigint;
|
|
@@ -14,10 +14,8 @@ export type Quote<StateAfter = undefined> = {
|
|
|
14
14
|
} & (StateAfter extends undefined ? {} : {
|
|
15
15
|
stateAfter: StateAfter;
|
|
16
16
|
});
|
|
17
|
-
export interface
|
|
17
|
+
export interface IEkuboPool<C extends PoolTypeConfig> extends EventSubscriber {
|
|
18
18
|
key: PoolKey<C>;
|
|
19
|
-
}
|
|
20
|
-
export interface IEkuboPool<C extends PoolTypeConfig> extends PoolKeyed<C>, EventSubscriber {
|
|
21
19
|
initializationBlockNumber(): number;
|
|
22
20
|
quote(amount: bigint, token: bigint, blockNumber: number): Quote;
|
|
23
21
|
updateState(blockNumber: number): Promise<void>;
|
|
@@ -26,17 +24,17 @@ export interface IEkuboPool<C extends PoolTypeConfig> extends PoolKeyed<C>, Even
|
|
|
26
24
|
export type NamedEventHandler<State> = (args: Result, oldState: DeepReadonly<State>, blockHeader: Readonly<BlockHeader>) => DeepReadonly<State> | null;
|
|
27
25
|
export type AnonymousEventHandler<State> = (data: string, oldState: DeepReadonly<State>, blockHeader: Readonly<BlockHeader>) => DeepReadonly<State> | null;
|
|
28
26
|
export declare class NamedEventHandlers<State> {
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
readonly iface: Interface;
|
|
28
|
+
readonly handlers: Record<string, NamedEventHandler<State>>;
|
|
31
29
|
constructor(iface: Interface, handlers: Record<string, NamedEventHandler<State>>);
|
|
32
30
|
parseLog(log: Readonly<Log>, oldState: DeepReadonly<State>, blockHeader: Readonly<BlockHeader>): DeepReadonly<State> | null;
|
|
33
31
|
}
|
|
34
32
|
export declare abstract class EkuboPool<C extends PoolTypeConfig, S> extends StatefulEventSubscriber<S> implements IEkuboPool<C> {
|
|
35
33
|
private readonly initBlockNumber;
|
|
36
34
|
readonly key: PoolKey<C>;
|
|
35
|
+
protected constructor(parentName: string, dexHelper: IDexHelper, logger: Logger, initBlockNumber: number, key: PoolKey<C>, coreAddress: string, coreIface: Interface, extraNamedEventHandlers?: Record<string, NamedEventHandlers<S>>, extraAnonymousEventHandlers?: Record<string, AnonymousEventHandler<S>>);
|
|
37
36
|
private readonly namedEventHandlers;
|
|
38
37
|
private readonly anonymousEventHandlers;
|
|
39
|
-
protected constructor(parentName: string, dexHelper: IDexHelper, logger: Logger, initBlockNumber: number, key: PoolKey<C>, namedEventHandlers: Record<string, NamedEventHandlers<S>>, anonymousEventHandlers: Record<string, AnonymousEventHandler<S>>);
|
|
40
38
|
initializationBlockNumber(): number;
|
|
41
39
|
updateState(blockNumber: number): Promise<void>;
|
|
42
40
|
quote(amount: bigint, token: bigint, blockNumber: number): Quote;
|
|
@@ -53,4 +51,6 @@ export declare abstract class EkuboPool<C extends PoolTypeConfig, S> extends Sta
|
|
|
53
51
|
protected processLog(state: DeepReadonly<S>, log: Readonly<Log>, blockHeader: Readonly<BlockHeader>): DeepReadonly<S> | null;
|
|
54
52
|
protected abstract _quote(amount: bigint, isToken1: boolean, state: DeepReadonly<S>, sqrtRatioLimit?: bigint): Quote;
|
|
55
53
|
protected abstract _computeTvl(state: DeepReadonly<S>): [bigint, bigint];
|
|
54
|
+
protected abstract handlePositionUpdated(args: Result, oldState: DeepReadonly<S>): DeepReadonly<S> | null;
|
|
55
|
+
protected abstract handleSwappedEvent(ev: SwappedEvent, oldState: DeepReadonly<S>): DeepReadonly<S> | null;
|
|
56
56
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EkuboPool = exports.NamedEventHandlers = void 0;
|
|
4
4
|
const stateful_event_subscriber_1 = require("../../../stateful-event-subscriber");
|
|
5
|
+
const utils_1 = require("./utils");
|
|
5
6
|
class NamedEventHandlers {
|
|
6
7
|
iface;
|
|
7
8
|
handlers;
|
|
@@ -18,18 +19,28 @@ exports.NamedEventHandlers = NamedEventHandlers;
|
|
|
18
19
|
class EkuboPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
|
|
19
20
|
initBlockNumber;
|
|
20
21
|
key;
|
|
21
|
-
|
|
22
|
-
anonymousEventHandlers;
|
|
23
|
-
constructor(parentName, dexHelper, logger, initBlockNumber, key, namedEventHandlers, anonymousEventHandlers) {
|
|
22
|
+
constructor(parentName, dexHelper, logger, initBlockNumber, key, coreAddress, coreIface, extraNamedEventHandlers = {}, extraAnonymousEventHandlers = {}) {
|
|
24
23
|
super(parentName, key.stringId, dexHelper, logger);
|
|
25
24
|
this.initBlockNumber = initBlockNumber;
|
|
26
25
|
this.key = key;
|
|
27
|
-
|
|
28
|
-
this.
|
|
26
|
+
const coreNamedHandlers = extraNamedEventHandlers[coreAddress]?.handlers ?? {};
|
|
27
|
+
this.namedEventHandlers = {
|
|
28
|
+
...extraNamedEventHandlers,
|
|
29
|
+
[coreAddress]: new NamedEventHandlers(coreIface, {
|
|
30
|
+
...coreNamedHandlers,
|
|
31
|
+
PositionUpdated: (args, oldState) => this.handlePositionUpdated(args, oldState),
|
|
32
|
+
}),
|
|
33
|
+
};
|
|
34
|
+
this.anonymousEventHandlers = {
|
|
35
|
+
...extraAnonymousEventHandlers,
|
|
36
|
+
[coreAddress]: (data, oldState) => this.handleSwappedEvent((0, utils_1.parseSwappedEvent)(data), oldState),
|
|
37
|
+
};
|
|
29
38
|
this.addressesSubscribed = [
|
|
30
|
-
...new Set(Object.keys(namedEventHandlers).concat(Object.keys(anonymousEventHandlers))),
|
|
39
|
+
...new Set(Object.keys(this.namedEventHandlers).concat(Object.keys(this.anonymousEventHandlers))),
|
|
31
40
|
];
|
|
32
41
|
}
|
|
42
|
+
namedEventHandlers;
|
|
43
|
+
anonymousEventHandlers;
|
|
33
44
|
initializationBlockNumber() {
|
|
34
45
|
return this.initBlockNumber;
|
|
35
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../../src/dex/ekubo-v3/pools/pool.ts"],"names":[],"mappings":";;;AAIA,kFAA6E;
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../../src/dex/ekubo-v3/pools/pool.ts"],"names":[],"mappings":";;;AAIA,kFAA6E;AAE7E,mCAKiB;AA6BjB,MAAa,kBAAkB;IAEX;IACA;IAFlB,YACkB,KAAgB,EAChB,QAAkD;QADlD,UAAK,GAAL,KAAK,CAAW;QAChB,aAAQ,GAAR,QAAQ,CAA0C;IACjE,CAAC;IAEG,QAAQ,CACb,GAAkB,EAClB,QAA6B,EAC7B,WAAkC;QAElC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvC,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,IAAI,IAAI,CACvE,CAAC;IACJ,CAAC;CACF;AAhBD,gDAgBC;AAED,MAAsB,SACpB,SAAQ,mDAA0B;IAOf;IACD;IALlB,YACE,UAAkB,EAClB,SAAqB,EACrB,MAAc,EACG,eAAuB,EACxB,GAAe,EAC/B,WAAmB,EACnB,SAAoB,EACpB,0BAAiE,EAAE,EACnE,8BAAwE,EAAE;QAE1E,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAPlC,oBAAe,GAAf,eAAe,CAAQ;QACxB,QAAG,GAAH,GAAG,CAAY;QAQ/B,MAAM,iBAAiB,GACrB,uBAAuB,CAAC,WAAW,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAC;QAEvD,IAAI,CAAC,kBAAkB,GAAG;YACxB,GAAG,uBAAuB;YAC1B,CAAC,WAAW,CAAC,EAAE,IAAI,kBAAkB,CAAC,SAAS,EAAE;gBAC/C,GAAG,iBAAiB;gBACpB,eAAe,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAClC,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC;aAC7C,CAAC;SACH,CAAC;QAEF,IAAI,CAAC,sBAAsB,GAAG;YAC5B,GAAG,2BAA2B;YAC9B,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAChC,IAAI,CAAC,kBAAkB,CAAC,IAAA,yBAAiB,EAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;SAC7D,CAAC;QAEF,IAAI,CAAC,mBAAmB,GAAG;YACzB,GAAG,IAAI,GAAG,CACR,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CACzC,CACF;SACF,CAAC;IACJ,CAAC;IAEgB,kBAAkB,CAAwC;IAC1D,sBAAsB,CAGrC;IAEK,yBAAyB;QAC9B,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,WAAmB;QAC1C,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;IACpE,CAAC;IAEM,KAAK,CAAC,MAAc,EAAE,KAAa,EAAE,WAAmB;QAC7D,MAAM,QAAQ,GAAG,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;QAE3C,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YAClB,OAAO;gBACL,cAAc,EAAE,EAAE;gBAClB,gBAAgB,EAAE,EAAE;gBACpB,WAAW,EAAE,CAAC;gBACd,SAAS,EAAE,CAAC;aACb,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,0BAA0B,WAAW,2CAA2C,CACjF,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEnD,IAAI,KAAK,CAAC,gBAAgB,KAAK,EAAE,EAAE,CAAC;YAClC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,UAAU;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;OAQG;IACgB,UAAU,CAC3B,KAAsB,EACtB,GAAkB,EAClB,WAAkC;QAElC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAE5B,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAC3C,GAAG,CAAC,IAAI,EACR,KAAK,EACL,WAAW,CACZ,CAAC;QACJ,CAAC;QAED,OAAO,CACL,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC;YACnE,IAAI,CACL,CAAC;IACJ,CAAC;CAoBF;AAnJD,8BAmJC"}
|
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
import { DeepReadonly } from 'ts-essentials';
|
|
2
|
+
import { Result } from '@ethersproject/abi';
|
|
2
3
|
import { IDexHelper } from '../../../dex-helper/idex-helper';
|
|
3
4
|
import { Logger } from '../../../types';
|
|
4
5
|
import { EkuboContracts } from '../types';
|
|
5
|
-
import { EkuboPool,
|
|
6
|
-
import { PoolKey, StableswapPoolTypeConfig } from './utils';
|
|
6
|
+
import { EkuboPool, Quote } from './pool';
|
|
7
|
+
import { PoolKey, StableswapPoolTypeConfig, SwappedEvent } from './utils';
|
|
7
8
|
import { FullRangePoolState } from './full-range';
|
|
8
|
-
export declare class
|
|
9
|
-
readonly
|
|
10
|
-
readonly
|
|
11
|
-
private readonly quoteDataFetcher;
|
|
9
|
+
export declare abstract class StableswapPoolBase<S extends FullRangePoolState.Object> extends EkuboPool<StableswapPoolTypeConfig, S> {
|
|
10
|
+
private readonly bounds;
|
|
11
|
+
protected readonly quoteDataFetcher: import("ethers").Contract;
|
|
12
12
|
constructor(parentName: string, dexHelper: IDexHelper, logger: Logger, contracts: EkuboContracts, initBlockNumber: number, key: PoolKey<StableswapPoolTypeConfig>);
|
|
13
|
+
protected _quote(amount: bigint, isToken1: boolean, state: DeepReadonly<S>, sqrtRatioLimit?: bigint): Quote;
|
|
14
|
+
protected _computeTvl(state: DeepReadonly<S>): [bigint, bigint];
|
|
15
|
+
}
|
|
16
|
+
export declare function quoteStableswap(fee: bigint, { lowerPrice, upperPrice }: StableswapBounds, amount: bigint, isToken1: boolean, state: DeepReadonly<Pick<FullRangePoolState.Object, 'sqrtRatio' | 'liquidity'>>, sqrtRatioLimit?: bigint): Quote<Pick<FullRangePoolState.Object, 'sqrtRatio' | 'liquidity'>>;
|
|
17
|
+
export declare class StableswapPool extends StableswapPoolBase<FullRangePoolState.Object> {
|
|
13
18
|
generateState(blockNumber?: number | 'latest'): Promise<DeepReadonly<FullRangePoolState.Object>>;
|
|
14
|
-
protected
|
|
15
|
-
|
|
16
|
-
protected _computeTvl(state: FullRangePoolState.Object): [bigint, bigint];
|
|
19
|
+
protected handlePositionUpdated(args: Result, oldState: DeepReadonly<FullRangePoolState.Object>): DeepReadonly<FullRangePoolState.Object> | null;
|
|
20
|
+
protected handleSwappedEvent(ev: SwappedEvent, _oldState: DeepReadonly<FullRangePoolState.Object>): DeepReadonly<FullRangePoolState.Object> | null;
|
|
17
21
|
}
|
|
18
22
|
export interface StableswapBounds {
|
|
19
23
|
lowerPrice: bigint;
|