@paraswap/dex-lib 3.0.6 → 3.2.5-return-amount-pos.5
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/.idea/aws.xml +17 -0
- package/.idea/codeStyles/Project.xml +55 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/misc.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/paraswap-dex-lib-private.iml +9 -0
- package/.idea/prettier.xml +7 -0
- package/.idea/vcs.xml +6 -0
- package/README.md +327 -10
- package/build/abi/AugustusV6.abi.json +1454 -0
- package/build/abi/angle/stagToken.json +963 -0
- package/build/abi/augustus-v6/ABI.json +1084 -587
- package/build/abi/balancer-v2/gyro-e.abi.json +1595 -0
- package/build/abi/etherfi/eETHPool.json +9 -0
- package/build/abi/etherfi/weETH.json +20 -0
- package/build/abi/maker-psm/pot.json +322 -0
- package/build/abi/rswETH.json +1142 -0
- package/build/abi/sdai/SavingsDai.abi.json +877 -0
- package/build/abi/velodrome-slipstream/VelodromeSlipstreamFactory.abi.json +579 -0
- package/build/abi/velodrome-slipstream/VelodromeSlipstreamPool.abi.json +1275 -0
- package/build/abi/velodrome-slipstream/VelodromeSlipstreamStateMulticall.abi.json +766 -0
- package/build/config.js +51 -46
- package/build/config.js.map +1 -1
- package/build/dex/aave-v1/aave-v1.js +1 -0
- package/build/dex/aave-v1/aave-v1.js.map +1 -1
- package/build/dex/aave-v2/aave-v2.js +1 -0
- package/build/dex/aave-v2/aave-v2.js.map +1 -1
- package/build/dex/aave-v3/aave-v3.js +1 -0
- package/build/dex/aave-v3/aave-v3.js.map +1 -1
- package/build/dex/algebra/algebra-factory.js +1 -1
- package/build/dex/algebra/algebra-factory.js.map +1 -1
- package/build/dex/algebra/algebra-pool-v1_1.d.ts +7 -2
- package/build/dex/algebra/algebra-pool-v1_1.js +9 -2
- package/build/dex/algebra/algebra-pool-v1_1.js.map +1 -1
- package/build/dex/algebra/algebra-pool-v1_9.d.ts +4 -0
- package/build/dex/algebra/algebra-pool-v1_9.js +6 -0
- package/build/dex/algebra/algebra-pool-v1_9.js.map +1 -1
- package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.d.ts +16 -0
- package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.js +26 -0
- package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.js.map +1 -0
- package/build/dex/algebra/algebra.d.ts +2 -1
- package/build/dex/algebra/algebra.js +13 -7
- package/build/dex/algebra/algebra.js.map +1 -1
- package/build/dex/algebra/config.js +4 -0
- package/build/dex/algebra/config.js.map +1 -1
- package/build/dex/algebra/types.d.ts +1 -1
- package/build/dex/angle-staked-stable/angle-staked-stable-pool.d.ts +56 -0
- package/build/dex/angle-staked-stable/angle-staked-stable-pool.js +197 -0
- package/build/dex/angle-staked-stable/angle-staked-stable-pool.js.map +1 -0
- package/build/dex/angle-staked-stable/angle-staked-stable.d.ts +49 -0
- package/build/dex/angle-staked-stable/angle-staked-stable.js +239 -0
- package/build/dex/angle-staked-stable/angle-staked-stable.js.map +1 -0
- package/build/dex/angle-staked-stable/config.d.ts +4 -0
- package/build/dex/angle-staked-stable/config.js +139 -0
- package/build/dex/angle-staked-stable/config.js.map +1 -0
- package/build/dex/angle-staked-stable/types.d.ts +15 -0
- package/build/dex/angle-staked-stable/types.js +3 -0
- package/build/dex/angle-staked-stable/types.js.map +1 -0
- package/build/dex/bProtocol/bProtocol.js +5 -0
- package/build/dex/bProtocol/bProtocol.js.map +1 -1
- package/build/dex/balancer-v1/balancer-v1.js +4 -0
- package/build/dex/balancer-v1/balancer-v1.js.map +1 -1
- package/build/dex/balancer-v2/balancer-v2.d.ts +9 -4
- package/build/dex/balancer-v2/balancer-v2.js +111 -84
- package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
- package/build/dex/balancer-v2/pools/gyro/Gyro3Pool.d.ts +32 -0
- package/build/dex/balancer-v2/pools/gyro/Gyro3Pool.js +149 -0
- package/build/dex/balancer-v2/pools/gyro/Gyro3Pool.js.map +1 -0
- package/build/dex/balancer-v2/pools/gyro/GyroEPool.d.ts +37 -0
- package/build/dex/balancer-v2/pools/gyro/GyroEPool.js +222 -0
- package/build/dex/balancer-v2/pools/gyro/GyroEPool.js.map +1 -0
- package/build/dex/balancer-v2/pools/gyro/gyro-helpers.d.ts +2 -0
- package/build/dex/balancer-v2/pools/gyro/gyro-helpers.js +19 -0
- package/build/dex/balancer-v2/pools/gyro/gyro-helpers.js.map +1 -0
- package/build/dex/balancer-v2/queryOnChain.d.ts +1 -0
- package/build/dex/balancer-v2/queryOnChain.js +40 -0
- package/build/dex/balancer-v2/queryOnChain.js.map +1 -0
- package/build/dex/balancer-v2/types.d.ts +41 -2
- package/build/dex/balancer-v2/types.js +2 -0
- package/build/dex/balancer-v2/types.js.map +1 -1
- package/build/dex/balancer-v2/utils.d.ts +8 -0
- package/build/dex/balancer-v2/utils.js +17 -1
- package/build/dex/balancer-v2/utils.js.map +1 -1
- package/build/dex/bancor/bancor.js +4 -0
- package/build/dex/bancor/bancor.js.map +1 -1
- package/build/dex/camelot/camelot.js +1 -0
- package/build/dex/camelot/camelot.js.map +1 -1
- package/build/dex/compound/compound.js +1 -0
- package/build/dex/compound/compound.js.map +1 -1
- package/build/dex/curve-v1/curve-v1.js +1 -0
- package/build/dex/curve-v1/curve-v1.js.map +1 -1
- package/build/dex/curve-v1-factory/config.js +128 -11
- package/build/dex/curve-v1-factory/config.js.map +1 -1
- package/build/dex/curve-v1-factory/curve-v1-factory.d.ts +1 -0
- package/build/dex/curve-v1-factory/curve-v1-factory.js +30 -17
- package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
- package/build/dex/curve-v1-factory/curve-v1-pool-manager.js +1 -0
- package/build/dex/curve-v1-factory/curve-v1-pool-manager.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.js +4 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/_rates.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/_rates.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/_xp.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/_xp.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/_xp_mem.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/_xp_mem.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/constants.js +10 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/constants.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/get_D.js +40 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/get_D.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/get_D_mem.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/get_D_mem.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/get_dy.js +24 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/get_dy.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/get_y.js +53 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/get_y.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/get_y_D.js +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/get_y_D.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/utils.d.ts +1 -0
- package/build/dex/curve-v1-factory/price-handlers/functions/utils.js +5 -1
- package/build/dex/curve-v1-factory/price-handlers/functions/utils.js.map +1 -1
- package/build/dex/curve-v1-factory/price-handlers/types.d.ts +2 -2
- package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.d.ts +3 -2
- package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js +38 -6
- package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js.map +1 -1
- package/build/dex/curve-v1-factory/state-polling-pools/pool-polling-base.js.map +1 -1
- package/build/dex/curve-v1-factory/types.d.ts +11 -2
- package/build/dex/curve-v1-factory/types.js +3 -0
- package/build/dex/curve-v1-factory/types.js.map +1 -1
- package/build/dex/curve-v2/curve-v2.js +1 -0
- package/build/dex/curve-v2/curve-v2.js.map +1 -1
- package/build/dex/dexalot/config.js +7 -0
- package/build/dex/dexalot/config.js.map +1 -1
- package/build/dex/dexalot/dexalot.js +2 -0
- package/build/dex/dexalot/dexalot.js.map +1 -1
- package/build/dex/dodo-v1/dodo-v1.js +4 -0
- package/build/dex/dodo-v1/dodo-v1.js.map +1 -1
- package/build/dex/dodo-v2.js +4 -0
- package/build/dex/dodo-v2.js.map +1 -1
- package/build/dex/etherfi.d.ts +27 -0
- package/build/dex/etherfi.js +146 -0
- package/build/dex/etherfi.js.map +1 -0
- package/build/dex/generic-rfq/generic-rfq.js +4 -3
- package/build/dex/generic-rfq/generic-rfq.js.map +1 -1
- package/build/dex/generic-rfq/rate-fetcher.d.ts +1 -1
- package/build/dex/generic-rfq/rate-fetcher.js +2 -1
- package/build/dex/generic-rfq/rate-fetcher.js.map +1 -1
- package/build/dex/generic-rfq/types.d.ts +1 -0
- package/build/dex/generic-rfq/types.js.map +1 -1
- package/build/dex/gmx/gmx.js +4 -0
- package/build/dex/gmx/gmx.js.map +1 -1
- package/build/dex/hashflow/constants.d.ts +27 -0
- package/build/dex/hashflow/constants.js +29 -1
- package/build/dex/hashflow/constants.js.map +1 -1
- package/build/dex/hashflow/hashflow.d.ts +3 -2
- package/build/dex/hashflow/hashflow.js +72 -13
- package/build/dex/hashflow/hashflow.js.map +1 -1
- package/build/dex/hashflow/types.d.ts +11 -0
- package/build/dex/hashflow/types.js +9 -0
- package/build/dex/hashflow/types.js.map +1 -1
- package/build/dex/idex.d.ts +2 -2
- package/build/dex/index.d.ts +2 -2
- package/build/dex/index.js +10 -0
- package/build/dex/index.js.map +1 -1
- package/build/dex/jarvis-v6/jarvis-v6.js +1 -0
- package/build/dex/jarvis-v6/jarvis-v6.js.map +1 -1
- package/build/dex/jarvis.js +8 -0
- package/build/dex/jarvis.js.map +1 -1
- package/build/dex/kyberdmm/kyberdmm.js +4 -0
- package/build/dex/kyberdmm/kyberdmm.js.map +1 -1
- package/build/dex/lido/lido.d.ts +4 -1
- package/build/dex/lido/lido.js +18 -1
- package/build/dex/lido/lido.js.map +1 -1
- package/build/dex/maker-psm/maker-psm.js +1 -0
- package/build/dex/maker-psm/maker-psm.js.map +1 -1
- package/build/dex/maverick-v1/maverick-v1.js +4 -0
- package/build/dex/maverick-v1/maverick-v1.js.map +1 -1
- package/build/dex/nerve/nerve.js +4 -0
- package/build/dex/nerve/nerve.js.map +1 -1
- package/build/dex/onebit/onebit.js +5 -0
- package/build/dex/onebit/onebit.js.map +1 -1
- package/build/dex/pancakeswap-v3/config.js +30 -0
- package/build/dex/pancakeswap-v3/config.js.map +1 -1
- package/build/dex/pancakeswap-v3/pancakeswap-v3-factory.js +1 -1
- package/build/dex/pancakeswap-v3/pancakeswap-v3-factory.js.map +1 -1
- package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.d.ts +5 -0
- package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.js +7 -0
- package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.js.map +1 -1
- package/build/dex/pancakeswap-v3/pancakeswap-v3.js +16 -8
- package/build/dex/pancakeswap-v3/pancakeswap-v3.js.map +1 -1
- package/build/dex/paraswap-limit-orders/paraswap-limit-orders.js +1 -0
- package/build/dex/paraswap-limit-orders/paraswap-limit-orders.js.map +1 -1
- package/build/dex/platypus/platypus.js +17 -3
- package/build/dex/platypus/platypus.js.map +1 -1
- package/build/dex/polygon-migrator/polygon-migrator.js +1 -0
- package/build/dex/polygon-migrator/polygon-migrator.js.map +1 -1
- package/build/dex/quick-perps/quick-perps.js +7 -1
- package/build/dex/quick-perps/quick-perps.js.map +1 -1
- package/build/dex/simple-exchange.d.ts +0 -1
- package/build/dex/simple-exchange.js +0 -2
- package/build/dex/simple-exchange.js.map +1 -1
- package/build/dex/smoothy/smoothy.js +1 -0
- package/build/dex/smoothy/smoothy.js.map +1 -1
- package/build/dex/smoothy.d.ts +1 -1
- package/build/dex/smoothy.js +2 -3
- package/build/dex/smoothy.js.map +1 -1
- package/build/dex/solidly/config.js +12 -0
- package/build/dex/solidly/config.js.map +1 -1
- package/build/dex/solidly/forks-override/pharaohV1.d.ts +8 -0
- package/build/dex/solidly/forks-override/pharaohV1.js +15 -0
- package/build/dex/solidly/forks-override/pharaohV1.js.map +1 -0
- package/build/dex/solidly/solidly.js +2 -0
- package/build/dex/solidly/solidly.js.map +1 -1
- package/build/dex/solidly-v3/config.js +13 -1
- package/build/dex/solidly-v3/config.js.map +1 -1
- package/build/dex/solidly-v3/solidly-v3-factory.js +1 -1
- package/build/dex/solidly-v3/solidly-v3-factory.js.map +1 -1
- package/build/dex/solidly-v3/solidly-v3-pool.d.ts +5 -0
- package/build/dex/solidly-v3/solidly-v3-pool.js +7 -0
- package/build/dex/solidly-v3/solidly-v3-pool.js.map +1 -1
- package/build/dex/solidly-v3/solidly-v3.d.ts +1 -2
- package/build/dex/solidly-v3/solidly-v3.js +5 -11
- package/build/dex/solidly-v3/solidly-v3.js.map +1 -1
- package/build/dex/solidly-v3/types.d.ts +0 -1
- package/build/dex/solidly-v3/types.js.map +1 -1
- package/build/dex/spark/config.d.ts +11 -0
- package/build/dex/spark/config.js +21 -0
- package/build/dex/spark/config.js.map +1 -0
- package/build/dex/spark/constants.d.ts +2 -0
- package/build/dex/spark/constants.js +6 -0
- package/build/dex/spark/constants.js.map +1 -0
- package/build/dex/spark/scripts/validate-state.d.ts +1 -0
- package/build/dex/spark/scripts/validate-state.js +102 -0
- package/build/dex/spark/scripts/validate-state.js.map +1 -0
- package/build/dex/spark/spark-sdai-pool.d.ts +16 -0
- package/build/dex/spark/spark-sdai-pool.js +85 -0
- package/build/dex/spark/spark-sdai-pool.js.map +1 -0
- package/build/dex/spark/spark.d.ts +52 -0
- package/build/dex/spark/spark.js +195 -0
- package/build/dex/spark/spark.js.map +1 -0
- package/build/dex/spark/types.d.ts +21 -0
- package/build/dex/spark/types.js +11 -0
- package/build/dex/spark/types.js.map +1 -0
- package/build/dex/spark/utils.d.ts +4 -0
- package/build/dex/spark/utils.js +39 -0
- package/build/dex/spark/utils.js.map +1 -0
- package/build/dex/stable-pool/stable-pool.js +4 -0
- package/build/dex/stable-pool/stable-pool.js.map +1 -1
- package/build/dex/swaap-v1/swaap-v1.js +4 -0
- package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
- package/build/dex/swaap-v2/swaap-v2.js +1 -0
- package/build/dex/swaap-v2/swaap-v2.js.map +1 -1
- package/build/dex/swell/config.d.ts +1 -0
- package/build/dex/swell/config.js +1 -0
- package/build/dex/swell/config.js.map +1 -1
- package/build/dex/swell/rsweth-pool.d.ts +16 -0
- package/build/dex/swell/rsweth-pool.js +38 -0
- package/build/dex/swell/rsweth-pool.js.map +1 -0
- package/build/dex/swell/swell.d.ts +7 -2
- package/build/dex/swell/swell.js +58 -27
- package/build/dex/swell/swell.js.map +1 -1
- package/build/dex/swell/sweth-pool.js +1 -1
- package/build/dex/swell/sweth-pool.js.map +1 -1
- package/build/dex/swell/type.d.ts +3 -0
- package/build/dex/swell/utils.d.ts +3 -2
- package/build/dex/swell/utils.js +19 -3
- package/build/dex/swell/utils.js.map +1 -1
- package/build/dex/synthetix/synthetix.js +6 -0
- package/build/dex/synthetix/synthetix.js.map +1 -1
- package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js +4 -0
- package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js.map +1 -1
- package/build/dex/uniswap-v2/config.js +56 -0
- package/build/dex/uniswap-v2/config.js.map +1 -1
- package/build/dex/uniswap-v2/types.d.ts +1 -1
- package/build/dex/uniswap-v2/uniswap-v2.js +2 -1
- package/build/dex/uniswap-v2/uniswap-v2.js.map +1 -1
- package/build/dex/uniswap-v3/config.js +102 -1
- package/build/dex/uniswap-v3/config.js.map +1 -1
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/utils.d.ts +4 -0
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/utils.js +56 -0
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/utils.js.map +1 -0
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-factory.d.ts +7 -0
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-factory.js +23 -0
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-factory.js.map +1 -0
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-pool.d.ts +13 -0
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-pool.js +137 -0
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-pool.js.map +1 -0
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.d.ts +46 -0
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.js +117 -0
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.js.map +1 -0
- package/build/dex/uniswap-v3/types.d.ts +8 -2
- package/build/dex/uniswap-v3/types.js.map +1 -1
- package/build/dex/uniswap-v3/uniswap-v3-factory.js +1 -1
- package/build/dex/uniswap-v3/uniswap-v3-factory.js.map +1 -1
- package/build/dex/uniswap-v3/uniswap-v3-pool.d.ts +9 -2
- package/build/dex/uniswap-v3/uniswap-v3-pool.js +15 -2
- package/build/dex/uniswap-v3/uniswap-v3-pool.js.map +1 -1
- package/build/dex/uniswap-v3/uniswap-v3.d.ts +27 -12
- package/build/dex/uniswap-v3/uniswap-v3.js +108 -76
- package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
- package/build/dex/uniswap-v3.js +4 -0
- package/build/dex/uniswap-v3.js.map +1 -1
- package/build/dex/weth/weth.js +1 -0
- package/build/dex/weth/weth.js.map +1 -1
- package/build/dex/wombat/wombat.js +4 -0
- package/build/dex/wombat/wombat.js.map +1 -1
- package/build/dex/woo-fi-v2/config.js +16 -16
- package/build/dex/woo-fi-v2/woo-fi-v2.js +4 -0
- package/build/dex/woo-fi-v2/woo-fi-v2.js.map +1 -1
- package/build/dex/wsteth/wsteth.js +8 -1
- package/build/dex/wsteth/wsteth.js.map +1 -1
- package/build/dex/zerox/index.js +1 -0
- package/build/dex/zerox/index.js.map +1 -1
- package/build/executor/Executor01BytecodeBuilder.d.ts +6 -8
- package/build/executor/Executor01BytecodeBuilder.js +47 -8
- package/build/executor/Executor01BytecodeBuilder.js.map +1 -1
- package/build/executor/Executor02BytecodeBuilder.d.ts +18 -12
- package/build/executor/Executor02BytecodeBuilder.js +55 -10
- package/build/executor/Executor02BytecodeBuilder.js.map +1 -1
- package/build/executor/Executor03BytecodeBuilder.d.ts +11 -8
- package/build/executor/Executor03BytecodeBuilder.js +27 -5
- package/build/executor/Executor03BytecodeBuilder.js.map +1 -1
- package/build/executor/ExecutorBytecodeBuilder.d.ts +29 -6
- package/build/executor/ExecutorBytecodeBuilder.js +23 -4
- package/build/executor/ExecutorBytecodeBuilder.js.map +1 -1
- package/build/executor/ExecutorDetector.d.ts +2 -0
- package/build/executor/ExecutorDetector.js +12 -0
- package/build/executor/ExecutorDetector.js.map +1 -1
- package/build/executor/IExecutorBytecodeBuilder.d.ts +10 -0
- package/build/executor/IExecutorBytecodeBuilder.js +3 -0
- package/build/executor/IExecutorBytecodeBuilder.js.map +1 -0
- package/build/executor/WETHBytecodeBuilder.d.ts +14 -0
- package/build/executor/WETHBytecodeBuilder.js +47 -0
- package/build/executor/WETHBytecodeBuilder.js.map +1 -0
- package/build/executor/constants.d.ts +3 -1
- package/build/executor/constants.js +8 -3
- package/build/executor/constants.js.map +1 -1
- package/build/executor/types.d.ts +1 -0
- package/build/executor/types.js +1 -0
- package/build/executor/types.js.map +1 -1
- package/build/executor/utils.d.ts +2 -0
- package/build/executor/utils.js +30 -0
- package/build/executor/utils.js.map +1 -0
- package/build/generic-swap-transaction-builder.js +11 -5
- package/build/generic-swap-transaction-builder.js.map +1 -1
- package/build/implementations/local-paraswap-sdk.js +1 -1
- package/build/implementations/local-paraswap-sdk.js.map +1 -1
- package/build/stateful-event-subscriber.d.ts +1 -0
- package/build/stateful-event-subscriber.js +8 -1
- package/build/stateful-event-subscriber.js.map +1 -1
- package/build/types.d.ts +3 -0
- package/package.json +4 -3
- package/src/abi/angle/stagToken.json +963 -0
- package/src/abi/augustus-v6/ABI.json +1084 -587
- package/src/abi/balancer-v2/gyro-e.abi.json +1595 -0
- package/src/abi/etherfi/eETHPool.json +9 -0
- package/src/abi/etherfi/weETH.json +20 -0
- package/src/abi/maker-psm/pot.json +322 -0
- package/src/abi/rswETH.json +1142 -0
- package/src/abi/sdai/SavingsDai.abi.json +877 -0
- package/src/abi/velodrome-slipstream/VelodromeSlipstreamFactory.abi.json +579 -0
- package/src/abi/velodrome-slipstream/VelodromeSlipstreamPool.abi.json +1275 -0
- package/src/abi/velodrome-slipstream/VelodromeSlipstreamQuoterV2.abi.json +267 -0
- package/src/abi/velodrome-slipstream/VelodromeSlipstreamStateMulticall.abi.json +766 -0
- package/src/config.ts +51 -46
- package/src/dex/aave-v1/aave-v1.ts +1 -0
- package/src/dex/aave-v2/aave-v2.ts +1 -0
- package/src/dex/aave-v3/aave-v3.ts +1 -0
- package/src/dex/algebra/algebra-e2e.test.ts +22 -0
- package/src/dex/algebra/algebra-factory.ts +8 -1
- package/src/dex/algebra/algebra-pool-v1_1.ts +10 -2
- package/src/dex/algebra/algebra-pool-v1_9.ts +7 -0
- package/src/dex/algebra/algebra-pool-v1_9_bidirectional_fee.ts +55 -0
- package/src/dex/algebra/algebra.ts +28 -14
- package/src/dex/algebra/config.ts +4 -0
- package/src/dex/algebra/types.ts +1 -1
- package/src/dex/angle-staked-stable/angle-staked-stable-e2e.test.ts +146 -0
- package/src/dex/angle-staked-stable/angle-staked-stable-events.test.ts +95 -0
- package/src/dex/angle-staked-stable/angle-staked-stable-integration.test.ts +476 -0
- package/src/dex/angle-staked-stable/angle-staked-stable-pool.ts +325 -0
- package/src/dex/angle-staked-stable/angle-staked-stable.ts +351 -0
- package/src/dex/angle-staked-stable/config.ts +139 -0
- package/src/dex/angle-staked-stable/types.ts +16 -0
- package/src/dex/bProtocol/bProtocol.ts +8 -0
- package/src/dex/balancer-v1/balancer-v1.ts +9 -0
- package/src/dex/balancer-v2/balancer-v2-e2e.test.ts +94 -0
- package/src/dex/balancer-v2/balancer-v2-gyro3.test.ts +268 -0
- package/src/dex/balancer-v2/balancer-v2-gyroE.test.ts +401 -0
- package/src/dex/balancer-v2/balancer-v2-integration.test.ts +253 -112
- package/src/dex/balancer-v2/balancer-v2.ts +203 -143
- package/src/dex/balancer-v2/pools/gyro/Gyro3Pool.ts +255 -0
- package/src/dex/balancer-v2/pools/gyro/GyroEPool.ts +403 -0
- package/src/dex/balancer-v2/pools/gyro/gyro-helpers.ts +15 -0
- package/src/dex/balancer-v2/queryOnChain.ts +48 -0
- package/src/dex/balancer-v2/types.ts +45 -1
- package/src/dex/balancer-v2/utils.ts +16 -0
- package/src/dex/bancor/bancor.ts +8 -0
- package/src/dex/camelot/camelot.ts +1 -0
- package/src/dex/compound/compound.ts +1 -0
- package/src/dex/curve-v1/curve-v1.ts +1 -0
- package/src/dex/curve-v1-factory/config.ts +128 -11
- package/src/dex/curve-v1-factory/curve-v1-factory-e2e.test.ts +122 -1
- package/src/dex/curve-v1-factory/curve-v1-factory-integration.test.ts +392 -0
- package/src/dex/curve-v1-factory/curve-v1-factory.ts +62 -39
- package/src/dex/curve-v1-factory/curve-v1-pool-manager.ts +1 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.ts +2 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.ts +6 -2
- package/src/dex/curve-v1-factory/price-handlers/functions/_rates.ts +2 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/_xp.ts +2 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/_xp_mem.ts +2 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.ts +2 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.ts +2 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/constants.ts +11 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/get_D.ts +59 -1
- package/src/dex/curve-v1-factory/price-handlers/functions/get_D_mem.ts +2 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.ts +2 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/get_dy.ts +51 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.ts +2 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/get_y.ts +68 -1
- package/src/dex/curve-v1-factory/price-handlers/functions/get_y_D.ts +2 -0
- package/src/dex/curve-v1-factory/price-handlers/functions/utils.ts +4 -0
- package/src/dex/curve-v1-factory/price-handlers/types.ts +8 -1
- package/src/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.ts +71 -18
- package/src/dex/curve-v1-factory/state-polling-pools/pool-polling-base.ts +1 -0
- package/src/dex/curve-v1-factory/types.ts +12 -1
- package/src/dex/curve-v2/curve-v2.ts +1 -0
- package/src/dex/dexalot/config.ts +7 -0
- package/src/dex/dexalot/dexalot-e2e.test.ts +23 -1
- package/src/dex/dexalot/dexalot-integration.test.ts +121 -0
- package/src/dex/dexalot/dexalot.ts +2 -0
- package/src/dex/dodo-v1/dodo-v1.ts +9 -0
- package/src/dex/dodo-v2.ts +9 -0
- package/src/dex/etherfi.ts +239 -0
- package/src/dex/generic-rfq/generic-rfq.ts +4 -2
- package/src/dex/generic-rfq/rate-fetcher.ts +2 -0
- package/src/dex/generic-rfq/types.ts +1 -0
- package/src/dex/gmx/gmx.ts +8 -0
- package/src/dex/hashflow/constants.ts +32 -0
- package/src/dex/hashflow/hashflow.ts +126 -20
- package/src/dex/hashflow/types.ts +20 -2
- package/src/dex/idex.ts +2 -1
- package/src/dex/index.ts +12 -2
- package/src/dex/jarvis-v6/jarvis-v6.ts +1 -0
- package/src/dex/jarvis.ts +14 -0
- package/src/dex/kyberdmm/kyberdmm.ts +9 -0
- package/src/dex/lido/lido-e2e.test.ts +10 -0
- package/src/dex/lido/lido.ts +25 -2
- package/src/dex/maker-psm/maker-psm.ts +1 -0
- package/src/dex/maverick-v1/maverick-v1.ts +9 -0
- package/src/dex/nerve/nerve.ts +8 -0
- package/src/dex/onebit/onebit.ts +8 -0
- package/src/dex/pancakeswap-v3/config.ts +32 -0
- package/src/dex/pancakeswap-v3/pancakeswap-v3-e2e.test.ts +21 -0
- package/src/dex/pancakeswap-v3/pancakeswap-v3-factory.ts +8 -1
- package/src/dex/pancakeswap-v3/pancakeswap-v3-pool.ts +8 -0
- package/src/dex/pancakeswap-v3/pancakeswap-v3.ts +27 -13
- package/src/dex/paraswap-limit-orders/paraswap-limit-orders.ts +1 -0
- package/src/dex/platypus/platypus.ts +20 -3
- package/src/dex/polygon-migrator/polygon-migrator.ts +1 -0
- package/src/dex/quick-perps/quick-perps.ts +11 -1
- package/src/dex/simple-exchange.ts +0 -4
- package/src/dex/smoothy/smoothy.ts +1 -0
- package/src/dex/solidly/config.ts +14 -0
- package/src/dex/solidly/forks-override/pharaohV1.ts +10 -0
- package/src/dex/solidly/solidly-e2e.test.ts +21 -0
- package/src/dex/solidly/solidly-integration.test.ts +143 -0
- package/src/dex/solidly/solidly.ts +2 -0
- package/src/dex/solidly-v3/config.ts +15 -1
- package/src/dex/solidly-v3/solidly-v3-e2e.test.ts +33 -0
- package/src/dex/solidly-v3/solidly-v3-factory.ts +8 -1
- package/src/dex/solidly-v3/solidly-v3-pool.ts +8 -0
- package/src/dex/solidly-v3/solidly-v3.ts +8 -16
- package/src/dex/solidly-v3/types.ts +0 -1
- package/src/dex/spark/config.ts +25 -0
- package/src/dex/spark/constants.ts +2 -0
- package/src/dex/spark/scripts/validate-state.ts +144 -0
- package/src/dex/spark/spark-e2e.test.ts +96 -0
- package/src/dex/spark/spark-events.test.ts +102 -0
- package/src/dex/spark/spark-integration.test.ts +151 -0
- package/src/dex/spark/spark-sdai-pool.ts +114 -0
- package/src/dex/spark/spark.ts +284 -0
- package/src/dex/spark/types.ts +23 -0
- package/src/dex/spark/utils.ts +47 -0
- package/src/dex/stable-pool/stable-pool.ts +8 -0
- package/src/dex/swaap-v1/swaap-v1.ts +9 -0
- package/src/dex/swaap-v2/swaap-v2.ts +1 -0
- package/src/dex/swell/config.ts +2 -0
- package/src/dex/swell/rsweth-pool.ts +58 -0
- package/src/dex/swell/swell-e2e.test.ts +33 -31
- package/src/dex/swell/swell.ts +88 -35
- package/src/dex/swell/sweth-pool.ts +2 -2
- package/src/dex/swell/type.ts +4 -0
- package/src/dex/swell/utils.ts +26 -2
- package/src/dex/synthetix/synthetix-state.ts +2 -2
- package/src/dex/synthetix/synthetix.ts +11 -0
- package/src/dex/trader-joe-v2.1/trader-joe-v2.1.ts +9 -0
- package/src/dex/uniswap-v2/config.ts +58 -0
- package/src/dex/uniswap-v2/types.ts +2 -2
- package/src/dex/uniswap-v2/uniswap-v2-e2e-base.test.ts +48 -0
- package/src/dex/uniswap-v2/uniswap-v2.ts +2 -1
- package/src/dex/uniswap-v3/config.ts +112 -3
- package/src/dex/uniswap-v3/forks/velodrome-slipstream/utils.ts +65 -0
- package/src/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-factory.ts +16 -0
- package/src/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-pool.ts +197 -0
- package/src/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.ts +237 -0
- package/src/dex/uniswap-v3/types.ts +6 -2
- package/src/dex/uniswap-v3/uniswap-v3-e2e.test.ts +184 -3
- package/src/dex/uniswap-v3/uniswap-v3-factory.ts +8 -1
- package/src/dex/uniswap-v3/uniswap-v3-integration.test.ts +741 -6
- package/src/dex/uniswap-v3/uniswap-v3-pool.ts +17 -9
- package/src/dex/uniswap-v3/uniswap-v3.ts +204 -121
- package/src/dex/uniswap-v3.ts +9 -0
- package/src/dex/weth/weth-e2e-v6.test.ts +117 -0
- package/src/dex/weth/weth.ts +1 -0
- package/src/dex/wombat/wombat.ts +9 -0
- package/src/dex/woo-fi-v2/config.ts +16 -16
- package/src/dex/woo-fi-v2/woo-fi-v2.ts +5 -0
- package/src/dex/wsteth/wsteth.ts +13 -4
- package/src/dex/zerox/index.ts +1 -0
- package/src/executor/Executor01BytecodeBuilder.ts +69 -29
- package/src/executor/Executor02BytecodeBuilder.ts +99 -44
- package/src/executor/Executor03BytecodeBuilder.ts +52 -33
- package/src/executor/ExecutorBytecodeBuilder.ts +57 -18
- package/src/executor/ExecutorDetector.ts +14 -0
- package/src/executor/WETHBytecodeBuilder.ts +57 -0
- package/src/executor/constants.ts +8 -2
- package/src/executor/executor01-bytecode-builder-e2e.test.ts +39 -0
- package/src/executor/executor02-bytecode-builder-e2e.test.ts +35 -0
- package/src/executor/types.ts +1 -0
- package/src/executor/utils.ts +44 -0
- package/src/generic-swap-transaction-builder.ts +14 -4
- package/src/implementations/local-paraswap-sdk.ts +1 -1
- package/src/stateful-event-subscriber.ts +13 -1
- package/src/types.ts +3 -0
- package/tests/constants-e2e.ts +233 -12
- package/tests/utils-e2e.ts +82 -2
- package/tests/debug-price-route.json +0 -87
|
@@ -124,6 +124,14 @@ export class PancakeSwapV3EventPool extends StatefulEventSubscriber<PoolState> {
|
|
|
124
124
|
await super.initialize(blockNumber, options);
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
+
protected getPoolIdentifierData() {
|
|
128
|
+
return {
|
|
129
|
+
token0: this.token0,
|
|
130
|
+
token1: this.token1,
|
|
131
|
+
fee: this.feeCode,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
|
|
127
135
|
protected async processBlockLogs(
|
|
128
136
|
state: DeepReadonly<PoolState>,
|
|
129
137
|
logs: Readonly<Log>[],
|
|
@@ -61,6 +61,7 @@ import {
|
|
|
61
61
|
OnPoolCreatedCallback,
|
|
62
62
|
PancakeswapV3Factory,
|
|
63
63
|
} from './pancakeswap-v3-factory';
|
|
64
|
+
import { extractReturnAmountPosition } from '../../executor/utils';
|
|
64
65
|
|
|
65
66
|
type PoolPairsInfo = {
|
|
66
67
|
token0: Address;
|
|
@@ -68,6 +69,8 @@ type PoolPairsInfo = {
|
|
|
68
69
|
fee: string;
|
|
69
70
|
};
|
|
70
71
|
|
|
72
|
+
const PoolsRegistryHashKey = `${CACHE_PREFIX}_poolsRegistry`;
|
|
73
|
+
|
|
71
74
|
const PANCAKESWAPV3_CLEAN_NOT_EXISTING_POOL_TTL_MS = 3 * 24 * 60 * 60 * 1000; // 3 days
|
|
72
75
|
const PANCAKESWAPV3_CLEAN_NOT_EXISTING_POOL_INTERVAL_MS = 24 * 60 * 60 * 1000; // Once in a day
|
|
73
76
|
const PANCAKESWAPV3_QUOTE_GASLIMIT = 200_000;
|
|
@@ -86,7 +89,13 @@ export class PancakeswapV3
|
|
|
86
89
|
intervalTask?: NodeJS.Timeout;
|
|
87
90
|
|
|
88
91
|
public static dexKeysWithNetwork: { key: string; networks: Network[] }[] =
|
|
89
|
-
getDexKeysWithNetwork(
|
|
92
|
+
getDexKeysWithNetwork(
|
|
93
|
+
_.pick(PancakeswapV3Config, [
|
|
94
|
+
'PancakeswapV3',
|
|
95
|
+
'DackieSwapV3',
|
|
96
|
+
'SwapBasedV3',
|
|
97
|
+
]),
|
|
98
|
+
);
|
|
90
99
|
|
|
91
100
|
logger: Logger;
|
|
92
101
|
|
|
@@ -251,16 +260,6 @@ export class PancakeswapV3
|
|
|
251
260
|
null;
|
|
252
261
|
return null;
|
|
253
262
|
}
|
|
254
|
-
|
|
255
|
-
await this.dexHelper.cache.hset(
|
|
256
|
-
this.dexmapKey,
|
|
257
|
-
key,
|
|
258
|
-
JSON.stringify({
|
|
259
|
-
token0,
|
|
260
|
-
token1,
|
|
261
|
-
fee: fee.toString(),
|
|
262
|
-
}),
|
|
263
|
-
);
|
|
264
263
|
}
|
|
265
264
|
|
|
266
265
|
this.logger.trace(`starting to listen to new pool: ${key}`);
|
|
@@ -340,10 +339,13 @@ export class PancakeswapV3
|
|
|
340
339
|
}
|
|
341
340
|
|
|
342
341
|
async addMasterPool(poolKey: string, blockNumber: number): Promise<boolean> {
|
|
343
|
-
const _pairs = await this.dexHelper.cache.hget(
|
|
342
|
+
const _pairs = await this.dexHelper.cache.hget(
|
|
343
|
+
PoolsRegistryHashKey,
|
|
344
|
+
`${this.cacheStateKey}_${poolKey}`,
|
|
345
|
+
);
|
|
344
346
|
if (!_pairs) {
|
|
345
347
|
this.logger.warn(
|
|
346
|
-
`did not find poolConfig in for key ${this.
|
|
348
|
+
`did not find poolConfig in for key ${PoolsRegistryHashKey} ${this.cacheStateKey}_${poolKey}`,
|
|
347
349
|
);
|
|
348
350
|
return false;
|
|
349
351
|
}
|
|
@@ -893,6 +895,14 @@ export class PancakeswapV3
|
|
|
893
895
|
dexFuncHasRecipient: true,
|
|
894
896
|
exchangeData,
|
|
895
897
|
targetExchange: this.config.router,
|
|
898
|
+
returnAmountPos:
|
|
899
|
+
side === SwapSide.SELL
|
|
900
|
+
? extractReturnAmountPosition(
|
|
901
|
+
this.routerIface,
|
|
902
|
+
swapFunction,
|
|
903
|
+
'amountOut',
|
|
904
|
+
)
|
|
905
|
+
: undefined,
|
|
896
906
|
};
|
|
897
907
|
}
|
|
898
908
|
|
|
@@ -900,6 +910,8 @@ export class PancakeswapV3
|
|
|
900
910
|
tokenAddress: Address,
|
|
901
911
|
limit: number,
|
|
902
912
|
): Promise<PoolLiquidity[]> {
|
|
913
|
+
if (!this.config.subgraphURL) return [];
|
|
914
|
+
|
|
903
915
|
const _tokenAddress = tokenAddress.toLowerCase();
|
|
904
916
|
|
|
905
917
|
const res = await this._querySubgraph(
|
|
@@ -1072,6 +1084,8 @@ export class PancakeswapV3
|
|
|
1072
1084
|
variables: Object,
|
|
1073
1085
|
timeout = 30000,
|
|
1074
1086
|
) {
|
|
1087
|
+
if (!this.config.subgraphURL) return [];
|
|
1088
|
+
|
|
1075
1089
|
try {
|
|
1076
1090
|
const res = await this.dexHelper.httpRequest.post(
|
|
1077
1091
|
this.config.subgraphURL,
|
|
@@ -38,6 +38,7 @@ import PoolABI from '../../abi/platypus/pool.json';
|
|
|
38
38
|
import AvaxPoolABI from '../../abi/platypus/avax-pool.json';
|
|
39
39
|
import AssetABI from '../../abi/platypus/asset.json';
|
|
40
40
|
import OracleABI from '../../abi/platypus/oracle.json';
|
|
41
|
+
import { extractReturnAmountPosition } from '../../executor/utils';
|
|
41
42
|
|
|
42
43
|
export class Platypus extends SimpleExchange implements IDex<PlatypusData> {
|
|
43
44
|
static readonly erc20Interface = new Interface(ERC20ABI);
|
|
@@ -497,22 +498,34 @@ export class Platypus extends SimpleExchange implements IDex<PlatypusData> {
|
|
|
497
498
|
data: PlatypusData,
|
|
498
499
|
side: SwapSide,
|
|
499
500
|
): DexExchangeParam {
|
|
501
|
+
const iface = isETHAddress(srcToken)
|
|
502
|
+
? Platypus.avaxPoolInterface
|
|
503
|
+
: isETHAddress(destToken)
|
|
504
|
+
? Platypus.avaxPoolInterface
|
|
505
|
+
: Platypus.poolInterface;
|
|
506
|
+
|
|
507
|
+
const swapFunction = isETHAddress(srcToken)
|
|
508
|
+
? 'swapFromETH'
|
|
509
|
+
: isETHAddress(destToken)
|
|
510
|
+
? 'swapToETH'
|
|
511
|
+
: 'swap';
|
|
512
|
+
|
|
500
513
|
const swapData = isETHAddress(srcToken)
|
|
501
|
-
?
|
|
514
|
+
? iface.encodeFunctionData(swapFunction, [
|
|
502
515
|
destToken,
|
|
503
516
|
1,
|
|
504
517
|
recipient,
|
|
505
518
|
getLocalDeadlineAsFriendlyPlaceholder(),
|
|
506
519
|
])
|
|
507
520
|
: isETHAddress(destToken)
|
|
508
|
-
?
|
|
521
|
+
? iface.encodeFunctionData(swapFunction, [
|
|
509
522
|
srcToken,
|
|
510
523
|
srcAmount,
|
|
511
524
|
1,
|
|
512
525
|
recipient,
|
|
513
526
|
getLocalDeadlineAsFriendlyPlaceholder(),
|
|
514
527
|
])
|
|
515
|
-
:
|
|
528
|
+
: iface.encodeFunctionData(swapFunction, [
|
|
516
529
|
srcToken,
|
|
517
530
|
destToken,
|
|
518
531
|
srcAmount,
|
|
@@ -526,6 +539,10 @@ export class Platypus extends SimpleExchange implements IDex<PlatypusData> {
|
|
|
526
539
|
dexFuncHasRecipient: true,
|
|
527
540
|
exchangeData: swapData,
|
|
528
541
|
targetExchange: data.pool,
|
|
542
|
+
returnAmountPos:
|
|
543
|
+
side === SwapSide.SELL
|
|
544
|
+
? extractReturnAmountPosition(iface, swapFunction, 'actualToAmount')
|
|
545
|
+
: undefined,
|
|
529
546
|
};
|
|
530
547
|
}
|
|
531
548
|
|
|
@@ -24,6 +24,7 @@ import { QuickPerpsConfig, Adapters } from './config';
|
|
|
24
24
|
import { Vault } from './vault';
|
|
25
25
|
import ERC20ABI from '../../abi/erc20.json';
|
|
26
26
|
import { solidityPack } from 'ethers/lib/utils';
|
|
27
|
+
import { extractReturnAmountPosition } from '../../executor/utils';
|
|
27
28
|
|
|
28
29
|
const QuickPerpsGasCost = 300 * 1000;
|
|
29
30
|
|
|
@@ -228,7 +229,9 @@ export class QuickPerps extends SimpleExchange implements IDex<QuickPerpsData> {
|
|
|
228
229
|
data: QuickPerpsData,
|
|
229
230
|
side: SwapSide,
|
|
230
231
|
): DexExchangeParam {
|
|
231
|
-
const
|
|
232
|
+
const iface = Vault.interface;
|
|
233
|
+
const functionName = 'swap';
|
|
234
|
+
const swapData = iface.encodeFunctionData(functionName, [
|
|
232
235
|
srcToken,
|
|
233
236
|
destToken,
|
|
234
237
|
recipient,
|
|
@@ -241,6 +244,13 @@ export class QuickPerps extends SimpleExchange implements IDex<QuickPerpsData> {
|
|
|
241
244
|
targetExchange: this.params.vault,
|
|
242
245
|
swappedAmountNotPresentInExchangeData: true,
|
|
243
246
|
transferSrcTokenBeforeSwap: this.params.vault,
|
|
247
|
+
returnAmountPos:
|
|
248
|
+
side === SwapSide.SELL
|
|
249
|
+
? extractReturnAmountPosition(
|
|
250
|
+
iface,
|
|
251
|
+
functionName,
|
|
252
|
+
)
|
|
253
|
+
: undefined,
|
|
244
254
|
};
|
|
245
255
|
}
|
|
246
256
|
|
|
@@ -47,7 +47,6 @@ export class SimpleExchange {
|
|
|
47
47
|
protected augustusV6Interface: Interface;
|
|
48
48
|
|
|
49
49
|
protected network: number;
|
|
50
|
-
protected dexmapKey: string;
|
|
51
50
|
|
|
52
51
|
readonly cacheStateKey: string;
|
|
53
52
|
|
|
@@ -65,9 +64,6 @@ export class SimpleExchange {
|
|
|
65
64
|
this.augustusInterface = new Interface(augustusABI);
|
|
66
65
|
this.augustusV6Interface = new Interface(augustusV6ABI);
|
|
67
66
|
|
|
68
|
-
this.dexmapKey =
|
|
69
|
-
`${CACHE_PREFIX}_${this.network}_${this.dexKey}_poolconfigs`.toLowerCase();
|
|
70
|
-
|
|
71
67
|
this.cacheStateKey =
|
|
72
68
|
`${CACHE_PREFIX}_${this.network}_${this.dexKey}_states`.toLowerCase();
|
|
73
69
|
}
|
|
@@ -159,6 +159,20 @@ export const SolidlyConfig: DexConfigMap<DexParams> = {
|
|
|
159
159
|
feeCode: 0,
|
|
160
160
|
},
|
|
161
161
|
},
|
|
162
|
+
PharaohV1: {
|
|
163
|
+
[Network.AVALANCHE]: {
|
|
164
|
+
subgraphURL:
|
|
165
|
+
'https://api.studio.thegraph.com/query/66247/pharaoh-legacy/version/latest',
|
|
166
|
+
factoryAddress: '0xAAA16c016BF556fcD620328f0759252E29b1AB57',
|
|
167
|
+
router: '0x609AcD8Fc955Dd7E744c7DFFc9930a7A6654DE43',
|
|
168
|
+
initCode:
|
|
169
|
+
'0xbf2404274de2b11f05e5aebd49e508de933034cb5fa2d0ac3de8cbd4bcef47dc',
|
|
170
|
+
poolGasCost: 180 * 1000,
|
|
171
|
+
stableFee: 5,
|
|
172
|
+
volatileFee: 25,
|
|
173
|
+
feeCode: 0,
|
|
174
|
+
},
|
|
175
|
+
},
|
|
162
176
|
Equalizer: {
|
|
163
177
|
[Network.FANTOM]: {
|
|
164
178
|
factoryAddress: '0xc6366EFD0AF1d09171fe0EBF32c7943BB310832a',
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Network } from '../../../constants';
|
|
2
|
+
import { getDexKeysWithNetwork } from '../../../utils';
|
|
3
|
+
import { SolidlyConfig } from '../config';
|
|
4
|
+
import _ from 'lodash';
|
|
5
|
+
import { Ramses } from './ramses';
|
|
6
|
+
|
|
7
|
+
export class PharaohV1 extends Ramses {
|
|
8
|
+
public static dexKeysWithNetwork: { key: string; networks: Network[] }[] =
|
|
9
|
+
getDexKeysWithNetwork(_.pick(SolidlyConfig, ['PharaohV1']));
|
|
10
|
+
}
|
|
@@ -1367,6 +1367,27 @@ describe('Solidly E2E', () => {
|
|
|
1367
1367
|
});
|
|
1368
1368
|
});
|
|
1369
1369
|
});
|
|
1370
|
+
|
|
1371
|
+
describe('PharaohV1', () => {
|
|
1372
|
+
const dexKey = 'PharaohV1';
|
|
1373
|
+
|
|
1374
|
+
const tokenASymbol: string = 'USDC';
|
|
1375
|
+
const tokenBSymbol: string = 'WAVAX';
|
|
1376
|
+
|
|
1377
|
+
const tokenAAmount: string = '100000';
|
|
1378
|
+
const tokenBAmount: string = '100000000000000000';
|
|
1379
|
+
const nativeTokenAmount = '100000000000000000';
|
|
1380
|
+
|
|
1381
|
+
testForNetwork(
|
|
1382
|
+
network,
|
|
1383
|
+
dexKey,
|
|
1384
|
+
tokenASymbol,
|
|
1385
|
+
tokenBSymbol,
|
|
1386
|
+
tokenAAmount,
|
|
1387
|
+
tokenBAmount,
|
|
1388
|
+
nativeTokenAmount,
|
|
1389
|
+
);
|
|
1390
|
+
});
|
|
1370
1391
|
});
|
|
1371
1392
|
|
|
1372
1393
|
describe('Arbitrum', () => {
|
|
@@ -19,6 +19,7 @@ import { VelodromeV2 } from './forks-override/velodromeV2';
|
|
|
19
19
|
import { Equalizer } from './forks-override/equalizer';
|
|
20
20
|
import { Velocimeter } from './forks-override/velocimeter';
|
|
21
21
|
import { Usdfi } from './forks-override/usdfi';
|
|
22
|
+
import { PharaohV1 } from './forks-override/pharaohV1';
|
|
22
23
|
|
|
23
24
|
const amounts18 = [0n, BI_POWS[18], 2000000000000000000n];
|
|
24
25
|
const amounts6 = [0n, BI_POWS[6], 2000000n];
|
|
@@ -1443,6 +1444,148 @@ describe('Solidly integration tests', () => {
|
|
|
1443
1444
|
});
|
|
1444
1445
|
});
|
|
1445
1446
|
|
|
1447
|
+
describe('Avalanche', () => {
|
|
1448
|
+
const network = Network.AVALANCHE;
|
|
1449
|
+
const dexHelper = new DummyDexHelper(network);
|
|
1450
|
+
const checkOnChainPricing = constructCheckOnChainPricing(dexHelper);
|
|
1451
|
+
|
|
1452
|
+
describe('PharaohV1', function () {
|
|
1453
|
+
const dexKey = 'PharaohV1';
|
|
1454
|
+
const pharaohV1 = new PharaohV1(network, dexKey, dexHelper);
|
|
1455
|
+
|
|
1456
|
+
describe('UniswapV2 like pool', function () {
|
|
1457
|
+
const TokenASymbol = 'USDC';
|
|
1458
|
+
const tokenA = Tokens[network][TokenASymbol];
|
|
1459
|
+
const TokenBSymbol = 'WAVAX';
|
|
1460
|
+
const tokenB = Tokens[network][TokenBSymbol];
|
|
1461
|
+
|
|
1462
|
+
const amounts = amounts18;
|
|
1463
|
+
|
|
1464
|
+
it('getPoolIdentifiers and getPricesVolume', async function () {
|
|
1465
|
+
const blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
|
|
1466
|
+
const pools = await pharaohV1.getPoolIdentifiers(
|
|
1467
|
+
tokenA,
|
|
1468
|
+
tokenB,
|
|
1469
|
+
SwapSide.SELL,
|
|
1470
|
+
blocknumber,
|
|
1471
|
+
);
|
|
1472
|
+
console.log(
|
|
1473
|
+
`${TokenASymbol} <> ${TokenBSymbol} Pool Identifiers: `,
|
|
1474
|
+
pools,
|
|
1475
|
+
);
|
|
1476
|
+
|
|
1477
|
+
expect(pools.length).toBeGreaterThan(0);
|
|
1478
|
+
|
|
1479
|
+
console.log('AMOUNTS: ', amounts);
|
|
1480
|
+
|
|
1481
|
+
const poolPrices = await pharaohV1.getPricesVolume(
|
|
1482
|
+
tokenA,
|
|
1483
|
+
tokenB,
|
|
1484
|
+
amounts,
|
|
1485
|
+
SwapSide.SELL,
|
|
1486
|
+
blocknumber,
|
|
1487
|
+
pools,
|
|
1488
|
+
);
|
|
1489
|
+
console.log(
|
|
1490
|
+
`${TokenASymbol} <> ${TokenBSymbol} Pool Prices: `,
|
|
1491
|
+
util.inspect(poolPrices, false, null, true),
|
|
1492
|
+
);
|
|
1493
|
+
|
|
1494
|
+
expect(poolPrices).not.toBeNull();
|
|
1495
|
+
checkPoolPrices(poolPrices!, amounts, SwapSide.SELL, dexKey);
|
|
1496
|
+
|
|
1497
|
+
// Check if onchain pricing equals to calculated ones
|
|
1498
|
+
|
|
1499
|
+
for (const poolPrice of poolPrices || []) {
|
|
1500
|
+
await checkOnChainPricing(
|
|
1501
|
+
pharaohV1,
|
|
1502
|
+
'getAmountOut',
|
|
1503
|
+
blocknumber,
|
|
1504
|
+
poolPrice.prices,
|
|
1505
|
+
poolPrice.poolAddresses![0],
|
|
1506
|
+
tokenA.address,
|
|
1507
|
+
amounts,
|
|
1508
|
+
);
|
|
1509
|
+
}
|
|
1510
|
+
});
|
|
1511
|
+
|
|
1512
|
+
it('getTopPoolsForToken', async function () {
|
|
1513
|
+
const poolLiquidity = await pharaohV1.getTopPoolsForToken(
|
|
1514
|
+
tokenA.address,
|
|
1515
|
+
10,
|
|
1516
|
+
);
|
|
1517
|
+
console.log(`${TokenASymbol} Top Pools:`, poolLiquidity);
|
|
1518
|
+
|
|
1519
|
+
checkPoolsLiquidity(poolLiquidity, tokenA.address, dexKey);
|
|
1520
|
+
});
|
|
1521
|
+
});
|
|
1522
|
+
|
|
1523
|
+
describe('Curve like stable pool', function () {
|
|
1524
|
+
const TokenASymbol = 'USDT';
|
|
1525
|
+
const tokenA = Tokens[network][TokenASymbol];
|
|
1526
|
+
const TokenBSymbol = 'USDC';
|
|
1527
|
+
const tokenB = Tokens[network][TokenBSymbol];
|
|
1528
|
+
|
|
1529
|
+
const amounts = amounts6;
|
|
1530
|
+
|
|
1531
|
+
it('getPoolIdentifiers and getPricesVolume', async function () {
|
|
1532
|
+
const blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
|
|
1533
|
+
const pools = await pharaohV1.getPoolIdentifiers(
|
|
1534
|
+
tokenA,
|
|
1535
|
+
tokenB,
|
|
1536
|
+
SwapSide.SELL,
|
|
1537
|
+
blocknumber,
|
|
1538
|
+
);
|
|
1539
|
+
console.log(
|
|
1540
|
+
`${TokenASymbol} <> ${TokenBSymbol} Pool Identifiers: `,
|
|
1541
|
+
pools,
|
|
1542
|
+
);
|
|
1543
|
+
|
|
1544
|
+
expect(pools.length).toBeGreaterThan(0);
|
|
1545
|
+
|
|
1546
|
+
const poolPrices = await pharaohV1.getPricesVolume(
|
|
1547
|
+
tokenA,
|
|
1548
|
+
tokenB,
|
|
1549
|
+
amounts,
|
|
1550
|
+
SwapSide.SELL,
|
|
1551
|
+
blocknumber,
|
|
1552
|
+
pools,
|
|
1553
|
+
);
|
|
1554
|
+
console.log(
|
|
1555
|
+
`${TokenASymbol} <> ${TokenBSymbol} Pool Prices: `,
|
|
1556
|
+
poolPrices,
|
|
1557
|
+
);
|
|
1558
|
+
|
|
1559
|
+
expect(poolPrices).not.toBeNull();
|
|
1560
|
+
checkPoolPrices(poolPrices!, amounts, SwapSide.SELL, dexKey);
|
|
1561
|
+
|
|
1562
|
+
// Check if onchain pricing equals to calculated ones
|
|
1563
|
+
for (const poolPrice of poolPrices || []) {
|
|
1564
|
+
await checkOnChainPricing(
|
|
1565
|
+
pharaohV1,
|
|
1566
|
+
'getAmountOut',
|
|
1567
|
+
blocknumber,
|
|
1568
|
+
poolPrice.prices,
|
|
1569
|
+
poolPrice.poolAddresses![0],
|
|
1570
|
+
tokenA.address,
|
|
1571
|
+
amounts,
|
|
1572
|
+
);
|
|
1573
|
+
}
|
|
1574
|
+
});
|
|
1575
|
+
|
|
1576
|
+
it('getTopPoolsForToken', async function () {
|
|
1577
|
+
const poolLiquidity = await pharaohV1.getTopPoolsForToken(
|
|
1578
|
+
tokenA.address,
|
|
1579
|
+
10,
|
|
1580
|
+
);
|
|
1581
|
+
console.log(`${TokenASymbol} Top Pools:`, poolLiquidity);
|
|
1582
|
+
|
|
1583
|
+
checkPoolsLiquidity(poolLiquidity, tokenA.address, dexKey);
|
|
1584
|
+
});
|
|
1585
|
+
});
|
|
1586
|
+
});
|
|
1587
|
+
});
|
|
1588
|
+
|
|
1446
1589
|
describe('Optimism', () => {
|
|
1447
1590
|
const network = Network.OPTIMISM;
|
|
1448
1591
|
const dexHelper = new DummyDexHelper(network);
|
|
@@ -88,6 +88,7 @@ export class Solidly extends UniswapV2 {
|
|
|
88
88
|
'Equalizer',
|
|
89
89
|
'Velocimeter',
|
|
90
90
|
'Usdfi',
|
|
91
|
+
'PharaohV1',
|
|
91
92
|
]),
|
|
92
93
|
);
|
|
93
94
|
|
|
@@ -682,6 +683,7 @@ export class Solidly extends UniswapV2 {
|
|
|
682
683
|
transferSrcTokenBeforeSwap: data.isFeeTokenInRoute
|
|
683
684
|
? undefined
|
|
684
685
|
: data.pools[0].address,
|
|
686
|
+
returnAmountPos: undefined,
|
|
685
687
|
};
|
|
686
688
|
}
|
|
687
689
|
}
|
|
@@ -44,7 +44,6 @@ export const SolidlyV3Config: DexConfigMap<DexParams> = {
|
|
|
44
44
|
SolidlyV3: {
|
|
45
45
|
[Network.MAINNET]: {
|
|
46
46
|
factory: '0x70Fe4a44EA505cFa3A57b95cF2862D4fd5F0f687',
|
|
47
|
-
quoter: '0x61fFE014bA17989E743c5F6cB21bF9697530B21e',
|
|
48
47
|
supportedTickSpacings: SUPPORTED_TICK_SPACINGS,
|
|
49
48
|
stateMulticall: '0xb229563028302AA693EEaD62F80CC331aEDE4e26',
|
|
50
49
|
chunksCount: 10,
|
|
@@ -53,6 +52,17 @@ export const SolidlyV3Config: DexConfigMap<DexParams> = {
|
|
|
53
52
|
subgraphURL:
|
|
54
53
|
'https://api.thegraph.com/subgraphs/name/solidlylabs/solidly-v3',
|
|
55
54
|
},
|
|
55
|
+
[Network.FANTOM]: {
|
|
56
|
+
factory: '0x70Fe4a44EA505cFa3A57b95cF2862D4fd5F0f687',
|
|
57
|
+
supportedTickSpacings: SUPPORTED_TICK_SPACINGS,
|
|
58
|
+
stateMulticall: '0x000c5dd531b3e2327c0E3a382bC8B21a284E6F61',
|
|
59
|
+
chunksCount: 10,
|
|
60
|
+
initRetryFrequency: 10,
|
|
61
|
+
initHash:
|
|
62
|
+
'0xe9b68c5f77858eecac2e651646e208175e9b1359d68d0e14fc69f8c54e5010bf',
|
|
63
|
+
subgraphURL:
|
|
64
|
+
'https://api.thegraph.com/subgraphs/name/solidlylabs/solidly-v3-fantom',
|
|
65
|
+
},
|
|
56
66
|
},
|
|
57
67
|
};
|
|
58
68
|
|
|
@@ -61,4 +71,8 @@ export const Adapters: Record<number, AdapterMappings> = {
|
|
|
61
71
|
[SwapSide.SELL]: [{ name: 'Adapter04', index: 7 }],
|
|
62
72
|
[SwapSide.BUY]: [{ name: 'BuyAdapter02', index: 3 }],
|
|
63
73
|
},
|
|
74
|
+
[Network.FANTOM]: {
|
|
75
|
+
[SwapSide.SELL]: [{ name: 'FantomAdapter02', index: 1 }],
|
|
76
|
+
[SwapSide.BUY]: [{ name: 'FantomBuyAdapter', index: 5 }],
|
|
77
|
+
},
|
|
64
78
|
};
|
|
@@ -123,4 +123,37 @@ describe('SolidlyV3 E2E', () => {
|
|
|
123
123
|
|
|
124
124
|
testForNetwork(network, dexKey, pairs);
|
|
125
125
|
});
|
|
126
|
+
|
|
127
|
+
describe('Fantom', () => {
|
|
128
|
+
const network = Network.FANTOM;
|
|
129
|
+
|
|
130
|
+
const pairs = [
|
|
131
|
+
[
|
|
132
|
+
{
|
|
133
|
+
name: NativeTokenSymbols[network],
|
|
134
|
+
sellAmount: '100000000000000000',
|
|
135
|
+
buyAmount: '1000000000',
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
name: 'SOLID',
|
|
139
|
+
sellAmount: '1000000000000000000',
|
|
140
|
+
buyAmount: '1000000000',
|
|
141
|
+
},
|
|
142
|
+
],
|
|
143
|
+
[
|
|
144
|
+
{
|
|
145
|
+
name: 'WFTM',
|
|
146
|
+
sellAmount: '1000000000000000000',
|
|
147
|
+
buyAmount: '1000000000',
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
name: 'SOLID',
|
|
151
|
+
sellAmount: '1000000000000000000',
|
|
152
|
+
buyAmount: '1000000000',
|
|
153
|
+
},
|
|
154
|
+
],
|
|
155
|
+
];
|
|
156
|
+
|
|
157
|
+
testForNetwork(network, dexKey, pairs);
|
|
158
|
+
});
|
|
126
159
|
});
|
|
@@ -38,7 +38,14 @@ export class SolidlyV3Factory extends StatefulEventSubscriber<FactoryState> {
|
|
|
38
38
|
protected readonly onPoolCreated: OnPoolCreatedCallback,
|
|
39
39
|
mapKey: string = '',
|
|
40
40
|
) {
|
|
41
|
-
super(
|
|
41
|
+
super(
|
|
42
|
+
parentName,
|
|
43
|
+
`${parentName} Factory`,
|
|
44
|
+
dexHelper,
|
|
45
|
+
logger,
|
|
46
|
+
false,
|
|
47
|
+
mapKey,
|
|
48
|
+
);
|
|
42
49
|
|
|
43
50
|
this.addressesSubscribed = [factoryAddress];
|
|
44
51
|
|
|
@@ -128,6 +128,14 @@ export class SolidlyV3EventPool extends StatefulEventSubscriber<PoolState> {
|
|
|
128
128
|
await super.initialize(blockNumber, options);
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
+
protected getPoolIdentifierData() {
|
|
132
|
+
return {
|
|
133
|
+
token0: this.token0,
|
|
134
|
+
token1: this.token1,
|
|
135
|
+
fee: this.tickSpacing.toString(),
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
|
|
131
139
|
protected async processBlockLogs(
|
|
132
140
|
state: DeepReadonly<PoolState>,
|
|
133
141
|
logs: Readonly<Log>[],
|
|
@@ -34,7 +34,6 @@ import {
|
|
|
34
34
|
} from '../simple-exchange';
|
|
35
35
|
import { SolidlyV3Config, Adapters, PoolsToPreload } from './config';
|
|
36
36
|
import { SolidlyV3EventPool } from './solidly-v3-pool';
|
|
37
|
-
import UniswapV3QuoterV2ABI from '../../abi/uniswap-v3/UniswapV3QuoterV2.abi.json';
|
|
38
37
|
import DirectSwapABI from '../../abi/DirectSwap.json';
|
|
39
38
|
import SolidlyV3StateMulticallABI from '../../abi/solidly-v3/SolidlyV3StateMulticall.abi.json';
|
|
40
39
|
import SolidlyV3PoolABI from '../../abi/solidly-v3/SolidlyV3Pool.abi.json';
|
|
@@ -48,7 +47,6 @@ import { assert, DeepReadonly } from 'ts-essentials';
|
|
|
48
47
|
import { uniswapV3Math } from './contract-math/uniswap-v3-math';
|
|
49
48
|
import { Contract } from 'web3-eth-contract';
|
|
50
49
|
import { AbiItem } from 'web3-utils';
|
|
51
|
-
import { OptimalSwapExchange } from '@paraswap/core';
|
|
52
50
|
import { TickMath } from './contract-math/TickMath';
|
|
53
51
|
import { OnPoolCreatedCallback, SolidlyV3Factory } from './solidly-v3-factory';
|
|
54
52
|
|
|
@@ -58,6 +56,8 @@ type PoolPairsInfo = {
|
|
|
58
56
|
fee: string;
|
|
59
57
|
};
|
|
60
58
|
|
|
59
|
+
const PoolsRegistryHashKey = `${CACHE_PREFIX}_poolsRegistry`;
|
|
60
|
+
|
|
61
61
|
const UNISWAPV3_CLEAN_NOT_EXISTING_POOL_TTL_MS = 60 * 60 * 24 * 1000; // 24 hours
|
|
62
62
|
const UNISWAPV3_CLEAN_NOT_EXISTING_POOL_INTERVAL_MS = 30 * 60 * 1000; // Once in 30 minutes
|
|
63
63
|
|
|
@@ -92,7 +92,6 @@ export class SolidlyV3
|
|
|
92
92
|
protected dexHelper: IDexHelper,
|
|
93
93
|
protected adapters = Adapters[network] || {},
|
|
94
94
|
readonly poolIface = new Interface(SolidlyV3PoolABI),
|
|
95
|
-
readonly quoterIface = new Interface(UniswapV3QuoterV2ABI),
|
|
96
95
|
protected config = SolidlyV3Config[dexKey][network],
|
|
97
96
|
protected poolsToPreload = PoolsToPreload[dexKey]?.[network] || [],
|
|
98
97
|
) {
|
|
@@ -259,16 +258,6 @@ export class SolidlyV3
|
|
|
259
258
|
] = null;
|
|
260
259
|
return null;
|
|
261
260
|
}
|
|
262
|
-
|
|
263
|
-
await this.dexHelper.cache.hset(
|
|
264
|
-
this.dexmapKey,
|
|
265
|
-
key,
|
|
266
|
-
JSON.stringify({
|
|
267
|
-
token0,
|
|
268
|
-
token1,
|
|
269
|
-
fee: tickSpacing.toString(),
|
|
270
|
-
}),
|
|
271
|
-
);
|
|
272
261
|
}
|
|
273
262
|
|
|
274
263
|
this.logger.trace(`starting to listen to new pool: ${key}`);
|
|
@@ -345,10 +334,13 @@ export class SolidlyV3
|
|
|
345
334
|
}
|
|
346
335
|
|
|
347
336
|
async addMasterPool(poolKey: string, blockNumber: number): Promise<boolean> {
|
|
348
|
-
const _pairs = await this.dexHelper.cache.hget(
|
|
337
|
+
const _pairs = await this.dexHelper.cache.hget(
|
|
338
|
+
PoolsRegistryHashKey,
|
|
339
|
+
`${this.cacheStateKey}_${poolKey}`,
|
|
340
|
+
);
|
|
349
341
|
if (!_pairs) {
|
|
350
342
|
this.logger.warn(
|
|
351
|
-
`did not find poolConfig in for key ${this.
|
|
343
|
+
`did not find poolConfig in for key ${PoolsRegistryHashKey} ${this.cacheStateKey}_${poolKey}`,
|
|
352
344
|
);
|
|
353
345
|
return false;
|
|
354
346
|
}
|
|
@@ -732,6 +724,7 @@ export class SolidlyV3
|
|
|
732
724
|
dexFuncHasRecipient: true,
|
|
733
725
|
exchangeData: swapData,
|
|
734
726
|
targetExchange: data.poolAddress,
|
|
727
|
+
returnAmountPos: undefined,
|
|
735
728
|
};
|
|
736
729
|
}
|
|
737
730
|
|
|
@@ -839,7 +832,6 @@ export class SolidlyV3
|
|
|
839
832
|
private _toLowerForAllConfigAddresses() {
|
|
840
833
|
// If new config property will be added, the TS will throw compile error
|
|
841
834
|
const newConfig: DexParams = {
|
|
842
|
-
quoter: this.config.quoter.toLowerCase(),
|
|
843
835
|
factory: this.config.factory.toLowerCase(),
|
|
844
836
|
supportedTickSpacings: this.config.supportedTickSpacings,
|
|
845
837
|
stateMulticall: this.config.stateMulticall.toLowerCase(),
|