@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
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TickMath = void 0;
|
|
4
|
+
const bigint_constants_1 = require("../../../bigint-constants");
|
|
5
|
+
const utils_1 = require("./utils");
|
|
6
|
+
const utils_2 = require("../../../utils");
|
|
7
|
+
class TickMath {
|
|
8
|
+
static MIN_TICK = -887272n;
|
|
9
|
+
static MAX_TICK = -TickMath.MIN_TICK;
|
|
10
|
+
static MIN_SQRT_PRICE = 4295128739n;
|
|
11
|
+
static MAX_SQRT_PRICE = 1461446703485210103287273052203988822378723970342n;
|
|
12
|
+
static MAX_SQRT_PRICE_MINUS_MIN_SQRT_PRICE_MINUS_ONE = 1461446703485210103287273052203988822378723970342 - 4295128739 - 1;
|
|
13
|
+
static getSqrtPriceAtTick(tick) {
|
|
14
|
+
const absTick = tick < 0n
|
|
15
|
+
? BigInt.asUintN(256, -BigInt.asIntN(256, tick))
|
|
16
|
+
: BigInt.asUintN(256, BigInt.asIntN(256, tick));
|
|
17
|
+
(0, utils_2._require)(absTick <= BigInt.asUintN(256, TickMath.MAX_TICK), 'T', { absTick }, 'absTick <= BigInt.asUintN(256, TickMath.MAX_TICK)');
|
|
18
|
+
let ratio = (absTick & 0x1n) !== 0n
|
|
19
|
+
? 0xfffcb933bd6fad37aa2d162d1a594001n
|
|
20
|
+
: 0x100000000000000000000000000000000n;
|
|
21
|
+
if ((absTick & 0x2n) !== 0n)
|
|
22
|
+
ratio = (ratio * 0xfff97272373d413259a46990580e213an) >> 128n;
|
|
23
|
+
if ((absTick & 0x4n) !== 0n)
|
|
24
|
+
ratio = (ratio * 0xfff2e50f5f656932ef12357cf3c7fdccn) >> 128n;
|
|
25
|
+
if ((absTick & 0x8n) !== 0n)
|
|
26
|
+
ratio = (ratio * 0xffe5caca7e10e4e61c3624eaa0941cd0n) >> 128n;
|
|
27
|
+
if ((absTick & 0x10n) !== 0n)
|
|
28
|
+
ratio = (ratio * 0xffcb9843d60f6159c9db58835c926644n) >> 128n;
|
|
29
|
+
if ((absTick & 0x20n) !== 0n)
|
|
30
|
+
ratio = (ratio * 0xff973b41fa98c081472e6896dfb254c0n) >> 128n;
|
|
31
|
+
if ((absTick & 0x40n) !== 0n)
|
|
32
|
+
ratio = (ratio * 0xff2ea16466c96a3843ec78b326b52861n) >> 128n;
|
|
33
|
+
if ((absTick & 0x80n) !== 0n)
|
|
34
|
+
ratio = (ratio * 0xfe5dee046a99a2a811c461f1969c3053n) >> 128n;
|
|
35
|
+
if ((absTick & 0x100n) !== 0n)
|
|
36
|
+
ratio = (ratio * 0xfcbe86c7900a88aedcffc83b479aa3a4n) >> 128n;
|
|
37
|
+
if ((absTick & 0x200n) !== 0n)
|
|
38
|
+
ratio = (ratio * 0xf987a7253ac413176f2b074cf7815e54n) >> 128n;
|
|
39
|
+
if ((absTick & 0x400n) !== 0n)
|
|
40
|
+
ratio = (ratio * 0xf3392b0822b70005940c7a398e4b70f3n) >> 128n;
|
|
41
|
+
if ((absTick & 0x800n) !== 0n)
|
|
42
|
+
ratio = (ratio * 0xe7159475a2c29b7443b29c7fa6e889d9n) >> 128n;
|
|
43
|
+
if ((absTick & 0x1000n) !== 0n)
|
|
44
|
+
ratio = (ratio * 0xd097f3bdfd2022b8845ad8f792aa5825n) >> 128n;
|
|
45
|
+
if ((absTick & 0x2000n) !== 0n)
|
|
46
|
+
ratio = (ratio * 0xa9f746462d870fdf8a65dc1f90e061e5n) >> 128n;
|
|
47
|
+
if ((absTick & 0x4000n) !== 0n)
|
|
48
|
+
ratio = (ratio * 0x70d869a156d2a1b890bb3df62baf32f7n) >> 128n;
|
|
49
|
+
if ((absTick & 0x8000n) !== 0n)
|
|
50
|
+
ratio = (ratio * 0x31be135f97d08fd981231505542fcfa6n) >> 128n;
|
|
51
|
+
if ((absTick & 0x10000n) !== 0n)
|
|
52
|
+
ratio = (ratio * 0x9aa508b5b7a84e1c677de54f3e99bc9n) >> 128n;
|
|
53
|
+
if ((absTick & 0x20000n) !== 0n)
|
|
54
|
+
ratio = (ratio * 0x5d6af8dedb81196699c329225ee604n) >> 128n;
|
|
55
|
+
if ((absTick & 0x40000n) !== 0n)
|
|
56
|
+
ratio = (ratio * 0x2216e584f5fa1ea926041bedfe98n) >> 128n;
|
|
57
|
+
if ((absTick & 0x80000n) !== 0n)
|
|
58
|
+
ratio = (ratio * 0x48a170391f7dc42444e8fa2n) >> 128n;
|
|
59
|
+
if (tick > 0)
|
|
60
|
+
ratio = bigint_constants_1.BI_MAX_UINT256 / ratio;
|
|
61
|
+
return BigInt.asUintN(160, (ratio >> 32n) + (ratio % (1n << 32n) == 0n ? 0n : 1n));
|
|
62
|
+
}
|
|
63
|
+
static getTickAtSqrtPrice(sqrtPriceX96) {
|
|
64
|
+
(0, utils_2._require)(sqrtPriceX96 - TickMath.MIN_SQRT_PRICE <=
|
|
65
|
+
TickMath.MAX_SQRT_PRICE_MINUS_MIN_SQRT_PRICE_MINUS_ONE, 'R', { sqrtPriceX96 }, 'InvalidSqrtPrice: sqrtPriceX96 - TickMath.MIN_SQRT_PRICE <=\n' +
|
|
66
|
+
' TickMath.MAX_SQRT_PRICE_MINUS_MIN_SQRT_PRICE_MINUS_ONE');
|
|
67
|
+
let price = BigInt.asUintN(256, sqrtPriceX96) << 32n;
|
|
68
|
+
let r = price;
|
|
69
|
+
let msb = 0n;
|
|
70
|
+
let f = (0, utils_1._gt)(r, 0xffffffffffffffffffffffffffffffffn) << 7n;
|
|
71
|
+
msb = msb | f;
|
|
72
|
+
r = r >> f;
|
|
73
|
+
f = (0, utils_1._gt)(r, 0xffffffffffffffffn) << 6n;
|
|
74
|
+
msb = msb | f;
|
|
75
|
+
r = r >> f;
|
|
76
|
+
f = (0, utils_1._gt)(r, 0xffffffffn) << 5n;
|
|
77
|
+
msb = msb | f;
|
|
78
|
+
r = r >> f;
|
|
79
|
+
f = (0, utils_1._gt)(r, 0xffffn) << 4n;
|
|
80
|
+
msb = msb | f;
|
|
81
|
+
r = r >> f;
|
|
82
|
+
f = (0, utils_1._gt)(r, 0xffn) << 3n;
|
|
83
|
+
msb = msb | f;
|
|
84
|
+
r = r >> f;
|
|
85
|
+
f = (0, utils_1._gt)(r, 0xfn) << 2n;
|
|
86
|
+
msb = msb | f;
|
|
87
|
+
r = r >> f;
|
|
88
|
+
f = (0, utils_1._gt)(r, 0x3n) << 1n;
|
|
89
|
+
msb = msb | f;
|
|
90
|
+
r = r >> f;
|
|
91
|
+
f = (0, utils_1._gt)(r, 0x1n);
|
|
92
|
+
msb = msb | f;
|
|
93
|
+
if (msb >= 128n)
|
|
94
|
+
r = price >> (msb - 127n);
|
|
95
|
+
else
|
|
96
|
+
r = price << (127n - msb);
|
|
97
|
+
let log_2 = (BigInt.asIntN(256, msb) - 128n) << 64n;
|
|
98
|
+
r = (r * r) >> 127n;
|
|
99
|
+
f = r >> 128n;
|
|
100
|
+
log_2 = log_2 | (f << 63n);
|
|
101
|
+
r = r >> f;
|
|
102
|
+
r = (r * r) >> 127n;
|
|
103
|
+
f = r >> 128n;
|
|
104
|
+
log_2 = log_2 | (f << 62n);
|
|
105
|
+
r = r >> f;
|
|
106
|
+
r = (r * r) >> 127n;
|
|
107
|
+
f = r >> 128n;
|
|
108
|
+
log_2 = log_2 | (f << 61n);
|
|
109
|
+
r = r >> f;
|
|
110
|
+
r = (r * r) >> 127n;
|
|
111
|
+
f = r >> 128n;
|
|
112
|
+
log_2 = log_2 | (f << 60n);
|
|
113
|
+
r = r >> f;
|
|
114
|
+
r = (r * r) >> 127n;
|
|
115
|
+
f = r >> 128n;
|
|
116
|
+
log_2 = log_2 | (f << 59n);
|
|
117
|
+
r = r >> f;
|
|
118
|
+
r = (r * r) >> 127n;
|
|
119
|
+
f = r >> 128n;
|
|
120
|
+
log_2 = log_2 | (f << 58n);
|
|
121
|
+
r = r >> f;
|
|
122
|
+
r = (r * r) >> 127n;
|
|
123
|
+
f = r >> 128n;
|
|
124
|
+
log_2 = log_2 | (f << 57n);
|
|
125
|
+
r = r >> f;
|
|
126
|
+
r = (r * r) >> 127n;
|
|
127
|
+
f = r >> 128n;
|
|
128
|
+
log_2 = log_2 | (f << 56n);
|
|
129
|
+
r = r >> f;
|
|
130
|
+
r = (r * r) >> 127n;
|
|
131
|
+
f = r >> 128n;
|
|
132
|
+
log_2 = log_2 | (f << 55n);
|
|
133
|
+
r = r >> f;
|
|
134
|
+
r = (r * r) >> 127n;
|
|
135
|
+
f = r >> 128n;
|
|
136
|
+
log_2 = log_2 | (f << 54n);
|
|
137
|
+
r = r >> f;
|
|
138
|
+
r = (r * r) >> 127n;
|
|
139
|
+
f = r >> 128n;
|
|
140
|
+
log_2 = log_2 | (f << 53n);
|
|
141
|
+
r = r >> f;
|
|
142
|
+
r = (r * r) >> 127n;
|
|
143
|
+
f = r >> 128n;
|
|
144
|
+
log_2 = log_2 | (f << 52n);
|
|
145
|
+
r = r >> f;
|
|
146
|
+
r = (r * r) >> 127n;
|
|
147
|
+
f = r >> 128n;
|
|
148
|
+
log_2 = log_2 | (f << 51n);
|
|
149
|
+
r = r >> f;
|
|
150
|
+
r = (r * r) >> 127n;
|
|
151
|
+
f = r >> 128n;
|
|
152
|
+
log_2 = log_2 | (f << 50n);
|
|
153
|
+
const log_sqrt10001 = log_2 * 255738958999603826347141n; // 128.128 number
|
|
154
|
+
const tickLow = BigInt.asIntN(24, (log_sqrt10001 - 3402992956809132418596140100660247210n) >> 128n);
|
|
155
|
+
const tickHi = BigInt.asIntN(24, (log_sqrt10001 + 291339464771989622907027621153398088495n) >> 128n);
|
|
156
|
+
return tickLow === tickHi
|
|
157
|
+
? tickLow
|
|
158
|
+
: TickMath.getSqrtPriceAtTick(tickHi) <= sqrtPriceX96
|
|
159
|
+
? tickHi
|
|
160
|
+
: tickLow;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
exports.TickMath = TickMath;
|
|
164
|
+
//# sourceMappingURL=TickMath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TickMath.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/TickMath.ts"],"names":[],"mappings":";;;AAAA,gEAA2D;AAC3D,mCAA8B;AAC9B,0CAA0C;AAE1C,MAAa,QAAQ;IACnB,MAAM,CAAU,QAAQ,GAAG,CAAC,OAAO,CAAC;IACpC,MAAM,CAAU,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAE9C,MAAM,CAAU,cAAc,GAAG,WAAW,CAAC;IAC7C,MAAM,CAAU,cAAc,GAC5B,kDAAkD,CAAC;IACrD,MAAM,CAAU,6CAA6C,GAC3D,iDAAiD,GAAG,UAAU,GAAG,CAAC,CAAC;IAErE,MAAM,CAAC,kBAAkB,CAAC,IAAY;QACpC,MAAM,OAAO,GACX,IAAI,GAAG,EAAE;YACP,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACpD,IAAA,gBAAQ,EACN,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,EACjD,GAAG,EACH,EAAE,OAAO,EAAE,EACX,mDAAmD,CACpD,CAAC;QAEF,IAAI,KAAK,GACP,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE;YACrB,CAAC,CAAC,mCAAmC;YACrC,CAAC,CAAC,oCAAoC,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE;YACzB,KAAK,GAAG,CAAC,KAAK,GAAG,mCAAmC,CAAC,IAAI,IAAI,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE;YACzB,KAAK,GAAG,CAAC,KAAK,GAAG,mCAAmC,CAAC,IAAI,IAAI,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE;YACzB,KAAK,GAAG,CAAC,KAAK,GAAG,mCAAmC,CAAC,IAAI,IAAI,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE;YAC1B,KAAK,GAAG,CAAC,KAAK,GAAG,mCAAmC,CAAC,IAAI,IAAI,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE;YAC1B,KAAK,GAAG,CAAC,KAAK,GAAG,mCAAmC,CAAC,IAAI,IAAI,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE;YAC1B,KAAK,GAAG,CAAC,KAAK,GAAG,mCAAmC,CAAC,IAAI,IAAI,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE;YAC1B,KAAK,GAAG,CAAC,KAAK,GAAG,mCAAmC,CAAC,IAAI,IAAI,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE;YAC3B,KAAK,GAAG,CAAC,KAAK,GAAG,mCAAmC,CAAC,IAAI,IAAI,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE;YAC3B,KAAK,GAAG,CAAC,KAAK,GAAG,mCAAmC,CAAC,IAAI,IAAI,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE;YAC3B,KAAK,GAAG,CAAC,KAAK,GAAG,mCAAmC,CAAC,IAAI,IAAI,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE;YAC3B,KAAK,GAAG,CAAC,KAAK,GAAG,mCAAmC,CAAC,IAAI,IAAI,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE;YAC5B,KAAK,GAAG,CAAC,KAAK,GAAG,mCAAmC,CAAC,IAAI,IAAI,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE;YAC5B,KAAK,GAAG,CAAC,KAAK,GAAG,mCAAmC,CAAC,IAAI,IAAI,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE;YAC5B,KAAK,GAAG,CAAC,KAAK,GAAG,mCAAmC,CAAC,IAAI,IAAI,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE;YAC5B,KAAK,GAAG,CAAC,KAAK,GAAG,mCAAmC,CAAC,IAAI,IAAI,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE;YAC7B,KAAK,GAAG,CAAC,KAAK,GAAG,kCAAkC,CAAC,IAAI,IAAI,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE;YAC7B,KAAK,GAAG,CAAC,KAAK,GAAG,iCAAiC,CAAC,IAAI,IAAI,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE;YAC7B,KAAK,GAAG,CAAC,KAAK,GAAG,+BAA+B,CAAC,IAAI,IAAI,CAAC;QAC5D,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE;YAC7B,KAAK,GAAG,CAAC,KAAK,GAAG,0BAA0B,CAAC,IAAI,IAAI,CAAC;QAEvD,IAAI,IAAI,GAAG,CAAC;YAAE,KAAK,GAAG,iCAAc,GAAG,KAAK,CAAC;QAC7C,OAAO,MAAM,CAAC,OAAO,CACnB,GAAG,EACH,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACvD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,YAAoB;QAC5C,IAAA,gBAAQ,EACN,YAAY,GAAG,QAAQ,CAAC,cAAc;YACpC,QAAQ,CAAC,6CAA6C,EACxD,GAAG,EACH,EAAE,YAAY,EAAE,EAChB,+DAA+D;YAC7D,gEAAgE,CACnE,CAAC;QAEF,IAAI,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,GAAG,CAAC;QAErD,IAAI,CAAC,GAAG,KAAK,CAAC;QACd,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,IAAI,CAAC,GAAG,IAAA,WAAG,EAAC,CAAC,EAAE,mCAAmC,CAAC,IAAI,EAAE,CAAC;QAC1D,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACd,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,IAAA,WAAG,EAAC,CAAC,EAAE,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACtC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACd,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,IAAA,WAAG,EAAC,CAAC,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;QAC9B,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACd,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,IAAA,WAAG,EAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC1B,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACd,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,IAAA,WAAG,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACxB,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACd,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,IAAA,WAAG,EAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACvB,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACd,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,IAAA,WAAG,EAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACvB,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACd,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,IAAA,WAAG,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACjB,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QAEd,IAAI,GAAG,IAAI,IAAI;YAAE,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;;YACtC,CAAC,GAAG,KAAK,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;QAE/B,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC;QAEpD,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QACpB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QACd,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QACpB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QACd,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QACpB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QACd,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QACpB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QACd,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QACpB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QACd,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QACpB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QACd,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QACpB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QACd,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QACpB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QACd,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QACpB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QACd,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QACpB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QACd,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QACpB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QACd,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QACpB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QACd,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QACpB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QACd,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEX,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QACpB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QACd,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAE3B,MAAM,aAAa,GAAG,KAAK,GAAG,yBAAyB,CAAC,CAAC,iBAAiB;QAE1E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,EAAE,EACF,CAAC,aAAa,GAAG,sCAAsC,CAAC,IAAI,IAAI,CACjE,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAC1B,EAAE,EACF,CAAC,aAAa,GAAG,wCAAwC,CAAC,IAAI,IAAI,CACnE,CAAC;QAEF,OAAO,OAAO,KAAK,MAAM;YACvB,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,YAAY;gBACrD,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,OAAO,CAAC;IACd,CAAC;;AAhNH,4BAiNC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UnsafeMath = void 0;
|
|
4
|
+
const utils_1 = require("../../../utils");
|
|
5
|
+
class UnsafeMath {
|
|
6
|
+
static divRoundingUp(x, y) {
|
|
7
|
+
(0, utils_1._require)(y !== 0n, 'Division by zero', { y }, 'y !== 0n');
|
|
8
|
+
return (x + y - 1n) / y;
|
|
9
|
+
}
|
|
10
|
+
static simpleMulDiv(a, b, denominator) {
|
|
11
|
+
(0, utils_1._require)(denominator !== 0n, 'Division by zero', { denominator }, 'denominator !== 0n');
|
|
12
|
+
return (a * b) / denominator;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.UnsafeMath = UnsafeMath;
|
|
16
|
+
//# sourceMappingURL=UnsafeMath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnsafeMath.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/UnsafeMath.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAE1C,MAAa,UAAU;IACrB,MAAM,CAAC,aAAa,CAAC,CAAS,EAAE,CAAS;QACvC,IAAA,gBAAQ,EAAC,CAAC,KAAK,EAAE,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAE1D,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,CAAS,EAAE,CAAS,EAAE,WAAmB;QAC3D,IAAA,gBAAQ,EACN,WAAW,KAAK,EAAE,EAClB,kBAAkB,EAClB,EAAE,WAAW,EAAE,EACf,oBAAoB,CACrB,CAAC;QAEF,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;IAC/B,CAAC;CACF;AAjBD,gCAiBC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PoolState, ModifyLiquidityParams } from '../types';
|
|
2
|
+
declare class UniswapV4PoolMath {
|
|
3
|
+
tickSpacingToMaxLiquidityPerTick(tickSpacing: bigint): bigint;
|
|
4
|
+
checkPoolInitialized(poolState: PoolState): void;
|
|
5
|
+
getFeeGrowthInside(poolState: PoolState, tickLower: bigint, tickUpper: bigint): {
|
|
6
|
+
feeGrowthInside0X128: bigint;
|
|
7
|
+
feeGrowthInside1X128: bigint;
|
|
8
|
+
};
|
|
9
|
+
modifyLiquidity(poolState: PoolState, { liquidityDelta, tickLower, tickUpper, tickSpacing, salt, owner, }: ModifyLiquidityParams): {
|
|
10
|
+
delta: bigint;
|
|
11
|
+
feeDelta: bigint;
|
|
12
|
+
} | undefined;
|
|
13
|
+
setProtocolFee(poolState: PoolState, protocolFee: number): void;
|
|
14
|
+
donate(poolState: PoolState, amount0: bigint, amount1: bigint): bigint;
|
|
15
|
+
swapFromEvent(poolState: PoolState, zeroForOne: boolean, newSqrtPriceX96: bigint, newTick: bigint, newLiquidity: bigint, newSwapFee: bigint): void;
|
|
16
|
+
}
|
|
17
|
+
export declare const uniswapV4PoolMath: UniswapV4PoolMath;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.uniswapV4PoolMath = void 0;
|
|
4
|
+
const TickMath_1 = require("./TickMath");
|
|
5
|
+
const TickBitmap_1 = require("./TickBitmap");
|
|
6
|
+
const Tick_1 = require("./Tick");
|
|
7
|
+
const utils_1 = require("../../../utils");
|
|
8
|
+
const LiquidityMath_1 = require("./LiquidityMath");
|
|
9
|
+
const Position_1 = require("./Position");
|
|
10
|
+
const SqrtPriceMath_1 = require("./SqrtPriceMath");
|
|
11
|
+
const UnsafeMath_1 = require("./UnsafeMath");
|
|
12
|
+
const FixedPoint128_1 = require("./FixedPoint128");
|
|
13
|
+
const ProtocolFeeLibrary_1 = require("./ProtocolFeeLibrary");
|
|
14
|
+
const SwapMath_1 = require("./SwapMath");
|
|
15
|
+
const BalanceDelta_1 = require("./BalanceDelta");
|
|
16
|
+
const bigint_constants_1 = require("../../../bigint-constants");
|
|
17
|
+
class UniswapV4PoolMath {
|
|
18
|
+
tickSpacingToMaxLiquidityPerTick(tickSpacing) {
|
|
19
|
+
const MAX_TICK = TickMath_1.TickMath.MAX_TICK;
|
|
20
|
+
const MIN_TICK = TickMath_1.TickMath.MIN_TICK;
|
|
21
|
+
(0, utils_1._require)(tickSpacing >= 0n, 'tickSpacing must be a positive integer.', { tickSpacing }, 'tickSpacing >= 0n');
|
|
22
|
+
let minTick = Math.floor(Number(MIN_TICK / tickSpacing));
|
|
23
|
+
if (MIN_TICK % tickSpacing !== 0n) {
|
|
24
|
+
minTick--;
|
|
25
|
+
}
|
|
26
|
+
const maxTick = Math.floor(Number(MAX_TICK / tickSpacing));
|
|
27
|
+
const numTicks = BigInt(maxTick - minTick) + 1n;
|
|
28
|
+
const MAX_UINT128 = (1n << 128n) - 1n;
|
|
29
|
+
return MAX_UINT128 / numTicks;
|
|
30
|
+
}
|
|
31
|
+
checkPoolInitialized(poolState) {
|
|
32
|
+
const { sqrtPriceX96 } = poolState.slot0;
|
|
33
|
+
(0, utils_1._require)(sqrtPriceX96 !== 0n, '', { sqrtPriceX96 }, `Pool ${poolState.id} is not initialized`);
|
|
34
|
+
}
|
|
35
|
+
getFeeGrowthInside(poolState, tickLower, tickUpper) {
|
|
36
|
+
let lower = poolState.ticks[tickLower.toString()];
|
|
37
|
+
let upper = poolState.ticks[tickUpper.toString()];
|
|
38
|
+
const tickCurrent = BigInt(poolState.slot0?.tick);
|
|
39
|
+
let feeGrowthInside0X128;
|
|
40
|
+
let feeGrowthInside1X128;
|
|
41
|
+
if (tickCurrent < tickLower) {
|
|
42
|
+
feeGrowthInside0X128 =
|
|
43
|
+
lower.feeGrowthOutside0X128 - upper.feeGrowthOutside0X128;
|
|
44
|
+
feeGrowthInside1X128 =
|
|
45
|
+
lower.feeGrowthOutside1X128 - upper.feeGrowthOutside1X128;
|
|
46
|
+
}
|
|
47
|
+
else if (tickCurrent >= tickUpper) {
|
|
48
|
+
feeGrowthInside0X128 =
|
|
49
|
+
upper.feeGrowthOutside0X128 - lower.feeGrowthOutside0X128;
|
|
50
|
+
feeGrowthInside1X128 =
|
|
51
|
+
upper.feeGrowthOutside1X128 - lower.feeGrowthOutside1X128;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
feeGrowthInside0X128 =
|
|
55
|
+
BigInt(poolState.feeGrowthGlobal0X128) -
|
|
56
|
+
BigInt(lower.feeGrowthOutside0X128) -
|
|
57
|
+
BigInt(upper.feeGrowthOutside0X128);
|
|
58
|
+
feeGrowthInside1X128 =
|
|
59
|
+
BigInt(poolState.feeGrowthGlobal1X128) -
|
|
60
|
+
BigInt(lower.feeGrowthOutside1X128) -
|
|
61
|
+
BigInt(upper.feeGrowthOutside1X128);
|
|
62
|
+
}
|
|
63
|
+
return { feeGrowthInside0X128, feeGrowthInside1X128 };
|
|
64
|
+
}
|
|
65
|
+
modifyLiquidity(poolState, { liquidityDelta, tickLower, tickUpper, tickSpacing, salt, owner, }) {
|
|
66
|
+
Tick_1.Tick.check(tickLower, tickUpper);
|
|
67
|
+
let flippedLower = false;
|
|
68
|
+
let flippedUpper = false;
|
|
69
|
+
if (liquidityDelta !== 0n) {
|
|
70
|
+
const { flipped: flippedLowerVal, liquidityGrossAfter: liquidityGrossAfterLower, } = Tick_1.Tick.update(poolState, tickLower, liquidityDelta, false);
|
|
71
|
+
flippedLower = flippedLowerVal;
|
|
72
|
+
const { flipped: flippedUpperVal, liquidityGrossAfter: liquidityGrossAfterUpper, } = Tick_1.Tick.update(poolState, tickUpper, liquidityDelta, true);
|
|
73
|
+
flippedUpper = flippedUpperVal;
|
|
74
|
+
if (liquidityDelta >= 0n) {
|
|
75
|
+
const maxLiquidityPerTick = this.tickSpacingToMaxLiquidityPerTick(BigInt(tickSpacing));
|
|
76
|
+
(0, utils_1._require)(liquidityGrossAfterLower < maxLiquidityPerTick, '', { liquidityGrossAfterLower, maxLiquidityPerTick }, 'liquidityGrossAfterLower < maxLiquidityPerTick');
|
|
77
|
+
(0, utils_1._require)(liquidityGrossAfterUpper < maxLiquidityPerTick, '', { liquidityGrossAfterUpper, maxLiquidityPerTick }, 'liquidityGrossAfterUpper < maxLiquidityPerTick');
|
|
78
|
+
}
|
|
79
|
+
if (flippedLower) {
|
|
80
|
+
TickBitmap_1.TickBitmap.flipTick(poolState, tickLower, BigInt(poolState.tickSpacing));
|
|
81
|
+
}
|
|
82
|
+
if (flippedUpper) {
|
|
83
|
+
TickBitmap_1.TickBitmap.flipTick(poolState, tickUpper, BigInt(poolState.tickSpacing));
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
const { feeGrowthInside0X128, feeGrowthInside1X128 } = this.getFeeGrowthInside(poolState, tickLower, tickUpper);
|
|
87
|
+
const { feesOwed0, feesOwed1 } = Position_1.Position.update(poolState, owner, tickLower, tickUpper, salt, liquidityDelta, feeGrowthInside0X128, feeGrowthInside1X128);
|
|
88
|
+
const feeDelta = (0, BalanceDelta_1.toBalanceDelta)(feesOwed0, feesOwed1);
|
|
89
|
+
if (liquidityDelta < 0n) {
|
|
90
|
+
if (flippedLower) {
|
|
91
|
+
Tick_1.Tick.clear(poolState, tickLower);
|
|
92
|
+
}
|
|
93
|
+
if (flippedUpper) {
|
|
94
|
+
Tick_1.Tick.clear(poolState, tickUpper);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (liquidityDelta !== 0n) {
|
|
98
|
+
const slot0 = poolState.slot0;
|
|
99
|
+
const { tick, sqrtPriceX96 } = slot0;
|
|
100
|
+
let delta;
|
|
101
|
+
if (BigInt(tick) < tickLower) {
|
|
102
|
+
delta = (0, BalanceDelta_1.toBalanceDelta)(SqrtPriceMath_1.SqrtPriceMath.getAmount0Delta(TickMath_1.TickMath.getSqrtPriceAtTick(tickLower), TickMath_1.TickMath.getSqrtPriceAtTick(tickUpper), liquidityDelta, false), 0n);
|
|
103
|
+
}
|
|
104
|
+
else if (BigInt(tick) < tickUpper) {
|
|
105
|
+
delta = (0, BalanceDelta_1.toBalanceDelta)(SqrtPriceMath_1.SqrtPriceMath.getAmount0Delta(sqrtPriceX96, TickMath_1.TickMath.getSqrtPriceAtTick(tickUpper), liquidityDelta, false), SqrtPriceMath_1.SqrtPriceMath.getAmount1Delta(TickMath_1.TickMath.getSqrtPriceAtTick(tickLower), sqrtPriceX96, liquidityDelta, false));
|
|
106
|
+
poolState.liquidity = LiquidityMath_1.LiquidityMath.addDelta(poolState.liquidity, liquidityDelta);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
delta = (0, BalanceDelta_1.toBalanceDelta)(0n, SqrtPriceMath_1.SqrtPriceMath.getAmount1Delta(TickMath_1.TickMath.getSqrtPriceAtTick(tickLower), TickMath_1.TickMath.getSqrtPriceAtTick(tickUpper), liquidityDelta, false));
|
|
110
|
+
}
|
|
111
|
+
return { delta, feeDelta };
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
setProtocolFee(poolState, protocolFee) {
|
|
115
|
+
poolState.slot0.lpFee = protocolFee;
|
|
116
|
+
}
|
|
117
|
+
donate(poolState, amount0, amount1) {
|
|
118
|
+
const liquidity = poolState.liquidity;
|
|
119
|
+
(0, utils_1._require)(liquidity !== 0n, '', { liquidity }, 'liquidity !== 0n');
|
|
120
|
+
const delta = (0, BalanceDelta_1.toBalanceDelta)(-amount0, -amount1);
|
|
121
|
+
if (amount0 > 0n) {
|
|
122
|
+
poolState.feeGrowthGlobal0X128 += UnsafeMath_1.UnsafeMath.simpleMulDiv(amount0, FixedPoint128_1.FixedPoint128.Q128, liquidity);
|
|
123
|
+
}
|
|
124
|
+
if (amount1 > 0n) {
|
|
125
|
+
poolState.feeGrowthGlobal1X128 += UnsafeMath_1.UnsafeMath.simpleMulDiv(amount1, FixedPoint128_1.FixedPoint128.Q128, liquidity);
|
|
126
|
+
}
|
|
127
|
+
return delta;
|
|
128
|
+
}
|
|
129
|
+
swapFromEvent(poolState, zeroForOne, newSqrtPriceX96, newTick, newLiquidity, newSwapFee) {
|
|
130
|
+
const slot0Start = poolState.slot0;
|
|
131
|
+
// let result = {};
|
|
132
|
+
const protocolFee = zeroForOne
|
|
133
|
+
? ProtocolFeeLibrary_1.ProtocolFeeLibrary.getZeroForOneFee(slot0Start.protocolFee)
|
|
134
|
+
: ProtocolFeeLibrary_1.ProtocolFeeLibrary.getOneForZeroFee(slot0Start.protocolFee);
|
|
135
|
+
// console.log('CUR POOL STATE Slot0 TICK: ', poolState.slot0.tick);
|
|
136
|
+
// console.log('NEW TICK: ', newTick);
|
|
137
|
+
//
|
|
138
|
+
// console.log('newSqrtPriceX96: ', newSqrtPriceX96);
|
|
139
|
+
// console.log('newLiquidity: ', newLiquidity);
|
|
140
|
+
let amountSpecifiedRemaining = bigint_constants_1.BI_MAX_INT;
|
|
141
|
+
const lpFee = slot0Start.lpFee;
|
|
142
|
+
const swapFee = protocolFee === 0
|
|
143
|
+
? lpFee
|
|
144
|
+
: ProtocolFeeLibrary_1.ProtocolFeeLibrary.calculateSwapFee(protocolFee, lpFee);
|
|
145
|
+
let step = {};
|
|
146
|
+
step.feeGrowthGlobalX128 = zeroForOne
|
|
147
|
+
? poolState.feeGrowthGlobal0X128
|
|
148
|
+
: poolState.feeGrowthGlobal1X128;
|
|
149
|
+
while (BigInt(poolState.slot0.tick) !== newTick &&
|
|
150
|
+
poolState.slot0.sqrtPriceX96 !== newSqrtPriceX96) {
|
|
151
|
+
// console.log('CUR TICK: ', poolState.slot0.tick);
|
|
152
|
+
step.sqrtPriceStartX96 = poolState.slot0.sqrtPriceX96;
|
|
153
|
+
const [next, initialized] = TickBitmap_1.TickBitmap.nextInitializedTickWithinOneWord(poolState, BigInt(poolState.slot0.tick), BigInt(poolState.tickSpacing), zeroForOne);
|
|
154
|
+
// console.log('NEXT TICK: ', next);
|
|
155
|
+
// console.log('initialized: ', initialized);
|
|
156
|
+
step.tickNext = next;
|
|
157
|
+
step.initialized = initialized;
|
|
158
|
+
if (step.tickNext <= TickMath_1.TickMath.MIN_TICK) {
|
|
159
|
+
step.tickNext = TickMath_1.TickMath.MIN_TICK;
|
|
160
|
+
}
|
|
161
|
+
if (step.tickNext >= TickMath_1.TickMath.MAX_TICK) {
|
|
162
|
+
step.tickNext = TickMath_1.TickMath.MAX_TICK;
|
|
163
|
+
}
|
|
164
|
+
const sqrt = TickMath_1.TickMath.getSqrtPriceAtTick(step.tickNext);
|
|
165
|
+
// console.log('sqrtPriceNextX96: ', sqrt);
|
|
166
|
+
step.sqrtPriceNextX96 = sqrt;
|
|
167
|
+
const { sqrtPriceNextX96: resultSqrtPriceNextX96, amountIn: stepAmountIn, amountOut: stepAmountOut, feeAmount: stepFeeAmount, } = SwapMath_1.SwapMath.computeSwapStep(poolState.slot0.sqrtPriceX96, SwapMath_1.SwapMath.getSqrtPriceTarget(zeroForOne, step.sqrtPriceNextX96, poolState.slot0.sqrtPriceX96), poolState.liquidity, amountSpecifiedRemaining, BigInt(swapFee));
|
|
168
|
+
// console.log('resultSqrtPriceNextX96: ', resultSqrtPriceNextX96);
|
|
169
|
+
poolState.slot0.sqrtPriceX96 = resultSqrtPriceNextX96;
|
|
170
|
+
step.amountIn = stepAmountIn;
|
|
171
|
+
step.amountOut = stepAmountOut;
|
|
172
|
+
step.feeAmount = stepFeeAmount;
|
|
173
|
+
//
|
|
174
|
+
// if (params.amountSpecified > 0n) {
|
|
175
|
+
// amountSpecifiedRemaining -= step.amountOut;
|
|
176
|
+
// // amountCalculated -= step.amountIn + step.feeAmount;
|
|
177
|
+
// } else {
|
|
178
|
+
// amountSpecifiedRemaining += step.amountIn + step.feeAmount;
|
|
179
|
+
// // amountCalculated += step.amountOut;
|
|
180
|
+
// }
|
|
181
|
+
if (protocolFee > 0) {
|
|
182
|
+
const delta = swapFee === protocolFee
|
|
183
|
+
? step.feeAmount
|
|
184
|
+
: ((step.amountIn + step.feeAmount) * BigInt(protocolFee)) /
|
|
185
|
+
BigInt(ProtocolFeeLibrary_1.ProtocolFeeLibrary.PIPS_DENOMINATOR);
|
|
186
|
+
step.feeAmount -= delta;
|
|
187
|
+
}
|
|
188
|
+
if (poolState.liquidity > 0) {
|
|
189
|
+
step.feeGrowthGlobalX128 += UnsafeMath_1.UnsafeMath.simpleMulDiv(step.feeAmount, FixedPoint128_1.FixedPoint128.Q128, newLiquidity);
|
|
190
|
+
}
|
|
191
|
+
if (poolState.slot0.sqrtPriceX96 === step.sqrtPriceNextX96) {
|
|
192
|
+
if (step.initialized) {
|
|
193
|
+
const [feeGrowthGlobal0X128, feeGrowthGlobal1X128] = zeroForOne
|
|
194
|
+
? [step.feeGrowthGlobalX128, poolState.feeGrowthGlobal1X128]
|
|
195
|
+
: [poolState.feeGrowthGlobal0X128, poolState.feeGrowthGlobal1X128];
|
|
196
|
+
let liquidityNet = Tick_1.Tick.cross(poolState, step.tickNext, feeGrowthGlobal0X128, feeGrowthGlobal1X128);
|
|
197
|
+
if (zeroForOne) {
|
|
198
|
+
liquidityNet = -liquidityNet;
|
|
199
|
+
}
|
|
200
|
+
poolState.liquidity = LiquidityMath_1.LiquidityMath.addDelta(poolState.liquidity, liquidityNet);
|
|
201
|
+
}
|
|
202
|
+
poolState.slot0.tick = Number(zeroForOne ? step.tickNext - 1n : step.tickNext);
|
|
203
|
+
}
|
|
204
|
+
else if (poolState.slot0.sqrtPriceX96 !== step.sqrtPriceStartX96) {
|
|
205
|
+
poolState.slot0.tick = Number(TickMath_1.TickMath.getTickAtSqrtPrice(poolState.slot0.sqrtPriceX96));
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
poolState.slot0.tick = Number(newTick);
|
|
209
|
+
poolState.slot0.sqrtPriceX96 = newSqrtPriceX96;
|
|
210
|
+
if (poolState.liquidity !== newLiquidity) {
|
|
211
|
+
poolState.liquidity = newLiquidity;
|
|
212
|
+
}
|
|
213
|
+
if (!zeroForOne) {
|
|
214
|
+
poolState.feeGrowthGlobal1X128 = step.feeGrowthGlobalX128;
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
poolState.feeGrowthGlobal0X128 = step.feeGrowthGlobalX128;
|
|
218
|
+
}
|
|
219
|
+
//
|
|
220
|
+
// let swapDelta: bigint;
|
|
221
|
+
// if (zeroForOne !== params.amountSpecified < 0) {
|
|
222
|
+
// swapDelta = toBalanceDelta(
|
|
223
|
+
// amountCalculated,
|
|
224
|
+
// params.amountSpecified - amountSpecifiedRemaining,
|
|
225
|
+
// );
|
|
226
|
+
// } else {
|
|
227
|
+
// swapDelta = toBalanceDelta(
|
|
228
|
+
// params.amountSpecified - amountSpecifiedRemaining,
|
|
229
|
+
// amountCalculated,
|
|
230
|
+
// );
|
|
231
|
+
// }
|
|
232
|
+
// return { swapDelta, result, amountToProtocol };
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
exports.uniswapV4PoolMath = new UniswapV4PoolMath();
|
|
236
|
+
//# sourceMappingURL=uniswap-v4-pool-math.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uniswap-v4-pool-math.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/uniswap-v4-pool-math.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._mulmod = _mulmod;
|
|
4
|
+
exports._lt = _lt;
|
|
5
|
+
exports._gt = _gt;
|
|
6
|
+
function _mulmod(x, y, m) {
|
|
7
|
+
return m === 0n ? 0n : (x * y) % m;
|
|
8
|
+
}
|
|
9
|
+
function _lt(x, y) {
|
|
10
|
+
return x < y ? 1n : 0n;
|
|
11
|
+
}
|
|
12
|
+
function _gt(x, y) {
|
|
13
|
+
return x > y ? 1n : 0n;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/utils.ts"],"names":[],"mappings":";;AAAA,0BAEC;AAED,kBAEC;AAED,kBAEC;AAVD,SAAgB,OAAO,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IACrD,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,GAAG,CAAC,CAAS,EAAE,CAAS;IACtC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACzB,CAAC;AAED,SAAgB,GAAG,CAAC,CAAS,EAAE,CAAS;IACtC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACzB,CAAC"}
|
|
@@ -8,6 +8,8 @@ exports.swapExactInputSingleCalldata = swapExactInputSingleCalldata;
|
|
|
8
8
|
const ethers_1 = require("ethers");
|
|
9
9
|
const router_abi_json_1 = __importDefault(require("../../abi/uniswap-v4/router.abi.json"));
|
|
10
10
|
const abi_1 = require("@ethersproject/abi");
|
|
11
|
+
const utils_1 = require("../../utils");
|
|
12
|
+
const constants_1 = require("../../constants");
|
|
11
13
|
const routerIface = new abi_1.Interface(router_abi_json_1.default);
|
|
12
14
|
var Commands;
|
|
13
15
|
(function (Commands) {
|
|
@@ -80,11 +82,19 @@ function swapExactInputSingleCalldata(srcToken, destToken, poolKey, zeroForOne,
|
|
|
80
82
|
// encode SETTLE
|
|
81
83
|
const settle = ethers_1.ethers.utils.defaultAbiCoder.encode(['address', 'uint256', 'bool'],
|
|
82
84
|
// srcToken, amountIn (`OPEN_DELTA` to settle all needed funds), takeFundsFromMsgSender (Executor in our case)
|
|
83
|
-
[
|
|
85
|
+
[
|
|
86
|
+
(0, utils_1.isETHAddress)(srcToken) ? constants_1.NULL_ADDRESS : srcToken,
|
|
87
|
+
ActionConstants.OPEN_DELTA,
|
|
88
|
+
true,
|
|
89
|
+
]);
|
|
84
90
|
// encode TAKE
|
|
85
91
|
const take = ethers_1.ethers.utils.defaultAbiCoder.encode(['address', 'address', 'uint256'],
|
|
86
92
|
// destToken, recipient, amountOut (`OPEN_DELTA` to take all funds)
|
|
87
|
-
[
|
|
93
|
+
[
|
|
94
|
+
(0, utils_1.isETHAddress)(destToken) ? constants_1.NULL_ADDRESS : destToken,
|
|
95
|
+
recipient,
|
|
96
|
+
ActionConstants.OPEN_DELTA,
|
|
97
|
+
]);
|
|
88
98
|
const input = ethers_1.ethers.utils.defaultAbiCoder.encode(['bytes', 'bytes[]'], [actions, [swap, settle, take]]);
|
|
89
99
|
return routerIface.encodeFunctionData('execute(bytes,bytes[])', [
|
|
90
100
|
command,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v4/encoder.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v4/encoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SubgraphPool, Tick } from './types';
|
|
2
|
+
import { IDexHelper } from '../../dex-helper';
|
|
3
|
+
import { Logger } from 'log4js';
|
|
4
|
+
export declare function queryTicksForPool(dexHelper: IDexHelper, subgraphUrl: string, blockNumber: number, id: string): Promise<Tick[]>;
|
|
5
|
+
export declare function queryOnePageForAllAvailablePoolsFromSubgraph(dexHelper: IDexHelper, logger: Logger, dexKey: string, subgraphUrl: string, blockNumber: number, skip: number, limit: number, latestBlock?: boolean): Promise<SubgraphPool[]>;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.queryTicksForPool = queryTicksForPool;
|
|
4
|
+
exports.queryOnePageForAllAvailablePoolsFromSubgraph = queryOnePageForAllAvailablePoolsFromSubgraph;
|
|
5
|
+
const constants_1 = require("./constants");
|
|
6
|
+
async function queryTicksForPool(dexHelper, subgraphUrl, blockNumber, id) {
|
|
7
|
+
const ticksLimit = 300;
|
|
8
|
+
const poolQuery = `query {
|
|
9
|
+
pools(
|
|
10
|
+
block: { number: ${blockNumber} },
|
|
11
|
+
where: {id: "${id}"}
|
|
12
|
+
) {
|
|
13
|
+
ticks(first: ${ticksLimit}) {
|
|
14
|
+
id
|
|
15
|
+
liquidityGross
|
|
16
|
+
liquidityNet
|
|
17
|
+
tickIdx
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}`;
|
|
21
|
+
const { data } = await dexHelper.httpRequest.querySubgraph(subgraphUrl, {
|
|
22
|
+
query: poolQuery,
|
|
23
|
+
variables: {},
|
|
24
|
+
}, { timeout: constants_1.SUBGRAPH_TIMEOUT });
|
|
25
|
+
return data.pools[0]?.ticks || [];
|
|
26
|
+
}
|
|
27
|
+
async function queryOnePageForAllAvailablePoolsFromSubgraph(dexHelper, logger, dexKey, subgraphUrl, blockNumber, skip, limit, latestBlock = false) {
|
|
28
|
+
const ticksLimit = 300;
|
|
29
|
+
const poolsQuery = `query ($skip: Int!) {
|
|
30
|
+
pools(
|
|
31
|
+
${latestBlock ? '' : `block: { number: ${blockNumber} }`}
|
|
32
|
+
orderBy: volumeUSD
|
|
33
|
+
orderDirection: desc
|
|
34
|
+
skip: $skip
|
|
35
|
+
first: ${limit}
|
|
36
|
+
) {
|
|
37
|
+
id
|
|
38
|
+
fee: feeTier
|
|
39
|
+
tickSpacing
|
|
40
|
+
token0 {
|
|
41
|
+
address: id
|
|
42
|
+
}
|
|
43
|
+
token1 {
|
|
44
|
+
address: id
|
|
45
|
+
}
|
|
46
|
+
hooks
|
|
47
|
+
tick
|
|
48
|
+
ticks(first: ${ticksLimit}) {
|
|
49
|
+
id
|
|
50
|
+
liquidityGross
|
|
51
|
+
liquidityNet
|
|
52
|
+
tickIdx
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}`;
|
|
56
|
+
// console.log('poolsQuery: ', poolsQuery);
|
|
57
|
+
const res = await dexHelper.httpRequest.querySubgraph(subgraphUrl, {
|
|
58
|
+
query: poolsQuery,
|
|
59
|
+
variables: { skip: skip },
|
|
60
|
+
}, { timeout: constants_1.SUBGRAPH_TIMEOUT });
|
|
61
|
+
if (res.errors &&
|
|
62
|
+
res.errors.length &&
|
|
63
|
+
res.errors[0].message.includes('missing block')) {
|
|
64
|
+
logger.info(`${dexKey}: subgraph fallback to the latest block...`);
|
|
65
|
+
return queryOnePageForAllAvailablePoolsFromSubgraph(dexHelper, logger, dexKey, subgraphUrl, blockNumber, skip, limit, true);
|
|
66
|
+
}
|
|
67
|
+
return res.data.pools;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=subgraph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subgraph.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v4/subgraph.ts"],"names":[],"mappings":";;AAKA,8CAoCC;AAED,oGA2EC;AArHD,2CAA+C;AAIxC,KAAK,UAAU,iBAAiB,CACrC,SAAqB,EACrB,WAAmB,EACnB,WAAmB,EACnB,EAAU;IAEV,MAAM,UAAU,GAAG,GAAG,CAAC;IAEvB,MAAM,SAAS,GAAG;;2BAEO,WAAW;uBACf,EAAE;;uBAEF,UAAU;;;;;;;IAO7B,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,aAAa,CAKxD,WAAW,EACX;QACE,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,EAAE;KACd,EACD,EAAE,OAAO,EAAE,4BAAgB,EAAE,CAC9B,CAAC;IAEF,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;AACpC,CAAC;AAEM,KAAK,UAAU,4CAA4C,CAChE,SAAqB,EACrB,MAAc,EACd,MAAc,EACd,WAAmB,EACnB,WAAmB,EACnB,IAAY,EACZ,KAAa,EACb,WAAW,GAAG,KAAK;IAEnB,MAAM,UAAU,GAAG,GAAG,CAAC;IAEvB,MAAM,UAAU,GAAG;;UAEX,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,WAAW,IAAI;;;;iBAI/C,KAAK;;;;;;;;;;;;;uBAaC,UAAU;;;;;;;MAO3B,CAAC;IAEL,2CAA2C;IAE3C,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,aAAa,CAMnD,WAAW,EACX;QACE,KAAK,EAAE,UAAU;QACjB,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;KAC1B,EACD,EAAE,OAAO,EAAE,4BAAgB,EAAE,CAC9B,CAAC;IAEF,IACE,GAAG,CAAC,MAAM;QACV,GAAG,CAAC,MAAM,CAAC,MAAM;QACjB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAC/C,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,4CAA4C,CAAC,CAAC;QACnE,OAAO,4CAA4C,CACjD,SAAS,EACT,MAAM,EACN,MAAM,EACN,WAAW,EACX,WAAW,EACX,IAAI,EACJ,KAAK,EACL,IAAI,CACL,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AACxB,CAAC"}
|