@paraswap/dex-lib 4.1.20 → 4.1.21
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/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/pancakeswap-v3/config.js +1 -1
- package/build/dex/pancakeswap-v3/config.js.map +1 -1
- package/build/dex/uniswap-v3/config.js +2 -2
- package/build/dex/uniswap-v3/config.js.map +1 -1
- 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 +1 -1
- 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/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-api.test.ts +0 -122
- package/src/dex/balancer-v3/balancer-buffer.test.ts +0 -75
- package/src/dex/balancer-v3/balancer-gyroECLP.test.ts +0 -76
- package/src/dex/balancer-v3/balancer-hooks-events.test.ts +0 -166
- package/src/dex/balancer-v3/balancer-stableSurge.test.ts +0 -112
- package/src/dex/balancer-v3/balancer-test-helpers.ts +0 -251
- package/src/dex/balancer-v3/balancer-test-weighted.test.ts +0 -96
- package/src/dex/balancer-v3/balancer-v3-e2e.test.ts +0 -476
- package/src/dex/balancer-v3/balancer-v3-events.test.ts +0 -457
- 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 -796
- package/src/dex/balancer-v3/balancer-v3.ts +0 -665
- package/src/dex/balancer-v3/config.ts +0 -100
- package/src/dex/balancer-v3/getGasCost.ts +0 -40
- package/src/dex/balancer-v3/getOnChainState.ts +0 -486
- package/src/dex/balancer-v3/getPoolsApi.ts +0 -191
- package/src/dex/balancer-v3/getTopPoolsApi.ts +0 -130
- package/src/dex/balancer-v3/gyroECLPPool.ts +0 -17
- package/src/dex/balancer-v3/hooks/balancer-hook-event-subscriber.ts +0 -212
- package/src/dex/balancer-v3/hooks/directionalFeeHook.ts +0 -53
- package/src/dex/balancer-v3/hooks/loadHooksConfig.ts +0 -12
- package/src/dex/balancer-v3/hooks/stableSurgeHook.ts +0 -200
- 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 -93
- package/src/dex/balancer-v3/utils.ts +0 -11
- 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 -1122
- 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 -2734
- package/src/dex/uniswap-v3/uniswap-v3-pool.ts +0 -564
- package/src/dex/uniswap-v3/uniswap-v3.ts +0 -1493
- 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 -357
- package/src/utils.ts +0 -410
- package/tests/constants-e2e.ts +0 -2230
- 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 -738
- 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
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
import { BI_POWS } from '../../../../bigint-constants';
|
|
2
|
-
import { MathSol } from '../../balancer-v2-math';
|
|
3
|
-
|
|
4
|
-
export class StableMath {
|
|
5
|
-
static _AMP_PRECISION = BI_POWS[3];
|
|
6
|
-
|
|
7
|
-
static _calculateInvariant(
|
|
8
|
-
amplificationParameter: bigint,
|
|
9
|
-
balances: bigint[],
|
|
10
|
-
roundUp: boolean,
|
|
11
|
-
): bigint {
|
|
12
|
-
/**********************************************************************************************
|
|
13
|
-
// invariant //
|
|
14
|
-
// D = invariant D^(n+1) //
|
|
15
|
-
// A = amplification coefficient A n^n S + D = A D n^n + ----------- //
|
|
16
|
-
// S = sum of balances n^n P //
|
|
17
|
-
// P = product of balances //
|
|
18
|
-
// n = number of tokens //
|
|
19
|
-
*********x************************************************************************************/
|
|
20
|
-
|
|
21
|
-
// We support rounding up or down.
|
|
22
|
-
let sum = 0n;
|
|
23
|
-
const numTokens = balances.length;
|
|
24
|
-
for (let i = 0; i < numTokens; i++) {
|
|
25
|
-
sum = sum + balances[i];
|
|
26
|
-
}
|
|
27
|
-
if (sum == 0n) {
|
|
28
|
-
return 0n;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
let prevInvariant = 0n;
|
|
32
|
-
let invariant = sum;
|
|
33
|
-
const ampTimesTotal = amplificationParameter * BigInt(numTokens);
|
|
34
|
-
|
|
35
|
-
for (let i = 0; i < 255; i++) {
|
|
36
|
-
let P_D = balances[0] * BigInt(numTokens);
|
|
37
|
-
for (let j = 1; j < numTokens; j++) {
|
|
38
|
-
P_D = MathSol.div(
|
|
39
|
-
MathSol.mul(MathSol.mul(P_D, balances[j]), BigInt(numTokens)),
|
|
40
|
-
invariant,
|
|
41
|
-
roundUp,
|
|
42
|
-
);
|
|
43
|
-
}
|
|
44
|
-
prevInvariant = invariant;
|
|
45
|
-
invariant = MathSol.div(
|
|
46
|
-
MathSol.mul(MathSol.mul(BigInt(numTokens), invariant), invariant) +
|
|
47
|
-
MathSol.div(
|
|
48
|
-
MathSol.mul(MathSol.mul(ampTimesTotal, sum), P_D),
|
|
49
|
-
this._AMP_PRECISION,
|
|
50
|
-
roundUp,
|
|
51
|
-
),
|
|
52
|
-
MathSol.mul(BigInt(numTokens + 1), invariant) +
|
|
53
|
-
// No need to use checked arithmetic for the amp precision, the amp is guaranteed to be at least 1
|
|
54
|
-
MathSol.div(
|
|
55
|
-
MathSol.mul(ampTimesTotal - this._AMP_PRECISION, P_D),
|
|
56
|
-
this._AMP_PRECISION,
|
|
57
|
-
!roundUp,
|
|
58
|
-
),
|
|
59
|
-
roundUp,
|
|
60
|
-
);
|
|
61
|
-
|
|
62
|
-
if (invariant > prevInvariant) {
|
|
63
|
-
if (invariant - prevInvariant <= 1) {
|
|
64
|
-
return invariant;
|
|
65
|
-
}
|
|
66
|
-
} else if (prevInvariant - invariant <= 1) {
|
|
67
|
-
return invariant;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
throw new Error('Errors.STABLE_INVARIANT_DIDNT_CONVERGE');
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
static _calcInGivenOut(
|
|
75
|
-
amplificationParameter: bigint,
|
|
76
|
-
balances: bigint[],
|
|
77
|
-
tokenIndexIn: number,
|
|
78
|
-
tokenIndexOut: number,
|
|
79
|
-
tokenAmountsOut: bigint[],
|
|
80
|
-
): bigint[] {
|
|
81
|
-
const invariant = this._calculateInvariant(
|
|
82
|
-
amplificationParameter,
|
|
83
|
-
balances,
|
|
84
|
-
false,
|
|
85
|
-
);
|
|
86
|
-
|
|
87
|
-
return tokenAmountsOut.map(a => {
|
|
88
|
-
balances[tokenIndexOut] = MathSol.sub(balances[tokenIndexOut], a);
|
|
89
|
-
|
|
90
|
-
const finalBalanceIn =
|
|
91
|
-
this._getTokenBalanceGivenInvariantAndAllOtherBalances(
|
|
92
|
-
amplificationParameter,
|
|
93
|
-
balances,
|
|
94
|
-
invariant,
|
|
95
|
-
tokenIndexIn,
|
|
96
|
-
);
|
|
97
|
-
|
|
98
|
-
return MathSol.add(
|
|
99
|
-
MathSol.sub(finalBalanceIn, balances[tokenIndexIn]),
|
|
100
|
-
1n,
|
|
101
|
-
);
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
static _calcOutGivenIn(
|
|
106
|
-
amplificationParameter: bigint,
|
|
107
|
-
balances: bigint[],
|
|
108
|
-
tokenIndexIn: number,
|
|
109
|
-
tokenIndexOut: number,
|
|
110
|
-
tokenAmountsIn: bigint[],
|
|
111
|
-
): bigint[] {
|
|
112
|
-
// Amount out, so we round down overall.
|
|
113
|
-
|
|
114
|
-
// Given that we need to have a greater final balance out, the invariant needs to be rounded up
|
|
115
|
-
const invariant = this._calculateInvariant(
|
|
116
|
-
amplificationParameter,
|
|
117
|
-
balances,
|
|
118
|
-
true,
|
|
119
|
-
);
|
|
120
|
-
|
|
121
|
-
const initBalance = balances[tokenIndexIn];
|
|
122
|
-
// Modification: The original code was implemented for a single tokenAmountsIn
|
|
123
|
-
return tokenAmountsIn.map(a => {
|
|
124
|
-
balances[tokenIndexIn] = initBalance + a;
|
|
125
|
-
|
|
126
|
-
const finalBalanceOut =
|
|
127
|
-
this._getTokenBalanceGivenInvariantAndAllOtherBalances(
|
|
128
|
-
amplificationParameter,
|
|
129
|
-
balances,
|
|
130
|
-
invariant,
|
|
131
|
-
tokenIndexOut,
|
|
132
|
-
);
|
|
133
|
-
|
|
134
|
-
// No need to use checked arithmetic since `tokenAmountIn` was actually added to the same balance right before
|
|
135
|
-
// calling `_getTokenBalanceGivenInvariantAndAllOtherBalances` which doesn't alter the balances array.
|
|
136
|
-
// balances[tokenIndexIn] = balances[tokenIndexIn] - tokenAmountIn;
|
|
137
|
-
return balances[tokenIndexOut] - finalBalanceOut - 1n;
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
static _getTokenBalanceGivenInvariantAndAllOtherBalances(
|
|
142
|
-
amplificationParameter: bigint,
|
|
143
|
-
balances: bigint[],
|
|
144
|
-
invariant: bigint,
|
|
145
|
-
tokenIndex: number,
|
|
146
|
-
): bigint {
|
|
147
|
-
// Rounds result up overall
|
|
148
|
-
|
|
149
|
-
const ampTimesTotal = amplificationParameter * BigInt(balances.length);
|
|
150
|
-
let sum = balances[0];
|
|
151
|
-
let P_D = balances[0] * BigInt(balances.length);
|
|
152
|
-
for (let j = 1; j < balances.length; j++) {
|
|
153
|
-
P_D = MathSol.divDown(
|
|
154
|
-
MathSol.mul(MathSol.mul(P_D, balances[j]), BigInt(balances.length)),
|
|
155
|
-
invariant,
|
|
156
|
-
);
|
|
157
|
-
sum = sum + balances[j];
|
|
158
|
-
}
|
|
159
|
-
// No need to use safe math, based on the loop above `sum` is greater than or equal to `balances[tokenIndex]`
|
|
160
|
-
sum = sum - balances[tokenIndex];
|
|
161
|
-
|
|
162
|
-
const inv2 = MathSol.mul(invariant, invariant);
|
|
163
|
-
// We remove the balance fromm c by multiplying it
|
|
164
|
-
const c = MathSol.mul(
|
|
165
|
-
MathSol.mul(
|
|
166
|
-
MathSol.divUp(inv2, MathSol.mul(ampTimesTotal, P_D)),
|
|
167
|
-
this._AMP_PRECISION,
|
|
168
|
-
),
|
|
169
|
-
balances[tokenIndex],
|
|
170
|
-
);
|
|
171
|
-
const b =
|
|
172
|
-
sum +
|
|
173
|
-
MathSol.mul(
|
|
174
|
-
MathSol.divDown(invariant, ampTimesTotal),
|
|
175
|
-
this._AMP_PRECISION,
|
|
176
|
-
);
|
|
177
|
-
|
|
178
|
-
// We iterate to find the balance
|
|
179
|
-
let prevTokenBalance = 0n;
|
|
180
|
-
// We multiply the first iteration outside the loop with the invariant to set the value of the
|
|
181
|
-
// initial approximation.
|
|
182
|
-
let tokenBalance = MathSol.divUp(inv2 + c, invariant + b);
|
|
183
|
-
|
|
184
|
-
for (let i = 0; i < 255; i++) {
|
|
185
|
-
prevTokenBalance = tokenBalance;
|
|
186
|
-
|
|
187
|
-
tokenBalance = MathSol.divUp(
|
|
188
|
-
MathSol.mul(tokenBalance, tokenBalance) + c,
|
|
189
|
-
MathSol.mul(tokenBalance, 2n) + b - invariant,
|
|
190
|
-
);
|
|
191
|
-
|
|
192
|
-
if (tokenBalance > prevTokenBalance) {
|
|
193
|
-
if (tokenBalance - prevTokenBalance <= 1) {
|
|
194
|
-
return tokenBalance;
|
|
195
|
-
}
|
|
196
|
-
} else if (prevTokenBalance - tokenBalance <= 1) {
|
|
197
|
-
return tokenBalance;
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
throw new Error('Errors.STABLE_GET_BALANCE_DIDNT_CONVERGE');
|
|
202
|
-
}
|
|
203
|
-
}
|
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
import { Interface } from '@ethersproject/abi';
|
|
2
|
-
import StablePoolABI from '../../../../abi/balancer-v2/stable-pool.json';
|
|
3
|
-
import MetaStablePoolABI from '../../../../abi/balancer-v2/meta-stable-pool.json';
|
|
4
|
-
import { callData, PoolState, SubgraphPoolBase, TokenState } from '../../types';
|
|
5
|
-
import { decodeThrowError, getTokenScalingFactor } from '../../utils';
|
|
6
|
-
import { BigNumber } from '@ethersproject/bignumber';
|
|
7
|
-
import { SwapSide } from '../../../../constants';
|
|
8
|
-
import { BaseGeneralPool } from '../balancer-v2-pool';
|
|
9
|
-
import { StableMath } from './StableMath';
|
|
10
|
-
|
|
11
|
-
export type StablePoolPairData = {
|
|
12
|
-
balances: bigint[];
|
|
13
|
-
indexIn: number;
|
|
14
|
-
indexOut: number;
|
|
15
|
-
scalingFactors: bigint[];
|
|
16
|
-
swapFee: bigint;
|
|
17
|
-
amp: bigint;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export class StablePool extends BaseGeneralPool {
|
|
21
|
-
vaultAddress: string;
|
|
22
|
-
vaultInterface: Interface;
|
|
23
|
-
poolInterface: Interface;
|
|
24
|
-
metaPoolInterface: Interface;
|
|
25
|
-
|
|
26
|
-
constructor(vaultAddress: string, vaultInterface: Interface) {
|
|
27
|
-
super();
|
|
28
|
-
this.vaultAddress = vaultAddress;
|
|
29
|
-
this.vaultInterface = vaultInterface;
|
|
30
|
-
this.poolInterface = new Interface(StablePoolABI);
|
|
31
|
-
this.metaPoolInterface = new Interface(MetaStablePoolABI);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
_onSwapGivenOut(
|
|
35
|
-
tokenAmountsOut: bigint[],
|
|
36
|
-
balances: bigint[],
|
|
37
|
-
indexIn: number,
|
|
38
|
-
indexOut: number,
|
|
39
|
-
_amplificationParameter: bigint,
|
|
40
|
-
): bigint[] {
|
|
41
|
-
return StableMath._calcInGivenOut(
|
|
42
|
-
_amplificationParameter,
|
|
43
|
-
balances,
|
|
44
|
-
indexIn,
|
|
45
|
-
indexOut,
|
|
46
|
-
tokenAmountsOut,
|
|
47
|
-
);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
_onSwapGivenIn(
|
|
51
|
-
tokenAmountsIn: bigint[],
|
|
52
|
-
balances: bigint[],
|
|
53
|
-
indexIn: number,
|
|
54
|
-
indexOut: number,
|
|
55
|
-
_amplificationParameter: bigint,
|
|
56
|
-
): bigint[] {
|
|
57
|
-
return StableMath._calcOutGivenIn(
|
|
58
|
-
_amplificationParameter,
|
|
59
|
-
balances,
|
|
60
|
-
indexIn,
|
|
61
|
-
indexOut,
|
|
62
|
-
tokenAmountsIn,
|
|
63
|
-
);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/*
|
|
67
|
-
Helper function to parse pool data into params for onSell/onBuy functions.
|
|
68
|
-
*/
|
|
69
|
-
parsePoolPairData(
|
|
70
|
-
pool: SubgraphPoolBase,
|
|
71
|
-
poolState: PoolState,
|
|
72
|
-
tokenIn: string,
|
|
73
|
-
tokenOut: string,
|
|
74
|
-
): StablePoolPairData {
|
|
75
|
-
let indexIn = 0,
|
|
76
|
-
indexOut = 0;
|
|
77
|
-
|
|
78
|
-
const scalingFactors: bigint[] = [];
|
|
79
|
-
const balances = poolState.orderedTokens.map((tokenAddress, i) => {
|
|
80
|
-
const t =
|
|
81
|
-
pool.tokensMap[tokenAddress.toLowerCase()] ||
|
|
82
|
-
poolState.tokens[tokenAddress.toLowerCase()];
|
|
83
|
-
|
|
84
|
-
if (t.address.toLowerCase() === tokenIn.toLowerCase()) {
|
|
85
|
-
indexIn = i;
|
|
86
|
-
}
|
|
87
|
-
if (t.address.toLowerCase() === tokenOut.toLowerCase()) {
|
|
88
|
-
indexOut = i;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
if (pool.poolType === 'MetaStable') {
|
|
92
|
-
scalingFactors.push(
|
|
93
|
-
poolState.tokens[t.address.toLowerCase()].scalingFactor || 0n,
|
|
94
|
-
);
|
|
95
|
-
} else scalingFactors.push(getTokenScalingFactor(t.decimals));
|
|
96
|
-
return poolState.tokens[t.address.toLowerCase()].balance;
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
const poolPairData: StablePoolPairData = {
|
|
100
|
-
balances,
|
|
101
|
-
indexIn,
|
|
102
|
-
indexOut,
|
|
103
|
-
scalingFactors,
|
|
104
|
-
swapFee: poolState.swapFee,
|
|
105
|
-
amp: poolState.amp ? poolState.amp : 0n,
|
|
106
|
-
};
|
|
107
|
-
return poolPairData;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/*
|
|
111
|
-
Helper function to construct onchain multicall data for StablePool.
|
|
112
|
-
*/
|
|
113
|
-
getOnChainCalls(pool: SubgraphPoolBase): callData[] {
|
|
114
|
-
const poolCallData: callData[] = [
|
|
115
|
-
{
|
|
116
|
-
target: this.vaultAddress,
|
|
117
|
-
callData: this.vaultInterface.encodeFunctionData('getPoolTokens', [
|
|
118
|
-
pool.id,
|
|
119
|
-
]),
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
target: pool.address,
|
|
123
|
-
callData: this.poolInterface.encodeFunctionData('getSwapFeePercentage'),
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
target: pool.address,
|
|
127
|
-
callData: this.poolInterface.encodeFunctionData(
|
|
128
|
-
'getAmplificationParameter',
|
|
129
|
-
),
|
|
130
|
-
},
|
|
131
|
-
];
|
|
132
|
-
if (pool.poolType === 'MetaStable') {
|
|
133
|
-
poolCallData.push({
|
|
134
|
-
target: pool.address,
|
|
135
|
-
callData:
|
|
136
|
-
this.metaPoolInterface.encodeFunctionData('getScalingFactors'),
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
return poolCallData;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
/*
|
|
143
|
-
Helper function to decodes multicall data for a Stable Pool.
|
|
144
|
-
data must contain returnData
|
|
145
|
-
startIndex is where to start in returnData. Allows this decode function to be called along with other pool types.
|
|
146
|
-
*/
|
|
147
|
-
decodeOnChainCalls(
|
|
148
|
-
pool: SubgraphPoolBase,
|
|
149
|
-
data: { success: boolean; returnData: any }[],
|
|
150
|
-
startIndex: number,
|
|
151
|
-
): [{ [address: string]: PoolState }, number] {
|
|
152
|
-
const pools = {} as { [address: string]: PoolState };
|
|
153
|
-
|
|
154
|
-
const poolTokens = decodeThrowError(
|
|
155
|
-
this.vaultInterface,
|
|
156
|
-
'getPoolTokens',
|
|
157
|
-
data[startIndex++],
|
|
158
|
-
pool.address,
|
|
159
|
-
);
|
|
160
|
-
const swapFee = decodeThrowError(
|
|
161
|
-
this.poolInterface,
|
|
162
|
-
'getSwapFeePercentage',
|
|
163
|
-
data[startIndex++],
|
|
164
|
-
pool.address,
|
|
165
|
-
)[0];
|
|
166
|
-
const amp = decodeThrowError(
|
|
167
|
-
this.poolInterface,
|
|
168
|
-
'getAmplificationParameter',
|
|
169
|
-
data[startIndex++],
|
|
170
|
-
pool.address,
|
|
171
|
-
);
|
|
172
|
-
let scalingFactors: BigNumber[] | undefined;
|
|
173
|
-
if (pool.poolType === 'MetaStable') {
|
|
174
|
-
scalingFactors = decodeThrowError(
|
|
175
|
-
this.metaPoolInterface,
|
|
176
|
-
'getScalingFactors',
|
|
177
|
-
data[startIndex++],
|
|
178
|
-
pool.address,
|
|
179
|
-
)[0];
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
const poolState: PoolState = {
|
|
183
|
-
swapFee: BigInt(swapFee.toString()),
|
|
184
|
-
tokens: poolTokens.tokens.reduce(
|
|
185
|
-
(ptAcc: { [address: string]: TokenState }, pt: string, j: number) => {
|
|
186
|
-
const tokenState: TokenState = {
|
|
187
|
-
balance: BigInt(poolTokens.balances[j].toString()),
|
|
188
|
-
};
|
|
189
|
-
|
|
190
|
-
if (scalingFactors)
|
|
191
|
-
tokenState.scalingFactor = BigInt(scalingFactors[j].toString());
|
|
192
|
-
|
|
193
|
-
ptAcc[pt.toLowerCase()] = tokenState;
|
|
194
|
-
return ptAcc;
|
|
195
|
-
},
|
|
196
|
-
{},
|
|
197
|
-
),
|
|
198
|
-
orderedTokens: poolTokens.tokens,
|
|
199
|
-
};
|
|
200
|
-
|
|
201
|
-
if (amp) {
|
|
202
|
-
poolState.amp = BigInt(amp.value.toString());
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
pools[pool.address] = poolState;
|
|
206
|
-
|
|
207
|
-
return [pools, startIndex];
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
/*
|
|
211
|
-
For stable pools there is no Swap limit. As an approx - use almost the total balance of token out as we can add any amount of tokenIn and expect some back.
|
|
212
|
-
*/
|
|
213
|
-
getSwapMaxAmount(poolPairData: StablePoolPairData, side: SwapSide): bigint {
|
|
214
|
-
return (
|
|
215
|
-
(this._upscale(
|
|
216
|
-
poolPairData.balances[poolPairData.indexOut],
|
|
217
|
-
poolPairData.scalingFactors[poolPairData.indexOut],
|
|
218
|
-
) *
|
|
219
|
-
99n) /
|
|
220
|
-
100n
|
|
221
|
-
);
|
|
222
|
-
}
|
|
223
|
-
}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { MathSol } from '../../balancer-v2-math';
|
|
2
|
-
|
|
3
|
-
const _require = (b: boolean, message: string) => {
|
|
4
|
-
if (!b) throw new Error(message);
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
export class WeightedMath {
|
|
8
|
-
static _MAX_IN_RATIO = 300000000000000000n;
|
|
9
|
-
static _MAX_OUT_RATIO = 300000000000000000n;
|
|
10
|
-
|
|
11
|
-
static _calcInGivenOut(
|
|
12
|
-
balanceIn: bigint,
|
|
13
|
-
weightIn: bigint,
|
|
14
|
-
balanceOut: bigint,
|
|
15
|
-
weightOut: bigint,
|
|
16
|
-
amountsOut: bigint[],
|
|
17
|
-
): bigint[] {
|
|
18
|
-
/* https://docs.balancer.fi/reference/math/weighted-math.html#ingivenout */
|
|
19
|
-
/**********************************************************************************************
|
|
20
|
-
// outGivenOut //
|
|
21
|
-
// aI = amountIn //
|
|
22
|
-
// bI = balanceIn //
|
|
23
|
-
// bO = balanceOut / / bO \ (wO / wI) \ //
|
|
24
|
-
// aO = amountOut aI = bI * | | -------------------------- | ^ - 1 | //
|
|
25
|
-
// wI = weightIn \ \ ( bO - aO ) / / //
|
|
26
|
-
// wO = weightOut //
|
|
27
|
-
*********************************************************************************************/
|
|
28
|
-
const exponent = MathSol.divUpFixed(weightOut, weightIn);
|
|
29
|
-
return amountsOut.map(amountOut => {
|
|
30
|
-
_require(
|
|
31
|
-
amountOut <= MathSol.mulDownFixed(balanceOut, this._MAX_OUT_RATIO),
|
|
32
|
-
'Errors.MAX_OUT_RATIO',
|
|
33
|
-
);
|
|
34
|
-
|
|
35
|
-
const denominator = balanceOut - amountOut;
|
|
36
|
-
const base = MathSol.divUpFixed(balanceOut, denominator);
|
|
37
|
-
const power = MathSol.powUpFixed(base, exponent);
|
|
38
|
-
const ratio = MathSol.sub(power, MathSol.ONE);
|
|
39
|
-
|
|
40
|
-
return MathSol.mulUpFixed(balanceIn, ratio);
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
// Computes how many tokens can be taken out of a pool if `amountIn` are sent, given the
|
|
45
|
-
// current balances and weights.
|
|
46
|
-
static _calcOutGivenIn(
|
|
47
|
-
balanceIn: bigint,
|
|
48
|
-
weightIn: bigint,
|
|
49
|
-
balanceOut: bigint,
|
|
50
|
-
weightOut: bigint,
|
|
51
|
-
amountsIn: bigint[],
|
|
52
|
-
): bigint[] {
|
|
53
|
-
/* https://docs.balancer.fi/reference/math/weighted-math.html#outgivenin */
|
|
54
|
-
/**********************************************************************************************
|
|
55
|
-
// outGivenIn //
|
|
56
|
-
// aO = amountOut //
|
|
57
|
-
// bO = balanceOut //
|
|
58
|
-
// bI = balanceIn / / bI \ (wI / wO) \ //
|
|
59
|
-
// aI = amountIn aO = bO * | 1 - | -------------------------- | ^ | //
|
|
60
|
-
// wI = weightIn \ \ ( bI + aI ) / / //
|
|
61
|
-
// wO = weightOut //
|
|
62
|
-
**********************************************************************************************/
|
|
63
|
-
|
|
64
|
-
// Amount out, so we round down overall.
|
|
65
|
-
|
|
66
|
-
// The multiplication rounds down, and the subtrahend (power) rounds up (so the base rounds up too).
|
|
67
|
-
// Because bI / (bI + aI) <= 1, the exponent rounds down.
|
|
68
|
-
|
|
69
|
-
// Cannot exceed maximum in ratio
|
|
70
|
-
|
|
71
|
-
const exponent = MathSol.divDownFixed(weightIn, weightOut);
|
|
72
|
-
return amountsIn.map(amountIn => {
|
|
73
|
-
_require(
|
|
74
|
-
amountIn <= MathSol.mulDownFixed(balanceIn, this._MAX_IN_RATIO),
|
|
75
|
-
'Errors.MAX_IN_RATIO',
|
|
76
|
-
);
|
|
77
|
-
const denominator = balanceIn + amountIn;
|
|
78
|
-
const base = MathSol.divUpFixed(balanceIn, denominator);
|
|
79
|
-
const power = MathSol.powUpFixed(base, exponent);
|
|
80
|
-
|
|
81
|
-
return MathSol.mulDownFixed(balanceOut, MathSol.complementFixed(power));
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
}
|
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
import { Interface } from '@ethersproject/abi';
|
|
2
|
-
import WeightedPoolABI from '../../../../abi/balancer-v2/weighted-pool.json';
|
|
3
|
-
import { callData, PoolState, SubgraphPoolBase, TokenState } from '../../types';
|
|
4
|
-
import { decodeThrowError, getTokenScalingFactor } from '../../utils';
|
|
5
|
-
import { SwapSide } from '../../../../constants';
|
|
6
|
-
import { BaseMinimalSwapInfoPool } from '../balancer-v2-pool';
|
|
7
|
-
import { WeightedMath } from './WeightedMath';
|
|
8
|
-
|
|
9
|
-
export type WeightedPoolPairData = {
|
|
10
|
-
tokenInBalance: bigint;
|
|
11
|
-
tokenOutBalance: bigint;
|
|
12
|
-
tokenInScalingFactor: bigint;
|
|
13
|
-
tokenOutScalingFactor: bigint;
|
|
14
|
-
tokenInWeight: bigint;
|
|
15
|
-
tokenOutWeight: bigint;
|
|
16
|
-
swapFee: bigint;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export class WeightedPool extends BaseMinimalSwapInfoPool {
|
|
20
|
-
vaultAddress: string;
|
|
21
|
-
vaultInterface: Interface;
|
|
22
|
-
poolInterface: Interface;
|
|
23
|
-
|
|
24
|
-
constructor(vaultAddress: string, vaultInterface: Interface) {
|
|
25
|
-
super();
|
|
26
|
-
this.vaultAddress = vaultAddress;
|
|
27
|
-
this.vaultInterface = vaultInterface;
|
|
28
|
-
this.poolInterface = new Interface(WeightedPoolABI);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
_onSwapGivenOut(
|
|
32
|
-
tokenAmountsOut: bigint[],
|
|
33
|
-
currentBalanceTokenIn: bigint,
|
|
34
|
-
currentBalanceTokenOut: bigint,
|
|
35
|
-
_weightIn: bigint,
|
|
36
|
-
_weightOut: bigint,
|
|
37
|
-
): bigint[] {
|
|
38
|
-
return WeightedMath._calcInGivenOut(
|
|
39
|
-
currentBalanceTokenIn,
|
|
40
|
-
_weightIn,
|
|
41
|
-
currentBalanceTokenOut,
|
|
42
|
-
_weightOut,
|
|
43
|
-
tokenAmountsOut,
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
_onSwapGivenIn(
|
|
48
|
-
tokenAmountsIn: bigint[],
|
|
49
|
-
currentBalanceTokenIn: bigint,
|
|
50
|
-
currentBalanceTokenOut: bigint,
|
|
51
|
-
_weightIn: bigint,
|
|
52
|
-
_weightOut: bigint,
|
|
53
|
-
): bigint[] {
|
|
54
|
-
return WeightedMath._calcOutGivenIn(
|
|
55
|
-
currentBalanceTokenIn,
|
|
56
|
-
_weightIn,
|
|
57
|
-
currentBalanceTokenOut,
|
|
58
|
-
_weightOut,
|
|
59
|
-
tokenAmountsIn,
|
|
60
|
-
);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/*
|
|
64
|
-
Helper function to parse pool data into params for onSell function.
|
|
65
|
-
*/
|
|
66
|
-
parsePoolPairData(
|
|
67
|
-
pool: SubgraphPoolBase,
|
|
68
|
-
poolState: PoolState,
|
|
69
|
-
tokenIn: string,
|
|
70
|
-
tokenOut: string,
|
|
71
|
-
): WeightedPoolPairData {
|
|
72
|
-
const inAddress = tokenIn.toLowerCase();
|
|
73
|
-
const outAddress = tokenOut.toLowerCase();
|
|
74
|
-
|
|
75
|
-
const tIn = pool.tokens.find(t => t.address.toLowerCase() === inAddress);
|
|
76
|
-
const tOut = pool.tokens.find(t => t.address.toLowerCase() === outAddress);
|
|
77
|
-
|
|
78
|
-
if (!tIn || !tOut) return {} as WeightedPoolPairData;
|
|
79
|
-
|
|
80
|
-
const tokenInBalance = poolState.tokens[inAddress].balance;
|
|
81
|
-
const tokenOutBalance = poolState.tokens[outAddress].balance;
|
|
82
|
-
const tokenInWeight = poolState.tokens[inAddress].weight || 0n;
|
|
83
|
-
const tokenOutWeight = poolState.tokens[outAddress].weight || 0n;
|
|
84
|
-
const tokenInScalingFactor = getTokenScalingFactor(tIn.decimals);
|
|
85
|
-
const tokenOutScalingFactor = getTokenScalingFactor(tOut.decimals);
|
|
86
|
-
|
|
87
|
-
const poolPairData: WeightedPoolPairData = {
|
|
88
|
-
tokenInBalance,
|
|
89
|
-
tokenOutBalance,
|
|
90
|
-
tokenInScalingFactor,
|
|
91
|
-
tokenOutScalingFactor,
|
|
92
|
-
tokenInWeight,
|
|
93
|
-
tokenOutWeight,
|
|
94
|
-
swapFee: poolState.swapFee,
|
|
95
|
-
};
|
|
96
|
-
return poolPairData;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/*
|
|
100
|
-
Helper function to construct onchain multicall data for WeightedPool (also 'LiquidityBootstrapping' and 'Investment' pool types).
|
|
101
|
-
*/
|
|
102
|
-
getOnChainCalls(pool: SubgraphPoolBase): callData[] {
|
|
103
|
-
return [
|
|
104
|
-
{
|
|
105
|
-
target: this.vaultAddress,
|
|
106
|
-
callData: this.vaultInterface.encodeFunctionData('getPoolTokens', [
|
|
107
|
-
pool.id,
|
|
108
|
-
]),
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
target: pool.address,
|
|
112
|
-
callData: this.poolInterface.encodeFunctionData('getSwapFeePercentage'),
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
target: pool.address,
|
|
116
|
-
callData: this.poolInterface.encodeFunctionData('getNormalizedWeights'),
|
|
117
|
-
},
|
|
118
|
-
];
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/*
|
|
122
|
-
Helper function to decodes multicall data for a Weighted Pool.
|
|
123
|
-
data must contain returnData
|
|
124
|
-
startIndex is where to start in returnData. Allows this decode function to be called along with other pool types.
|
|
125
|
-
*/
|
|
126
|
-
decodeOnChainCalls(
|
|
127
|
-
pool: SubgraphPoolBase,
|
|
128
|
-
data: { success: boolean; returnData: any }[],
|
|
129
|
-
startIndex: number,
|
|
130
|
-
): [{ [address: string]: PoolState }, number] {
|
|
131
|
-
const pools = {} as { [address: string]: PoolState };
|
|
132
|
-
|
|
133
|
-
const poolTokens = decodeThrowError(
|
|
134
|
-
this.vaultInterface,
|
|
135
|
-
'getPoolTokens',
|
|
136
|
-
data[startIndex++],
|
|
137
|
-
pool.address,
|
|
138
|
-
);
|
|
139
|
-
const swapFee = decodeThrowError(
|
|
140
|
-
this.poolInterface,
|
|
141
|
-
'getSwapFeePercentage',
|
|
142
|
-
data[startIndex++],
|
|
143
|
-
pool.address,
|
|
144
|
-
)[0];
|
|
145
|
-
const normalisedWeights = decodeThrowError(
|
|
146
|
-
this.poolInterface,
|
|
147
|
-
'getNormalizedWeights',
|
|
148
|
-
data[startIndex++],
|
|
149
|
-
pool.address,
|
|
150
|
-
)[0];
|
|
151
|
-
|
|
152
|
-
const poolState: PoolState = {
|
|
153
|
-
swapFee: BigInt(swapFee.toString()),
|
|
154
|
-
tokens: poolTokens.tokens.reduce(
|
|
155
|
-
(ptAcc: { [address: string]: TokenState }, pt: string, j: number) => {
|
|
156
|
-
const tokenState: TokenState = {
|
|
157
|
-
balance: BigInt(poolTokens.balances[j].toString()),
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
if (normalisedWeights)
|
|
161
|
-
tokenState.weight = BigInt(normalisedWeights[j].toString());
|
|
162
|
-
|
|
163
|
-
ptAcc[pt.toLowerCase()] = tokenState;
|
|
164
|
-
return ptAcc;
|
|
165
|
-
},
|
|
166
|
-
{},
|
|
167
|
-
),
|
|
168
|
-
orderedTokens: poolTokens.tokens,
|
|
169
|
-
};
|
|
170
|
-
|
|
171
|
-
pools[pool.address] = poolState;
|
|
172
|
-
|
|
173
|
-
return [pools, startIndex];
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
/*
|
|
177
|
-
For weighted pools there is a Swap limit of 30%: amounts swapped may not be larger than this percentage of total balance.
|
|
178
|
-
*/
|
|
179
|
-
getSwapMaxAmount(poolPairData: WeightedPoolPairData, side: SwapSide): bigint {
|
|
180
|
-
return (
|
|
181
|
-
((side === SwapSide.SELL
|
|
182
|
-
? poolPairData.tokenInBalance
|
|
183
|
-
: poolPairData.tokenOutBalance) *
|
|
184
|
-
3n) /
|
|
185
|
-
10n
|
|
186
|
-
);
|
|
187
|
-
}
|
|
188
|
-
}
|