@paraswap/dex-lib 4.1.9 → 4.1.10-pubsub
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/AaveV1_lending_pool.json +27 -0
- package/build/abi/Aave_GSM.json +751 -0
- package/build/abi/Balancer.json +257 -0
- package/build/abi/BalancerV2.json +1179 -0
- package/build/abi/RamsesV2Pool.abi.json +1554 -0
- package/build/abi/RamsesV2Quoter.abi.json +274 -0
- package/build/abi/USDM.json +807 -0
- package/build/abi/UniswapV2Router.json +397 -0
- package/build/abi/angle-transmuter/ChainlinkAccessControlledOffchainAggregator.json +1246 -0
- package/build/abi/angle-transmuter/ChainlinkEACAggregatorProxy.json +509 -0
- package/build/abi/curve-v1/CurveBUSDv2.abi.json +1356 -0
- package/build/abi/curve-v1/CurveTokenV1.json +305 -0
- package/build/abi/curve-v1/CurveTokenV2.json +318 -0
- package/build/abi/curve-v1/CurveV1StableNg.json +1452 -0
- package/build/abi/curve-v1/CurveV2Swap.json +700 -0
- package/build/abi/curve-v1/FactoryCryptoRegistry.json +316 -0
- package/build/abi/curve-v1/FactoryRegistry.json +508 -0
- package/build/abi/curve-v1/StableSwapAave.json +1152 -0
- package/build/abi/curve-v1/StableSwapBUSD.json +814 -0
- package/build/abi/curve-v1/StableSwapCompound.json +814 -0
- package/build/abi/curve-v1/StableSwapIDLE.json +1253 -0
- package/build/abi/curve-v1/StableSwapPax.json +865 -0
- package/build/abi/curve-v1/StableSwapSnow.json +900 -0
- package/build/abi/curve-v1/StableSwapUSDN.json +1004 -0
- package/build/abi/curve-v1/StableSwapUSDT.json +814 -0
- package/build/abi/curve-v1/StableSwapY.json +814 -0
- package/build/abi/ekubo/core.json +1266 -0
- package/build/abi/ekubo/data-fetcher.json +161 -0
- package/build/abi/ekubo/router.json +803 -0
- package/build/abi/inception/inception-ineth-pool.json +1062 -0
- package/build/abi/inception/inception-ineth.json +609 -0
- package/build/abi/inception/inception-ratio-feed.json +329 -0
- package/build/abi/inception/inception-vault.json +991 -0
- package/build/abi/kyberdmm/kyber-storage.abi.json +824 -0
- package/build/abi/kyberdmm.abi.json +1148 -0
- package/build/abi/maverick-v2/MaverickV2Quoter.json +278 -0
- package/build/abi/nerve/nerve-metapool.json +790 -0
- package/build/abi/platypus/asset.json +490 -0
- package/build/abi/platypus/avax-pool.json +820 -0
- package/build/abi/platypus/oracle.json +119 -0
- package/build/abi/platypus/pool.json +677 -0
- package/build/abi/smardex/all/smardex-router.json +648 -0
- package/build/abi/smardex/layer-1/smardex-factory.json +242 -0
- package/build/abi/smardex/layer-1/smardex-pool.json +506 -0
- package/build/abi/smardex/layer-2/smardex-factory.json +185 -0
- package/build/abi/smardex/layer-2/smardex-pool.json +578 -0
- package/build/abi/swaap-v1/pool.json +1346 -0
- package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +193 -0
- package/build/abi/velodrome-slipstream/VelodromeSlipstreamQuoterV2.abi.json +267 -0
- package/build/dex/aave-v1/aave-v1.d.ts +34 -0
- package/build/dex/aave-v1/aave-v1.js +180 -0
- package/build/dex/aave-v1/aave-v1.js.map +1 -0
- package/build/dex/aave-v1/config.d.ts +11 -0
- package/build/dex/aave-v1/config.js +20 -0
- package/build/dex/aave-v1/config.js.map +1 -0
- package/build/dex/aave-v1/tokens-mainnet.json +134 -0
- package/build/dex/aave-v1/tokens.d.ts +3 -0
- package/build/dex/aave-v1/tokens.js +50 -0
- package/build/dex/aave-v1/tokens.js.map +1 -0
- package/build/dex/aave-v1/types.d.ts +12 -0
- package/build/dex/aave-v1/types.js +3 -0
- package/build/dex/aave-v1/types.js.map +1 -0
- package/build/dex/aave-v3-stata/config.js +8 -8
- package/build/dex/aave-v3-stata/config.js.map +1 -1
- package/build/dex/aave-v3-stata-v2/aave-v3-stata-v2.js +2 -2
- package/build/dex/aave-v3-stata-v2/aave-v3-stata-v2.js.map +1 -1
- package/build/dex/aave-v3-stata-v2/config.js +31 -24
- package/build/dex/aave-v3-stata-v2/config.js.map +1 -1
- package/build/dex/aave-v3-stata-v2/types.d.ts +3 -2
- package/build/dex/aave-v3-stata-v2/types.js.map +1 -1
- package/build/dex/aave-v3-stata-v2/utils.d.ts +2 -2
- package/build/dex/aave-v3-stata-v2/utils.js +7 -6
- package/build/dex/aave-v3-stata-v2/utils.js.map +1 -1
- package/build/dex/balancer-v1/balancer-pools.json +33333 -0
- package/build/dex/bebop/websocket-fetcher.d.ts +35 -0
- package/build/dex/bebop/websocket-fetcher.js +87 -0
- package/build/dex/bebop/websocket-fetcher.js.map +1 -0
- package/build/dex/ekubo/config.d.ts +3 -0
- package/build/dex/ekubo/config.js +23 -0
- package/build/dex/ekubo/config.js.map +1 -0
- package/build/dex/ekubo/ekubo.d.ts +49 -0
- package/build/dex/ekubo/ekubo.js +418 -0
- package/build/dex/ekubo/ekubo.js.map +1 -0
- package/build/dex/ekubo/pools/base-pool.d.ts +47 -0
- package/build/dex/ekubo/pools/base-pool.js +184 -0
- package/build/dex/ekubo/pools/base-pool.js.map +1 -0
- package/build/dex/ekubo/pools/math/constants.d.ts +3 -0
- package/build/dex/ekubo/pools/math/constants.js +7 -0
- package/build/dex/ekubo/pools/math/constants.js.map +1 -0
- package/build/dex/ekubo/pools/math/delta.d.ts +2 -0
- package/build/dex/ekubo/pools/math/delta.js +51 -0
- package/build/dex/ekubo/pools/math/delta.js.map +1 -0
- package/build/dex/ekubo/pools/math/price.d.ts +7 -0
- package/build/dex/ekubo/pools/math/price.js +116 -0
- package/build/dex/ekubo/pools/math/price.js.map +1 -0
- package/build/dex/ekubo/pools/math/swap.d.ts +18 -0
- package/build/dex/ekubo/pools/math/swap.js +128 -0
- package/build/dex/ekubo/pools/math/swap.js.map +1 -0
- package/build/dex/ekubo/pools/math/tick.d.ts +7 -0
- package/build/dex/ekubo/pools/math/tick.js +112 -0
- package/build/dex/ekubo/pools/math/tick.js.map +1 -0
- package/build/dex/ekubo/pools/oracle-pool.d.ts +10 -0
- package/build/dex/ekubo/pools/oracle-pool.js +19 -0
- package/build/dex/ekubo/pools/oracle-pool.js.map +1 -0
- package/build/dex/ekubo/types.d.ts +88 -0
- package/build/dex/ekubo/types.js +238 -0
- package/build/dex/ekubo/types.js.map +1 -0
- package/build/dex/ekubo/utils.d.ts +6 -0
- package/build/dex/ekubo/utils.js +30 -0
- package/build/dex/ekubo/utils.js.map +1 -0
- package/build/dex/generic-rfq/generic-rfq.js +1 -2
- package/build/dex/generic-rfq/generic-rfq.js.map +1 -1
- package/build/dex/generic-rfq/rate-fetcher.d.ts +4 -1
- package/build/dex/generic-rfq/rate-fetcher.js +84 -23
- package/build/dex/generic-rfq/rate-fetcher.js.map +1 -1
- package/build/dex/hashflow/hashflow.js +4 -0
- package/build/dex/hashflow/hashflow.js.map +1 -1
- package/build/dex/idle-dao/idle-dao-pool.d.ts +56 -0
- package/build/dex/idle-dao/idle-dao-pool.js +176 -0
- package/build/dex/idle-dao/idle-dao-pool.js.map +1 -0
- package/build/dex/idle-dao/idle-dao-pooling-pool.d.ts +16 -0
- package/build/dex/idle-dao/idle-dao-pooling-pool.js +57 -0
- package/build/dex/idle-dao/idle-dao-pooling-pool.js.map +1 -0
- package/build/dex/idle-dao/scripts.d.ts +9 -0
- package/build/dex/idle-dao/scripts.js +552 -0
- package/build/dex/idle-dao/scripts.js.map +1 -0
- package/build/dex/inception/config.d.ts +4 -0
- package/build/dex/inception/config.js +109 -0
- package/build/dex/inception/config.js.map +1 -0
- package/build/dex/inception/inception-event-pool.d.ts +16 -0
- package/build/dex/inception/inception-event-pool.js +51 -0
- package/build/dex/inception/inception-event-pool.js.map +1 -0
- package/build/dex/inception/inception-native.d.ts +43 -0
- package/build/dex/inception/inception-native.js +131 -0
- package/build/dex/inception/inception-native.js.map +1 -0
- package/build/dex/inception/inception-pool.d.ts +18 -0
- package/build/dex/inception/inception-pool.js +32 -0
- package/build/dex/inception/inception-pool.js.map +1 -0
- package/build/dex/inception/inception-price-feed.d.ts +19 -0
- package/build/dex/inception/inception-price-feed.js +51 -0
- package/build/dex/inception/inception-price-feed.js.map +1 -0
- package/build/dex/inception/inception.d.ts +43 -0
- package/build/dex/inception/inception.js +204 -0
- package/build/dex/inception/inception.js.map +1 -0
- package/build/dex/inception/tokens.d.ts +9 -0
- package/build/dex/inception/tokens.js +28 -0
- package/build/dex/inception/tokens.js.map +1 -0
- package/build/dex/inception/types.d.ts +22 -0
- package/build/dex/inception/types.js +3 -0
- package/build/dex/inception/types.js.map +1 -0
- package/build/dex/inception/utils.d.ts +6 -0
- package/build/dex/inception/utils.js +37 -0
- package/build/dex/inception/utils.js.map +1 -0
- package/build/dex/platypus/asset.d.ts +14 -0
- package/build/dex/platypus/asset.js +97 -0
- package/build/dex/platypus/asset.js.map +1 -0
- package/build/dex/platypus/config.d.ts +11 -0
- package/build/dex/platypus/config.js +69 -0
- package/build/dex/platypus/config.js.map +1 -0
- package/build/dex/platypus/platypus.d.ts +63 -0
- package/build/dex/platypus/platypus.js +473 -0
- package/build/dex/platypus/platypus.js.map +1 -0
- package/build/dex/platypus/pool-avax.d.ts +8 -0
- package/build/dex/platypus/pool-avax.js +54 -0
- package/build/dex/platypus/pool-avax.js.map +1 -0
- package/build/dex/platypus/pool-base.d.ts +19 -0
- package/build/dex/platypus/pool-base.js +86 -0
- package/build/dex/platypus/pool-base.js.map +1 -0
- package/build/dex/platypus/pool-pure.d.ts +8 -0
- package/build/dex/platypus/pool-pure.js +37 -0
- package/build/dex/platypus/pool-pure.js.map +1 -0
- package/build/dex/platypus/pool-subscriber.d.ts +14 -0
- package/build/dex/platypus/pool-subscriber.js +167 -0
- package/build/dex/platypus/pool-subscriber.js.map +1 -0
- package/build/dex/platypus/pool.d.ts +8 -0
- package/build/dex/platypus/pool.js +58 -0
- package/build/dex/platypus/pool.js.map +1 -0
- package/build/dex/platypus/types.d.ts +92 -0
- package/build/dex/platypus/types.js +10 -0
- package/build/dex/platypus/types.js.map +1 -0
- package/build/dex/quickswap/spiritswap-v3.d.ts +6 -0
- package/build/dex/quickswap/spiritswap-v3.js +19 -0
- package/build/dex/quickswap/spiritswap-v3.js.map +1 -0
- package/build/dex/smardex/config.d.ts +4 -0
- package/build/dex/smardex/config.js +64 -0
- package/build/dex/smardex/config.js.map +1 -0
- package/build/dex/smardex/constants.d.ts +18 -0
- package/build/dex/smardex/constants.js +33 -0
- package/build/dex/smardex/constants.js.map +1 -0
- package/build/dex/smardex/sdk/constants.d.ts +6 -0
- package/build/dex/smardex/sdk/constants.js +13 -0
- package/build/dex/smardex/sdk/constants.js.map +1 -0
- package/build/dex/smardex/sdk/core.d.ts +113 -0
- package/build/dex/smardex/sdk/core.js +499 -0
- package/build/dex/smardex/sdk/core.js.map +1 -0
- package/build/dex/smardex/sdk/errors.d.ts +15 -0
- package/build/dex/smardex/sdk/errors.js +22 -0
- package/build/dex/smardex/sdk/errors.js.map +1 -0
- package/build/dex/smardex/sdk/types.d.ts +62 -0
- package/build/dex/smardex/sdk/types.js +3 -0
- package/build/dex/smardex/sdk/types.js.map +1 -0
- package/build/dex/smardex/sdk/utils.d.ts +44 -0
- package/build/dex/smardex/sdk/utils.js +133 -0
- package/build/dex/smardex/sdk/utils.js.map +1 -0
- package/build/dex/smardex/smardex-event-pool.d.ts +28 -0
- package/build/dex/smardex/smardex-event-pool.js +119 -0
- package/build/dex/smardex/smardex-event-pool.js.map +1 -0
- package/build/dex/smardex/smardex.d.ts +65 -0
- package/build/dex/smardex/smardex.js +519 -0
- package/build/dex/smardex/smardex.js.map +1 -0
- package/build/dex/smardex/types.d.ts +55 -0
- package/build/dex/smardex/types.js +3 -0
- package/build/dex/smardex/types.js.map +1 -0
- package/build/dex/solidly/forks-override/cone.d.ts +22 -0
- package/build/dex/solidly/forks-override/cone.js +53 -0
- package/build/dex/solidly/forks-override/cone.js.map +1 -0
- package/build/dex/solidly/forks-override/solisnek.d.ts +8 -0
- package/build/dex/solidly/forks-override/solisnek.js +15 -0
- package/build/dex/solidly/forks-override/solisnek.js.map +1 -0
- package/build/dex/swaap-v1/config.d.ts +17 -0
- package/build/dex/swaap-v1/config.js +56 -0
- package/build/dex/swaap-v1/config.js.map +1 -0
- package/build/dex/swaap-v1/constants.d.ts +6 -0
- package/build/dex/swaap-v1/constants.js +17 -0
- package/build/dex/swaap-v1/constants.js.map +1 -0
- package/build/dex/swaap-v1/libraries/ChainlinkUtils.d.ts +25 -0
- package/build/dex/swaap-v1/libraries/ChainlinkUtils.js +62 -0
- package/build/dex/swaap-v1/libraries/ChainlinkUtils.js.map +1 -0
- package/build/dex/swaap-v1/libraries/Const.d.ts +18 -0
- package/build/dex/swaap-v1/libraries/Const.js +26 -0
- package/build/dex/swaap-v1/libraries/Const.js.map +1 -0
- package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.d.ts +77 -0
- package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js +316 -0
- package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js.map +1 -0
- package/build/dex/swaap-v1/libraries/LogExpMath.d.ts +75 -0
- package/build/dex/swaap-v1/libraries/LogExpMath.js +418 -0
- package/build/dex/swaap-v1/libraries/LogExpMath.js.map +1 -0
- package/build/dex/swaap-v1/libraries/MathMMM.d.ts +185 -0
- package/build/dex/swaap-v1/libraries/MathMMM.js +453 -0
- package/build/dex/swaap-v1/libraries/MathMMM.js.map +1 -0
- package/build/dex/swaap-v1/libraries/Num.d.ts +31 -0
- package/build/dex/swaap-v1/libraries/Num.js +167 -0
- package/build/dex/swaap-v1/libraries/Num.js.map +1 -0
- package/build/dex/swaap-v1/libraries/PoolQuotations.d.ts +23 -0
- package/build/dex/swaap-v1/libraries/PoolQuotations.js +131 -0
- package/build/dex/swaap-v1/libraries/PoolQuotations.js.map +1 -0
- package/build/dex/swaap-v1/libraries/Struct.d.ts +56 -0
- package/build/dex/swaap-v1/libraries/Struct.js +3 -0
- package/build/dex/swaap-v1/libraries/Struct.js.map +1 -0
- package/build/dex/swaap-v1/swaap-v1-pool.d.ts +45 -0
- package/build/dex/swaap-v1/swaap-v1-pool.js +656 -0
- package/build/dex/swaap-v1/swaap-v1-pool.js.map +1 -0
- package/build/dex/swaap-v1/swaap-v1.d.ts +62 -0
- package/build/dex/swaap-v1/swaap-v1.js +379 -0
- package/build/dex/swaap-v1/swaap-v1.js.map +1 -0
- package/build/dex/swaap-v1/types.d.ts +106 -0
- package/build/dex/swaap-v1/types.js +9 -0
- package/build/dex/swaap-v1/types.js.map +1 -0
- package/build/dex/zerox/index.d.ts +1 -1
- package/build/dex/zerox/index.js.map +1 -1
- package/build/dex-helper/dummy-dex-helper.js +3 -0
- package/build/dex-helper/dummy-dex-helper.js.map +1 -1
- package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +16 -0
- package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +16 -0
- package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +16 -0
- package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +16 -0
- package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-dai-usdc-eth.json +16 -0
- package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-eth-usdc-dai.json +16 -0
- package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +16 -0
- package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdt-usdc-dai.json +16 -0
- package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-eth-usdc.json +9 -0
- package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-eth.json +9 -0
- package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-wbtc.json +9 -0
- package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-eth-steth.json +9 -0
- package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-steth-eth.json +9 -0
- package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-usdc-usdt.json +9 -0
- package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-eth-usdc.json +9 -0
- package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-eth.json +9 -0
- package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-usdt.json +9 -0
- package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +12 -0
- package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +7 -0
- package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +7 -0
- package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-dai-usdc-eth.json +7 -0
- package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-eth-usdc-dai.json +7 -0
- package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +12 -0
- package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-eth-usdc.json +7 -0
- package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-usdc-eth.json +7 -0
- package/build/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +78 -0
- package/build/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +81 -0
- package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +78 -0
- package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +78 -0
- package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-dai-usdc-eth.json +81 -0
- package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-eth-usdc-dai.json +81 -0
- package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +81 -0
- package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdt-usdc-dai.json +81 -0
- package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-eth-usdc.json +64 -0
- package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-eth.json +85 -0
- package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-wbtc.json +64 -0
- package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-eth-steth.json +52 -0
- package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-steth-eth.json +52 -0
- package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-usdc-usdt.json +52 -0
- package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-eth-usdc.json +55 -0
- package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-eth.json +55 -0
- package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-usdt.json +55 -0
- package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +23 -0
- package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +37 -0
- package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +23 -0
- package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +23 -0
- package/build/executor/fixtures/executor02/exchange-params/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +51 -0
- package/build/executor/fixtures/executor02/exchange-params/price-route-multiswap-univ3-usdt-dai-eth.json +58 -0
- package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +23 -0
- package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +23 -0
- package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +9 -0
- package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +16 -0
- package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +23 -0
- package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +12 -0
- package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +7 -0
- package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +12 -0
- package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +12 -0
- package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +7 -0
- package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-univ3-usdt-dai-eth.json +7 -0
- package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +7 -0
- package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +7 -0
- package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +7 -0
- package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +7 -0
- package/build/executor/fixtures/executor02/routes/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +130 -0
- package/build/executor/fixtures/executor02/routes/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +136 -0
- package/build/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +100 -0
- package/build/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +100 -0
- package/build/executor/fixtures/executor02/routes/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +166 -0
- package/build/executor/fixtures/executor02/routes/price-route-multiswap-univ3-usdt-dai-eth.json +190 -0
- package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +114 -0
- package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +114 -0
- package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +55 -0
- package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +73 -0
- package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +82 -0
- package/build/lib/pub-sub.d.ts +20 -0
- package/build/lib/pub-sub.js +112 -4
- package/build/lib/pub-sub.js.map +1 -1
- package/package.json +2 -2
- package/src/abi/balancer-v3/directionalFeeHook.json +677 -677
- package/src/abi/balancer-v3/stableSurgeHook.json +975 -975
- package/src/dex/aave-v3-stata/config.ts +8 -8
- package/src/dex/aave-v3-stata-v2/aave-v3-stata-v2-e2e.test.ts +5 -5
- package/src/dex/aave-v3-stata-v2/aave-v3-stata-v2.ts +2 -2
- package/src/dex/aave-v3-stata-v2/config.ts +31 -24
- package/src/dex/aave-v3-stata-v2/types.ts +3 -2
- package/src/dex/aave-v3-stata-v2/utils.ts +18 -10
- package/src/dex/generic-rfq/generic-rfq.ts +1 -6
- package/src/dex/generic-rfq/rate-fetcher.ts +130 -58
- package/src/dex/hashflow/hashflow.ts +12 -0
- package/src/dex-helper/dummy-dex-helper.ts +10 -0
- package/src/lib/pub-sub.ts +145 -5
- package/tests/constants-e2e.ts +10 -0
- package/tests/utils-e2e.ts +0 -1
- package/.idea/codeStyles/Project.xml +0 -59
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/inspectionProfiles/Project_Default.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/paraswap-dex-lib.iml +0 -12
- package/.idea/prettier.xml +0 -7
- package/.idea/vcs.xml +0 -6
- package/scripts/get-uniswap-v3-dexes.ts +0 -64
|
@@ -15,6 +15,7 @@ const security_1 = require("./security");
|
|
|
15
15
|
const validators_2 = require("../../lib/validators");
|
|
16
16
|
const erc1271_utils_1 = require("../../lib/erc1271-utils");
|
|
17
17
|
const utils_2 = require("../../utils");
|
|
18
|
+
const pub_sub_1 = require("../../lib/pub-sub");
|
|
18
19
|
const GET_FIRM_RATE_TIMEOUT_MS = 2000;
|
|
19
20
|
const reversePrice = (price) => [
|
|
20
21
|
bignumber_constants_1.BN_1.dividedBy(price[0]),
|
|
@@ -33,6 +34,8 @@ class RateFetcher {
|
|
|
33
34
|
tokens = {};
|
|
34
35
|
addressToTokenMap = {};
|
|
35
36
|
pairs = {};
|
|
37
|
+
pricesPubSub;
|
|
38
|
+
blacklistPubSub;
|
|
36
39
|
firmRateAuth;
|
|
37
40
|
blackListCacheKey;
|
|
38
41
|
authHttp;
|
|
@@ -73,6 +76,8 @@ class RateFetcher {
|
|
|
73
76
|
},
|
|
74
77
|
handler: this.handleRatesResponse.bind(this),
|
|
75
78
|
}, config.rateConfig.intervalMs, logger);
|
|
79
|
+
this.pricesPubSub = new pub_sub_1.ExpKeyValuePubSub(this.dexHelper, this.dexKey, 'prices');
|
|
80
|
+
this.blackListCacheKey = `${this.dexHelper.config.data.network}_${this.dexKey}_blacklist`;
|
|
76
81
|
if (config.blacklistConfig) {
|
|
77
82
|
this.blackListFetcher = new fetcher_1.Fetcher(dexHelper.httpRequest, {
|
|
78
83
|
info: {
|
|
@@ -84,8 +89,8 @@ class RateFetcher {
|
|
|
84
89
|
},
|
|
85
90
|
handler: this.handleBlackListResponse.bind(this),
|
|
86
91
|
}, config.blacklistConfig.intervalMs, logger);
|
|
92
|
+
this.blacklistPubSub = new pub_sub_1.NonExpSetPubSub(this.dexHelper, this.dexKey, 'blacklist');
|
|
87
93
|
}
|
|
88
|
-
this.blackListCacheKey = `${this.dexHelper.config.data.network}_${this.dexKey}_blacklist`;
|
|
89
94
|
if (this.config.firmRateConfig.secret) {
|
|
90
95
|
this.firmRateAuth = this.authHttp(this.config.firmRateConfig.secret);
|
|
91
96
|
}
|
|
@@ -95,6 +100,19 @@ class RateFetcher {
|
|
|
95
100
|
if (isContract) {
|
|
96
101
|
this.verifierContract = (0, erc1271_utils_1.createERC1271Contract)(this.dexHelper.web3Provider, this.config.maker);
|
|
97
102
|
}
|
|
103
|
+
this.logger.info(`Initializing RateFetcher for ${this.dexKey}, isSlave=${this.dexHelper.config.isSlave}`);
|
|
104
|
+
if (this.dexHelper.config.isSlave) {
|
|
105
|
+
this.logger.info(`Subscribing to price updates as slave for ${this.dexKey}`);
|
|
106
|
+
this.pricesPubSub.subscribe();
|
|
107
|
+
if (this.blacklistPubSub) {
|
|
108
|
+
const initSet = await this.dexHelper.cache.smembers(this.blackListCacheKey);
|
|
109
|
+
this.logger.info(`Initializing blacklist with ${initSet.length} entries`);
|
|
110
|
+
this.blacklistPubSub.initializeAndSubscribe(initSet);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
this.logger.info(`Not subscribing to price updates as master for ${this.dexKey}`);
|
|
115
|
+
}
|
|
98
116
|
}
|
|
99
117
|
start() {
|
|
100
118
|
this.tokensFetcher.startPolling();
|
|
@@ -139,43 +157,74 @@ class RateFetcher {
|
|
|
139
157
|
for (const address of resp.blacklist) {
|
|
140
158
|
this.dexHelper.cache.sadd(this.blackListCacheKey, address.toLowerCase());
|
|
141
159
|
}
|
|
160
|
+
if (this.blacklistPubSub) {
|
|
161
|
+
this.blacklistPubSub.publish(resp.blacklist);
|
|
162
|
+
}
|
|
142
163
|
}
|
|
143
164
|
isBlackListed(userAddress) {
|
|
144
|
-
|
|
165
|
+
if (this.blacklistPubSub) {
|
|
166
|
+
return this.blacklistPubSub.has(userAddress.toLowerCase());
|
|
167
|
+
}
|
|
168
|
+
return false;
|
|
145
169
|
}
|
|
146
170
|
handleRatesResponse(resp) {
|
|
171
|
+
const pubSubData = {};
|
|
172
|
+
const ttl = this.config.rateConfig.dataTTLS;
|
|
147
173
|
const pairs = this.pairs;
|
|
148
|
-
if ((0, lodash_1.isEmpty)(pairs))
|
|
174
|
+
if ((0, lodash_1.isEmpty)(pairs)) {
|
|
175
|
+
this.logger.debug(`No pairs available for ${this.dexKey}`);
|
|
149
176
|
return;
|
|
177
|
+
}
|
|
150
178
|
const currentPricePairs = new Set();
|
|
179
|
+
let updatedPairsCount = 0;
|
|
151
180
|
Object.keys(resp.prices).forEach(pairName => {
|
|
152
181
|
const pair = pairs[pairName];
|
|
153
182
|
if (!pair) {
|
|
183
|
+
this.logger.debug(`Pair ${pairName} not found in available pairs`);
|
|
154
184
|
return;
|
|
155
185
|
}
|
|
156
186
|
const prices = resp.prices[pairName];
|
|
157
187
|
if (!prices.asks || !prices.bids) {
|
|
188
|
+
this.logger.debug(`No asks or bids for pair ${pairName}`);
|
|
158
189
|
return;
|
|
159
190
|
}
|
|
160
|
-
if ((0, lodash_1.isEmpty)(this.tokens))
|
|
191
|
+
if ((0, lodash_1.isEmpty)(this.tokens)) {
|
|
192
|
+
this.logger.debug(`No tokens available for ${this.dexKey}`);
|
|
161
193
|
return;
|
|
194
|
+
}
|
|
162
195
|
const baseToken = this.tokens[pair.base];
|
|
163
196
|
const quoteToken = this.tokens[pair.quote];
|
|
164
197
|
if (!baseToken || !quoteToken) {
|
|
165
|
-
this.logger.warn(`
|
|
198
|
+
this.logger.warn(`Missing base or quote token for pair ${pairName}`);
|
|
166
199
|
return;
|
|
167
200
|
}
|
|
168
201
|
if (prices.bids.length) {
|
|
169
|
-
|
|
202
|
+
const key = `${baseToken.address}_${quoteToken.address}_bids`;
|
|
203
|
+
const value = prices.bids;
|
|
204
|
+
pubSubData[key] = value;
|
|
205
|
+
updatedPairsCount++;
|
|
206
|
+
this.dexHelper.cache.setex(this.dexKey, this.dexHelper.config.data.network, key, ttl, JSON.stringify(value));
|
|
170
207
|
currentPricePairs.add(`${baseToken.address}_${quoteToken.address}`);
|
|
171
208
|
}
|
|
172
209
|
if (prices.asks.length) {
|
|
173
|
-
|
|
210
|
+
const key = `${baseToken.address}_${quoteToken.address}_asks`;
|
|
211
|
+
const value = prices.asks;
|
|
212
|
+
pubSubData[key] = value;
|
|
213
|
+
updatedPairsCount++;
|
|
214
|
+
this.dexHelper.cache.setex(this.dexKey, this.dexHelper.config.data.network, key, ttl, JSON.stringify(value));
|
|
174
215
|
currentPricePairs.add(`${quoteToken.address}_${baseToken.address}`);
|
|
175
216
|
}
|
|
176
217
|
});
|
|
177
218
|
if (currentPricePairs.size > 0) {
|
|
178
|
-
|
|
219
|
+
const key = `pairs`;
|
|
220
|
+
const value = Array.from(currentPricePairs);
|
|
221
|
+
pubSubData[key] = value;
|
|
222
|
+
this.dexHelper.cache.setex(this.dexKey, this.dexHelper.config.data.network, key, ttl, JSON.stringify(value));
|
|
223
|
+
this.logger.info(`Updated ${updatedPairsCount} price entries for ${currentPricePairs.size} pairs`);
|
|
224
|
+
this.pricesPubSub.publish(pubSubData, ttl);
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
this.logger.warn(`No price pairs were updated for ${this.dexKey}`);
|
|
179
228
|
}
|
|
180
229
|
}
|
|
181
230
|
checkHealth() {
|
|
@@ -210,37 +259,42 @@ class RateFetcher {
|
|
|
210
259
|
});
|
|
211
260
|
}
|
|
212
261
|
async getAvailablePairs() {
|
|
213
|
-
const pairs = await this.
|
|
262
|
+
const pairs = await this.pricesPubSub.getAndCache(`pairs`);
|
|
214
263
|
if (!pairs) {
|
|
215
264
|
return [];
|
|
216
265
|
}
|
|
217
|
-
return
|
|
266
|
+
return pairs;
|
|
218
267
|
}
|
|
219
268
|
async getOrderPrice(srcToken, destToken, side) {
|
|
220
269
|
let reversed = false;
|
|
221
|
-
|
|
270
|
+
const srcAddress = srcToken.address.toLowerCase();
|
|
271
|
+
const destAddress = destToken.address.toLowerCase();
|
|
272
|
+
let prices = null;
|
|
273
|
+
let cacheKey = '';
|
|
222
274
|
if (side === core_1.SwapSide.SELL) {
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
275
|
+
cacheKey = `${srcAddress}_${destAddress}_bids`;
|
|
276
|
+
prices = await this.pricesPubSub.getAndCache(cacheKey);
|
|
277
|
+
if (!prices) {
|
|
278
|
+
cacheKey = `${destAddress}_${srcAddress}_asks`;
|
|
279
|
+
prices = await this.pricesPubSub.getAndCache(cacheKey);
|
|
226
280
|
reversed = true;
|
|
227
281
|
}
|
|
228
282
|
}
|
|
229
283
|
else {
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
284
|
+
cacheKey = `${destAddress}_${srcAddress}_asks`;
|
|
285
|
+
prices = await this.pricesPubSub.getAndCache(cacheKey);
|
|
286
|
+
if (!prices) {
|
|
287
|
+
cacheKey = `${srcAddress}_${destAddress}_bids`;
|
|
288
|
+
prices = await this.pricesPubSub.getAndCache(cacheKey);
|
|
233
289
|
reversed = true;
|
|
234
290
|
}
|
|
235
291
|
}
|
|
236
|
-
if (!
|
|
292
|
+
if (!prices) {
|
|
293
|
+
this.logger.debug(`No prices found for ${srcAddress} to ${destAddress} (${side}) using key ${cacheKey}`);
|
|
237
294
|
return null;
|
|
238
295
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
return null;
|
|
242
|
-
}
|
|
243
|
-
let orderPrices = orderPricesAsString.map(price => [
|
|
296
|
+
this.logger.debug(`Found ${prices.length} prices for ${srcAddress} to ${destAddress} (${side}), reversed=${reversed}`);
|
|
297
|
+
let orderPrices = prices.map(price => [
|
|
244
298
|
new bignumber_js_1.default(price[0]),
|
|
245
299
|
new bignumber_js_1.default(price[1]),
|
|
246
300
|
]);
|
|
@@ -302,6 +356,13 @@ class RateFetcher {
|
|
|
302
356
|
throw e;
|
|
303
357
|
}
|
|
304
358
|
}
|
|
359
|
+
async setBlacklist(userAddress) {
|
|
360
|
+
await this.dexHelper.cache.hset(this.blackListCacheKey, userAddress.toLowerCase(), 'true');
|
|
361
|
+
if (this.blacklistPubSub) {
|
|
362
|
+
this.blacklistPubSub.publish([userAddress.toLowerCase()]);
|
|
363
|
+
}
|
|
364
|
+
return true;
|
|
365
|
+
}
|
|
305
366
|
}
|
|
306
367
|
exports.RateFetcher = RateFetcher;
|
|
307
368
|
//# sourceMappingURL=rate-fetcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-fetcher.js","sourceRoot":"","sources":["../../../src/dex/generic-rfq/rate-fetcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rate-fetcher.js","sourceRoot":"","sources":["../../../src/dex/generic-rfq/rate-fetcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -146,6 +146,7 @@ class Hashflow extends simple_exchange_1.SimpleExchange {
|
|
|
146
146
|
return `${this.getIdentifierPrefix(srcAddress, destAddress)}_${mm}`.toLowerCase();
|
|
147
147
|
}
|
|
148
148
|
async getPoolIdentifiers(srcToken, destToken, side, blockNumber) {
|
|
149
|
+
this.logger.debug(`Getting pool identifiers for ${srcToken.address} to ${destToken.address} (${side}) for ${this.dexKey}-${this.network}`);
|
|
149
150
|
const _srcToken = this.dexHelper.config.wrapETH(srcToken);
|
|
150
151
|
const _destToken = this.dexHelper.config.wrapETH(destToken);
|
|
151
152
|
if (_srcToken.address === _destToken.address) {
|
|
@@ -270,6 +271,7 @@ class Hashflow extends simple_exchange_1.SimpleExchange {
|
|
|
270
271
|
return null;
|
|
271
272
|
}
|
|
272
273
|
async getCachedLevels() {
|
|
274
|
+
this.logger.debug(`Getting cached levels for ${this.pricesCacheKey} for ${this.dexKey}-${this.network}`);
|
|
273
275
|
const cachedLevels = await this.dexHelper.cache.rawget(this.pricesCacheKey);
|
|
274
276
|
if (cachedLevels) {
|
|
275
277
|
return JSON.parse(cachedLevels);
|
|
@@ -278,6 +280,7 @@ class Hashflow extends simple_exchange_1.SimpleExchange {
|
|
|
278
280
|
}
|
|
279
281
|
async getPricesVolume(srcToken, destToken, amounts, side, blockNumber, limitPools) {
|
|
280
282
|
try {
|
|
283
|
+
this.logger.debug(`Getting prices volume for ${srcToken.symbol || srcToken.address}, ${destToken.symbol || destToken.address}, ${side} for ${this.dexKey}-${this.network}`);
|
|
281
284
|
const _srcToken = this.dexHelper.config.wrapETH(srcToken);
|
|
282
285
|
const _destToken = this.dexHelper.config.wrapETH(destToken);
|
|
283
286
|
if (_srcToken.address === _destToken.address) {
|
|
@@ -592,6 +595,7 @@ class Hashflow extends simple_exchange_1.SimpleExchange {
|
|
|
592
595
|
return `blacklist_${address}`.toLowerCase();
|
|
593
596
|
}
|
|
594
597
|
async isBlacklisted(txOrigin) {
|
|
598
|
+
this.logger.debug(`Checking if ${txOrigin} is blacklisted for Hashflow`);
|
|
595
599
|
const result = await this.dexHelper.cache.get(this.dexKey, this.network, this.getBlackListKey(txOrigin));
|
|
596
600
|
return result === 'blacklisted';
|
|
597
601
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hashflow.js","sourceRoot":"","sources":["../../../src/dex/hashflow/hashflow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hashflow.js","sourceRoot":"","sources":["../../../src/dex/hashflow/hashflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import BigNumber from 'bignumber.js';
|
|
2
|
+
import { Contract } from 'web3-eth-contract';
|
|
3
|
+
import { Interface } from '@ethersproject/abi';
|
|
4
|
+
import { DeepReadonly } from 'ts-essentials';
|
|
5
|
+
import { Log, Logger } from '../../types';
|
|
6
|
+
import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
|
|
7
|
+
import { IDexHelper } from '../../dex-helper/idex-helper';
|
|
8
|
+
import { PoolState, IdleToken } from './types';
|
|
9
|
+
import { IdleDao } from './idle-dao';
|
|
10
|
+
declare type BlocksTransfers = Record<number, {
|
|
11
|
+
underlyingAmount: BigNumber;
|
|
12
|
+
idleAmount: BigNumber;
|
|
13
|
+
processed: boolean;
|
|
14
|
+
}>;
|
|
15
|
+
export declare class IdleDaoEventPool extends StatefulEventSubscriber<PoolState> {
|
|
16
|
+
readonly parentName: string;
|
|
17
|
+
protected network: number;
|
|
18
|
+
protected dexHelper: IDexHelper;
|
|
19
|
+
protected logger: Logger;
|
|
20
|
+
protected idleToken: IdleToken;
|
|
21
|
+
protected IdleDao: IdleDao;
|
|
22
|
+
handlers: {
|
|
23
|
+
[event: string]: (event: any, state: DeepReadonly<PoolState>, log: Readonly<Log>) => Promise<DeepReadonly<PoolState> | null>;
|
|
24
|
+
};
|
|
25
|
+
logDecoder: (log: Log) => any;
|
|
26
|
+
cdoContract: Contract;
|
|
27
|
+
poolInterface: Interface;
|
|
28
|
+
addressesSubscribed: string[];
|
|
29
|
+
blocksTransfers: BlocksTransfers;
|
|
30
|
+
constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger, idleToken: IdleToken, IdleDao: IdleDao);
|
|
31
|
+
/**
|
|
32
|
+
* The function is called every time any of the subscribed
|
|
33
|
+
* addresses release log. The function accepts the current
|
|
34
|
+
* state, updates the state according to the log, and returns
|
|
35
|
+
* the updated state.
|
|
36
|
+
* @param state - Current state of event subscriber
|
|
37
|
+
* @param log - Log released by one of the subscribed addresses
|
|
38
|
+
* @returns Updates state of the event subscriber after the log
|
|
39
|
+
*/
|
|
40
|
+
protected processLog(state: DeepReadonly<PoolState>, log: Readonly<Log>): Promise<DeepReadonly<PoolState> | null>;
|
|
41
|
+
/**
|
|
42
|
+
* The function generates state using on-chain calls. This
|
|
43
|
+
* function is called to regenerate state if the event based
|
|
44
|
+
* system fails to fetch events and the local state is no
|
|
45
|
+
* more correct.
|
|
46
|
+
* @param blockNumber - Blocknumber for which the state should
|
|
47
|
+
* should be generated
|
|
48
|
+
* @returns state of the event subscriber at blocknumber
|
|
49
|
+
*/
|
|
50
|
+
generateState(blockNumber: number): Promise<DeepReadonly<PoolState>>;
|
|
51
|
+
setBlockState(blockNumber: number, state: PoolState): void;
|
|
52
|
+
handleCoinTransfer(event: any, state: PoolState, log: Log): Promise<DeepReadonly<PoolState> | null>;
|
|
53
|
+
processBlockTransfer(blockNumber: number, state: PoolState): PoolState;
|
|
54
|
+
handleCoinTransfer_old(event: any, state: PoolState, log: Log): Promise<DeepReadonly<PoolState> | null>;
|
|
55
|
+
}
|
|
56
|
+
export {};
|