@paraswap/dex-lib 4.1.19-pools.0 → 4.1.19-pools.2
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/aave-gsm/Pool.json +1459 -0
- package/build/abi/uniswap-v4/pool-manager.abi.json +1367 -0
- package/build/abi/uniswap-v4/state-view.abi.json +365 -0
- package/build/dex/aave-gsm/aave-gsm-pool.d.ts +7 -1
- package/build/dex/aave-gsm/aave-gsm-pool.js +46 -4
- package/build/dex/aave-gsm/aave-gsm-pool.js.map +1 -1
- package/build/dex/aave-gsm/aave-gsm.js +37 -30
- package/build/dex/aave-gsm/aave-gsm.js.map +1 -1
- package/build/dex/aave-gsm/config.js +6 -5
- package/build/dex/aave-gsm/config.js.map +1 -1
- package/build/dex/aave-gsm/types.d.ts +5 -2
- package/build/dex/balancer-v3/balancer-test-helpers.d.ts +5 -0
- package/build/dex/balancer-v3/balancer-test-helpers.js +25 -1
- package/build/dex/balancer-v3/balancer-test-helpers.js.map +1 -1
- package/build/dex/balancer-v3/balancer-v3-pool.js +35 -7
- package/build/dex/balancer-v3/balancer-v3-pool.js.map +1 -1
- package/build/dex/balancer-v3/balancer-v3.js +9 -2
- package/build/dex/balancer-v3/balancer-v3.js.map +1 -1
- package/build/dex/balancer-v3/config.d.ts +2 -1
- package/build/dex/balancer-v3/config.js +7 -0
- package/build/dex/balancer-v3/config.js.map +1 -1
- package/build/dex/balancer-v3/getGasCost.js +3 -0
- package/build/dex/balancer-v3/getGasCost.js.map +1 -1
- package/build/dex/balancer-v3/getOnChainState.d.ts +5 -1
- package/build/dex/balancer-v3/getOnChainState.js +69 -9
- package/build/dex/balancer-v3/getOnChainState.js.map +1 -1
- package/build/dex/balancer-v3/getPoolsApi.js +45 -7
- package/build/dex/balancer-v3/getPoolsApi.js.map +1 -1
- package/build/dex/balancer-v3/getTopPoolsApi.d.ts +4 -3
- package/build/dex/balancer-v3/getTopPoolsApi.js +17 -6
- package/build/dex/balancer-v3/getTopPoolsApi.js.map +1 -1
- package/build/dex/balancer-v3/hooks/directionalFeeHook.d.ts +2 -0
- package/build/dex/balancer-v3/hooks/directionalFeeHook.js +1 -0
- package/build/dex/balancer-v3/hooks/directionalFeeHook.js.map +1 -1
- package/build/dex/balancer-v3/hooks/stableSurgeHook.d.ts +2 -0
- package/build/dex/balancer-v3/hooks/stableSurgeHook.js +1 -0
- package/build/dex/balancer-v3/hooks/stableSurgeHook.js.map +1 -1
- package/build/dex/balancer-v3/types.d.ts +6 -2
- package/build/dex/bebop/bebop.js +9 -13
- package/build/dex/bebop/bebop.js.map +1 -1
- package/build/dex/curve-v1/config.js +5 -0
- package/build/dex/curve-v1/config.js.map +1 -1
- package/build/dex/pancakeswap-v3/config.js +1 -1
- package/build/dex/pancakeswap-v3/config.js.map +1 -1
- package/build/dex/solidly/solidly.js +2 -2
- package/build/dex/solidly/solidly.js.map +1 -1
- package/build/dex/uniswap-v2/config.js +1 -0
- package/build/dex/uniswap-v2/config.js.map +1 -1
- package/build/dex/uniswap-v2/uniswap-v2.js +2 -2
- package/build/dex/uniswap-v3/config.js +3 -2
- package/build/dex/uniswap-v3/config.js.map +1 -1
- package/build/dex/uniswap-v3/uniswap-v3.d.ts +1 -1
- package/build/dex/uniswap-v3/uniswap-v3.js +53 -65
- package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
- package/build/dex/uniswap-v4/config.js +43 -0
- package/build/dex/uniswap-v4/config.js.map +1 -1
- package/build/dex/uniswap-v4/constants.d.ts +7 -0
- package/build/dex/uniswap-v4/constants.js +18 -0
- package/build/dex/uniswap-v4/constants.js.map +1 -0
- package/build/dex/uniswap-v4/contract-math/BalanceDelta.d.ts +6 -0
- package/build/dex/uniswap-v4/contract-math/BalanceDelta.js +22 -0
- package/build/dex/uniswap-v4/contract-math/BalanceDelta.js.map +1 -0
- package/build/dex/uniswap-v4/contract-math/BitMath.d.ts +4 -0
- package/build/dex/uniswap-v4/contract-math/BitMath.js +53 -0
- package/build/dex/uniswap-v4/contract-math/BitMath.js.map +1 -0
- package/build/dex/uniswap-v4/contract-math/FixedPoint128.d.ts +3 -0
- package/build/dex/uniswap-v4/contract-math/FixedPoint128.js +8 -0
- package/build/dex/uniswap-v4/contract-math/FixedPoint128.js.map +1 -0
- package/build/dex/uniswap-v4/contract-math/FixedPoint96.d.ts +4 -0
- package/build/dex/uniswap-v4/contract-math/FixedPoint96.js +9 -0
- package/build/dex/uniswap-v4/contract-math/FixedPoint96.js.map +1 -0
- package/build/dex/uniswap-v4/contract-math/FullMath.d.ts +4 -0
- package/build/dex/uniswap-v4/contract-math/FullMath.js +19 -0
- package/build/dex/uniswap-v4/contract-math/FullMath.js.map +1 -0
- package/build/dex/uniswap-v4/contract-math/LPFeeLibrary.d.ts +13 -0
- package/build/dex/uniswap-v4/contract-math/LPFeeLibrary.js +36 -0
- package/build/dex/uniswap-v4/contract-math/LPFeeLibrary.js.map +1 -0
- package/build/dex/uniswap-v4/contract-math/LiquidityMath.d.ts +3 -0
- package/build/dex/uniswap-v4/contract-math/LiquidityMath.js +21 -0
- package/build/dex/uniswap-v4/contract-math/LiquidityMath.js.map +1 -0
- package/build/dex/uniswap-v4/contract-math/Position.d.ts +9 -0
- package/build/dex/uniswap-v4/contract-math/Position.js +39 -0
- package/build/dex/uniswap-v4/contract-math/Position.js.map +1 -0
- package/build/dex/uniswap-v4/contract-math/ProtocolFeeLibrary.d.ts +10 -0
- package/build/dex/uniswap-v4/contract-math/ProtocolFeeLibrary.js +30 -0
- package/build/dex/uniswap-v4/contract-math/ProtocolFeeLibrary.js.map +1 -0
- package/build/dex/uniswap-v4/contract-math/SqrtPriceMath.d.ts +11 -0
- package/build/dex/uniswap-v4/contract-math/SqrtPriceMath.js +80 -0
- package/build/dex/uniswap-v4/contract-math/SqrtPriceMath.js.map +1 -0
- package/build/dex/uniswap-v4/contract-math/SwapMath.d.ts +10 -0
- package/build/dex/uniswap-v4/contract-math/SwapMath.js +65 -0
- package/build/dex/uniswap-v4/contract-math/SwapMath.js.map +1 -0
- package/build/dex/uniswap-v4/contract-math/Tick.d.ts +10 -0
- package/build/dex/uniswap-v4/contract-math/Tick.js +64 -0
- package/build/dex/uniswap-v4/contract-math/Tick.js.map +1 -0
- package/build/dex/uniswap-v4/contract-math/TickBitmap.d.ts +11 -0
- package/build/dex/uniswap-v4/contract-math/TickBitmap.js +72 -0
- package/build/dex/uniswap-v4/contract-math/TickBitmap.js.map +1 -0
- package/build/dex/uniswap-v4/contract-math/TickMath.d.ts +9 -0
- package/build/dex/uniswap-v4/contract-math/TickMath.js +164 -0
- package/build/dex/uniswap-v4/contract-math/TickMath.js.map +1 -0
- package/build/dex/uniswap-v4/contract-math/UnsafeMath.d.ts +4 -0
- package/build/dex/uniswap-v4/contract-math/UnsafeMath.js +16 -0
- package/build/dex/uniswap-v4/contract-math/UnsafeMath.js.map +1 -0
- package/build/dex/uniswap-v4/contract-math/uniswap-v4-pool-math.d.ts +18 -0
- package/build/dex/uniswap-v4/contract-math/uniswap-v4-pool-math.js +236 -0
- package/build/dex/uniswap-v4/contract-math/uniswap-v4-pool-math.js.map +1 -0
- package/build/dex/uniswap-v4/contract-math/utils.d.ts +3 -0
- package/build/dex/uniswap-v4/contract-math/utils.js +15 -0
- package/build/dex/uniswap-v4/contract-math/utils.js.map +1 -0
- package/build/dex/uniswap-v4/encoder.js +12 -2
- package/build/dex/uniswap-v4/encoder.js.map +1 -1
- package/build/dex/uniswap-v4/subgraph.d.ts +5 -0
- package/build/dex/uniswap-v4/subgraph.js +69 -0
- package/build/dex/uniswap-v4/subgraph.js.map +1 -0
- package/build/dex/uniswap-v4/types.d.ts +62 -4
- package/build/dex/uniswap-v4/uniswap-v4-pool-manager.d.ts +31 -0
- package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js +129 -0
- package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js.map +1 -0
- package/build/dex/uniswap-v4/uniswap-v4-pool.d.ts +39 -0
- package/build/dex/uniswap-v4/uniswap-v4-pool.js +324 -0
- package/build/dex/uniswap-v4/uniswap-v4-pool.js.map +1 -0
- package/build/dex/uniswap-v4/uniswap-v4.d.ts +6 -6
- package/build/dex/uniswap-v4/uniswap-v4.js +28 -47
- package/build/dex/uniswap-v4/uniswap-v4.js.map +1 -1
- package/build/dex/uniswap-v4/utils.d.ts +2 -0
- package/build/dex/uniswap-v4/utils.js +15 -0
- package/build/dex/uniswap-v4/utils.js.map +1 -0
- package/build/dex/wombat/wombat.d.ts +0 -1
- package/build/dex/wombat/wombat.js +2 -44
- package/build/dex/wombat/wombat.js.map +1 -1
- package/build/dex/woo-fi-v2/config.js +16 -15
- package/build/dex/woo-fi-v2/config.js.map +1 -1
- package/package.json +2 -2
- package/.env.example +0 -15
- package/.eslintrc.js +0 -65
- package/.github/workflows/ci.yaml +0 -22
- package/.husky/pre-commit +0 -4
- package/.prettierrc +0 -10
- package/.vscode/launch.json +0 -53
- package/.vscode/settings.json +0 -2
- package/.vscode/tasks.json +0 -15
- package/dex-template/__DexName__-e2e.test.ts.template +0 -155
- package/dex-template/__DexName__-events.test.ts.template +0 -110
- package/dex-template/__DexName__-integration.test.ts.template +0 -251
- package/dex-template/__DexName__-pool.ts.template +0 -91
- package/dex-template/__DexName__.ts.template +0 -156
- package/dex-template/config.ts.template +0 -9
- package/dex-template/types.ts.template +0 -22
- package/funding.json +0 -5
- package/jest.config.js +0 -10
- package/scripts/dex-integration.ts +0 -164
- package/scripts/fetch-event-blocknumber.ts +0 -51
- package/scripts/generate-bytecode.ts +0 -11
- package/scripts/run-dex-integration-v3.ts +0 -78
- package/scripts/run-dex-integration.ts +0 -95
- package/src/abi/AaveV2_lending_pool.json +0 -53
- package/src/abi/AaveV3_lending_pool.json +0 -1715
- package/src/abi/Balancer.json +0 -257
- package/src/abi/BalancerCustomMulticall.json +0 -26
- package/src/abi/BalancerV1ExchangeProxy.json +0 -377
- package/src/abi/BalancerV1Pool.json +0 -1630
- package/src/abi/BalancerV2.json +0 -1179
- package/src/abi/Bancor.json +0 -392
- package/src/abi/Compound_CETH.json +0 -12
- package/src/abi/Curve.json +0 -54
- package/src/abi/CurveV2.json +0 -700
- package/src/abi/DirectSwap.json +0 -1018
- package/src/abi/ERC1155.abi.json +0 -459
- package/src/abi/ERC1271.abi.json +0 -25
- package/src/abi/ERC20.abi.json +0 -288
- package/src/abi/ERC4626.json +0 -791
- package/src/abi/ERC721.abi.json +0 -165
- package/src/abi/IParaswap.json +0 -3059
- package/src/abi/RamsesV2Pool.abi.json +0 -1554
- package/src/abi/RamsesV2Quoter.abi.json +0 -274
- package/src/abi/RamsesV2StateMulticall.abi.json +0 -891
- package/src/abi/Redstone.json +0 -739
- package/src/abi/SSPM.json +0 -829
- package/src/abi/SimpleSwapHelperRouter.json +0 -38
- package/src/abi/Smoothy.json +0 -1049
- package/src/abi/StablePool.json +0 -1035
- package/src/abi/StaderOracle.json +0 -2170
- package/src/abi/TraderJoeV21Router.json +0 -1489
- package/src/abi/USDM.json +0 -807
- package/src/abi/UniswapV2ExchangeRouter.json +0 -84
- package/src/abi/UniswapV2Router.json +0 -397
- package/src/abi/UniswapV3Router.json +0 -274
- package/src/abi/aave-gsm/Aave_GSM.json +0 -751
- package/src/abi/aave-gsm/IFeeStrategy.json +0 -78
- package/src/abi/aave-v3-weth-gateway.json +0 -290
- package/src/abi/aave-weth-gateway-avalanche.json +0 -242
- package/src/abi/aave-weth-gateway-polygon.json +0 -242
- package/src/abi/aave-weth-gateway.json +0 -38
- package/src/abi/aavev3stata/Factory.json +0 -128
- package/src/abi/aavev3stata/Token.json +0 -735
- package/src/abi/aavev3statav2/Factory.json +0 -131
- package/src/abi/aavev3statav2/Pool.json +0 -1459
- package/src/abi/aavev3statav2/Token.json +0 -997
- package/src/abi/aerodrome/aerodrome-pool-factory.json +0 -586
- package/src/abi/algebra/AlgebraFactory-v1_1.abi.json +0 -250
- package/src/abi/algebra/AlgebraPool-v1_1.abi.json +0 -727
- package/src/abi/algebra/AlgebraPool-v1_9.abi.json +0 -756
- package/src/abi/algebra/AlgebraQuoter.abi.json +0 -138
- package/src/abi/algebra/AlgebraStateMulticall.abi.json +0 -801
- package/src/abi/algebra/SwapRouter.json +0 -281
- package/src/abi/angle/stagToken.json +0 -963
- package/src/abi/angle-transmuter/ChainlinkAccessControlledOffchainAggregator.json +0 -1246
- package/src/abi/angle-transmuter/ChainlinkEACAggregatorProxy.json +0 -509
- package/src/abi/angle-transmuter/MorphoOracle.json +0 -193
- package/src/abi/angle-transmuter/MorphoVault.json +0 -2506
- package/src/abi/angle-transmuter/Pyth.json +0 -1534
- package/src/abi/angle-transmuter/Transmuter.json +0 -1711
- package/src/abi/angle-transmuter/TransmuterSidechain.json +0 -1798
- package/src/abi/api3-proxy.json +0 -53
- package/src/abi/api3-server-v1.json +0 -463
- package/src/abi/augustus-v6/ABI.json +0 -1572
- package/src/abi/augustus.json +0 -375
- package/src/abi/balancer-v2/ComposableStable.json +0 -1391
- package/src/abi/balancer-v2/gyro-e.abi.json +0 -1595
- package/src/abi/balancer-v2/linearPoolAbi.json +0 -1062
- package/src/abi/balancer-v2/meta-stable-pool.json +0 -1437
- package/src/abi/balancer-v2/stable-pool.json +0 -1053
- package/src/abi/balancer-v2/vault.json +0 -918
- package/src/abi/balancer-v2/weighted-pool.json +0 -1142
- package/src/abi/balancer-v3/batch-router.json +0 -989
- package/src/abi/balancer-v3/directionalFeeHook.json +0 -684
- package/src/abi/balancer-v3/router.json +0 -1792
- package/src/abi/balancer-v3/stableSurgeHook.json +0 -976
- package/src/abi/balancer-v3/vault-extension.json +0 -2834
- package/src/abi/bebop/BebopSettlement.abi.json +0 -2137
- package/src/abi/benqi/staked-avax.json +0 -954
- package/src/abi/cables/CablesMainnetRFQ.json +0 -1083
- package/src/abi/camelot/CamelotFactory.json +0 -494
- package/src/abi/camelot/CamelotPair.json +0 -1027
- package/src/abi/chainlink.json +0 -323
- package/src/abi/concentrator/arUSD.json +0 -568
- package/src/abi/concentrator/arUSD5115.json +0 -1746
- package/src/abi/curve-v1/CurveBUSDv2.abi.json +0 -1356
- package/src/abi/curve-v1/CurveTokenV1.json +0 -305
- package/src/abi/curve-v1/CurveTokenV2.json +0 -318
- package/src/abi/curve-v1/CurveV1StableNg.json +0 -1452
- package/src/abi/curve-v1/CurveV2Swap.json +0 -700
- package/src/abi/curve-v1/FactoryCryptoRegistry.json +0 -316
- package/src/abi/curve-v1/FactoryRegistry.json +0 -508
- package/src/abi/curve-v1/StableSwap3Pool.json +0 -838
- package/src/abi/curve-v1/StableSwapAave.json +0 -1152
- package/src/abi/curve-v1/StableSwapBBTC.json +0 -1017
- package/src/abi/curve-v1/StableSwapBUSD.json +0 -814
- package/src/abi/curve-v1/StableSwapCompound.json +0 -814
- package/src/abi/curve-v1/StableSwapDUSD.json +0 -1004
- package/src/abi/curve-v1/StableSwapEURS.json +0 -868
- package/src/abi/curve-v1/StableSwapGUSD.json +0 -1004
- package/src/abi/curve-v1/StableSwapHBTC.json +0 -838
- package/src/abi/curve-v1/StableSwapHUSD.json +0 -1004
- package/src/abi/curve-v1/StableSwapIDLE.json +0 -1253
- package/src/abi/curve-v1/StableSwapLinkUSD.json +0 -1004
- package/src/abi/curve-v1/StableSwapMUSD.json +0 -1004
- package/src/abi/curve-v1/StableSwapOBTC.json +0 -1017
- package/src/abi/curve-v1/StableSwapPBTC.json +0 -1017
- package/src/abi/curve-v1/StableSwapPax.json +0 -865
- package/src/abi/curve-v1/StableSwapRSV.json +0 -1004
- package/src/abi/curve-v1/StableSwapRen.json +0 -851
- package/src/abi/curve-v1/StableSwapSBTC.json +0 -851
- package/src/abi/curve-v1/StableSwapSETH.json +0 -850
- package/src/abi/curve-v1/StableSwapSLINK.json +0 -899
- package/src/abi/curve-v1/StableSwapSTETH.json +0 -895
- package/src/abi/curve-v1/StableSwapSUSD.json +0 -760
- package/src/abi/curve-v1/StableSwapSnow.json +0 -900
- package/src/abi/curve-v1/StableSwapTBTC.json +0 -1017
- package/src/abi/curve-v1/StableSwapUSDK.json +0 -1004
- package/src/abi/curve-v1/StableSwapUSDN.json +0 -1004
- package/src/abi/curve-v1/StableSwapUSDT.json +0 -814
- package/src/abi/curve-v1/StableSwapUST.json +0 -1017
- package/src/abi/curve-v1/StableSwapY.json +0 -814
- package/src/abi/curve-v1-factory/CurveV1Router.abi.json +0 -331
- package/src/abi/curve-v1-factory/FactoryCurveV1.json +0 -508
- package/src/abi/curve-v1-factory/ThreePool.json +0 -468
- package/src/abi/curve-v2/GenericFactoryZap.json +0 -233
- package/src/abi/dexalot/DexalotMainnetRFQ.json +0 -952
- package/src/abi/dodo-v2-proxy.json +0 -565
- package/src/abi/ekubo/core.json +0 -1266
- package/src/abi/ekubo/data-fetcher.json +0 -161
- package/src/abi/ekubo/router.json +0 -803
- package/src/abi/erc20.json +0 -308
- package/src/abi/etherfi/eETHPool.json +0 -9
- package/src/abi/etherfi/weETH.json +0 -20
- package/src/abi/fluid-dex/dexFactory.abi.json +0 -506
- package/src/abi/fluid-dex/fluid-dex.abi.json +0 -1476
- package/src/abi/fluid-dex/liquidityUserModule.abi.json +0 -145
- package/src/abi/fluid-dex/resolver.abi.json +0 -2030
- package/src/abi/fx-protocol/FxMarket.json +0 -1284
- package/src/abi/fx-protocol/FxUSD.json +0 -1227
- package/src/abi/fx-protocol/weETHOralce.json +0 -676
- package/src/abi/gmx/fast-price-events.json +0 -70
- package/src/abi/gmx/fast-price-feed.json +0 -748
- package/src/abi/gmx/reader.json +0 -337
- package/src/abi/gmx/vault-price-feed.json +0 -477
- package/src/abi/gmx/vault.json +0 -2002
- package/src/abi/hashflow/HashflowRouter.abi.json +0 -1539
- package/src/abi/idle-dao/idle-cdo-factory.json +0 -38
- package/src/abi/idle-dao/idle-cdo.json +0 -1245
- package/src/abi/infusion/InfusionFactory.json +0 -147
- package/src/abi/infusion/InfusionPair.json +0 -658
- package/src/abi/infusion/InfusionRouter.json +0 -442
- package/src/abi/jarvis/ChainlinkAccessControlledOffchainAggregator.json +0 -1009
- package/src/abi/jarvis/SynthereumPriceFeed.json +0 -381
- package/src/abi/jarvis/jarvis-v6-pool.json +0 -1041
- package/src/abi/kyberdmm/kyber-dmm-exchange-router.abi.json +0 -1148
- package/src/abi/kyberdmm/kyber-dmm-factory.abi.json +0 -335
- package/src/abi/kyberdmm/kyber-dmm-pool.abi.json +0 -803
- package/src/abi/kyberdmm/kyber-storage.abi.json +0 -824
- package/src/abi/kyberdmm.abi.json +0 -1148
- package/src/abi/lite-psm/dai.json +0 -333
- package/src/abi/lite-psm/psm.json +0 -468
- package/src/abi/lite-psm/usdc.json +0 -814
- package/src/abi/lite-psm/usdsPsm.json +0 -163
- package/src/abi/m-token/WrappedM.abi.json +0 -1708
- package/src/abi/maker-psm/pot.json +0 -322
- package/src/abi/maker-psm/psm.json +0 -243
- package/src/abi/maker-psm/vat.json +0 -363
- package/src/abi/maverick-v1/pool-inspector.json +0 -216
- package/src/abi/maverick-v1/pool.json +0 -1111
- package/src/abi/maverick-v1/router.json +0 -389
- package/src/abi/maverick-v2/MaverickV2Pool.json +0 -1234
- package/src/abi/maverick-v2/MaverickV2PoolLens.json +0 -1232
- package/src/abi/maverick-v2/MaverickV2Quoter.json +0 -278
- package/src/abi/maverick-v2/MaverickV2Router.json +0 -778
- package/src/abi/multi-v2.json +0 -313
- package/src/abi/nerve/axial-pool.json +0 -693
- package/src/abi/nerve/iron-v2-pool.json +0 -785
- package/src/abi/nerve/nerve-metapool.json +0 -790
- package/src/abi/nerve/nerve-pool.json +0 -1035
- package/src/abi/nomiswap-v2/nomiswap-v2-pool.json +0 -773
- package/src/abi/oswap/oswap.abi.json +0 -452
- package/src/abi/pancakeswap-v3/PancakeV3StateMulticall.abi.json +0 -781
- package/src/abi/pancakeswap-v3/PancakeswapV3Factory.abi.json +0 -300
- package/src/abi/pancakeswap-v3/PancakeswapV3Pool.abi.json +0 -1039
- package/src/abi/pancakeswap-v3/PancakeswapV3Quoter.abi.json +0 -285
- package/src/abi/pancakeswap-v3/PancakeswapV3Router.abi.json +0 -583
- package/src/abi/paraswap-limit-orders/AugustusRFQ.abi.json +0 -1081
- package/src/abi/permit/IERC20Permit.json +0 -45
- package/src/abi/permit/IERC20PermitLegacy.json +0 -50
- package/src/abi/permit2.json +0 -581
- package/src/abi/polygon-migration/PolygonMigration.abi.json +0 -364
- package/src/abi/quick-perps/fast-price-events.json +0 -70
- package/src/abi/quick-perps/fast-price-feed.json +0 -741
- package/src/abi/quick-perps/reader.json +0 -313
- package/src/abi/quick-perps/vault-price-feed.json +0 -323
- package/src/abi/quick-perps/vault.json +0 -1953
- package/src/abi/ramses-v2/RamsesV2Pool.abi.json +0 -1599
- package/src/abi/rswETH.json +0 -1142
- package/src/abi/sdai/PSM3.abi.json +0 -721
- package/src/abi/sdai/SSRAuthOracle.abi.json +0 -522
- package/src/abi/sdai/SavingsDai.abi.json +0 -877
- package/src/abi/sdai/SavingsUSDS.abi.json +0 -720
- package/src/abi/sky-converter/DaiUsdsConverter.json +0 -116
- package/src/abi/sky-converter/MkrSkyConverter.json +0 -118
- package/src/abi/solidly/SolidlyFactory.json +0 -147
- package/src/abi/solidly/SolidlyPair.json +0 -658
- package/src/abi/solidly-v3/SolidlyV3Pool.abi.json +0 -738
- package/src/abi/solidly-v3/SolidlyV3StateMulticall.abi.json +0 -375
- package/src/abi/stETH.json +0 -735
- package/src/abi/stkGHO.json +0 -1131
- package/src/abi/swETH.json +0 -1086
- package/src/abi/swaap-v2/vault.json +0 -918
- package/src/abi/synthetix/CombinedSynthetix.abi.json +0 -422
- package/src/abi/uniswap-v2/biswap-pool.json +0 -501
- package/src/abi/uniswap-v2/excalibur-pool.json +0 -881
- package/src/abi/uniswap-v2/mdex-factory.json +0 -759
- package/src/abi/uniswap-v2/uniswap-v2-factory.json +0 -125
- package/src/abi/uniswap-v2/uniswap-v2-pool.json +0 -461
- package/src/abi/uniswap-v3/UniswapMulti.abi.json +0 -52
- package/src/abi/uniswap-v3/UniswapV3Factory.abi.json +0 -148
- package/src/abi/uniswap-v3/UniswapV3Pool.abi.json +0 -988
- package/src/abi/uniswap-v3/UniswapV3Quoter.abi.json +0 -193
- package/src/abi/uniswap-v3/UniswapV3QuoterV2.abi.json +0 -155
- package/src/abi/uniswap-v3/UniswapV3Router.abi.json +0 -274
- package/src/abi/uniswap-v3/UniswapV3StateMulticall.abi.json +0 -781
- package/src/abi/usual-bond/usd0pp.abi.json +0 -867
- package/src/abi/usual-m-usd0/usualCollateralDao.abi.json +0 -681
- package/src/abi/usual-m-wrapped-m/usualM.abi.json +0 -509
- package/src/abi/usual-pp/abi.json +0 -750
- package/src/abi/velodrome-slipstream/VelodromeSlipstreamFactory.abi.json +0 -579
- package/src/abi/velodrome-slipstream/VelodromeSlipstreamPool.abi.json +0 -1275
- package/src/abi/velodrome-slipstream/VelodromeSlipstreamQuoterV2.abi.json +0 -267
- package/src/abi/velodrome-slipstream/VelodromeSlipstreamStateMulticall.abi.json +0 -766
- package/src/abi/weth.abi.json +0 -153
- package/src/abi/wombat/asset.json +0 -743
- package/src/abi/wombat/bmw.json +0 -1247
- package/src/abi/wombat/pool-v2.json +0 -1289
- package/src/abi/wombat/pool-v3.json +0 -2013
- package/src/abi/woo-fi-v2/IntegrationHelper.abi.json +0 -116
- package/src/abi/woo-fi-v2/WooOracleV2.abi.json +0 -358
- package/src/abi/woo-fi-v2/WooPPV2.abi.json +0 -580
- package/src/abi/wstETH.json +0 -252
- package/src/bigint-constants.ts +0 -21
- package/src/bignumber-constants.ts +0 -20
- package/src/calldata-gas-cost.ts +0 -26
- package/src/composed-event-subscriber.ts +0 -131
- package/src/config.ts +0 -580
- package/src/constants.ts +0 -74
- package/src/dex/aave-gsm/aave-gsm-e2e.test.ts +0 -110
- package/src/dex/aave-gsm/aave-gsm-events.test.ts +0 -82
- package/src/dex/aave-gsm/aave-gsm-gas-estimation.test.ts +0 -32
- package/src/dex/aave-gsm/aave-gsm-integration.test.ts +0 -522
- package/src/dex/aave-gsm/aave-gsm-pool.ts +0 -225
- package/src/dex/aave-gsm/aave-gsm.ts +0 -431
- package/src/dex/aave-gsm/config.ts +0 -16
- package/src/dex/aave-gsm/types.ts +0 -24
- package/src/dex/aave-v2/aave-v2-e2e.test.ts +0 -287
- package/src/dex/aave-v2/aave-v2-gas-estimation.test.ts +0 -28
- package/src/dex/aave-v2/aave-v2-integration.test.ts +0 -100
- package/src/dex/aave-v2/aave-v2.ts +0 -409
- package/src/dex/aave-v2/config.ts +0 -56
- package/src/dex/aave-v2/tokenlist.json +0 -904
- package/src/dex/aave-v2/tokens.ts +0 -76
- package/src/dex/aave-v2/types.ts +0 -43
- package/src/dex/aave-v3/aave-v3-e2e.test.ts +0 -578
- package/src/dex/aave-v3/aave-v3-gas-estimation.test.ts +0 -66
- package/src/dex/aave-v3/aave-v3-integration.test.ts +0 -148
- package/src/dex/aave-v3/aave-v3.ts +0 -331
- package/src/dex/aave-v3/config.ts +0 -157
- package/src/dex/aave-v3/tokens.ts +0 -68
- package/src/dex/aave-v3/types.ts +0 -46
- package/src/dex/aave-v3/utils.ts +0 -153
- package/src/dex/aave-v3-stata/aave-v3-stata-e2e.test.ts +0 -355
- package/src/dex/aave-v3-stata/aave-v3-stata-gas-estimation.test.ts +0 -41
- package/src/dex/aave-v3-stata/aave-v3-stata-integration.test.ts +0 -282
- package/src/dex/aave-v3-stata/aave-v3-stata.ts +0 -530
- package/src/dex/aave-v3-stata/config.ts +0 -61
- package/src/dex/aave-v3-stata/tokens.ts +0 -48
- package/src/dex/aave-v3-stata/types.ts +0 -69
- package/src/dex/aave-v3-stata/utils.ts +0 -84
- package/src/dex/aave-v3-stata-v2/aave-v3-stata-v2-e2e.test.ts +0 -376
- package/src/dex/aave-v3-stata-v2/aave-v3-stata-v2-gas-estimation.test.ts +0 -41
- package/src/dex/aave-v3-stata-v2/aave-v3-stata-v2-integration.test.ts +0 -600
- package/src/dex/aave-v3-stata-v2/aave-v3-stata-v2.ts +0 -477
- package/src/dex/aave-v3-stata-v2/config.ts +0 -47
- package/src/dex/aave-v3-stata-v2/tokens.ts +0 -48
- package/src/dex/aave-v3-stata-v2/types.ts +0 -42
- package/src/dex/aave-v3-stata-v2/utils.ts +0 -96
- package/src/dex/algebra/algebra-e2e.test.ts +0 -313
- package/src/dex/algebra/algebra-events.test.ts +0 -186
- package/src/dex/algebra/algebra-factory.ts +0 -77
- package/src/dex/algebra/algebra-integration.test.ts +0 -558
- package/src/dex/algebra/algebra-pool-v1_1.ts +0 -853
- package/src/dex/algebra/algebra-pool-v1_9.ts +0 -614
- package/src/dex/algebra/algebra-pool-v1_9_bidirectional_fee.ts +0 -55
- package/src/dex/algebra/algebra.ts +0 -1141
- package/src/dex/algebra/config.ts +0 -128
- package/src/dex/algebra/constants.ts +0 -17
- package/src/dex/algebra/lib/AlgebraMath.ts +0 -706
- package/src/dex/algebra/lib/Constants.ts +0 -5
- package/src/dex/algebra/lib/TickManager.ts +0 -91
- package/src/dex/algebra/lib/TickTable.ts +0 -227
- package/src/dex/algebra/lib/yul-helper.ts +0 -29
- package/src/dex/algebra/scripts/validate-state.ts +0 -292
- package/src/dex/algebra/types.ts +0 -146
- package/src/dex/algebra/utils.ts +0 -217
- package/src/dex/angle-staked-stable/angle-staked-stable-e2e.test.ts +0 -146
- package/src/dex/angle-staked-stable/angle-staked-stable-events.test.ts +0 -95
- package/src/dex/angle-staked-stable/angle-staked-stable-gas-estimation.test.ts +0 -29
- package/src/dex/angle-staked-stable/angle-staked-stable-integration.test.ts +0 -476
- package/src/dex/angle-staked-stable/angle-staked-stable-pool.ts +0 -325
- package/src/dex/angle-staked-stable/angle-staked-stable.ts +0 -356
- package/src/dex/angle-staked-stable/config.ts +0 -139
- package/src/dex/angle-staked-stable/types.ts +0 -16
- package/src/dex/angle-transmuter/angle-transmuter-e2e.test.ts +0 -156
- package/src/dex/angle-transmuter/angle-transmuter-events.test.ts +0 -365
- package/src/dex/angle-transmuter/angle-transmuter-gas-estimation.test.ts +0 -41
- package/src/dex/angle-transmuter/angle-transmuter-integration.test.ts +0 -390
- package/src/dex/angle-transmuter/angle-transmuter-pool.ts +0 -895
- package/src/dex/angle-transmuter/angle-transmuter.ts +0 -407
- package/src/dex/angle-transmuter/backedOracle.ts +0 -91
- package/src/dex/angle-transmuter/config.ts +0 -50
- package/src/dex/angle-transmuter/constants.ts +0 -138
- package/src/dex/angle-transmuter/morphoOracle.ts +0 -335
- package/src/dex/angle-transmuter/morphoVault.ts +0 -134
- package/src/dex/angle-transmuter/pyth.ts +0 -105
- package/src/dex/angle-transmuter/redstone.ts +0 -105
- package/src/dex/angle-transmuter/transmuter.ts +0 -619
- package/src/dex/angle-transmuter/types.ts +0 -203
- package/src/dex/angle-transmuter/utils.ts +0 -358
- package/src/dex/augustus-approvals.ts +0 -208
- package/src/dex/augustus-rfq.ts +0 -180
- package/src/dex/balancer-v1/balancer-pools.json +0 -33333
- package/src/dex/balancer-v1/balancer-v1-e2e.test.ts +0 -119
- package/src/dex/balancer-v1/balancer-v1-events.test.ts +0 -83
- package/src/dex/balancer-v1/balancer-v1-gas-estimation.test.ts +0 -29
- package/src/dex/balancer-v1/balancer-v1-integration.test.ts +0 -307
- package/src/dex/balancer-v1/balancer-v1-math.ts +0 -154
- package/src/dex/balancer-v1/balancer-v1-pool.ts +0 -232
- package/src/dex/balancer-v1/balancer-v1.ts +0 -578
- package/src/dex/balancer-v1/config.ts +0 -29
- package/src/dex/balancer-v1/optimizer.ts +0 -76
- package/src/dex/balancer-v1/types.ts +0 -100
- package/src/dex/balancer-v1/utils.ts +0 -57
- package/src/dex/balancer-v2/balancer-v2-e2e.test.ts +0 -1612
- package/src/dex/balancer-v2/balancer-v2-events.test.ts +0 -132
- package/src/dex/balancer-v2/balancer-v2-gas-estimation.test.ts +0 -98
- package/src/dex/balancer-v2/balancer-v2-gyro3.test.ts +0 -268
- package/src/dex/balancer-v2/balancer-v2-gyroE.test.ts +0 -401
- package/src/dex/balancer-v2/balancer-v2-integration.test.ts +0 -931
- package/src/dex/balancer-v2/balancer-v2-math.ts +0 -592
- package/src/dex/balancer-v2/balancer-v2.ts +0 -1724
- package/src/dex/balancer-v2/config.ts +0 -81
- package/src/dex/balancer-v2/constants.ts +0 -20
- package/src/dex/balancer-v2/optimizer.ts +0 -70
- package/src/dex/balancer-v2/pools/balancer-v2-pool.ts +0 -274
- package/src/dex/balancer-v2/pools/gyro/Gyro3Pool.ts +0 -255
- package/src/dex/balancer-v2/pools/gyro/GyroEPool.ts +0 -402
- package/src/dex/balancer-v2/pools/gyro/gyro-helpers.ts +0 -15
- package/src/dex/balancer-v2/pools/linear/LinearMath.ts +0 -286
- package/src/dex/balancer-v2/pools/linear/LinearPool.ts +0 -639
- package/src/dex/balancer-v2/pools/phantom-stable/PhantomStableMath.ts +0 -494
- package/src/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.ts +0 -581
- package/src/dex/balancer-v2/pools/stable/StableMath.ts +0 -203
- package/src/dex/balancer-v2/pools/stable/StablePool.ts +0 -223
- package/src/dex/balancer-v2/pools/weighted/WeightedMath.ts +0 -84
- package/src/dex/balancer-v2/pools/weighted/WeightedPool.ts +0 -188
- package/src/dex/balancer-v2/queryOnChain.ts +0 -48
- package/src/dex/balancer-v2/types.ts +0 -215
- package/src/dex/balancer-v2/utils.ts +0 -212
- package/src/dex/balancer-v3/balancer-hooks-events.test.ts +0 -166
- package/src/dex/balancer-v3/balancer-stableSurge.test.ts +0 -110
- package/src/dex/balancer-v3/balancer-test-helpers.ts +0 -199
- package/src/dex/balancer-v3/balancer-v3-e2e.test.ts +0 -429
- package/src/dex/balancer-v3/balancer-v3-events.test.ts +0 -296
- package/src/dex/balancer-v3/balancer-v3-gas-estimation.test.ts +0 -30
- package/src/dex/balancer-v3/balancer-v3-integration.test.ts +0 -1008
- package/src/dex/balancer-v3/balancer-v3-pool.ts +0 -761
- package/src/dex/balancer-v3/balancer-v3.ts +0 -655
- package/src/dex/balancer-v3/config.ts +0 -93
- package/src/dex/balancer-v3/getGasCost.ts +0 -37
- package/src/dex/balancer-v3/getOnChainState.ts +0 -397
- package/src/dex/balancer-v3/getPoolsApi.ts +0 -148
- package/src/dex/balancer-v3/getTopPoolsApi.ts +0 -112
- package/src/dex/balancer-v3/hooks/balancer-hook-event-subscriber.ts +0 -212
- package/src/dex/balancer-v3/hooks/directionalFeeHook.ts +0 -51
- package/src/dex/balancer-v3/hooks/loadHooksConfig.ts +0 -12
- package/src/dex/balancer-v3/hooks/stableSurgeHook.ts +0 -198
- package/src/dex/balancer-v3/optimizer.ts +0 -66
- package/src/dex/balancer-v3/stablePool.ts +0 -78
- package/src/dex/balancer-v3/types.ts +0 -89
- package/src/dex/balancer-v3/weightedPool.ts +0 -2
- package/src/dex/bancor/bancor-e2e.test.ts +0 -91
- package/src/dex/bancor/bancor-gas-estimation.test.ts +0 -30
- package/src/dex/bancor/bancor.ts +0 -128
- package/src/dex/bancor/config.ts +0 -9
- package/src/dex/bancor/types.ts +0 -19
- package/src/dex/bebop/bebop-e2e.test.ts +0 -228
- package/src/dex/bebop/bebop-gas-estimation.test.ts +0 -30
- package/src/dex/bebop/bebop-integration.test.ts +0 -182
- package/src/dex/bebop/bebop.json +0 -72
- package/src/dex/bebop/bebop.proto +0 -15
- package/src/dex/bebop/bebop.ts +0 -930
- package/src/dex/bebop/config.ts +0 -42
- package/src/dex/bebop/constants.ts +0 -20
- package/src/dex/bebop/rate-fetcher.ts +0 -168
- package/src/dex/bebop/types.ts +0 -95
- package/src/dex/bebop/validators.ts +0 -39
- package/src/dex/cables/cables-e2e.test.ts +0 -207
- package/src/dex/cables/cables-integration.test.ts +0 -391
- package/src/dex/cables/cables.ts +0 -857
- package/src/dex/cables/config.ts +0 -13
- package/src/dex/cables/constants.ts +0 -33
- package/src/dex/cables/rate-fetcher.ts +0 -212
- package/src/dex/cables/types.ts +0 -113
- package/src/dex/cables/validators.test.ts +0 -151
- package/src/dex/cables/validators.ts +0 -61
- package/src/dex/camelot/camelot-e2e.test.ts +0 -161
- package/src/dex/camelot/camelot-integration.test.ts +0 -215
- package/src/dex/camelot/camelot-pool-discovery.test.ts +0 -149
- package/src/dex/camelot/camelot.ts +0 -882
- package/src/dex/camelot/config.ts +0 -23
- package/src/dex/camelot/types.ts +0 -15
- package/src/dex/compound/compound-e2e.test.ts +0 -91
- package/src/dex/compound/compound.ts +0 -112
- package/src/dex/compound/types.ts +0 -10
- package/src/dex/concentrator-arusd/concentrator-arusd-e2e.test.ts +0 -92
- package/src/dex/concentrator-arusd/concentrator-arusd-event.ts +0 -100
- package/src/dex/concentrator-arusd/concentrator-arusd-gas-estimation.test.ts +0 -29
- package/src/dex/concentrator-arusd/concentrator-arusd-integration.test.ts +0 -104
- package/src/dex/concentrator-arusd/concentrator-arusd.ts +0 -269
- package/src/dex/concentrator-arusd/concetrator-arusd-events.test.ts +0 -97
- package/src/dex/concentrator-arusd/config.ts +0 -13
- package/src/dex/concentrator-arusd/types.ts +0 -16
- package/src/dex/concentrator-arusd/utils.ts +0 -36
- package/src/dex/curve-v1/config.ts +0 -1181
- package/src/dex/curve-v1/constants.ts +0 -12
- package/src/dex/curve-v1/curve-v1-e2e.test.ts +0 -587
- package/src/dex/curve-v1/curve-v1-events.test.ts +0 -335
- package/src/dex/curve-v1/curve-v1-gas-estimation.test.ts +0 -29
- package/src/dex/curve-v1/curve-v1-integration.test.ts +0 -143
- package/src/dex/curve-v1/curve-v1.ts +0 -1315
- package/src/dex/curve-v1/forks/curve-forks/config.ts +0 -177
- package/src/dex/curve-v1/forks/curve-forks/curve-forks.ts +0 -73
- package/src/dex/curve-v1/forks/swerve/config.ts +0 -47
- package/src/dex/curve-v1/forks/swerve/swerve.ts +0 -68
- package/src/dex/curve-v1/packer.ts +0 -17
- package/src/dex/curve-v1/pools/3pool.ts +0 -313
- package/src/dex/curve-v1/pools/DUSDpool.ts +0 -52
- package/src/dex/curve-v1/pools/EURSpool.ts +0 -37
- package/src/dex/curve-v1/pools/GUSDpool.ts +0 -52
- package/src/dex/curve-v1/pools/HUSDpool.ts +0 -52
- package/src/dex/curve-v1/pools/LinkUSDpool.ts +0 -52
- package/src/dex/curve-v1/pools/MUSDpool.ts +0 -52
- package/src/dex/curve-v1/pools/bBTCpool.ts +0 -52
- package/src/dex/curve-v1/pools/curve-metapool.ts +0 -1113
- package/src/dex/curve-v1/pools/curve-pool.ts +0 -489
- package/src/dex/curve-v1/pools/getstate-multicall.ts +0 -156
- package/src/dex/curve-v1/pools/hBTCpool.ts +0 -37
- package/src/dex/curve-v1/pools/oBTCpool.ts +0 -52
- package/src/dex/curve-v1/pools/pBTCpool.ts +0 -52
- package/src/dex/curve-v1/pools/renpool.ts +0 -38
- package/src/dex/curve-v1/pools/rsvpool.ts +0 -52
- package/src/dex/curve-v1/pools/sBTCpool.ts +0 -38
- package/src/dex/curve-v1/pools/sETHpool.ts +0 -69
- package/src/dex/curve-v1/pools/sLinkpool.ts +0 -37
- package/src/dex/curve-v1/pools/sUSDpool.ts +0 -133
- package/src/dex/curve-v1/pools/stETHpool.ts +0 -52
- package/src/dex/curve-v1/pools/tBTCpool.ts +0 -52
- package/src/dex/curve-v1/pools/usdkpool.ts +0 -52
- package/src/dex/curve-v1/pools/usdnpool.ts +0 -59
- package/src/dex/curve-v1/pools/ustpool.ts +0 -52
- package/src/dex/curve-v1/types.ts +0 -88
- package/src/dex/curve-v1-factory/config.ts +0 -1004
- package/src/dex/curve-v1-factory/constants.ts +0 -41
- package/src/dex/curve-v1-factory/curve-v1-factory-e2e.test.ts +0 -441
- package/src/dex/curve-v1-factory/curve-v1-factory-integration.test.ts +0 -827
- package/src/dex/curve-v1-factory/curve-v1-factory-node-cache.ts +0 -10
- package/src/dex/curve-v1-factory/curve-v1-factory.ts +0 -1567
- package/src/dex/curve-v1-factory/curve-v1-pool-manager.ts +0 -449
- package/src/dex/curve-v1-factory/optimizer.ts +0 -57
- package/src/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.ts +0 -292
- package/src/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.ts +0 -103
- package/src/dex/curve-v1-factory/price-handlers/functions/_rates.ts +0 -116
- package/src/dex/curve-v1-factory/price-handlers/functions/_xp.ts +0 -114
- package/src/dex/curve-v1-factory/price-handlers/functions/_xp_mem.ts +0 -103
- package/src/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.ts +0 -230
- package/src/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.ts +0 -90
- package/src/dex/curve-v1-factory/price-handlers/functions/constants.ts +0 -604
- package/src/dex/curve-v1-factory/price-handlers/functions/get_D.ts +0 -386
- package/src/dex/curve-v1-factory/price-handlers/functions/get_D_mem.ts +0 -148
- package/src/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.ts +0 -120
- package/src/dex/curve-v1-factory/price-handlers/functions/get_dx.ts +0 -145
- package/src/dex/curve-v1-factory/price-handlers/functions/get_dy.ts +0 -327
- package/src/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.ts +0 -293
- package/src/dex/curve-v1-factory/price-handlers/functions/get_y.ts +0 -262
- package/src/dex/curve-v1-factory/price-handlers/functions/get_y_D.ts +0 -183
- package/src/dex/curve-v1-factory/price-handlers/functions/utils.ts +0 -76
- package/src/dex/curve-v1-factory/price-handlers/price-handler.ts +0 -130
- package/src/dex/curve-v1-factory/price-handlers/types.ts +0 -142
- package/src/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.ts +0 -301
- package/src/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.ts +0 -227
- package/src/dex/curve-v1-factory/state-polling-pools/polling-manager.ts +0 -266
- package/src/dex/curve-v1-factory/state-polling-pools/pool-polling-base.ts +0 -181
- package/src/dex/curve-v1-factory/types.ts +0 -286
- package/src/dex/curve-v1-stable-ng/config.ts +0 -315
- package/src/dex/curve-v1-stable-ng/curve-v1-stable-ng-e2e.test.ts +0 -219
- package/src/dex/curve-v1-stable-ng/curve-v1-stable-ng-integration.test.ts +0 -567
- package/src/dex/curve-v1-stable-ng/curve-v1-stable-ng.ts +0 -33
- package/src/dex/curve-v2/constants.ts +0 -1
- package/src/dex/curve-v2/curve-v2-e2e.test.ts +0 -104
- package/src/dex/curve-v2/curve-v2-gas-estimation.test.ts +0 -29
- package/src/dex/curve-v2/curve-v2.ts +0 -440
- package/src/dex/curve-v2/types.ts +0 -27
- package/src/dex/dexalot/config.ts +0 -28
- package/src/dex/dexalot/constants.ts +0 -32
- package/src/dex/dexalot/dexalot-e2e.test.ts +0 -260
- package/src/dex/dexalot/dexalot-integration.test.ts +0 -431
- package/src/dex/dexalot/dexalot.ts +0 -1114
- package/src/dex/dexalot/rate-fetcher.ts +0 -197
- package/src/dex/dexalot/types.ts +0 -131
- package/src/dex/dexalot/validators.ts +0 -46
- package/src/dex/dodo-v1/config.ts +0 -15
- package/src/dex/dodo-v1/dodo-v1-e2e.test.ts +0 -101
- package/src/dex/dodo-v1/dodo-v1.ts +0 -132
- package/src/dex/dodo-v1/types.ts +0 -25
- package/src/dex/dodo-v2.ts +0 -266
- package/src/dex/ekubo/config.ts +0 -15
- package/src/dex/ekubo/ekubo-e2e.test.ts +0 -124
- package/src/dex/ekubo/ekubo-events.test.ts +0 -209
- package/src/dex/ekubo/ekubo-integration.test.ts +0 -243
- package/src/dex/ekubo/ekubo.ts +0 -628
- package/src/dex/ekubo/pools/base-pool.ts +0 -267
- package/src/dex/ekubo/pools/math/constants.ts +0 -5
- package/src/dex/ekubo/pools/math/delta.test.ts +0 -131
- package/src/dex/ekubo/pools/math/delta.ts +0 -68
- package/src/dex/ekubo/pools/math/price.test.ts +0 -54
- package/src/dex/ekubo/pools/math/price.ts +0 -129
- package/src/dex/ekubo/pools/math/swap.test.ts +0 -215
- package/src/dex/ekubo/pools/math/swap.ts +0 -161
- package/src/dex/ekubo/pools/math/tick.test.ts +0 -72
- package/src/dex/ekubo/pools/math/tick.ts +0 -120
- package/src/dex/ekubo/pools/oracle-pool.ts +0 -46
- package/src/dex/ekubo/pools/pool-utils.ts +0 -348
- package/src/dex/ekubo/types.test.ts +0 -552
- package/src/dex/ekubo/types.ts +0 -55
- package/src/dex/ekubo/utils.ts +0 -34
- package/src/dex/erc4626/config.ts +0 -41
- package/src/dex/erc4626/constants.ts +0 -6
- package/src/dex/erc4626/erc-4626-pool.ts +0 -132
- package/src/dex/erc4626/erc4626-e2e.test.ts +0 -224
- package/src/dex/erc4626/erc4626-event.test.ts +0 -128
- package/src/dex/erc4626/erc4626-gas-estimation.test.ts +0 -41
- package/src/dex/erc4626/erc4626-integration.test.ts +0 -164
- package/src/dex/erc4626/erc4626.ts +0 -333
- package/src/dex/erc4626/types.ts +0 -26
- package/src/dex/etherfi.ts +0 -244
- package/src/dex/fluid-dex/config.ts +0 -27
- package/src/dex/fluid-dex/constants.ts +0 -2
- package/src/dex/fluid-dex/fluid-dex-e2e.test.ts +0 -311
- package/src/dex/fluid-dex/fluid-dex-events.test.ts +0 -179
- package/src/dex/fluid-dex/fluid-dex-factory.ts +0 -151
- package/src/dex/fluid-dex/fluid-dex-gas-estimation.test.ts +0 -29
- package/src/dex/fluid-dex/fluid-dex-integration.test.ts +0 -355
- package/src/dex/fluid-dex/fluid-dex-liquidity-proxy.ts +0 -210
- package/src/dex/fluid-dex/fluid-dex-pool.ts +0 -138
- package/src/dex/fluid-dex/fluid-dex.ts +0 -1169
- package/src/dex/fluid-dex/types.ts +0 -104
- package/src/dex/fluid-dex/utils.ts +0 -15
- package/src/dex/fx-protocol-rusd/config.ts +0 -14
- package/src/dex/fx-protocol-rusd/fx-protocol-e2e.test.ts +0 -96
- package/src/dex/fx-protocol-rusd/fx-protocol-events.test.ts +0 -101
- package/src/dex/fx-protocol-rusd/fx-protocol-integration.test.ts +0 -104
- package/src/dex/fx-protocol-rusd/fx-protocol-rusd-event.ts +0 -112
- package/src/dex/fx-protocol-rusd/fx-protocol-rusd-gas-estimation.test.ts +0 -29
- package/src/dex/fx-protocol-rusd/fx-protocol-rusd.ts +0 -282
- package/src/dex/fx-protocol-rusd/types.ts +0 -16
- package/src/dex/fx-protocol-rusd/utils.ts +0 -47
- package/src/dex/generic-rfq/e2e-test-config.ts +0 -25
- package/src/dex/generic-rfq/example-api.test.ts +0 -233
- package/src/dex/generic-rfq/fetch-mm-api.ts +0 -284
- package/src/dex/generic-rfq/generic-rfq-e2e.test.ts +0 -118
- package/src/dex/generic-rfq/generic-rfq-integration.test.ts +0 -235
- package/src/dex/generic-rfq/generic-rfq-local-e2e.test.ts +0 -107
- package/src/dex/generic-rfq/generic-rfq.ts +0 -463
- package/src/dex/generic-rfq/rate-fetcher.ts +0 -491
- package/src/dex/generic-rfq/security.ts +0 -55
- package/src/dex/generic-rfq/types.ts +0 -120
- package/src/dex/generic-rfq/utils.ts +0 -74
- package/src/dex/generic-rfq/validators.test.ts +0 -245
- package/src/dex/generic-rfq/validators.ts +0 -189
- package/src/dex/gmx/config.ts +0 -81
- package/src/dex/gmx/fast-price-feed.ts +0 -279
- package/src/dex/gmx/gmx-e2e.test.ts +0 -322
- package/src/dex/gmx/gmx-events.test.ts +0 -114
- package/src/dex/gmx/gmx-integration.test.ts +0 -211
- package/src/dex/gmx/gmx.ts +0 -321
- package/src/dex/gmx/pool.ts +0 -360
- package/src/dex/gmx/types.ts +0 -94
- package/src/dex/gmx/usdg.ts +0 -83
- package/src/dex/gmx/vault-price-feed.ts +0 -384
- package/src/dex/gmx/vault-utils.ts +0 -53
- package/src/dex/gmx/vault.ts +0 -290
- package/src/dex/hashflow/config.ts +0 -56
- package/src/dex/hashflow/constants.ts +0 -54
- package/src/dex/hashflow/hashflow-e2e.test.ts +0 -351
- package/src/dex/hashflow/hashflow-gas-estimation.test.ts +0 -30
- package/src/dex/hashflow/hashflow-integration.test.ts +0 -157
- package/src/dex/hashflow/hashflow.ts +0 -1119
- package/src/dex/hashflow/rate-fetcher.ts +0 -118
- package/src/dex/hashflow/types.ts +0 -83
- package/src/dex/hashflow/validators.ts +0 -38
- package/src/dex/idex.ts +0 -268
- package/src/dex/idle-dao/config.ts +0 -26
- package/src/dex/idle-dao/idle-dao--gas-estimation.test.ts +0 -30
- package/src/dex/idle-dao/idle-dao-e2e.test.ts +0 -112
- package/src/dex/idle-dao/idle-dao-integration.test.ts +0 -155
- package/src/dex/idle-dao/idle-dao.ts +0 -402
- package/src/dex/idle-dao/token_list.ts +0 -287
- package/src/dex/idle-dao/tokens.ts +0 -99
- package/src/dex/idle-dao/types.ts +0 -43
- package/src/dex/idle-dao/utils.ts +0 -216
- package/src/dex/index.ts +0 -402
- package/src/dex/infusion/config.ts +0 -21
- package/src/dex/infusion/infusion-e2e.test.ts +0 -110
- package/src/dex/infusion/infusion-integration.test.ts +0 -232
- package/src/dex/infusion/infusion-stable-pool.ts +0 -91
- package/src/dex/infusion/infusion.ts +0 -652
- package/src/dex/infusion/types.ts +0 -60
- package/src/dex/infusion/utils/isStablePair.ts +0 -18
- package/src/dex/jarvis-v6/chainLinkpriceFeed-event.ts +0 -76
- package/src/dex/jarvis-v6/config.ts +0 -261
- package/src/dex/jarvis-v6/jarvis-v6-e2e.test.ts +0 -113
- package/src/dex/jarvis-v6/jarvis-v6-events.test.ts +0 -67
- package/src/dex/jarvis-v6/jarvis-v6-events.ts +0 -67
- package/src/dex/jarvis-v6/jarvis-v6-integration.test.ts +0 -111
- package/src/dex/jarvis-v6/jarvis-v6.ts +0 -509
- package/src/dex/jarvis-v6/syntheteumPool-event.ts +0 -68
- package/src/dex/jarvis-v6/types.ts +0 -59
- package/src/dex/jarvis-v6/utils.ts +0 -127
- package/src/dex/kyberdmm/config.ts +0 -61
- package/src/dex/kyberdmm/fee-formula.ts +0 -113
- package/src/dex/kyberdmm/kyberdmm-e2e.test.ts +0 -325
- package/src/dex/kyberdmm/kyberdmm-events.test.ts +0 -123
- package/src/dex/kyberdmm/kyberdmm-integration.test.ts +0 -93
- package/src/dex/kyberdmm/kyberdmm.ts +0 -649
- package/src/dex/kyberdmm/math-ext.ts +0 -29
- package/src/dex/kyberdmm/pool.ts +0 -226
- package/src/dex/kyberdmm/types.ts +0 -85
- package/src/dex/lido/config.ts +0 -5
- package/src/dex/lido/lido-e2e.test.ts +0 -81
- package/src/dex/lido/lido-gas-estimation.test.ts +0 -29
- package/src/dex/lido/lido.ts +0 -110
- package/src/dex/lido/types.ts +0 -5
- package/src/dex/limit-order-exchange.ts +0 -40
- package/src/dex/lite-psm/config.ts +0 -33
- package/src/dex/lite-psm/lite-psm-e2e.test.ts +0 -146
- package/src/dex/lite-psm/lite-psm-event-pool.ts +0 -216
- package/src/dex/lite-psm/lite-psm-events.test.ts +0 -61
- package/src/dex/lite-psm/lite-psm-gas-estimation.test.ts +0 -34
- package/src/dex/lite-psm/lite-psm-integration.test.ts +0 -99
- package/src/dex/lite-psm/lite-psm.ts +0 -540
- package/src/dex/lite-psm/types.ts +0 -47
- package/src/dex/maker-psm/config.ts +0 -59
- package/src/dex/maker-psm/maker-psm-e2e.test.ts +0 -83
- package/src/dex/maker-psm/maker-psm-events.test.ts +0 -63
- package/src/dex/maker-psm/maker-psm-gas-estimation.test.ts +0 -34
- package/src/dex/maker-psm/maker-psm-integration.test.ts +0 -99
- package/src/dex/maker-psm/maker-psm.ts +0 -722
- package/src/dex/maker-psm/types.ts +0 -45
- package/src/dex/maverick-v1/config.ts +0 -33
- package/src/dex/maverick-v1/constants.ts +0 -1
- package/src/dex/maverick-v1/maverick-math/maverick-basic-math.ts +0 -187
- package/src/dex/maverick-v1/maverick-math/maverick-bin-map.ts +0 -182
- package/src/dex/maverick-v1/maverick-math/maverick-pool-math.test.ts +0 -680
- package/src/dex/maverick-v1/maverick-math/maverick-pool-math.ts +0 -562
- package/src/dex/maverick-v1/maverick-v1-e2e.test.ts +0 -346
- package/src/dex/maverick-v1/maverick-v1-events.test.ts +0 -112
- package/src/dex/maverick-v1/maverick-v1-gas-estimation.test.ts +0 -29
- package/src/dex/maverick-v1/maverick-v1-integration.test.ts +0 -170
- package/src/dex/maverick-v1/maverick-v1-pool.ts +0 -394
- package/src/dex/maverick-v1/maverick-v1.ts +0 -536
- package/src/dex/maverick-v1/subgraph-queries.ts +0 -60
- package/src/dex/maverick-v1/types.ts +0 -83
- package/src/dex/maverick-v2/config.ts +0 -32
- package/src/dex/maverick-v2/maverick-math/maverick-basic-math.ts +0 -152
- package/src/dex/maverick-v2/maverick-math/maverick-bin-math.ts +0 -288
- package/src/dex/maverick-v2/maverick-math/maverick-delta-math.ts +0 -32
- package/src/dex/maverick-v2/maverick-math/maverick-math.ts +0 -30
- package/src/dex/maverick-v2/maverick-math/maverick-pool-lib.ts +0 -42
- package/src/dex/maverick-v2/maverick-math/maverick-pool-math.ts +0 -714
- package/src/dex/maverick-v2/maverick-math/maverick-swap-math.ts +0 -199
- package/src/dex/maverick-v2/maverick-math/maverick-tick-math.ts +0 -171
- package/src/dex/maverick-v2/maverick-math/maverick-twa-math.ts +0 -54
- package/src/dex/maverick-v2/maverick-v2-e2e.test.ts +0 -171
- package/src/dex/maverick-v2/maverick-v2-events.test.ts +0 -112
- package/src/dex/maverick-v2/maverick-v2-gas-estimation.test.ts +0 -29
- package/src/dex/maverick-v2/maverick-v2-integration.test.ts +0 -287
- package/src/dex/maverick-v2/maverick-v2-pool.ts +0 -369
- package/src/dex/maverick-v2/maverick-v2.ts +0 -409
- package/src/dex/maverick-v2/types.ts +0 -155
- package/src/dex/nerve/config.ts +0 -635
- package/src/dex/nerve/nerve-e2e.test.ts +0 -731
- package/src/dex/nerve/nerve-events.test.ts +0 -911
- package/src/dex/nerve/nerve-integration.test.ts +0 -73
- package/src/dex/nerve/nerve-math.ts +0 -304
- package/src/dex/nerve/nerve-metapool.ts +0 -203
- package/src/dex/nerve/nerve-pool.ts +0 -425
- package/src/dex/nerve/nerve.ts +0 -467
- package/src/dex/nerve/types.ts +0 -65
- package/src/dex/nerve/utils.ts +0 -39
- package/src/dex/oswap/config.ts +0 -32
- package/src/dex/oswap/oswap-e2e.test.ts +0 -91
- package/src/dex/oswap/oswap-events.test.ts +0 -88
- package/src/dex/oswap/oswap-integration.test.ts +0 -291
- package/src/dex/oswap/oswap-pool.ts +0 -190
- package/src/dex/oswap/oswap.ts +0 -414
- package/src/dex/oswap/types.ts +0 -29
- package/src/dex/pancakeswap-v3/config.ts +0 -119
- package/src/dex/pancakeswap-v3/constants.ts +0 -36
- package/src/dex/pancakeswap-v3/contract-math/BitMath.ts +0 -90
- package/src/dex/pancakeswap-v3/contract-math/FixedPoint128.ts +0 -3
- package/src/dex/pancakeswap-v3/contract-math/FixedPoint96.ts +0 -4
- package/src/dex/pancakeswap-v3/contract-math/FullMath.ts +0 -30
- package/src/dex/pancakeswap-v3/contract-math/LiquidityMath.ts +0 -17
- package/src/dex/pancakeswap-v3/contract-math/Oracle.ts +0 -226
- package/src/dex/pancakeswap-v3/contract-math/SqrtPriceMath.ts +0 -226
- package/src/dex/pancakeswap-v3/contract-math/SwapMath.ts +0 -139
- package/src/dex/pancakeswap-v3/contract-math/Tick.ts +0 -82
- package/src/dex/pancakeswap-v3/contract-math/TickBitMap.ts +0 -128
- package/src/dex/pancakeswap-v3/contract-math/TickMath.ts +0 -211
- package/src/dex/pancakeswap-v3/contract-math/UnsafeMath.ts +0 -5
- package/src/dex/pancakeswap-v3/contract-math/pancakeswap-v3-math.ts +0 -687
- package/src/dex/pancakeswap-v3/contract-math/utils.ts +0 -11
- package/src/dex/pancakeswap-v3/pancakeswap-v3-e2e.test.ts +0 -459
- package/src/dex/pancakeswap-v3/pancakeswap-v3-events.test.ts +0 -124
- package/src/dex/pancakeswap-v3/pancakeswap-v3-factory.ts +0 -80
- package/src/dex/pancakeswap-v3/pancakeswap-v3-gas-estimation.test.ts +0 -29
- package/src/dex/pancakeswap-v3/pancakeswap-v3-integration.test.ts +0 -529
- package/src/dex/pancakeswap-v3/pancakeswap-v3-pool.ts +0 -555
- package/src/dex/pancakeswap-v3/pancakeswap-v3.ts +0 -1161
- package/src/dex/pancakeswap-v3/utils.ts +0 -65
- package/src/dex/paraswap-limit-orders/config.ts +0 -60
- package/src/dex/paraswap-limit-orders/constant.ts +0 -32
- package/src/dex/paraswap-limit-orders/paraswap-limit-orders-e2e.test.ts +0 -221
- package/src/dex/paraswap-limit-orders/paraswap-limit-orders-integration.test.ts +0 -328
- package/src/dex/paraswap-limit-orders/paraswap-limit-orders.ts +0 -634
- package/src/dex/paraswap-limit-orders/types.ts +0 -84
- package/src/dex/paraswap-limit-orders/utils.ts +0 -52
- package/src/dex/polygon-migrator/config.ts +0 -25
- package/src/dex/polygon-migrator/constants.ts +0 -1
- package/src/dex/polygon-migrator/polygon-migrator-e2e.test.ts +0 -98
- package/src/dex/polygon-migrator/polygon-migrator-gas-estimation.test.ts +0 -41
- package/src/dex/polygon-migrator/polygon-migrator-integration.test.ts +0 -139
- package/src/dex/polygon-migrator/polygon-migrator.ts +0 -194
- package/src/dex/polygon-migrator/types.ts +0 -14
- package/src/dex/quick-perps/config.ts +0 -31
- package/src/dex/quick-perps/fast-price-feed.ts +0 -279
- package/src/dex/quick-perps/pool.ts +0 -407
- package/src/dex/quick-perps/quick-perps-e2e.test.ts +0 -66
- package/src/dex/quick-perps/quick-perps-events.test.ts +0 -100
- package/src/dex/quick-perps/quick-perps-integration.test.ts +0 -153
- package/src/dex/quick-perps/quick-perps.ts +0 -337
- package/src/dex/quick-perps/types.ts +0 -97
- package/src/dex/quick-perps/usdq.ts +0 -83
- package/src/dex/quick-perps/vault-price-feed.ts +0 -322
- package/src/dex/quick-perps/vault-utils.ts +0 -53
- package/src/dex/quick-perps/vault.ts +0 -290
- package/src/dex/quickswap/config.ts +0 -16
- package/src/dex/quickswap/quickswap-e2e.test.ts +0 -384
- package/src/dex/quickswap/quickswap-v3.ts +0 -74
- package/src/dex/quickswap/thena-fusion.ts +0 -19
- package/src/dex/quickswap/types.ts +0 -5
- package/src/dex/simple-exchange.ts +0 -146
- package/src/dex/sky-converter/config.ts +0 -31
- package/src/dex/sky-converter/sky-converter-e2e.test.ts +0 -113
- package/src/dex/sky-converter/sky-converter-gas-estimation.test.ts +0 -78
- package/src/dex/sky-converter/sky-converter-integration.test.ts +0 -135
- package/src/dex/sky-converter/sky-converter.ts +0 -221
- package/src/dex/sky-converter/types.ts +0 -14
- package/src/dex/smoothy/smoothy-e2e.test.ts +0 -81
- package/src/dex/smoothy/smoothy.ts +0 -110
- package/src/dex/smoothy/types.ts +0 -18
- package/src/dex/solidly/config.ts +0 -218
- package/src/dex/solidly/forks-override/aerodrome.ts +0 -53
- package/src/dex/solidly/forks-override/chronos.ts +0 -231
- package/src/dex/solidly/forks-override/equalizer.ts +0 -58
- package/src/dex/solidly/forks-override/pharaohV1.ts +0 -10
- package/src/dex/solidly/forks-override/ramses.ts +0 -253
- package/src/dex/solidly/forks-override/spiritSwapV2.ts +0 -61
- package/src/dex/solidly/forks-override/thena.ts +0 -58
- package/src/dex/solidly/forks-override/usdfi.ts +0 -10
- package/src/dex/solidly/forks-override/velocimeter.ts +0 -58
- package/src/dex/solidly/forks-override/velodrome.ts +0 -58
- package/src/dex/solidly/forks-override/velodromeV2.ts +0 -63
- package/src/dex/solidly/solidly-e2e.test.ts +0 -1421
- package/src/dex/solidly/solidly-ethereum.ts +0 -61
- package/src/dex/solidly/solidly-gas-estimation.test.ts +0 -29
- package/src/dex/solidly/solidly-integration.test.ts +0 -1753
- package/src/dex/solidly/solidly-stable-pool.ts +0 -91
- package/src/dex/solidly/solidly.ts +0 -708
- package/src/dex/solidly/types.ts +0 -38
- package/src/dex/solidly-v3/config.ts +0 -118
- package/src/dex/solidly-v3/constants.ts +0 -42
- package/src/dex/solidly-v3/contract-math/BitMath.ts +0 -90
- package/src/dex/solidly-v3/contract-math/FixedPoint128.ts +0 -3
- package/src/dex/solidly-v3/contract-math/FixedPoint96.ts +0 -4
- package/src/dex/solidly-v3/contract-math/FullMath.ts +0 -30
- package/src/dex/solidly-v3/contract-math/LiquidityMath.ts +0 -17
- package/src/dex/solidly-v3/contract-math/SqrtPriceMath.ts +0 -226
- package/src/dex/solidly-v3/contract-math/SwapMath.ts +0 -139
- package/src/dex/solidly-v3/contract-math/Tick.ts +0 -63
- package/src/dex/solidly-v3/contract-math/TickBitMap.ts +0 -123
- package/src/dex/solidly-v3/contract-math/TickMath.ts +0 -211
- package/src/dex/solidly-v3/contract-math/UnsafeMath.ts +0 -5
- package/src/dex/solidly-v3/contract-math/uniswap-v3-math.ts +0 -562
- package/src/dex/solidly-v3/contract-math/utils.ts +0 -50
- package/src/dex/solidly-v3/solidly-v3-e2e.test.ts +0 -270
- package/src/dex/solidly-v3/solidly-v3-events.test.ts +0 -146
- package/src/dex/solidly-v3/solidly-v3-factory.ts +0 -80
- package/src/dex/solidly-v3/solidly-v3-gas-estimation.test.ts +0 -29
- package/src/dex/solidly-v3/solidly-v3-integration.test.ts +0 -358
- package/src/dex/solidly-v3/solidly-v3-pool.ts +0 -502
- package/src/dex/solidly-v3/solidly-v3.ts +0 -976
- package/src/dex/solidly-v3/types.ts +0 -157
- package/src/dex/solidly-v3/utils.ts +0 -71
- package/src/dex/spark/config.ts +0 -69
- package/src/dex/spark/constants.ts +0 -2
- package/src/dex/spark/scripts/validate-state.ts +0 -145
- package/src/dex/spark/spark-e2e.test.ts +0 -225
- package/src/dex/spark/spark-events.test.ts +0 -214
- package/src/dex/spark/spark-gas-estimation.test.ts +0 -29
- package/src/dex/spark/spark-integration.test.ts +0 -690
- package/src/dex/spark/spark-psm.ts +0 -361
- package/src/dex/spark/spark-sdai-pool.ts +0 -116
- package/src/dex/spark/spark.ts +0 -323
- package/src/dex/spark/types.ts +0 -54
- package/src/dex/spark/utils.ts +0 -151
- package/src/dex/stable-pool/stable-pool.ts +0 -129
- package/src/dex/stable-pool/stablepool-e2e.test.ts +0 -73
- package/src/dex/stable-pool/types.ts +0 -20
- package/src/dex/stader/config.ts +0 -13
- package/src/dex/stader/stader-e2e.test.ts +0 -74
- package/src/dex/stader/stader-events.test.ts +0 -64
- package/src/dex/stader/stader-gas-estimation.test.ts +0 -29
- package/src/dex/stader/stader-integration.test.ts +0 -240
- package/src/dex/stader/stader-pool.ts +0 -77
- package/src/dex/stader/stader.ts +0 -240
- package/src/dex/stader/types.ts +0 -16
- package/src/dex/stader/utils.ts +0 -34
- package/src/dex/stkgho/config.ts +0 -14
- package/src/dex/stkgho/stkgho-e2e.test.ts +0 -77
- package/src/dex/stkgho/stkgho-events.test.ts +0 -79
- package/src/dex/stkgho/stkgho-gas-estimation.test.ts +0 -29
- package/src/dex/stkgho/stkgho-integration.test.ts +0 -226
- package/src/dex/stkgho/stkgho-pool.ts +0 -111
- package/src/dex/stkgho/stkgho.ts +0 -223
- package/src/dex/stkgho/types.ts +0 -14
- package/src/dex/swaap-v2/config.ts +0 -42
- package/src/dex/swaap-v2/constants.ts +0 -52
- package/src/dex/swaap-v2/rate-fetcher.ts +0 -267
- package/src/dex/swaap-v2/stable-coins.ts +0 -25
- package/src/dex/swaap-v2/swaap-v2-e2e.test.ts +0 -584
- package/src/dex/swaap-v2/swaap-v2-estimation.test.ts +0 -29
- package/src/dex/swaap-v2/swaap-v2-integration.test.ts +0 -219
- package/src/dex/swaap-v2/swaap-v2.ts +0 -1067
- package/src/dex/swaap-v2/types.ts +0 -105
- package/src/dex/swaap-v2/utils.ts +0 -46
- package/src/dex/swaap-v2/validators.ts +0 -131
- package/src/dex/swell/config.ts +0 -29
- package/src/dex/swell/rsweth-pool.ts +0 -58
- package/src/dex/swell/swell-e2e.test.ts +0 -56
- package/src/dex/swell/swell-estimation.test.ts +0 -29
- package/src/dex/swell/swell.ts +0 -312
- package/src/dex/swell/sweth-pool.ts +0 -58
- package/src/dex/swell/type.ts +0 -7
- package/src/dex/swell/utils.ts +0 -53
- package/src/dex/synthetix/config.ts +0 -55
- package/src/dex/synthetix/constants.ts +0 -36
- package/src/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.ts +0 -276
- package/src/dex/synthetix/contract-math/ExchangeRates.ts +0 -117
- package/src/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.ts +0 -278
- package/src/dex/synthetix/contract-math/FullMath.ts +0 -17
- package/src/dex/synthetix/contract-math/OracleLibrary.ts +0 -109
- package/src/dex/synthetix/contract-math/SafeDecimalMath.ts +0 -49
- package/src/dex/synthetix/contract-math/TickMath.ts +0 -72
- package/src/dex/synthetix/contract-math/synthetix-math.ts +0 -266
- package/src/dex/synthetix/synthetix-e2e.test.ts +0 -174
- package/src/dex/synthetix/synthetix-integration.test.ts +0 -293
- package/src/dex/synthetix/synthetix-state.ts +0 -970
- package/src/dex/synthetix/synthetix.ts +0 -420
- package/src/dex/synthetix/types.ts +0 -121
- package/src/dex/synthetix/utils.ts +0 -125
- package/src/dex/trader-joe-v2.1/base.ts +0 -167
- package/src/dex/trader-joe-v2.1/config.ts +0 -14
- package/src/dex/trader-joe-v2.1/trader-joe-v2.1-e2e.test.ts +0 -101
- package/src/dex/trader-joe-v2.1/trader-joe-v2.1-gas-estimation.test.ts +0 -29
- package/src/dex/trader-joe-v2.1/trader-joe-v2.1.ts +0 -23
- package/src/dex/trader-joe-v2.1/trader-joe-v2.2.ts +0 -23
- package/src/dex/trader-joe-v2.1/types.ts +0 -38
- package/src/dex/uniswap-v2/biswap.ts +0 -61
- package/src/dex/uniswap-v2/config.ts +0 -626
- package/src/dex/uniswap-v2/constants.ts +0 -58
- package/src/dex/uniswap-v2/dfyn.ts +0 -128
- package/src/dex/uniswap-v2/excalibur.ts +0 -63
- package/src/dex/uniswap-v2/mdex.ts +0 -66
- package/src/dex/uniswap-v2/nomiswap-v2.ts +0 -73
- package/src/dex/uniswap-v2/optimizer.ts +0 -66
- package/src/dex/uniswap-v2/types.ts +0 -164
- package/src/dex/uniswap-v2/uniswap-v2-constant-product-pool.ts +0 -40
- package/src/dex/uniswap-v2/uniswap-v2-e2e-arbitrum.test.ts +0 -438
- package/src/dex/uniswap-v2/uniswap-v2-e2e-avalanche.test.ts +0 -1361
- package/src/dex/uniswap-v2/uniswap-v2-e2e-base.test.ts +0 -42
- package/src/dex/uniswap-v2/uniswap-v2-e2e-bsc.test.ts +0 -1295
- package/src/dex/uniswap-v2/uniswap-v2-e2e-fantom.test.ts +0 -1428
- package/src/dex/uniswap-v2/uniswap-v2-e2e-gnosis.test.ts +0 -283
- package/src/dex/uniswap-v2/uniswap-v2-e2e-mainnet.test.ts +0 -1834
- package/src/dex/uniswap-v2/uniswap-v2-e2e-optimism.test.ts +0 -282
- package/src/dex/uniswap-v2/uniswap-v2-e2e-polygon.test.ts +0 -871
- package/src/dex/uniswap-v2/uniswap-v2-factory.ts +0 -70
- package/src/dex/uniswap-v2/uniswap-v2-gas-estimation.test.ts +0 -98
- package/src/dex/uniswap-v2/uniswap-v2-integration.test.ts +0 -63
- package/src/dex/uniswap-v2/uniswap-v2.ts +0 -1120
- package/src/dex/uniswap-v3/config.ts +0 -453
- package/src/dex/uniswap-v3/constants.ts +0 -56
- package/src/dex/uniswap-v3/contract-math/BitMath.ts +0 -90
- package/src/dex/uniswap-v3/contract-math/FixedPoint128.ts +0 -3
- package/src/dex/uniswap-v3/contract-math/FixedPoint96.ts +0 -4
- package/src/dex/uniswap-v3/contract-math/FullMath.ts +0 -30
- package/src/dex/uniswap-v3/contract-math/LiquidityMath.ts +0 -17
- package/src/dex/uniswap-v3/contract-math/Oracle.ts +0 -226
- package/src/dex/uniswap-v3/contract-math/SqrtPriceMath.ts +0 -226
- package/src/dex/uniswap-v3/contract-math/SwapMath.ts +0 -139
- package/src/dex/uniswap-v3/contract-math/Tick.ts +0 -82
- package/src/dex/uniswap-v3/contract-math/TickBitMap.ts +0 -143
- package/src/dex/uniswap-v3/contract-math/TickMath.ts +0 -211
- package/src/dex/uniswap-v3/contract-math/UnsafeMath.ts +0 -5
- package/src/dex/uniswap-v3/contract-math/uniswap-v3-math.ts +0 -668
- package/src/dex/uniswap-v3/contract-math/utils.ts +0 -55
- package/src/dex/uniswap-v3/forks/ramses-v2/ramses-v2-pool.ts +0 -157
- package/src/dex/uniswap-v3/forks/ramses-v2/utils.ts +0 -72
- package/src/dex/uniswap-v3/forks/velodrome-slipstream/utils.ts +0 -65
- package/src/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-factory.ts +0 -16
- package/src/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-pool.ts +0 -198
- package/src/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.ts +0 -243
- package/src/dex/uniswap-v3/scripts/check-pool-bitmap-ranges.ts +0 -238
- package/src/dex/uniswap-v3/scripts/measure-calc-time.ts +0 -172
- package/src/dex/uniswap-v3/types.ts +0 -213
- package/src/dex/uniswap-v3/uniswap-v3-e2e.test.ts +0 -1391
- package/src/dex/uniswap-v3/uniswap-v3-events.test.ts +0 -185
- package/src/dex/uniswap-v3/uniswap-v3-factory.ts +0 -80
- package/src/dex/uniswap-v3/uniswap-v3-gas-estimation.test.ts +0 -98
- package/src/dex/uniswap-v3/uniswap-v3-integration.test.ts +0 -2652
- package/src/dex/uniswap-v3/uniswap-v3-pool.ts +0 -564
- package/src/dex/uniswap-v3/uniswap-v3.ts +0 -1528
- package/src/dex/uniswap-v3/utils.ts +0 -83
- package/src/dex/uniswap-v3.ts +0 -242
- package/src/dex/usual/m-wrapped-m.ts +0 -76
- package/src/dex/usual/types.ts +0 -10
- package/src/dex/usual/usual-bond.ts +0 -69
- package/src/dex/usual/usual-e2e.test.ts +0 -169
- package/src/dex/usual/usual-gas-estimation.test.ts +0 -54
- package/src/dex/usual/usual-integration.test.ts +0 -515
- package/src/dex/usual/usual-m-usd0.ts +0 -76
- package/src/dex/usual/usual-m-wrapped-m.ts +0 -71
- package/src/dex/usual/usual.ts +0 -156
- package/src/dex/usual/wrapped-m-m.ts +0 -76
- package/src/dex/usual-pp/config.ts +0 -18
- package/src/dex/usual-pp/pool.ts +0 -77
- package/src/dex/usual-pp/types.ts +0 -12
- package/src/dex/usual-pp/usual-events.test.ts +0 -70
- package/src/dex/usual-pp/usual-integration.test.ts +0 -143
- package/src/dex/usual-pp/usual-pp-gas-estimation.test.ts +0 -29
- package/src/dex/usual-pp/usual-pp.e2e.test.ts +0 -76
- package/src/dex/usual-pp/usual-pp.ts +0 -207
- package/src/dex/usual-pp/utils.ts +0 -27
- package/src/dex/weth/config.ts +0 -87
- package/src/dex/weth/types.ts +0 -34
- package/src/dex/weth/weth-e2e-v6.test.ts +0 -117
- package/src/dex/weth/weth-e2e.test.ts +0 -1032
- package/src/dex/weth/weth-gas-estimation.test.ts +0 -42
- package/src/dex/weth/weth-integration.test.ts +0 -80
- package/src/dex/weth/weth.ts +0 -232
- package/src/dex/wombat/config.ts +0 -77
- package/src/dex/wombat/types.ts +0 -55
- package/src/dex/wombat/utils.ts +0 -82
- package/src/dex/wombat/wombat-bmw.ts +0 -186
- package/src/dex/wombat/wombat-e2e.test.ts +0 -272
- package/src/dex/wombat/wombat-events.test.ts +0 -147
- package/src/dex/wombat/wombat-gas-estimation.test.ts +0 -29
- package/src/dex/wombat/wombat-integration.test.ts +0 -217
- package/src/dex/wombat/wombat-pool.ts +0 -688
- package/src/dex/wombat/wombat-quoter.ts +0 -269
- package/src/dex/wombat/wombat.ts +0 -467
- package/src/dex/woo-fi-v2/config.ts +0 -100
- package/src/dex/woo-fi-v2/constants.ts +0 -22
- package/src/dex/woo-fi-v2/decoders.ts +0 -45
- package/src/dex/woo-fi-v2/types.ts +0 -64
- package/src/dex/woo-fi-v2/utils.ts +0 -19
- package/src/dex/woo-fi-v2/woo-fi-v2-e2e.test.ts +0 -282
- package/src/dex/woo-fi-v2/woo-fi-v2-integration.test.ts +0 -495
- package/src/dex/woo-fi-v2/woo-fi-v2-math.ts +0 -228
- package/src/dex/woo-fi-v2/woo-fi-v2-pool.ts +0 -143
- package/src/dex/woo-fi-v2/woo-fi-v2.ts +0 -528
- package/src/dex/wsteth/config.ts +0 -16
- package/src/dex/wsteth/types.ts +0 -13
- package/src/dex/wsteth/wsteth-e2e.test.ts +0 -96
- package/src/dex/wsteth/wsteth-gas-estimation.test.ts +0 -41
- package/src/dex/wsteth/wsteth-integration.test.ts +0 -200
- package/src/dex/wsteth/wsteth.ts +0 -304
- package/src/dex-helper/dummy-dex-helper.ts +0 -379
- package/src/dex-helper/dummy-limit-order-provider.ts +0 -74
- package/src/dex-helper/iblock-manager.ts +0 -60
- package/src/dex-helper/icache.ts +0 -85
- package/src/dex-helper/idex-helper.ts +0 -27
- package/src/dex-helper/ilimit-order-provider.ts +0 -27
- package/src/dex-helper/index.ts +0 -16
- package/src/dex-helper/irequest-wrapper.ts +0 -67
- package/src/executor/Executor01BytecodeBuilder.ts +0 -479
- package/src/executor/Executor02BytecodeBuilder.ts +0 -1419
- package/src/executor/Executor03BytecodeBuilder.ts +0 -473
- package/src/executor/ExecutorBytecodeBuilder.ts +0 -453
- package/src/executor/ExecutorDetector.ts +0 -131
- package/src/executor/WETHBytecodeBuilder.ts +0 -58
- package/src/executor/__snapshots__/executor01-bytecode-builder-snapshot.test.ts.snap +0 -35
- package/src/executor/__snapshots__/executor02-bytecode-builder-snapshot.test.ts.snap +0 -23
- package/src/executor/constants.ts +0 -66
- package/src/executor/executor01-bytecode-builder-e2e.test.ts +0 -1503
- package/src/executor/executor01-bytecode-builder-snapshot.test.ts +0 -271
- package/src/executor/executor02-bytecode-builder-e2e.test.ts +0 -1578
- package/src/executor/executor02-bytecode-builder-snapshot.test.ts +0 -188
- package/src/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +0 -16
- package/src/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -16
- package/src/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -16
- package/src/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -16
- package/src/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -16
- package/src/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -16
- package/src/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -16
- package/src/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdt-usdc-dai.json +0 -16
- package/src/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-eth-usdc.json +0 -9
- package/src/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-eth.json +0 -9
- package/src/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-wbtc.json +0 -9
- package/src/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-eth-steth.json +0 -9
- package/src/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-steth-eth.json +0 -9
- package/src/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-usdc-usdt.json +0 -9
- package/src/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-eth-usdc.json +0 -9
- package/src/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-eth.json +0 -9
- package/src/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-usdt.json +0 -9
- package/src/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -12
- package/src/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -7
- package/src/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -7
- package/src/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -7
- package/src/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -7
- package/src/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -12
- package/src/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-eth-usdc.json +0 -7
- package/src/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-usdc-eth.json +0 -7
- package/src/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +0 -78
- package/src/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -81
- package/src/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -78
- package/src/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -78
- package/src/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -81
- package/src/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -81
- package/src/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -81
- package/src/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdt-usdc-dai.json +0 -81
- package/src/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-eth-usdc.json +0 -64
- package/src/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-eth.json +0 -85
- package/src/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-wbtc.json +0 -64
- package/src/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-eth-steth.json +0 -52
- package/src/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-steth-eth.json +0 -52
- package/src/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-usdc-usdt.json +0 -52
- package/src/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-eth-usdc.json +0 -55
- package/src/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-eth.json +0 -55
- package/src/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-usdt.json +0 -55
- package/src/executor/fixtures/executor02/exchange-params/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -23
- package/src/executor/fixtures/executor02/exchange-params/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -37
- package/src/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -23
- package/src/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -23
- package/src/executor/fixtures/executor02/exchange-params/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -51
- package/src/executor/fixtures/executor02/exchange-params/price-route-multiswap-univ3-usdt-dai-eth.json +0 -58
- package/src/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -23
- package/src/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -23
- package/src/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -9
- package/src/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -16
- package/src/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +0 -23
- package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -12
- package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -7
- package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -12
- package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -12
- package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -7
- package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-univ3-usdt-dai-eth.json +0 -7
- package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -7
- package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -7
- package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -7
- package/src/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -7
- package/src/executor/fixtures/executor02/routes/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -130
- package/src/executor/fixtures/executor02/routes/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -136
- package/src/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -100
- package/src/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -100
- package/src/executor/fixtures/executor02/routes/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -166
- package/src/executor/fixtures/executor02/routes/price-route-multiswap-univ3-usdt-dai-eth.json +0 -190
- package/src/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -114
- package/src/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -114
- package/src/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -55
- package/src/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -73
- package/src/executor/fixtures/executor02/routes/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +0 -82
- package/src/executor/types.ts +0 -45
- package/src/executor/utils.ts +0 -62
- package/src/generic-swap-transaction-builder.ts +0 -753
- package/src/implementations/local-paraswap-sdk.ts +0 -342
- package/src/index.ts +0 -38
- package/src/lens.ts +0 -8
- package/src/lib/api3-feed.ts +0 -175
- package/src/lib/benqi/staked-avax.ts +0 -123
- package/src/lib/chainlink.ts +0 -113
- package/src/lib/curve/encoder.ts +0 -19
- package/src/lib/decoders.ts +0 -199
- package/src/lib/erc1271-utils.ts +0 -24
- package/src/lib/fetcher/fetcher.ts +0 -183
- package/src/lib/fetcher/wsFetcher.ts +0 -158
- package/src/lib/generics-events-subscribers/erc20-event-subscriber-factory.ts +0 -18
- package/src/lib/generics-events-subscribers/erc20-event-subscriber.test.ts +0 -126
- package/src/lib/generics-events-subscribers/erc20-event-subscriber.ts +0 -261
- package/src/lib/generics-events-subscribers/types.ts +0 -41
- package/src/lib/generics-events-subscribers/utils.ts +0 -37
- package/src/lib/log-messages-suppressor.ts +0 -173
- package/src/lib/log4js.ts +0 -88
- package/src/lib/multi-wrapper.ts +0 -108
- package/src/lib/promise-scheduler.ts +0 -55
- package/src/lib/pub-sub.ts +0 -232
- package/src/lib/stateful-rpc-poller/state-polling-manager.ts +0 -320
- package/src/lib/stateful-rpc-poller/stateful-rpc-poller.ts +0 -604
- package/src/lib/stateful-rpc-poller/types.ts +0 -66
- package/src/lib/stateful-rpc-poller/utils.ts +0 -23
- package/src/lib/task-scheduler.ts +0 -64
- package/src/lib/token-transfer-fee.ts +0 -42
- package/src/lib/tokens/balancer-fetcher.ts +0 -283
- package/src/lib/tokens/types.ts +0 -102
- package/src/lib/tokens/utils.ts +0 -179
- package/src/lib/utils-interfaces.ts +0 -4
- package/src/lib/validators.ts +0 -34
- package/src/pools-helper.ts +0 -58
- package/src/pricing-helper.ts +0 -328
- package/src/rebase-tokens.json +0 -17
- package/src/router/buy.ts +0 -101
- package/src/router/directswap.ts +0 -101
- package/src/router/index.ts +0 -48
- package/src/router/irouter.ts +0 -20
- package/src/router/megaswap.ts +0 -88
- package/src/router/multiswap.ts +0 -96
- package/src/router/payload-encoder.ts +0 -293
- package/src/router/simpleswap.ts +0 -369
- package/src/router/simpleswapnft.ts +0 -138
- package/src/stateful-event-subscriber.ts +0 -512
- package/src/transaction-builder.ts +0 -129
- package/src/types.ts +0 -358
- package/src/utils.ts +0 -410
- package/tests/constants-e2e.ts +0 -2221
- package/tests/debug-price-route.test.ts +0 -55
- package/tests/generate-new-limit-order.ts +0 -107
- package/tests/payload-encoder.test.ts +0 -49
- package/tests/tenderly-simulation.test.ts +0 -151
- package/tests/tenderly-simulation.ts +0 -698
- package/tests/token-storage-slots.json +0 -698
- package/tests/transaction-builder.test.ts +0 -234
- package/tests/utils-e2e.ts +0 -651
- package/tests/utils-events.ts +0 -186
- package/tests/utils.ts +0 -127
- package/tests/v6/utils-e2e-v6.ts +0 -103
- package/tsconfig.json +0 -23
|
@@ -58,7 +58,7 @@ export declare class UniswapV3 extends SimpleExchange implements IDex<UniswapV3D
|
|
|
58
58
|
addMasterPool(poolKey: string, blockNumber: number): Promise<boolean>;
|
|
59
59
|
getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
|
|
60
60
|
protected getPoolsForIdentifiers(srcAddress: string, destAddress: string, blockNumber: number): Promise<(UniswapV3EventPool | null)[]>;
|
|
61
|
-
getPricingFromRpc(from: Token, to: Token, amounts: bigint[], side: SwapSide, pools: UniswapV3EventPool[],
|
|
61
|
+
getPricingFromRpc(from: Token, to: Token, amounts: bigint[], side: SwapSide, pools: UniswapV3EventPool[], blockNumber?: number): Promise<ExchangePrices<UniswapV3Data> | null>;
|
|
62
62
|
protected getSelectedPools(srcAddress: string, destAddress: string, blockNumber: number): Promise<(UniswapV3EventPool | null)[]>;
|
|
63
63
|
getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<UniswapV3Data>>;
|
|
64
64
|
protected prepareData(srcAddress: string, destAddress: string, pool: UniswapV3EventPool, state: PoolState): UniswapV3Data;
|
|
@@ -55,11 +55,11 @@ const UniswapV3StateMulticall_abi_json_1 = __importDefault(require("../../abi/un
|
|
|
55
55
|
const constants_2 = require("./constants");
|
|
56
56
|
const ts_essentials_1 = require("ts-essentials");
|
|
57
57
|
const uniswap_v3_math_1 = require("./contract-math/uniswap-v3-math");
|
|
58
|
-
const balancer_fetcher_1 = require("../../lib/tokens/balancer-fetcher");
|
|
59
|
-
const types_2 = require("../../lib/tokens/types");
|
|
60
58
|
const uniswap_v3_factory_1 = require("./uniswap-v3-factory");
|
|
61
59
|
const utils_2 = require("ethers/lib/utils");
|
|
62
60
|
const utils_3 = require("../../executor/utils");
|
|
61
|
+
const utils_4 = require("../../lib/tokens/utils");
|
|
62
|
+
const decoders_1 = require("../../lib/decoders");
|
|
63
63
|
exports.PoolsRegistryHashKey = `${constants_1.CACHE_PREFIX}_poolsRegistry`;
|
|
64
64
|
exports.UNISWAPV3_CLEAN_NOT_EXISTING_POOL_TTL_MS = 3 * 24 * 60 * 60 * 1000; // 3 days
|
|
65
65
|
exports.UNISWAPV3_CLEAN_NOT_EXISTING_POOL_INTERVAL_MS = 24 * 60 * 60 * 1000; // Once in a day
|
|
@@ -282,74 +282,63 @@ class UniswapV3 extends simple_exchange_1.SimpleExchange {
|
|
|
282
282
|
async getPoolsForIdentifiers(srcAddress, destAddress, blockNumber) {
|
|
283
283
|
return Promise.all(this.supportedFees.map(async (fee) => this.getPool(srcAddress, destAddress, fee, blockNumber)));
|
|
284
284
|
}
|
|
285
|
-
async getPricingFromRpc(from, to, amounts, side, pools,
|
|
285
|
+
async getPricingFromRpc(from, to, amounts, side, pools, blockNumber) {
|
|
286
286
|
if (pools.length === 0) {
|
|
287
287
|
return null;
|
|
288
288
|
}
|
|
289
289
|
this.logger.warn(`fallback to rpc for ${pools.length} pool(s)`);
|
|
290
|
-
const requests = pools.map(pool => ({
|
|
291
|
-
owner: pool.poolAddress,
|
|
292
|
-
asset: side == constants_1.SwapSide.SELL ? from.address : to.address,
|
|
293
|
-
assetType: types_2.AssetType.ERC20,
|
|
294
|
-
ids: [
|
|
295
|
-
{
|
|
296
|
-
id: types_2.DEFAULT_ID_ERC20,
|
|
297
|
-
spenders: [],
|
|
298
|
-
},
|
|
299
|
-
],
|
|
300
|
-
}), []);
|
|
301
|
-
const balances = await (0, balancer_fetcher_1.getBalances)(this.dexHelper.multiWrapper, requests);
|
|
302
|
-
pools = pools.filter((pool, index) => {
|
|
303
|
-
const balance = balances[index].amounts[types_2.DEFAULT_ID_ERC20_AS_STRING];
|
|
304
|
-
if (balance >= amounts[amounts.length - 1]) {
|
|
305
|
-
return true;
|
|
306
|
-
}
|
|
307
|
-
this.logger.warn(`[${this.network}][${pool.parentName}] have no balance ${pool.poolAddress} ${from.address} ${to.address}. (Balance: ${balance})`);
|
|
308
|
-
return false;
|
|
309
|
-
});
|
|
310
|
-
pools.forEach(pool => {
|
|
311
|
-
this.logger.warn(`[${this.network}][${pool.parentName}] fallback to rpc for ${pool.name}`);
|
|
312
|
-
});
|
|
313
290
|
const unitVolume = (0, utils_1.getBigIntPow)((side === constants_1.SwapSide.SELL ? from : to).decimals);
|
|
314
291
|
const chunks = amounts.length - 1;
|
|
315
292
|
const _width = Math.floor(chunks / this.config.chunksCount);
|
|
316
293
|
const _amounts = [unitVolume].concat(Array.from(Array(this.config.chunksCount).keys()).map(i => amounts[(i + 1) * _width]));
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
294
|
+
// for each pool:
|
|
295
|
+
// 1 balanceOf call
|
|
296
|
+
// {amounts.length quote calls
|
|
297
|
+
const calldata = pools
|
|
298
|
+
.map(pool => {
|
|
299
|
+
const balanceCall = {
|
|
300
|
+
target: side == constants_1.SwapSide.SELL ? from.address : to.address,
|
|
301
|
+
decodeFunction: decoders_1.uint256ToBigInt,
|
|
302
|
+
callData: (0, utils_4.getBalanceERC20)(pool.poolAddress),
|
|
303
|
+
};
|
|
304
|
+
const quoteCalls = _amounts.map(_amount => ({
|
|
305
|
+
target: this.config.quoter,
|
|
306
|
+
callData: side === constants_1.SwapSide.SELL
|
|
307
|
+
? this.quoterIface.encodeFunctionData('quoteExactInputSingle', [
|
|
308
|
+
[
|
|
309
|
+
from.address,
|
|
310
|
+
to.address,
|
|
311
|
+
_amount.toString(),
|
|
312
|
+
pool.feeCodeAsString,
|
|
313
|
+
0, //sqrtPriceLimitX96
|
|
314
|
+
],
|
|
315
|
+
])
|
|
316
|
+
: this.quoterIface.encodeFunctionData('quoteExactOutputSingle', [
|
|
317
|
+
[
|
|
318
|
+
from.address,
|
|
319
|
+
to.address,
|
|
320
|
+
_amount.toString(),
|
|
321
|
+
pool.feeCodeAsString,
|
|
322
|
+
0, //sqrtPriceLimitX96
|
|
323
|
+
],
|
|
324
|
+
]),
|
|
325
|
+
decodeFunction: decoders_1.uint256ToBigInt,
|
|
326
|
+
}));
|
|
327
|
+
return [balanceCall, ...quoteCalls];
|
|
328
|
+
})
|
|
329
|
+
.flat();
|
|
330
|
+
const data = await this.dexHelper.multiWrapper.aggregate(calldata, blockNumber);
|
|
350
331
|
let i = 0;
|
|
351
|
-
|
|
352
|
-
|
|
332
|
+
return pools
|
|
333
|
+
.map((pool, index) => {
|
|
334
|
+
const balance = data[i++];
|
|
335
|
+
if (balance < amounts[amounts.length - 1]) {
|
|
336
|
+
this.logger.warn(`[${this.network}][${pool.parentName}] have no balance ${pool.poolAddress} ${from.address} ${to.address}. (Balance: ${balance})`);
|
|
337
|
+
// move index to the next pool
|
|
338
|
+
i += _amounts.length;
|
|
339
|
+
return null;
|
|
340
|
+
}
|
|
341
|
+
const _rates = _amounts.map(() => data[i++]);
|
|
353
342
|
const unit = _rates[0];
|
|
354
343
|
const prices = (0, utils_1.interpolate)(_amounts.slice(1), _rates.slice(1), amounts, side);
|
|
355
344
|
return {
|
|
@@ -361,7 +350,6 @@ class UniswapV3 extends simple_exchange_1.SimpleExchange {
|
|
|
361
350
|
tokenIn: from.address,
|
|
362
351
|
tokenOut: to.address,
|
|
363
352
|
fee: pool.feeCodeAsString,
|
|
364
|
-
currentFee: states[index]?.fee.toString(),
|
|
365
353
|
},
|
|
366
354
|
],
|
|
367
355
|
exchange: pool.poolAddress,
|
|
@@ -371,8 +359,8 @@ class UniswapV3 extends simple_exchange_1.SimpleExchange {
|
|
|
371
359
|
gasCost: prices.map(p => (p === 0n ? 0 : exports.UNISWAPV3_QUOTE_GASLIMIT)),
|
|
372
360
|
poolAddresses: [pool.poolAddress],
|
|
373
361
|
};
|
|
374
|
-
})
|
|
375
|
-
|
|
362
|
+
})
|
|
363
|
+
.filter(prices => prices !== null);
|
|
376
364
|
}
|
|
377
365
|
async getSelectedPools(srcAddress, destAddress, blockNumber) {
|
|
378
366
|
return Promise.all(this.supportedFees.map(async (fee) => {
|
|
@@ -428,7 +416,7 @@ class UniswapV3 extends simple_exchange_1.SimpleExchange {
|
|
|
428
416
|
this.logger.warn(`UniV3: Pool ${pool.name} on ${this.dexKey} has no state. Fallback to rpc`);
|
|
429
417
|
});
|
|
430
418
|
const states = poolsToUse.poolWithState.map(p => p.getState(blockNumber));
|
|
431
|
-
const rpcResultsPromise = this.getPricingFromRpc(_srcToken, _destToken, amounts, side, this.network === constants_1.Network.ZKEVM ? [] : poolsToUse.poolWithoutState,
|
|
419
|
+
const rpcResultsPromise = this.getPricingFromRpc(_srcToken, _destToken, amounts, side, this.network === constants_1.Network.ZKEVM ? [] : poolsToUse.poolWithoutState, blockNumber);
|
|
432
420
|
const unitAmount = (0, utils_1.getBigIntPow)(side == constants_1.SwapSide.SELL ? _srcToken.decimals : _destToken.decimals);
|
|
433
421
|
const _amounts = [...amounts.slice(1)];
|
|
434
422
|
const [token0] = this._sortTokens(_srcAddress, _destAddress);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniswap-v3.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v3/uniswap-v3.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAgE;AAChE,oDAAuB;AACvB,sDAA+C;AAgB/C,+CAAkE;AAClE,2EAA6D;AAC7D,uCAOqB;AAGrB,mCAUiB;AACjB,wDAG4B;AAC5B,qCAAqE;AACrE,uDAAuD;AACvD,6GAA+E;AAC/E,iHAAmF;AACnF,uGAA2E;AAC3E,gFAAsD;AACtD,6HAA+F;AAC/F,2CAOqB;AACrB,iDAAqD;AACrD,qEAAgE;AAGhE,wEAAgF;AAChF,kDAIgC;AAEhC,6DAA+E;AAC/E,4CAA4E;AAC5E,gDAAmE;AAStD,QAAA,oBAAoB,GAAG,GAAG,wBAAY,gBAAgB,CAAC;AAEvD,QAAA,wCAAwC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;AAC7E,QAAA,6CAA6C,GACxD,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,gBAAgB;AAC1B,QAAA,wBAAwB,GAAG,OAAO,CAAC;AAEhD,MAAa,SACX,SAAQ,gCAAc;IAuCV;IAEA;IACA;IACD;IACA;IACC;IACA;IA3CO,OAAO,CAAmB;IACpC,wBAAwB,GAAY,KAAK,CAAC;IAC1C,UAAU,GAA8C,EAAE,CAAC;IAE3D,4BAA4B,GAAG,KAAK,CAAC;IACrC,cAAc,GAAG,IAAI,CAAC;IAEtB,eAAe,GAAG,IAAI,eAAS,CAAC,yBAAa,CAAC,CAAC;IAExD,YAAY,CAAkB;IAEvB,MAAM,CAAC,kBAAkB,GAC9B,IAAA,6BAAqB,EACnB,gBAAC,CAAC,IAAI,CAAC,wBAAe,EAAE;QACtB,WAAW;QACX,aAAa;QACb,eAAe;QACf,cAAc;QACd,UAAU;QACV,WAAW;QACX,OAAO;QACP,YAAY;QACZ,WAAW;QACX,aAAa;QACb,YAAY;KACb,CAAC,CACH,CAAC;IAEJ,MAAM,CAAS;IAEP,YAAY,CAAW;IACrB,kBAAkB,CAAW;IAE7B,qBAAqB,CAAS;IAExC,YACY,OAAgB,EAC1B,MAAc,EACJ,SAAqB,EACrB,WAAW,iBAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EACnC,cAAc,IAAI,eAAS,CAAC,kCAAkB,CAAC,EAC/C,cAAc,IAAI,eAAS,CAAC,oCAAoB,CAAC,EAChD,SAAS,wBAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EACzC,iBAAiB,uBAAc,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE;QAElE,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QATf,YAAO,GAAP,OAAO,CAAS;QAEhB,cAAS,GAAT,SAAS,CAAY;QACrB,aAAQ,GAAR,QAAQ,CAA0B;QACnC,gBAAW,GAAX,WAAW,CAAoC;QAC/C,gBAAW,GAAX,WAAW,CAAsC;QAChD,WAAM,GAAN,MAAM,CAAmC;QACzC,mBAAc,GAAd,cAAc,CAA0C;QAGlE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAC9D,+BAA8B,EAC9B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC7B,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CACpE,IAAI,CAAC,MAAM,CAAC,iBAAiB,KAAK,SAAS;YACzC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAC/B,CAAC,CAAE,0CAAwC,EAC7C,IAAI,CAAC,MAAM,CAAC,cAAc,CAC3B,CAAC;QAEF,4BAA4B;QAC5B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;QAErD,mEAAmE;QACnE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAEnD,IAAI,CAAC,qBAAqB;YACxB,GAAG,wBAAY,IAAI,OAAO,IAAI,MAAM,yBAAyB,CAAC,WAAW,EAAE,CAAC;QAE9E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;IACnC,CAAC;IAED,WAAW,CAAC,IAAc;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,CAAC;IAED,iBAAiB,CACf,UAAmB,EACnB,WAAoB,EACpB,GAAW,EACX,WAAoB;QAEpB,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE3E,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,cAAc,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;QAClE,CAAC;QAED,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,cAAc,IAAI,GAAG,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QACzC,uCAAuC;QACvC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAE3C,sEAAsE;QACtE,uCAAuC;QACvC,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE,CACnC,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE,CACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,CACzD,CACF,CACF,CACF,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,gCAAgC,GAAG,KAAK,IAAI,EAAE;gBAClD,MAAM,YAAY,GAChB,IAAI,CAAC,GAAG,EAAE,GAAG,gDAAwC,CAAC;gBACxD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CACzC,IAAI,CAAC,qBAAqB,EAC1B,CAAC,EACD,YAAY,CACb,CAAC;YACJ,CAAC,CAAC;YAEF,KAAK,gCAAgC,EAAE,CAAC;YAExC,IAAI,CAAC,YAAY,GAAG,WAAW,CAC7B,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,EAC3C,qDAA6C,CAC9C,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACO,qCAAqC;QAC7C,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE;YACvC,MAAM,SAAS,GAAG,yCAAyC,CAAC;YAC5D,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,GAAG,OAAO,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC;YAE/C,0EAA0E;YAE1E,+DAA+D;YAC/D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YAEtE,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,SAAS,sCAAsC,IAAI,CAAC,qBAAqB,SAAS,OAAO,EAAE,CAC/F,CAAC;gBACF,8BAA8B;gBAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAC5C,IAAI,CAAC,qBAAqB,EAC1B,CAAC,OAAO,CAAC,CACV,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,SAAS,sCAAsC,IAAI,CAAC,qBAAqB,SAAS,OAAO,aAAa,MAAM,EAAE,CAClH,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,SAAS,+CAA+C,IAAI,CAAC,qBAAqB,SAAS,OAAO,EAAE,EACvG,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CACX,UAAmB,EACnB,WAAoB,EACpB,GAAW,EACX,WAAmB,EACnB,WAAoB;QAEpB,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CACxB,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,CAAC,CACzB,CAAC;QAE3C,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAE/B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,2FAA2F;gBAC3F,IACE,EAAE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB;oBAC7D,CAAC,EACD,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,yCAAyC;YAC3C,CAAC;QACH,CAAC;QAED,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAEnE,IAAI,GAAG,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAErD,IAAI,WAAW,EAAE,CAAC;YAChB,GAAG,GAAG,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAC5D,IAAI,CAAC,qBAAqB,EAC1B,GAAG,CACJ,CAAC;YAEF,MAAM,gBAAgB,GAAG,oBAAoB,KAAK,IAAI,CAAC;YAEvD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,CAAC,CAClE,GAAG,IAAI,CAAC;gBACT,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC;QAC5D,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QAEtE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;gBACjC,YAAY,EAAE,CAAC,KAA8B,EAAE,EAAE;oBAC/C,iGAAiG;oBACjG,IAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC1C,IAAK,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC/B,IAAK,CAAC,UAAU,GAAG,KAAK,CAAC;oBACzB,IAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC;gBAClC,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACpE,8EAA8E;gBAC9E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CACvB,IAAI,CAAC,qBAAqB,EAC1B,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EACjB,IAAI,CACL,CAAC;gBAEF,iEAAiE;gBACjE,yCAAyC;gBACzC,IAAI,GAAG,IAAI,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,SAAS,sBAAsB,UAAU,iBAAiB,WAAW,SAAS,GAAG,YAAY,EACrG,CAAC,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,kFAAkF;gBAClF,gEAAgE;gBAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,MAAM,gDAAgD,UAAU,iBAAiB,WAAW,SAAS,GAAG,yCAAyC,IAAI,CAAC,MAAM,CAAC,kBAAkB,iCAAiC,IAAI,CAAC,qBAAqB,EAAE,EACpP,CAAC,CACF,CAAC;gBACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACzB,CAAC;QACH,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACrD,gEAAgE;YAChE,IAAI,CAAC,SAAS,CAAC,KAAK;iBACjB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC;iBACvC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,4CAA4C,GAAG,uBAAuB,aAAa;gBACjF,iGAAiG;iBAChG,MAAM,CACL,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAC5C,CAAC,CACF,sBAAsB,aAAa,CAAC,MAAM,cAAc,CAC5D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,CAAC,CAClE,GAAG,IAAI,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAES,eAAe,CACvB,MAAc,EACd,MAAc,EACd,GAAW,EACX,WAAoB;QAEpB,MAAM,kBAAkB,GACtB,IAAI,CAAC,MAAM,CAAC,uBAAuB,KAAK,SAAS;YAC/C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB;YACrC,CAAC,CAAC,oCAAkB,CAAC;QAEzB,OAAO,IAAI,kBAAkB,CAC3B,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,MAAM,CAAC,6CAA6C,EACzD,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,GAAG,EACH,MAAM,EACN,MAAM,EACN,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,WAAW,CACZ,CAAC;IACJ,CAAC;IAES,kBAAkB;QAC1B,MAAM,qBAAqB,GACzB,IAAI,CAAC,MAAM,CAAC,qBAAqB,KAAK,SAAS;YAC7C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB;YACnC,CAAC,CAAC,qCAAgB,CAAC;QAEvB,OAAO,IAAI,qBAAqB,CAC9B,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,qCAAqC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CACxD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,WAAmB;QACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAC5C,4BAAoB,EACpB,GAAG,IAAI,CAAC,aAAa,IAAI,OAAO,EAAE,CACnC,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sCAAsC,4BAAoB,IAAI,IAAI,CAAC,aAAa,IAAI,OAAO,EAAE,CAC9F,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GAAkB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,MAAM,EACf,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,WAAW,EACX,QAAQ,CAAC,WAAW,KAAK,SAAS;YAChC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC9B,CAAC,CAAC,SAAS,CACd,CAAC;QAEF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,QAAe,EACf,SAAgB,EAChB,IAAc,EACd,WAAmB;QAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE5D,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAC3D,SAAS,EACT,UAAU,CACX,CAAC;QAEF,IAAI,WAAW,KAAK,YAAY;YAAE,OAAO,EAAE,CAAC;QAE5C,MAAM,KAAK,GAAG,CACZ,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAC1E,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAElC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACtB,IAAI,CAAC,iBAAiB,CACpB,WAAW,EACX,YAAY,EACZ,IAAK,CAAC,OAAO,EACb,IAAK,CAAC,WAAW,CAClB,CACF,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,sBAAsB,CACpC,UAAkB,EAClB,WAAmB,EACnB,WAAmB;QAEnB,OAAO,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE,CACjC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,CAAC,CACxD,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,IAAW,EACX,EAAS,EACT,OAAiB,EACjB,IAAc,EACd,KAA2B,EAC3B,MAAmB;QAEnB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC;QAEhE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CACxB,IAAI,CAAC,EAAE,CAAC,CAAC;YACP,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,KAAK,EAAE,IAAI,IAAI,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO;YACxD,SAAS,EAAE,iBAAS,CAAC,KAAK;YAC1B,GAAG,EAAE;gBACH;oBACE,EAAE,EAAE,wBAAgB;oBACpB,QAAQ,EAAE,EAAE;iBACb;aACF;SACF,CAAC,EACF,EAAE,CACH,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,8BAAW,EAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE1E,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kCAA0B,CAAC,CAAC;YACpE,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,UAAU,qBAAqB,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,eAAe,OAAO,GAAG,CACjI,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,UAAU,yBAAyB,IAAI,CAAC,IAAI,EAAE,CACzE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAA,oBAAY,EAC7B,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC9C,CAAC;QAEF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE5D,MAAM,QAAQ,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAClC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CACnD,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAC/B,CACF,CAAC;QAEF,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAChC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,QAAQ,EAAE,gCAAwB;YAClC,QAAQ,EACN,IAAI,KAAK,oBAAQ,CAAC,IAAI;gBACpB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,uBAAuB,EAAE;oBAC3D;wBACE,IAAI,CAAC,OAAO;wBACZ,EAAE,CAAC,OAAO;wBACV,OAAO,CAAC,QAAQ,EAAE;wBAClB,IAAI,CAAC,eAAe;wBACpB,CAAC,EAAE,mBAAmB;qBACvB;iBACF,CAAC;gBACJ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,wBAAwB,EAAE;oBAC5D;wBACE,IAAI,CAAC,OAAO;wBACZ,EAAE,CAAC,OAAO;wBACV,OAAO,CAAC,QAAQ,EAAE;wBAClB,IAAI,CAAC,eAAe;wBACpB,CAAC,EAAE,mBAAmB;qBACvB;iBACF,CAAC;SACT,CAAC,CAAC,CACJ,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO;aACzC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;aAC1B,IAAI,EAAE,CAAC;QAEV,MAAM,MAAM,GAAG,CAAC,CAAS,EAAU,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBAChC,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,OAAO,GAAG,qBAAe,CAAC,MAAM,CACpC,CAAC,SAAS,CAAC,EACX,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAC9B,CAAC;YACF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;YAE/B,MAAM,MAAM,GAAG,IAAA,mBAAW,EACxB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EACf,OAAO,EACP,IAAI,CACL,CAAC;YAEF,OAAO;gBACL,MAAM;gBACN,IAAI;gBACJ,IAAI,EAAE;oBACJ,IAAI,EAAE;wBACJ;4BACE,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,QAAQ,EAAE,EAAE,CAAC,OAAO;4BACpB,GAAG,EAAE,IAAI,CAAC,eAAe;4BACzB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE;yBAC1C;qBACF;oBACD,QAAQ,EAAE,IAAI,CAAC,WAAW;iBAC3B;gBACD,cAAc,EAAE,IAAI,CAAC,iBAAiB,CACpC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,WAAW,CACjB;gBACD,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAwB,CAAC,CAAC;gBACnE,aAAa,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;aAClC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,KAAK,CAAC,gBAAgB,CAC9B,UAAkB,EAClB,WAAmB,EACnB,WAAmB;QAEnB,OAAO,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;YACjC,MAAM,gBAAgB,GACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;YAExE,IAAI,gBAAgB;gBAAE,OAAO,gBAAgB,CAAC;YAE9C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CACzC,UAAU,EACV,WAAW,EACX,GAAG,EACH,WAAW,CACZ,CAAC;YACF,OAAO,gBAAgB,CAAC;QAC1B,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,QAAe,EACf,SAAgB,EAChB,OAAiB,EACjB,IAAc,EACd,WAAmB,EACnB,UAAqB;QAErB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAE5D,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAC3D,SAAS,EACT,UAAU,CACX,CAAC;YAEF,IAAI,WAAW,KAAK,YAAY;gBAAE,OAAO,IAAI,CAAC;YAE9C,IAAI,aAAa,GAAyB,EAAE,CAAC;YAE7C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,aAAa,GAAG,CACd,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CACpE,CAAC,MAAM,CAAC,gBAAQ,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,wBAAwB,GAAG,IAAI,CAAC,iBAAiB,CACrD,WAAW,EACX,YAAY,EACZ,EAAE,CAEH,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAEf,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CACrD,UAAU,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAChD,CAAC;gBAEF,aAAa,GAAG,CACd,MAAM,OAAO,CAAC,GAAG,CACf,eAAe,CAAC,GAAG,CAAC,KAAK,EAAC,UAAU,EAAC,EAAE;oBACrC,IAAI,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;oBACnD,IAAI,gBAAgB;wBAAE,OAAO,gBAAgB,CAAC;oBAE9C,MAAM,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,CAAC,GACjD,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACxB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CACzC,UAAU,EACV,WAAW,EACX,MAAM,CAAC,GAAG,CAAC,EACX,WAAW,EACX,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAC5D,CAAC;oBACF,OAAO,gBAAgB,CAAC;gBAC1B,CAAC,CAAC,CACH,CACF,CAAC,MAAM,CAAC,gBAAQ,CAAC,CAAC;YACrB,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAE5C,MAAM,OAAO,CAAC,GAAG,CACf,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CACxD,CAAC;YAEF,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CACrC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACZ,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACvC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,qCAAqC,IAAI,CAAC,IAAI,EAAE,CAC/D,CAAC;oBACF,oHAAoH;oBACpH,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,EACD;gBACE,aAAa,EAAE,EAA0B;gBACzC,gBAAgB,EAAE,EAA0B;aAC7C,CACF,CAAC;YAEF,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,eAAe,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,MAAM,gCAAgC,CAC3E,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,CACzC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAE,CAC9B,CAAC;YAEF,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAC9C,SAAS,EACT,UAAU,EACV,OAAO,EACP,IAAI,EACJ,IAAI,CAAC,OAAO,KAAK,mBAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,EACjE,IAAI,CAAC,OAAO,KAAK,mBAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAC7C,CAAC;YAEF,MAAM,UAAU,GAAG,IAAA,oBAAY,EAC7B,IAAI,IAAI,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CACjE,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAE7D,MAAM,UAAU,GAAG,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAEzD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAExB,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;oBAC1B,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;wBACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,WAAW,iCAAiC,KAAK,CAAC,SAAS,oBAAoB,IAAI,CAAC,MAAM,EAAE,CACrI,CAAC;oBACJ,CAAC;oBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;oBAC3C,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,MAAM,gBAAgB,GACpB,YAAY,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAEjE,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CACjC,KAAK,EACL,CAAC,UAAU,CAAC,EACZ,UAAU,EACV,IAAI,EACJ,gBAAgB,CACjB,CAAC;gBACF,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CACnC,KAAK,EACL,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,gBAAgB,CACjB,CAAC;gBAEF,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE,CAAC;oBACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;oBACtD,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,MAAM,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC7C,MAAM,OAAO,GAAG;oBACd,CAAC;oBACD,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;wBACvC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;4BACZ,OAAO,CAAC,CAAC;wBACX,CAAC;6BAAM,CAAC;4BACN,OAAO,CACL,0CAA8B;gCAC9B,wCAA4B;gCAC5B,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,mCAAuB,CACzD,CAAC;wBACJ,CAAC;oBACH,CAAC,CAAC;iBACH,CAAC;gBACF,OAAO;oBACL,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC3B,MAAM;oBACN,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC;oBAC9D,cAAc,EAAE,IAAI,CAAC,iBAAiB,CACpC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,WAAW,CACjB;oBACD,QAAQ,EAAE,IAAI,CAAC,MAAM;oBACrB,OAAO,EAAE,OAAO;oBAChB,aAAa,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;iBAClC,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC;YAE3C,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CACjC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,CACa,CAAC;YAEnC,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACrB,IAAI,CAAC,EAAE,CAAC;wBACN,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,aAAa,CAAC;QACvB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,yBAAyB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,KAC1D,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,OAChC,KAAK,IAAI,GAAG,EACZ,CAAC,CACF,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAES,WAAW,CACnB,UAAkB,EAClB,WAAmB,EACnB,IAAwB,EACxB,KAAgB;QAEhB,OAAO;YACL,IAAI,EAAE;gBACJ;oBACE,OAAO,EAAE,UAAU;oBACnB,QAAQ,EAAE,WAAW;oBACrB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;oBAC5B,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE;iBACjC;aACF;SACF,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,UAAqC;QACtD,MAAM,OAAO,GACX,iBAAiB,CAAC,YAAY;YAC9B,iBAAiB,CAAC,YAAY;YAC9B,sBAAsB;YACtB,iBAAiB,CAAC,YAAY;YAC9B,8BAA8B;YAC9B,iBAAiB,CAAC,YAAY;YAC9B,2BAA2B;YAC3B,iBAAiB,CAAC,SAAS;YAC3B,oDAAoD;YACpD,iBAAiB,CAAC,YAAY;YAC9B,iBAAiB,CAAC,SAAS;YAC3B,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChD,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACZ,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,mBAAmB,CAAC,OAAgB;QAClC,oCAAoC;QACpC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,mBAAuD,EACvD,QAAe,EACf,EAAS,EACT,EAAY,EACZ,OAAqC;QAErC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,OAAO;gBACL,mBAAmB;gBACnB;oBACE,QAAQ,EAAE,MAAM,CAAC,IAAA,uDAAqC,GAAE,CAAC;iBAC1D;aACF,CAAC;QACJ,CAAC;QAED,IAAA,sBAAM,EACJ,mBAAmB,CAAC,IAAI,KAAK,SAAS,EACtC,8CAA8C,CAC/C,CAAC;QAEF,IAAI,UAA+B,CAAC;QAEpC,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,WAAW,CAC7D,OAAO,CAAC,wBAAwB,EAChC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,EAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CACnB,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,2DAA2D,EAC3D,CAAC,CACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL;gBACE,GAAG,mBAAmB;gBACtB,IAAI,EAAE;oBACJ,GAAG,mBAAmB,CAAC,IAAI;oBAC3B,UAAU;iBACX;aACF;YACD;gBACE,QAAQ,EAAE,MAAM,CAAC,IAAA,uDAAqC,GAAE,CAAC;aAC1D;SACF,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,cAA8B,EAC9B,IAAmB,EACnB,IAAc,EACd,MAAc,EACd,IAAY,EACZ,UAA0B,EAC1B,QAAwB,EACxB,OAAe,EACf,WAAmB,EACnB,cAAsB;QAEtB,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,cAAe,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,UAAU,GAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAC5C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAmB;YACjC,QAAQ;YACR,SAAS;YACT,IAAI,CAAC,MAAM,CAAC,MAAM;YAClB,SAAS;YACT,UAAU;YACV,cAAc;YACd,UAAU;YACV,QAAQ;YACR,OAAO;YACP,UAAU;YACV,WAAW;YACX,IAAI;YACJ,MAAM;YACN,IAAA,qBAAa,EAAC,IAAI,CAAC;SACpB,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,GAAG,MAAsB,EAAE,EAAE;YAC5C,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAC5C,IAAI,KAAK,oBAAQ,CAAC,IAAI;gBACpB,CAAC,CAAC,yBAAa,CAAC,UAAU;gBAC1B,CAAC,CAAC,yBAAa,CAAC,SAAS,EAC3B,CAAC,MAAM,CAAC,CACT,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,OAAO,CAAC,yBAAa,CAAC,UAAU,EAAE,yBAAa,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED,gBAAgB,CACd,QAAiB,EACjB,SAAkB,EAClB,UAA0B,EAC1B,QAAwB,EACxB,YAA4B,EAC5B,IAAmB,EACnB,IAAc,EACd,MAAc,EACd,IAAY,EACZ,aAAqB,EACrB,WAAmB,EACnB,WAAmB,EACnB,cAAsB;QAEtB,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC,QAAQ,CAAC,cAAe,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEjD,MAAM,QAAQ,GAAG,IAAA,iBAAS,EAAC;YACzB,IAAA,kBAAU,EAAC,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACnC,IAAA,kBAAU,EAAC,IAAA,eAAO,EAAC,WAAW,CAAC,EAAE,EAAE,CAAC;SACrC,CAAC,CAAC;QACH,MAAM,OAAO,GAA8B;YACzC,QAAQ;YACR,SAAS;YACT,UAAU;YACV,QAAQ;YACR,YAAY;YACZ,QAAQ;YACR,uBAAuB;YACvB,WAAW;YACX,IAAI;SACL,CAAC;QAEF,MAAM,UAAU,GAA0B,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAE3E,MAAM,OAAO,GAAG,CAAC,GAAG,MAA0C,EAAE,EAAE;YAChE,OAAO,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAChD,IAAI,KAAK,oBAAQ,CAAC,IAAI;gBACpB,CAAC,CAAC,2BAAe,CAAC,UAAU;gBAC5B,CAAC,CAAC,2BAAe,CAAC,SAAS,EAC7B,CAAC,GAAG,MAAM,CAAC,CACZ,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,uBAAuB;QAC5B,OAAO,CAAC,2BAAe,CAAC,UAAU,EAAE,2BAAe,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAmB,EACnB,IAAc;QAEd,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAE7C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC3C;YACE,YAAY,EAAE;gBACZ,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,SAAS;aACpB;SACF,EACD;YACE,IAAI;YACJ,QAAQ,EAAE,IAAA,uDAAqC,GAAE,EAAE,+DAA+D;SACnH,CACF,CAAC;QAEF,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAClC,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,WAAW,CACT,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,SAAkB,EAClB,IAAmB,EACnB,IAAc;QAEd,MAAM,YAAY,GAChB,IAAI,KAAK,oBAAQ,CAAC,IAAI;YACpB,CAAC,CAAC,0BAAkB,CAAC,UAAU;YAC/B,CAAC,CAAC,0BAAkB,CAAC,WAAW,CAAC;QAErC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE/C,MAAM,kBAAkB,GACtB,IAAI,KAAK,oBAAQ,CAAC,IAAI;YACpB,CAAC,CAAC;gBACE,SAAS;gBACT,QAAQ,EAAE,IAAA,uDAAqC,GAAE;gBACjD,QAAQ,EAAE,SAAS;gBACnB,gBAAgB,EAAE,UAAU;gBAC5B,IAAI;aACL;YACH,CAAC,CAAC;gBACE,SAAS;gBACT,QAAQ,EAAE,IAAA,uDAAqC,GAAE;gBACjD,SAAS,EAAE,UAAU;gBACrB,eAAe,EAAE,SAAS;gBAC1B,IAAI;aACL,CAAC;QAER,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACrE,kBAAkB;SACnB,CAAC,CAAC;QAEH,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,mBAAmB,EAAE,IAAI;YACzB,YAAY;YACZ,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAClC,eAAe,EACb,IAAI,KAAK,oBAAQ,CAAC,IAAI;gBACpB,CAAC,CAAC,IAAA,mCAA2B,EACzB,IAAI,CAAC,WAAW,EAChB,YAAY,EACZ,WAAW,CACZ;gBACH,CAAC,CAAC,SAAS;SAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAmB,EACnB,IAAc;QAEd,MAAM,YAAY,GAChB,IAAI,KAAK,oBAAQ,CAAC,IAAI;YACpB,CAAC,CAAC,0BAAkB,CAAC,UAAU;YAC/B,CAAC,CAAC,0BAAkB,CAAC,WAAW,CAAC;QAErC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,kBAAkB,GACtB,IAAI,KAAK,oBAAQ,CAAC,IAAI;YACpB,CAAC,CAAC;gBACE,SAAS,EAAE,IAAI,CAAC,eAAe;gBAC/B,QAAQ,EAAE,IAAA,uDAAqC,GAAE;gBACjD,QAAQ,EAAE,SAAS;gBACnB,gBAAgB,EAAE,UAAU;gBAC5B,IAAI;aACL;YACH,CAAC,CAAC;gBACE,SAAS,EAAE,IAAI,CAAC,eAAe;gBAC/B,QAAQ,EAAE,IAAA,uDAAqC,GAAE;gBACjD,SAAS,EAAE,UAAU;gBACrB,eAAe,EAAE,SAAS;gBAC1B,IAAI;aACL,CAAC;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACjE,kBAAkB;SACnB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,qCAAqC,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,IAAI,CAAC,MAAM,CAAC,MAAM,CACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,YAAqB,EACrB,KAAa;QAEb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAExC,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAEjD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2BQ,EACR;YACE,KAAK,EAAE,aAAa;YACpB,KAAK,EAAE,KAAK;SACb,CACF,CAAC;QAEF,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,SAAS,IAAI,CAAC,MAAM,uDAAuD,CAC5E,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GAAG,gBAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,MAAM;YACrB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE;YAC9B,cAAc,EAAE,IAAI,CAAC,iBAAiB,CACpC,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,OAAO,CAEb;YACD,eAAe,EAAE;gBACf;oBACE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE;oBACrC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;iBACzC;aACF;YACD,YAAY,EACV,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,uCAA2B;SACrE,CAAC,CAAC,CAAC;QAEJ,MAAM,MAAM,GAAG,gBAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,MAAM;YACrB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE;YAC9B,cAAc,EAAE,IAAI,CAAC,iBAAiB,CACpC,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,OAAO,CAEb;YACD,eAAe,EAAE;gBACf;oBACE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE;oBACrC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;iBACzC;aACF;YACD,YAAY,EACV,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,uCAA2B;SACrE,CAAC,CAAC,CAAC;QAEJ,MAAM,KAAK,GAAG,gBAAC,CAAC,KAAK,CACnB,gBAAC,CAAC,MAAM,CAAC,gBAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,EACpE,CAAC,EACD,KAAK,CACN,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,eAAyB,EACzB,WAAmB;QAEnB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,eAAe,CAAC,GAAG,CAAC,KAAK,EAAC,UAAU,EAAC,EAAE;YACrC,MAAM,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;QACzE,CAAC,CAAC,CACH,CAAC;QACF,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAyB,CAAC;IAC5D,CAAC;IAES,oBAAoB,CAAC,QAAe,EAAE,SAAgB;QAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3E,CAAC;IAES,WAAW,CAAC,UAAmB,EAAE,WAAoB;QAC7D,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAEO,6BAA6B;QACnC,wEAAwE;QACxE,MAAM,SAAS,GAAc;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;YACxC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;YACxC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE;YAC1C,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;YACxC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE;YACxD,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;YAClD,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;YAC9C,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE;YAC7C,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAChD,uBAAuB,EAAE,IAAI,CAAC,MAAM,CAAC,uBAAuB;YAC5D,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB;YACxD,6CAA6C,EAC3C,IAAI,CAAC,MAAM,CAAC,6CAA6C;SAC5D,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,WAAW,CACnB,KAA8B,EAC9B,OAAiB,EACjB,UAAmB,EACnB,IAAc,EACd,gBAAwB;QAExB,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,+BAAa,CAAC,YAAY,CAC9C,KAAK,EACL,OAAO,EACP,UAAU,EACV,IAAI,CACL,CAAC;YAEF,IAAI,IAAI,KAAK,oBAAQ,CAAC,IAAI,EAAE,CAAC;gBAC3B,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE,CAAC;oBAChD,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtD,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE,CAAC;wBAChD,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;wBAC9B,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAClC,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE,CAAC;oBAClC,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,wEAAwE;gBACxE,2EAA2E;gBAC3E,gBAAgB;gBAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACxC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE,CAAC;wBAClC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;wBAC9B,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAClC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,aAAa,CAAC;QACvB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,2DAA2D,EACzE,CAAC,CACF,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,KAAa,EACb,SAAiB,EACjB,OAAO,GAAG,KAAK;QAEf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAExC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CACxD,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,EAAE,KAAK,EAAE,SAAS,EAAE,EACpB,EAAE,OAAO,EAAE,CACZ,CAAC;YACF,OAAO,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,4BAA4B,EAAE,CAAC,CAAC,CAAC;YACjE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAES,WAAW,CACnB,IAIG,EACH,IAAc;QAEd,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,2BAA2B,IAAI,aAAa,IAAI,YAAY,CAC3E,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAClC,CACE,EAAE,KAAK,EAAE,KAAK,EAAwC,EACtD,IAAI,EACJ,KAAK,EACiC,EAAE;YACxC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO;oBACL,KAAK,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACvC,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC;iBAC/C,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO;oBACL,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACtC,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC;iBAC3C,CAAC;YACJ,CAAC;QACH,CAAC,EACD,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzB,CAAC;QAEF,OAAO,IAAI,KAAK,oBAAQ,CAAC,GAAG;YAC1B,CAAC,CAAC,IAAA,eAAI,EAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YACxC,CAAC,CAAC,IAAA,eAAI,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IAEO,aAAa,CACnB,IAIG,EACH,IAAc;QAEd,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,2BAA2B,IAAI,aAAa,IAAI,YAAY,CAC3E,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,IAAI,KAAK,oBAAQ,CAAC,IAAI,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;gBACnE,MAAM,IAAI,WAAW,CAAC;YACxB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,4CAA4C;YAC5C,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;gBACnE,MAAM,IAAI,WAAW,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,WAAW,CAAC,EAAW,EAAE,EAAW,EAAE,GAAmB;QAC/D,mCAAmC;QACnC,IAAI,IAAA,oBAAY,EAAC,EAAE,CAAC,EAAE,CAAC;YACrB,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC;QAC5D,CAAC;QAED,IAAI,IAAA,oBAAY,EAAC,EAAE,CAAC,EAAE,CAAC;YACrB,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC;QAC5D,CAAC;QAED,sGAAsG;QACtG,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GACnC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAEhD,MAAM,gBAAgB,GAAG,CAAC,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC5E,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,IAAA,kBAAU,EAAC,IAAA,gBAAQ,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEpE,OAAO,gBAAgB,GAAG,aAAa,GAAG,aAAa,GAAG,UAAU,CAAC;IACvE,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAChC,CAAC;IACH,CAAC;;AA75CH,8BA85CC"}
|
|
1
|
+
{"version":3,"file":"uniswap-v3.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v3/uniswap-v3.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,54 @@ exports.UniswapV4Config = void 0;
|
|
|
4
4
|
const constants_1 = require("../../constants");
|
|
5
5
|
exports.UniswapV4Config = {
|
|
6
6
|
UniswapV4: {
|
|
7
|
+
[constants_1.Network.MAINNET]: {
|
|
8
|
+
poolManager: '0x000000000004444c5dc75cB358380D2e3dE08A90',
|
|
9
|
+
subgraphURL: 'DiYPVdygkfjDWhbxGSqAQxwBKmfKnkWQojqeM2rkLb3G',
|
|
10
|
+
quoter: '0x52f0e24d1c21c8a0cb1e5a5dd6198556bd9e1203',
|
|
11
|
+
router: '0x66a9893cc07d91d95644aedd05d03f95e1dba8af',
|
|
12
|
+
stateView: '0x7ffe42c4a5deea5b0fec41c94c136cf115597227',
|
|
13
|
+
},
|
|
7
14
|
[constants_1.Network.BASE]: {
|
|
8
15
|
poolManager: '0x498581ff718922c3f8e6a244956af099b2652b2b',
|
|
9
16
|
subgraphURL: 'HNCFA9TyBqpo5qpe6QreQABAA1kV8g46mhkCcicu6v2R',
|
|
10
17
|
quoter: '0x0d5e0f971ed27fbff6c2837bf31316121532048d',
|
|
11
18
|
router: '0x6ff5693b99212da76ad316178a184ab56d299b43',
|
|
19
|
+
stateView: '0xa3c0c9b65bad0b08107aa264b0f3db444b867a71',
|
|
20
|
+
},
|
|
21
|
+
[constants_1.Network.OPTIMISM]: {
|
|
22
|
+
poolManager: '0x9a13f98cb987694c9f086b1f5eb990eea8264ec3',
|
|
23
|
+
subgraphURL: '6RBtsmGUYfeLeZsYyxyKSUiaA6WpuC69shMEQ1Cfuj9u',
|
|
24
|
+
quoter: '0x1f3131a13296fb91c90870043742c3cdbff1a8d7',
|
|
25
|
+
router: '0x851116d9223fabed8e56c0e6b8ad0c31d98b3507',
|
|
26
|
+
stateView: '0xc18a3169788f4f75a170290584eca6395c75ecdb',
|
|
27
|
+
},
|
|
28
|
+
[constants_1.Network.ARBITRUM]: {
|
|
29
|
+
poolManager: '0x360e68faccca8ca495c1b759fd9eee466db9fb32',
|
|
30
|
+
subgraphURL: 'G5TsTKNi8yhPSV7kycaE23oWbqv9zzNqR49FoEQjzq1r',
|
|
31
|
+
quoter: '0x3972c00f7ed4885e145823eb7c655375d275a1c5',
|
|
32
|
+
router: '0xa51afafe0263b40edaef0df8781ea9aa03e381a3',
|
|
33
|
+
stateView: '0x76fd297e2d437cd7f76d50f01afe6160f86e9990',
|
|
34
|
+
},
|
|
35
|
+
[constants_1.Network.POLYGON]: {
|
|
36
|
+
poolManager: '0x67366782805870060151383f4bbff9dab53e5cd6',
|
|
37
|
+
subgraphURL: 'CwpebM66AH5uqS5sreKij8yEkkPcHvmyEs7EwFtdM5ND',
|
|
38
|
+
quoter: '0xb3d5c3dfc3a7aebff71895a7191796bffc2c81b9',
|
|
39
|
+
router: '0x1095692a6237d83c6a72f3f5efedb9a670c49223',
|
|
40
|
+
stateView: '0x5ea1bd7974c8a611cbab0bdcafcb1d9cc9b3ba5a',
|
|
41
|
+
},
|
|
42
|
+
[constants_1.Network.AVALANCHE]: {
|
|
43
|
+
poolManager: '0x06380c0e0912312b5150364b9dc4542ba0dbbc85',
|
|
44
|
+
subgraphURL: '49JxRo9FGxWpSf5Y5GKQPj5NUpX2HhpoZHpGzNEWQZjq',
|
|
45
|
+
quoter: '0xbe40675bb704506a3c2ccfb762dcfd1e979845c2',
|
|
46
|
+
router: '0x94b75331ae8d42c1b61065089b7d48fe14aa73b7',
|
|
47
|
+
stateView: '0xc3c9e198c735a4b97e3e683f391ccbdd60b69286',
|
|
48
|
+
},
|
|
49
|
+
[constants_1.Network.BSC]: {
|
|
50
|
+
poolManager: '0x28e2ea090877bf75740558f6bfb36a5ffee9e9df',
|
|
51
|
+
subgraphURL: '2qQpC8inZPZL4tYfRQPFGZhsE8mYzE67n5z3Yf5uuKMu',
|
|
52
|
+
quoter: '0x9f75dd27d6664c475b90e105573e550ff69437b0',
|
|
53
|
+
router: '0x1906c1d672b88cd1b9ac7593301ca990f94eae07',
|
|
54
|
+
stateView: '0xd13dd3d6e93f276fafc9db9e6bb47c1180aee0c4',
|
|
12
55
|
},
|
|
13
56
|
},
|
|
14
57
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v4/config.ts"],"names":[],"mappings":";;;AACA,+CAA0C;AAG7B,QAAA,eAAe,GAA4B;IACtD,SAAS,EAAE;QACT,CAAC,mBAAO,CAAC,IAAI,CAAC,EAAE;YACd,WAAW,EAAE,4CAA4C;YACzD,WAAW,EAAE,8CAA8C;YAC3D,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v4/config.ts"],"names":[],"mappings":";;;AACA,+CAA0C;AAG7B,QAAA,eAAe,GAA4B;IACtD,SAAS,EAAE;QACT,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,WAAW,EAAE,4CAA4C;YACzD,WAAW,EAAE,8CAA8C;YAC3D,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,SAAS,EAAE,4CAA4C;SACxD;QACD,CAAC,mBAAO,CAAC,IAAI,CAAC,EAAE;YACd,WAAW,EAAE,4CAA4C;YACzD,WAAW,EAAE,8CAA8C;YAC3D,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,SAAS,EAAE,4CAA4C;SACxD;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,WAAW,EAAE,4CAA4C;YACzD,WAAW,EAAE,8CAA8C;YAC3D,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,SAAS,EAAE,4CAA4C;SACxD;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,WAAW,EAAE,4CAA4C;YACzD,WAAW,EAAE,8CAA8C;YAC3D,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,SAAS,EAAE,4CAA4C;SACxD;QACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,WAAW,EAAE,4CAA4C;YACzD,WAAW,EAAE,8CAA8C;YAC3D,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,SAAS,EAAE,4CAA4C;SACxD;QACD,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE;YACnB,WAAW,EAAE,4CAA4C;YACzD,WAAW,EAAE,8CAA8C;YAC3D,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,SAAS,EAAE,4CAA4C;SACxD;QACD,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE;YACb,WAAW,EAAE,4CAA4C;YACzD,WAAW,EAAE,8CAA8C;YAC3D,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,SAAS,EAAE,4CAA4C;SACxD;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const TICK_BITMAP_TO_USE = 4n;
|
|
2
|
+
export declare const TICK_BITMAP_BUFFER = 8n;
|
|
3
|
+
export declare const TICK_BITMAP_TO_USE_BY_CHAIN: Record<number, bigint>;
|
|
4
|
+
export declare const TICK_BITMAP_BUFFER_BY_CHAIN: Record<number, bigint>;
|
|
5
|
+
export declare const OUT_OF_RANGE_ERROR_POSTFIX = "INVALID_TICK_BIT_MAP_RANGES";
|
|
6
|
+
export declare const SUBGRAPH_TIMEOUT: number;
|
|
7
|
+
export declare const POOL_CACHE_REFRESH_INTERVAL: number;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POOL_CACHE_REFRESH_INTERVAL = exports.SUBGRAPH_TIMEOUT = exports.OUT_OF_RANGE_ERROR_POSTFIX = exports.TICK_BITMAP_BUFFER_BY_CHAIN = exports.TICK_BITMAP_TO_USE_BY_CHAIN = exports.TICK_BITMAP_BUFFER = exports.TICK_BITMAP_TO_USE = void 0;
|
|
4
|
+
// This is used for price calculation. If out of scope, return 0n
|
|
5
|
+
const constants_1 = require("../../constants");
|
|
6
|
+
exports.TICK_BITMAP_TO_USE = 4n;
|
|
7
|
+
// This is used to check if the state is still valid.
|
|
8
|
+
exports.TICK_BITMAP_BUFFER = 8n;
|
|
9
|
+
exports.TICK_BITMAP_TO_USE_BY_CHAIN = {
|
|
10
|
+
[constants_1.Network.MAINNET]: 8n,
|
|
11
|
+
};
|
|
12
|
+
exports.TICK_BITMAP_BUFFER_BY_CHAIN = {
|
|
13
|
+
[constants_1.Network.MAINNET]: 16n,
|
|
14
|
+
};
|
|
15
|
+
exports.OUT_OF_RANGE_ERROR_POSTFIX = `INVALID_TICK_BIT_MAP_RANGES`;
|
|
16
|
+
exports.SUBGRAPH_TIMEOUT = 30 * 1000;
|
|
17
|
+
exports.POOL_CACHE_REFRESH_INTERVAL = 60 * 5; // 5 minutes
|
|
18
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v4/constants.ts"],"names":[],"mappings":";;;AAAA,iEAAiE;AACjE,+CAA0C;AAE7B,QAAA,kBAAkB,GAAG,EAAE,CAAC;AAErC,qDAAqD;AACxC,QAAA,kBAAkB,GAAG,EAAE,CAAC;AAExB,QAAA,2BAA2B,GAA2B;IACjE,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE,EAAE;CACtB,CAAC;AAEW,QAAA,2BAA2B,GAA2B;IACjE,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE,GAAG;CACvB,CAAC;AAEW,QAAA,0BAA0B,GAAG,6BAA6B,CAAC;AAE3D,QAAA,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC;AAE7B,QAAA,2BAA2B,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BalanceDelta = void 0;
|
|
4
|
+
exports.toBalanceDelta = toBalanceDelta;
|
|
5
|
+
function toBalanceDelta(amount0, amount1) {
|
|
6
|
+
const shiftedAmount0 = amount0 << 128n;
|
|
7
|
+
const mask = (1n << 128n) - 1n;
|
|
8
|
+
const maskedAmount1 = amount1 & mask;
|
|
9
|
+
const balanceDelta = shiftedAmount0 | maskedAmount1;
|
|
10
|
+
return balanceDelta;
|
|
11
|
+
}
|
|
12
|
+
class BalanceDelta {
|
|
13
|
+
static ZERO_DELTA = 0n;
|
|
14
|
+
static amount0(balanceDelta) {
|
|
15
|
+
return balanceDelta >> BigInt(128);
|
|
16
|
+
}
|
|
17
|
+
static amount1(balanceDelta) {
|
|
18
|
+
return BigInt.asIntN(128, balanceDelta);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.BalanceDelta = BalanceDelta;
|
|
22
|
+
//# sourceMappingURL=BalanceDelta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BalanceDelta.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/BalanceDelta.ts"],"names":[],"mappings":";;;AAAA,wCAUC;AAVD,SAAgB,cAAc,CAAC,OAAe,EAAE,OAAe;IAC7D,MAAM,cAAc,GAAG,OAAO,IAAI,IAAI,CAAC;IAEvC,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAE/B,MAAM,aAAa,GAAG,OAAO,GAAG,IAAI,CAAC;IAErC,MAAM,YAAY,GAAG,cAAc,GAAG,aAAa,CAAC;IAEpD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAa,YAAY;IACvB,MAAM,CAAU,UAAU,GAAG,EAAE,CAAC;IAEhC,MAAM,CAAC,OAAO,CAAC,YAAoB;QACjC,OAAO,YAAY,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,YAAoB;QACjC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC1C,CAAC;;AATH,oCAUC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BitMath = void 0;
|
|
4
|
+
const utils_1 = require("../../../utils");
|
|
5
|
+
class BitMath {
|
|
6
|
+
static mostSignificantBit(x) {
|
|
7
|
+
(0, utils_1._require)(x > 0, '', { x }, 'x > 0');
|
|
8
|
+
let r = 0n;
|
|
9
|
+
if (x > 0xffffffffffffffffffffffffffffffffn) {
|
|
10
|
+
x >>= 128n;
|
|
11
|
+
r += 128n;
|
|
12
|
+
}
|
|
13
|
+
if (x > 0xffffffffffffffffn) {
|
|
14
|
+
x >>= 64n;
|
|
15
|
+
r += 64n;
|
|
16
|
+
}
|
|
17
|
+
if (x > 0xffffffffn) {
|
|
18
|
+
x >>= 32n;
|
|
19
|
+
r += 32n;
|
|
20
|
+
}
|
|
21
|
+
if (x > 0xffffn) {
|
|
22
|
+
x >>= 16n;
|
|
23
|
+
r += 16n;
|
|
24
|
+
}
|
|
25
|
+
if (x > 0xffn) {
|
|
26
|
+
x >>= 8n;
|
|
27
|
+
r += 8n;
|
|
28
|
+
}
|
|
29
|
+
if (x > 0xfn) {
|
|
30
|
+
x >>= 4n;
|
|
31
|
+
r += 4n;
|
|
32
|
+
}
|
|
33
|
+
if (x > 0x3n) {
|
|
34
|
+
x >>= 2n;
|
|
35
|
+
r += 2n;
|
|
36
|
+
}
|
|
37
|
+
if (x > 0x1n) {
|
|
38
|
+
r += 1n;
|
|
39
|
+
}
|
|
40
|
+
return r;
|
|
41
|
+
}
|
|
42
|
+
static leastSignificantBit(x) {
|
|
43
|
+
(0, utils_1._require)(x > 0, '', { x }, 'x > 0');
|
|
44
|
+
let r = 0n;
|
|
45
|
+
while ((x & 1n) === 0n) {
|
|
46
|
+
x >>= 1n;
|
|
47
|
+
r++;
|
|
48
|
+
}
|
|
49
|
+
return r;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.BitMath = BitMath;
|
|
53
|
+
//# sourceMappingURL=BitMath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BitMath.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/BitMath.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAE1C,MAAa,OAAO;IAClB,MAAM,CAAC,kBAAkB,CAAC,CAAS;QACjC,IAAA,gBAAQ,EAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAEpC,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,CAAC,GAAG,mCAAmC,EAAE,CAAC;YAC5C,CAAC,KAAK,IAAI,CAAC;YACX,CAAC,IAAI,IAAI,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,GAAG,mBAAmB,EAAE,CAAC;YAC5B,CAAC,KAAK,GAAG,CAAC;YACV,CAAC,IAAI,GAAG,CAAC;QACX,CAAC;QACD,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC;YACpB,CAAC,KAAK,GAAG,CAAC;YACV,CAAC,IAAI,GAAG,CAAC;QACX,CAAC;QACD,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC;YAChB,CAAC,KAAK,GAAG,CAAC;YACV,CAAC,IAAI,GAAG,CAAC;QACX,CAAC;QACD,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;YACd,CAAC,KAAK,EAAE,CAAC;YACT,CAAC,IAAI,EAAE,CAAC;QACV,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACb,CAAC,KAAK,EAAE,CAAC;YACT,CAAC,IAAI,EAAE,CAAC;QACV,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACb,CAAC,KAAK,EAAE,CAAC;YACT,CAAC,IAAI,EAAE,CAAC;QACV,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACb,CAAC,IAAI,EAAE,CAAC;QACV,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,CAAS;QAClC,IAAA,gBAAQ,EAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAEpC,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;YACvB,CAAC,KAAK,EAAE,CAAC;YACT,CAAC,EAAE,CAAC;QACN,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;CACF;AAnDD,0BAmDC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FixedPoint128 = void 0;
|
|
4
|
+
class FixedPoint128 {
|
|
5
|
+
static Q128 = 0x100000000000000000000000000000000n;
|
|
6
|
+
}
|
|
7
|
+
exports.FixedPoint128 = FixedPoint128;
|
|
8
|
+
//# sourceMappingURL=FixedPoint128.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FixedPoint128.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/FixedPoint128.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;IACxB,MAAM,CAAU,IAAI,GAAG,oCAAoC,CAAC;;AAD9D,sCAEC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FixedPoint96 = void 0;
|
|
4
|
+
class FixedPoint96 {
|
|
5
|
+
static RESOLUTION = 96n;
|
|
6
|
+
static Q96 = 0x1000000000000000000000000n;
|
|
7
|
+
}
|
|
8
|
+
exports.FixedPoint96 = FixedPoint96;
|
|
9
|
+
//# sourceMappingURL=FixedPoint96.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FixedPoint96.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/FixedPoint96.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAY;IACvB,MAAM,CAAU,UAAU,GAAG,GAAG,CAAC;IACjC,MAAM,CAAU,GAAG,GAAG,4BAA4B,CAAC;;AAFrD,oCAGC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FullMath = void 0;
|
|
4
|
+
const bigint_constants_1 = require("../../../bigint-constants");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
class FullMath {
|
|
7
|
+
static mulDiv(a, b, denominator) {
|
|
8
|
+
const result = (a * b) / denominator;
|
|
9
|
+
(0, utils_1._require)(result <= bigint_constants_1.BI_MAX_UINT256, '', { result, BI_MAX_UINT: bigint_constants_1.BI_MAX_UINT256 }, 'result <= BI_MAX_UINT');
|
|
10
|
+
return result;
|
|
11
|
+
}
|
|
12
|
+
static mulDivRoundingUp(a, b, denominator) {
|
|
13
|
+
const result = (a * b + denominator - 1n) / denominator;
|
|
14
|
+
(0, utils_1._require)(result <= bigint_constants_1.BI_MAX_UINT256, '', { result, BI_MAX_UINT: bigint_constants_1.BI_MAX_UINT256 }, 'result <= BI_MAX_UINT');
|
|
15
|
+
return result;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.FullMath = FullMath;
|
|
19
|
+
//# sourceMappingURL=FullMath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FullMath.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/FullMath.ts"],"names":[],"mappings":";;;AAAA,gEAA2D;AAC3D,0CAA0C;AAE1C,MAAa,QAAQ;IACnB,MAAM,CAAC,MAAM,CAAC,CAAS,EAAE,CAAS,EAAE,WAAmB;QACrD,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;QAErC,IAAA,gBAAQ,EACN,MAAM,IAAI,iCAAc,EACxB,EAAE,EACF,EAAE,MAAM,EAAE,WAAW,EAAE,iCAAc,EAAE,EACvC,uBAAuB,CACxB,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,CAAS,EAAE,CAAS,EAAE,WAAmB;QAC/D,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,WAAW,GAAG,EAAE,CAAC,GAAG,WAAW,CAAC;QAExD,IAAA,gBAAQ,EACN,MAAM,IAAI,iCAAc,EACxB,EAAE,EACF,EAAE,MAAM,EAAE,WAAW,EAAE,iCAAc,EAAE,EACvC,uBAAuB,CACxB,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA1BD,4BA0BC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare class LPFeeLibrary {
|
|
2
|
+
static readonly DYNAMIC_FEE_FLAG: number;
|
|
3
|
+
static readonly OVERRIDE_FEE_FLAG: number;
|
|
4
|
+
static readonly REMOVE_OVERRIDE_MASK: number;
|
|
5
|
+
static readonly MAX_LP_FEE: number;
|
|
6
|
+
static isDynamicFee(fee: number): boolean;
|
|
7
|
+
static isValid(fee: number): boolean;
|
|
8
|
+
static validate(fee: number): void;
|
|
9
|
+
static getInitialLPFee(fee: number): number;
|
|
10
|
+
static isOverride(fee: number): boolean;
|
|
11
|
+
static removeOverrideFlag(fee: number): number;
|
|
12
|
+
static removeOverrideFlagAndValidate(fee: number): number;
|
|
13
|
+
}
|