@paraswap/dex-lib 4.3.8 → 4.3.9-ethers-v6.0
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/BProtocol.json +1155 -0
- package/build/abi/Jarvis.json +1172 -0
- package/build/abi/MStableAsset.json +1545 -0
- package/build/abi/OneInchLp.json +1304 -0
- package/build/abi/Onebit.json +736 -0
- package/build/abi/Shell.json +1294 -0
- package/build/abi/TraderJoeV2Router.json +50 -0
- package/build/abi/wUSDM.json +757 -0
- package/build/abi/zrx.v2.json +1967 -0
- package/build/abi/zrx.v3.json +3454 -0
- package/build/abi/zrx.v4.json +2193 -0
- package/build/constants.d.ts +7 -8
- package/build/constants.js +7 -8
- package/build/constants.js.map +1 -1
- package/build/dex/OneInchLp.d.ts +24 -0
- package/build/dex/OneInchLp.js +43 -0
- package/build/dex/OneInchLp.js.map +1 -0
- package/build/dex/aave-gsm/aave-gsm.js +4 -4
- package/build/dex/aave-gsm/aave-gsm.js.map +1 -1
- package/build/dex/aave-v3/aave-v3.js +3 -3
- package/build/dex/aave-v3/aave-v3.js.map +1 -1
- package/build/dex/aave-v3/utils.d.ts +1 -2
- package/build/dex/aave-v3/utils.js +2 -2
- package/build/dex/aave-v3/utils.js.map +1 -1
- package/build/dex/aave-v3-stata/aave-v3-stata.d.ts +1 -1
- package/build/dex/aave-v3-stata/aave-v3-stata.js +2 -2
- package/build/dex/aave-v3-stata/aave-v3-stata.js.map +1 -1
- package/build/dex/aave-v3-stata-v2/aave-v3-stata-v2.d.ts +1 -1
- package/build/dex/aave-v3-stata-v2/aave-v3-stata-v2.js +3 -3
- package/build/dex/aave-v3-stata-v2/aave-v3-stata-v2.js.map +1 -1
- package/build/dex/algebra/algebra-factory.d.ts +1 -2
- package/build/dex/algebra/algebra-factory.js +2 -2
- package/build/dex/algebra/algebra-factory.js.map +1 -1
- package/build/dex/algebra/algebra-pool-v1_1.d.ts +3 -3
- package/build/dex/algebra/algebra-pool-v1_1.js +8 -8
- package/build/dex/algebra/algebra-pool-v1_1.js.map +1 -1
- package/build/dex/algebra/algebra-pool-v1_9.d.ts +2 -2
- package/build/dex/algebra/algebra-pool-v1_9.js +3 -4
- package/build/dex/algebra/algebra-pool-v1_9.js.map +1 -1
- package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.d.ts +1 -1
- package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.js.map +1 -1
- package/build/dex/algebra/algebra.d.ts +1 -1
- package/build/dex/algebra/algebra.js +7 -9
- package/build/dex/algebra/algebra.js.map +1 -1
- package/build/dex/algebra/scripts/validate-state.js +3 -6
- package/build/dex/algebra/scripts/validate-state.js.map +1 -1
- package/build/dex/algebra/types.d.ts +1 -1
- package/build/dex/algebra/utils.js +10 -9
- package/build/dex/algebra/utils.js.map +1 -1
- package/build/dex/algebra-integral/algebra-integral.d.ts +2 -2
- package/build/dex/algebra-integral/algebra-integral.js +79 -58
- package/build/dex/algebra-integral/algebra-integral.js.map +1 -1
- package/build/dex/algebra-integral/config.js +1 -1
- package/build/dex/algebra-integral/config.js.map +1 -1
- package/build/dex/algebra-integral/types.d.ts +0 -2
- package/build/dex/algebra-integral/types.js.map +1 -1
- package/build/dex/angle-transmuter/angle-transmuter-pool.d.ts +1 -1
- package/build/dex/angle-transmuter/angle-transmuter-pool.js +23 -25
- package/build/dex/angle-transmuter/angle-transmuter-pool.js.map +1 -1
- package/build/dex/angle-transmuter/angle-transmuter.d.ts +1 -1
- package/build/dex/angle-transmuter/angle-transmuter.js +6 -6
- package/build/dex/angle-transmuter/angle-transmuter.js.map +1 -1
- package/build/dex/angle-transmuter/constants.js +4 -4
- package/build/dex/angle-transmuter/constants.js.map +1 -1
- package/build/dex/angle-transmuter/morphoVault.d.ts +5 -6
- package/build/dex/angle-transmuter/morphoVault.js +4 -2
- package/build/dex/angle-transmuter/morphoVault.js.map +1 -1
- package/build/dex/angle-transmuter/pyth.d.ts +2 -3
- package/build/dex/angle-transmuter/pyth.js +5 -6
- package/build/dex/angle-transmuter/pyth.js.map +1 -1
- package/build/dex/angle-transmuter/transmuter.d.ts +13 -14
- package/build/dex/angle-transmuter/transmuter.js +33 -32
- package/build/dex/angle-transmuter/transmuter.js.map +1 -1
- package/build/dex/angle-transmuter/types.d.ts +4 -5
- package/build/dex/angle-transmuter/types.js.map +1 -1
- package/build/dex/augustus-approvals.js +1 -1
- package/build/dex/augustus-approvals.js.map +1 -1
- package/build/dex/bProtocol/bProtocol.d.ts +15 -0
- package/build/dex/bProtocol/bProtocol.js +56 -0
- package/build/dex/bProtocol/bProtocol.js.map +1 -0
- package/build/dex/bProtocol/types.d.ts +11 -0
- package/build/dex/bProtocol/types.js +8 -0
- package/build/dex/bProtocol/types.js.map +1 -0
- package/build/dex/balancer-v1/balancer-v1.d.ts +2 -2
- package/build/dex/balancer-v1/balancer-v1.js +6 -8
- package/build/dex/balancer-v1/balancer-v1.js.map +1 -1
- package/build/dex/balancer-v2/balancer-v2.d.ts +1 -1
- package/build/dex/balancer-v2/balancer-v2.js +12 -18
- package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
- package/build/dex/balancer-v2/pools/gyro/Gyro3Pool.d.ts +1 -1
- package/build/dex/balancer-v2/pools/gyro/Gyro3Pool.js +2 -2
- package/build/dex/balancer-v2/pools/gyro/Gyro3Pool.js.map +1 -1
- package/build/dex/balancer-v2/pools/gyro/GyroEPool.d.ts +1 -1
- package/build/dex/balancer-v2/pools/gyro/GyroEPool.js +2 -2
- package/build/dex/balancer-v2/pools/gyro/GyroEPool.js.map +1 -1
- package/build/dex/balancer-v2/pools/linear/LinearPool.d.ts +2 -3
- package/build/dex/balancer-v2/pools/linear/LinearPool.js +5 -6
- package/build/dex/balancer-v2/pools/linear/LinearPool.js.map +1 -1
- package/build/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.d.ts +2 -3
- package/build/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.js +6 -7
- package/build/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.js.map +1 -1
- package/build/dex/balancer-v2/pools/stable/StablePool.d.ts +1 -1
- package/build/dex/balancer-v2/pools/stable/StablePool.js +3 -3
- package/build/dex/balancer-v2/pools/stable/StablePool.js.map +1 -1
- package/build/dex/balancer-v2/pools/weighted/WeightedPool.d.ts +1 -1
- package/build/dex/balancer-v2/pools/weighted/WeightedPool.js +2 -2
- package/build/dex/balancer-v2/pools/weighted/WeightedPool.js.map +1 -1
- package/build/dex/balancer-v2/queryOnChain.js +4 -5
- package/build/dex/balancer-v2/queryOnChain.js.map +1 -1
- package/build/dex/balancer-v2/utils.d.ts +1 -1
- package/build/dex/balancer-v2/utils.js +2 -2
- package/build/dex/balancer-v2/utils.js.map +1 -1
- package/build/dex/balancer-v3/balancer-test-helpers.js +4 -2
- package/build/dex/balancer-v3/balancer-test-helpers.js.map +1 -1
- package/build/dex/balancer-v3/balancer-v3-pool.d.ts +1 -1
- package/build/dex/balancer-v3/balancer-v3-pool.js +7 -4
- package/build/dex/balancer-v3/balancer-v3-pool.js.map +1 -1
- package/build/dex/balancer-v3/balancer-v3.d.ts +1 -2
- package/build/dex/balancer-v3/balancer-v3.js +6 -3
- package/build/dex/balancer-v3/balancer-v3.js.map +1 -1
- package/build/dex/balancer-v3/getOnChainState.d.ts +1 -1
- package/build/dex/balancer-v3/getPoolsApi.js +4 -4
- package/build/dex/balancer-v3/getPoolsApi.js.map +1 -1
- package/build/dex/balancer-v3/hooks/balancer-hook-event-subscriber.d.ts +1 -1
- package/build/dex/balancer-v3/hooks/balancer-hook-event-subscriber.js +6 -6
- package/build/dex/balancer-v3/hooks/balancer-hook-event-subscriber.js.map +1 -1
- package/build/dex/balancer-v3/hooks/stableSurgeHook.d.ts +1 -1
- package/build/dex/balancer-v3/hooks/stableSurgeHook.js +1 -1
- package/build/dex/balancer-v3/hooks/stableSurgeHook.js.map +1 -1
- package/build/dex/bancor/bancor.d.ts +1 -1
- package/build/dex/bancor/bancor.js +2 -2
- package/build/dex/bancor/bancor.js.map +1 -1
- package/build/dex/bebop/bebop.d.ts +3 -3
- package/build/dex/bebop/bebop.js +9 -10
- package/build/dex/bebop/bebop.js.map +1 -1
- package/build/dex/bebop/rate-fetcher.js +2 -2
- package/build/dex/bebop/rate-fetcher.js.map +1 -1
- package/build/dex/cables/cables.d.ts +1 -1
- package/build/dex/cables/cables.js +6 -6
- package/build/dex/cables/cables.js.map +1 -1
- package/build/dex/camelot/camelot.d.ts +2 -2
- package/build/dex/camelot/camelot.js +13 -17
- package/build/dex/camelot/camelot.js.map +1 -1
- package/build/dex/concentrator-arusd/concentrator-arusd-event.d.ts +2 -2
- package/build/dex/concentrator-arusd/concentrator-arusd-event.js +2 -0
- package/build/dex/concentrator-arusd/concentrator-arusd-event.js.map +1 -1
- package/build/dex/concentrator-arusd/concentrator-arusd.d.ts +1 -1
- package/build/dex/concentrator-arusd/concentrator-arusd.js +3 -3
- package/build/dex/concentrator-arusd/concentrator-arusd.js.map +1 -1
- package/build/dex/concentrator-arusd/utils.d.ts +1 -1
- package/build/dex/concentrator-arusd/utils.js +0 -2
- package/build/dex/concentrator-arusd/utils.js.map +1 -1
- package/build/dex/curve-v1/curve-v1.js +4 -4
- package/build/dex/curve-v1/curve-v1.js.map +1 -1
- package/build/dex/curve-v1/packer.d.ts +1 -2
- package/build/dex/curve-v1/packer.js +4 -5
- package/build/dex/curve-v1/packer.js.map +1 -1
- package/build/dex/curve-v1-factory/curve-v1-factory.d.ts +1 -1
- package/build/dex/curve-v1-factory/curve-v1-factory.js +10 -14
- package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
- package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js +4 -4
- package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js.map +1 -1
- package/build/dex/curve-v1-factory/types.d.ts +1 -1
- package/build/dex/curve-v2/curve-v2.d.ts +1 -1
- package/build/dex/curve-v2/curve-v2.js +5 -9
- package/build/dex/curve-v2/curve-v2.js.map +1 -1
- package/build/dex/dexalot/dexalot.d.ts +1 -1
- package/build/dex/dexalot/dexalot.js +12 -22
- package/build/dex/dexalot/dexalot.js.map +1 -1
- package/build/dex/dodo-v1/dodo-v1.d.ts +1 -1
- package/build/dex/dodo-v1/dodo-v1.js +2 -2
- package/build/dex/dodo-v1/dodo-v1.js.map +1 -1
- package/build/dex/dodo-v2.d.ts +1 -1
- package/build/dex/dodo-v2.js +2 -2
- package/build/dex/dodo-v2.js.map +1 -1
- package/build/dex/ekubo/ekubo.js +5 -6
- package/build/dex/ekubo/ekubo.js.map +1 -1
- package/build/dex/ekubo/pools/base-pool.d.ts +1 -1
- package/build/dex/ekubo/pools/base-pool.js +2 -2
- package/build/dex/ekubo/pools/base-pool.js.map +1 -1
- package/build/dex/ekubo/pools/math/price.d.ts +2 -3
- package/build/dex/ekubo/pools/math/price.js +2 -3
- package/build/dex/ekubo/pools/math/price.js.map +1 -1
- package/build/dex/ekubo/pools/oracle-pool.d.ts +1 -1
- package/build/dex/ekubo/pools/oracle-pool.js +2 -2
- package/build/dex/ekubo/pools/oracle-pool.js.map +1 -1
- package/build/dex/ekubo/pools/pool-utils.js +12 -12
- package/build/dex/ekubo/pools/pool-utils.js.map +1 -1
- package/build/dex/ekubo/types.d.ts +3 -4
- package/build/dex/ekubo/utils.js +5 -5
- package/build/dex/ekubo/utils.js.map +1 -1
- package/build/dex/erc4626/erc-4626-pool.d.ts +1 -1
- package/build/dex/erc4626/erc4626.d.ts +1 -1
- package/build/dex/erc4626/erc4626.js +2 -2
- package/build/dex/erc4626/erc4626.js.map +1 -1
- package/build/dex/etherfi.d.ts +1 -1
- package/build/dex/etherfi.js +3 -3
- package/build/dex/etherfi.js.map +1 -1
- package/build/dex/fluid-dex/fluid-dex-factory.d.ts +1 -2
- package/build/dex/fluid-dex/fluid-dex-factory.js +6 -6
- package/build/dex/fluid-dex/fluid-dex-factory.js.map +1 -1
- package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.d.ts +1 -2
- package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js +3 -4
- package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js.map +1 -1
- package/build/dex/fluid-dex/fluid-dex-pool.js +1 -2
- package/build/dex/fluid-dex/fluid-dex-pool.js.map +1 -1
- package/build/dex/fluid-dex/fluid-dex.d.ts +1 -2
- package/build/dex/fluid-dex/fluid-dex.js +6 -7
- package/build/dex/fluid-dex/fluid-dex.js.map +1 -1
- package/build/dex/fluid-dex/types.d.ts +4 -5
- package/build/dex/fluid-dex/utils.d.ts +1 -2
- package/build/dex/fluid-dex/utils.js +3 -6
- package/build/dex/fluid-dex/utils.js.map +1 -1
- package/build/dex/fx-protocol-rusd/fx-protocol-rusd-event.d.ts +1 -1
- package/build/dex/fx-protocol-rusd/fx-protocol-rusd-event.js +2 -2
- package/build/dex/fx-protocol-rusd/fx-protocol-rusd-event.js.map +1 -1
- package/build/dex/fx-protocol-rusd/fx-protocol-rusd.d.ts +1 -1
- package/build/dex/fx-protocol-rusd/fx-protocol-rusd.js +4 -4
- package/build/dex/fx-protocol-rusd/fx-protocol-rusd.js.map +1 -1
- package/build/dex/fx-protocol-rusd/utils.d.ts +1 -1
- package/build/dex/generic-rfq/generic-rfq.js +3 -7
- package/build/dex/generic-rfq/generic-rfq.js.map +1 -1
- package/build/dex/generic-rfq/utils.js +1 -1
- package/build/dex/generic-rfq/utils.js.map +1 -1
- package/build/dex/generic-rfq/validators.js +1 -1
- package/build/dex/generic-rfq/validators.js.map +1 -1
- package/build/dex/gmx/gmx.d.ts +1 -1
- package/build/dex/gmx/gmx.js +2 -2
- package/build/dex/gmx/gmx.js.map +1 -1
- package/build/dex/gmx/vault.d.ts +1 -1
- package/build/dex/gmx/vault.js +4 -2
- package/build/dex/gmx/vault.js.map +1 -1
- package/build/dex/hashflow/hashflow.d.ts +3 -3
- package/build/dex/hashflow/hashflow.js +9 -9
- package/build/dex/hashflow/hashflow.js.map +1 -1
- package/build/dex/idle-dao/idle-dao.js +3 -3
- package/build/dex/idle-dao/idle-dao.js.map +1 -1
- package/build/dex/idle-dao/utils.d.ts +1 -3
- package/build/dex/idle-dao/utils.js +1 -4
- package/build/dex/idle-dao/utils.js.map +1 -1
- package/build/dex/infusion/infusion.d.ts +2 -1
- package/build/dex/infusion/infusion.js +6 -6
- package/build/dex/infusion/infusion.js.map +1 -1
- package/build/dex/jarvis-v6/jarvis-v6-events.d.ts +1 -1
- package/build/dex/jarvis-v6/jarvis-v6.d.ts +1 -1
- package/build/dex/jarvis-v6/jarvis-v6.js +2 -2
- package/build/dex/jarvis-v6/jarvis-v6.js.map +1 -1
- package/build/dex/jarvis-v6/syntheteumPool-event.d.ts +1 -1
- package/build/dex/jarvis-v6/syntheteumPool-event.js +2 -0
- package/build/dex/jarvis-v6/syntheteumPool-event.js.map +1 -1
- package/build/dex/jarvis-v6/utils.d.ts +1 -1
- package/build/dex/jarvis-v6/utils.js +1 -1
- package/build/dex/jarvis-v6/utils.js.map +1 -1
- package/build/dex/jarvis.d.ts +56 -0
- package/build/dex/jarvis.js +163 -0
- package/build/dex/jarvis.js.map +1 -0
- package/build/dex/kyberdmm/kyberdmm.d.ts +1 -1
- package/build/dex/kyberdmm/kyberdmm.js +8 -7
- package/build/dex/kyberdmm/kyberdmm.js.map +1 -1
- package/build/dex/lite-psm/lite-psm.js +6 -15
- package/build/dex/lite-psm/lite-psm.js.map +1 -1
- package/build/dex/mStable.d.ts +44 -0
- package/build/dex/mStable.js +75 -0
- package/build/dex/mStable.js.map +1 -0
- package/build/dex/maker-psm/maker-psm.js +7 -15
- package/build/dex/maker-psm/maker-psm.js.map +1 -1
- package/build/dex/maverick-v1/maverick-v1.d.ts +1 -1
- package/build/dex/maverick-v1/maverick-v1.js +2 -2
- package/build/dex/maverick-v1/maverick-v1.js.map +1 -1
- package/build/dex/maverick-v2/maverick-v2.d.ts +1 -1
- package/build/dex/maverick-v2/maverick-v2.js +3 -3
- package/build/dex/maverick-v2/maverick-v2.js.map +1 -1
- package/build/dex/miro-migrator/miro-migrator-pool.d.ts +4 -5
- package/build/dex/miro-migrator/miro-migrator-pool.js +21 -13
- package/build/dex/miro-migrator/miro-migrator-pool.js.map +1 -1
- package/build/dex/miro-migrator/miro-migrator.js +1 -4
- package/build/dex/miro-migrator/miro-migrator.js.map +1 -1
- package/build/dex/nerve/nerve.d.ts +1 -1
- package/build/dex/nerve/nerve.js +2 -2
- package/build/dex/nerve/nerve.js.map +1 -1
- package/build/dex/onebit/onebit.d.ts +16 -0
- package/build/dex/onebit/onebit.js +61 -0
- package/build/dex/onebit/onebit.js.map +1 -0
- package/build/dex/onebit/types.d.ts +14 -0
- package/build/dex/onebit/types.js +8 -0
- package/build/dex/onebit/types.js.map +1 -0
- package/build/dex/oswap/oswap.d.ts +1 -1
- package/build/dex/oswap/oswap.js +2 -2
- package/build/dex/oswap/oswap.js.map +1 -1
- package/build/dex/pancakeswap-v3/pancakeswap-v3-factory.d.ts +1 -1
- package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.d.ts +2 -2
- package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.js +3 -4
- package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.js.map +1 -1
- package/build/dex/pancakeswap-v3/pancakeswap-v3.d.ts +1 -1
- package/build/dex/pancakeswap-v3/pancakeswap-v3.js +5 -6
- package/build/dex/pancakeswap-v3/pancakeswap-v3.js.map +1 -1
- package/build/dex/pancakeswap-v3/utils.js +1 -1
- package/build/dex/pancakeswap-v3/utils.js.map +1 -1
- package/build/dex/paraswap-limit-orders/paraswap-limit-orders.d.ts +2 -2
- package/build/dex/paraswap-limit-orders/paraswap-limit-orders.js +3 -4
- package/build/dex/paraswap-limit-orders/paraswap-limit-orders.js.map +1 -1
- package/build/dex/paraswap-limit-orders/utils.js +4 -4
- package/build/dex/paraswap-limit-orders/utils.js.map +1 -1
- package/build/dex/polygon-migrator/polygon-migrator.d.ts +1 -1
- package/build/dex/polygon-migrator/polygon-migrator.js +2 -2
- package/build/dex/polygon-migrator/polygon-migrator.js.map +1 -1
- package/build/dex/quick-perps/quick-perps.d.ts +1 -1
- package/build/dex/quick-perps/quick-perps.js +2 -2
- package/build/dex/quick-perps/quick-perps.js.map +1 -1
- package/build/dex/quick-perps/vault.d.ts +1 -1
- package/build/dex/quick-perps/vault.js +4 -2
- package/build/dex/quick-perps/vault.js.map +1 -1
- package/build/dex/quickswap/quickswap-v3.js +3 -3
- package/build/dex/quickswap/quickswap-v3.js.map +1 -1
- package/build/dex/shell.d.ts +25 -0
- package/build/dex/shell.js +41 -0
- package/build/dex/shell.js.map +1 -0
- package/build/dex/simple-exchange.d.ts +1 -1
- package/build/dex/simple-exchange.js +5 -5
- package/build/dex/simple-exchange.js.map +1 -1
- package/build/dex/smoothy/smoothy.js.map +1 -1
- package/build/dex/solidly/forks-override/chronos.d.ts +2 -1
- package/build/dex/solidly/forks-override/chronos.js.map +1 -1
- package/build/dex/solidly/forks-override/equalizer.d.ts +2 -1
- package/build/dex/solidly/forks-override/equalizer.js.map +1 -1
- package/build/dex/solidly/forks-override/ramses.d.ts +2 -1
- package/build/dex/solidly/forks-override/ramses.js.map +1 -1
- package/build/dex/solidly/forks-override/spiritSwapV2.d.ts +2 -1
- package/build/dex/solidly/forks-override/spiritSwapV2.js.map +1 -1
- package/build/dex/solidly/forks-override/thena.d.ts +2 -1
- package/build/dex/solidly/forks-override/thena.js +2 -2
- package/build/dex/solidly/forks-override/thena.js.map +1 -1
- package/build/dex/solidly/forks-override/velocimeter.d.ts +2 -1
- package/build/dex/solidly/forks-override/velocimeter.js +2 -2
- package/build/dex/solidly/forks-override/velocimeter.js.map +1 -1
- package/build/dex/solidly/forks-override/velodrome.d.ts +2 -1
- package/build/dex/solidly/forks-override/velodrome.js +2 -2
- package/build/dex/solidly/forks-override/velodrome.js.map +1 -1
- package/build/dex/solidly/forks-override/velodromeV2.d.ts +2 -1
- package/build/dex/solidly/forks-override/velodromeV2.js +2 -2
- package/build/dex/solidly/forks-override/velodromeV2.js.map +1 -1
- package/build/dex/solidly/solidly-ethereum.d.ts +2 -1
- package/build/dex/solidly/solidly-ethereum.js +2 -2
- package/build/dex/solidly/solidly-ethereum.js.map +1 -1
- package/build/dex/solidly/solidly.js +8 -13
- package/build/dex/solidly/solidly.js.map +1 -1
- package/build/dex/solidly-v3/contract-math/utils.d.ts +3 -3
- package/build/dex/solidly-v3/contract-math/utils.js +4 -4
- package/build/dex/solidly-v3/contract-math/utils.js.map +1 -1
- package/build/dex/solidly-v3/solidly-v3-factory.d.ts +1 -2
- package/build/dex/solidly-v3/solidly-v3-factory.js +2 -2
- package/build/dex/solidly-v3/solidly-v3-factory.js.map +1 -1
- package/build/dex/solidly-v3/solidly-v3-pool.d.ts +2 -2
- package/build/dex/solidly-v3/solidly-v3-pool.js +3 -4
- package/build/dex/solidly-v3/solidly-v3-pool.js.map +1 -1
- package/build/dex/solidly-v3/solidly-v3.d.ts +1 -1
- package/build/dex/solidly-v3/solidly-v3.js +5 -6
- package/build/dex/solidly-v3/solidly-v3.js.map +1 -1
- package/build/dex/solidly-v3/types.d.ts +7 -20
- package/build/dex/solidly-v3/utils.js +1 -1
- package/build/dex/solidly-v3/utils.js.map +1 -1
- package/build/dex/spark/config.js +5 -5
- package/build/dex/spark/config.js.map +1 -1
- package/build/dex/spark/scripts/validate-state.js +2 -5
- package/build/dex/spark/scripts/validate-state.js.map +1 -1
- package/build/dex/spark/spark-psm.d.ts +1 -1
- package/build/dex/spark/spark-psm.js +5 -5
- package/build/dex/spark/spark-psm.js.map +1 -1
- package/build/dex/spark/spark-sdai-pool.d.ts +1 -1
- package/build/dex/spark/spark.d.ts +1 -1
- package/build/dex/spark/types.d.ts +1 -1
- package/build/dex/spark/utils.d.ts +1 -1
- package/build/dex/spark/utils.js +3 -4
- package/build/dex/spark/utils.js.map +1 -1
- package/build/dex/stable-pool/stable-pool.d.ts +1 -1
- package/build/dex/stable-pool/stable-pool.js +2 -2
- package/build/dex/stable-pool/stable-pool.js.map +1 -1
- package/build/dex/stader/stader-pool.d.ts +2 -2
- package/build/dex/stader/stader-pool.js +2 -0
- package/build/dex/stader/stader-pool.js.map +1 -1
- package/build/dex/stader/stader.d.ts +1 -1
- package/build/dex/stader/stader.js +4 -4
- package/build/dex/stader/stader.js.map +1 -1
- package/build/dex/stader/utils.d.ts +1 -1
- package/build/dex/stader/utils.js +2 -2
- package/build/dex/stader/utils.js.map +1 -1
- package/build/dex/swaap-v2/swaap-v2.d.ts +1 -1
- package/build/dex/swaap-v2/swaap-v2.js +21 -21
- package/build/dex/swaap-v2/swaap-v2.js.map +1 -1
- package/build/dex/swaap-v2/validators.js +1 -1
- package/build/dex/swaap-v2/validators.js.map +1 -1
- package/build/dex/swell/rsweth-pool.d.ts +2 -2
- package/build/dex/swell/rsweth-pool.js +2 -0
- package/build/dex/swell/rsweth-pool.js.map +1 -1
- package/build/dex/swell/swell.d.ts +1 -1
- package/build/dex/swell/swell.js +3 -4
- package/build/dex/swell/swell.js.map +1 -1
- package/build/dex/swell/sweth-pool.d.ts +2 -2
- package/build/dex/swell/sweth-pool.js +2 -0
- package/build/dex/swell/sweth-pool.js.map +1 -1
- package/build/dex/swell/utils.d.ts +1 -1
- package/build/dex/swell/utils.js +2 -2
- package/build/dex/swell/utils.js.map +1 -1
- package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.js +4 -4
- package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.js.map +1 -1
- package/build/dex/synthetix/synthetix-state.d.ts +2 -3
- package/build/dex/synthetix/synthetix-state.js +4 -4
- package/build/dex/synthetix/synthetix-state.js.map +1 -1
- package/build/dex/synthetix/synthetix.d.ts +1 -1
- package/build/dex/synthetix/synthetix.js +2 -2
- package/build/dex/synthetix/synthetix.js.map +1 -1
- package/build/dex/synthetix/utils.js +1 -1
- package/build/dex/synthetix/utils.js.map +1 -1
- package/build/dex/trader-joe-v2.1/base.d.ts +1 -1
- package/build/dex/trader-joe-v2.1/base.js +2 -2
- package/build/dex/trader-joe-v2.1/base.js.map +1 -1
- package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js +2 -2
- package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js.map +1 -1
- package/build/dex/trader-joe-v2.1/trader-joe-v2.2.js +2 -2
- package/build/dex/trader-joe-v2.1/trader-joe-v2.2.js.map +1 -1
- package/build/dex/trader-joe-v2.d.ts +40 -0
- package/build/dex/trader-joe-v2.js +74 -0
- package/build/dex/trader-joe-v2.js.map +1 -0
- package/build/dex/uniswap-v2/biswap.d.ts +2 -1
- package/build/dex/uniswap-v2/biswap.js.map +1 -1
- package/build/dex/uniswap-v2/excalibur.d.ts +2 -1
- package/build/dex/uniswap-v2/excalibur.js.map +1 -1
- package/build/dex/uniswap-v2/mdex.d.ts +2 -1
- package/build/dex/uniswap-v2/mdex.js.map +1 -1
- package/build/dex/uniswap-v2/nomiswap-v2.d.ts +2 -1
- package/build/dex/uniswap-v2/nomiswap-v2.js.map +1 -1
- package/build/dex/uniswap-v2/ring-v2.d.ts +1 -1
- package/build/dex/uniswap-v2/ring-v2.js +6 -8
- package/build/dex/uniswap-v2/ring-v2.js.map +1 -1
- package/build/dex/uniswap-v2/uniswap-v2-factory.d.ts +1 -1
- package/build/dex/uniswap-v2/uniswap-v2.d.ts +4 -4
- package/build/dex/uniswap-v2/uniswap-v2.js +17 -20
- package/build/dex/uniswap-v2/uniswap-v2.js.map +1 -1
- package/build/dex/uniswap-v3/forks/ramses-v2/ramses-v2-pool.d.ts +1 -1
- package/build/dex/uniswap-v3/forks/ramses-v2/ramses-v2-pool.js +2 -2
- package/build/dex/uniswap-v3/forks/ramses-v2/ramses-v2-pool.js.map +1 -1
- package/build/dex/uniswap-v3/forks/ramses-v2/utils.js +1 -1
- package/build/dex/uniswap-v3/forks/ramses-v2/utils.js.map +1 -1
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/utils.js +1 -1
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/utils.js.map +1 -1
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-factory.d.ts +1 -1
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-pool.d.ts +1 -1
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-pool.js +21 -21
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-pool.js.map +1 -1
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.d.ts +1 -1
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.js +4 -5
- package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.js.map +1 -1
- package/build/dex/uniswap-v3/types.d.ts +2 -1
- package/build/dex/uniswap-v3/types.js.map +1 -1
- package/build/dex/uniswap-v3/uniswap-v3-factory.d.ts +1 -1
- package/build/dex/uniswap-v3/uniswap-v3-new.d.ts +94 -0
- package/build/dex/uniswap-v3/uniswap-v3-new.js +923 -0
- package/build/dex/uniswap-v3/uniswap-v3-new.js.map +1 -0
- package/build/dex/uniswap-v3/uniswap-v3-pool.d.ts +2 -2
- package/build/dex/uniswap-v3/uniswap-v3-pool.js +3 -4
- package/build/dex/uniswap-v3/uniswap-v3-pool.js.map +1 -1
- package/build/dex/uniswap-v3/uniswap-v3.d.ts +1 -1
- package/build/dex/uniswap-v3/uniswap-v3.js +11 -16
- package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
- package/build/dex/uniswap-v3/utils.js +1 -1
- package/build/dex/uniswap-v3/utils.js.map +1 -1
- package/build/dex/uniswap-v3.d.ts +1 -1
- package/build/dex/uniswap-v3.js +4 -5
- package/build/dex/uniswap-v3.js.map +1 -1
- package/build/dex/uniswap-v4/encoder.js +9 -9
- package/build/dex/uniswap-v4/encoder.js.map +1 -1
- package/build/dex/uniswap-v4/uniswap-v4-pool-manager.d.ts +1 -1
- package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js +6 -6
- package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js.map +1 -1
- package/build/dex/uniswap-v4/uniswap-v4-pool.d.ts +1 -1
- package/build/dex/uniswap-v4/uniswap-v4-pool.js +5 -5
- package/build/dex/uniswap-v4/uniswap-v4-pool.js.map +1 -1
- package/build/dex/usual-bond/config.d.ts +3 -0
- package/build/dex/usual-bond/config.js +13 -0
- package/build/dex/usual-bond/config.js.map +1 -0
- package/build/dex/usual-bond/types.d.ts +7 -0
- package/build/dex/usual-bond/types.js +3 -0
- package/build/dex/usual-bond/types.js.map +1 -0
- package/build/dex/usual-bond/usual-bond.d.ts +35 -0
- package/build/dex/usual-bond/usual-bond.js +176 -0
- package/build/dex/usual-bond/usual-bond.js.map +1 -0
- package/build/dex/wombat/utils.d.ts +1 -1
- package/build/dex/wombat/wombat-bmw.d.ts +1 -1
- package/build/dex/wombat/wombat.d.ts +1 -1
- package/build/dex/wombat/wombat.js +4 -4
- package/build/dex/wombat/wombat.js.map +1 -1
- package/build/dex/woo-fi-v2/types.d.ts +1 -1
- package/build/dex/woo-fi-v2/utils.js +6 -6
- package/build/dex/woo-fi-v2/utils.js.map +1 -1
- package/build/dex/woo-fi-v2/woo-fi-v2.js +1 -1
- package/build/dex/woo-fi-v2/woo-fi-v2.js.map +1 -1
- package/build/dex/wsteth/wsteth.d.ts +1 -1
- package/build/dex/wsteth/wsteth.js +3 -3
- package/build/dex/wsteth/wsteth.js.map +1 -1
- package/build/dex/wusdm/config.d.ts +3 -0
- package/build/dex/wusdm/config.js +43 -0
- package/build/dex/wusdm/config.js.map +1 -0
- package/build/dex/wusdm/constants.d.ts +2 -0
- package/build/dex/wusdm/constants.js +6 -0
- package/build/dex/wusdm/constants.js.map +1 -0
- package/build/dex/wusdm/types.d.ts +18 -0
- package/build/dex/wusdm/types.js +11 -0
- package/build/dex/wusdm/types.js.map +1 -0
- package/build/dex/wusdm/wusdm-pool.d.ts +21 -0
- package/build/dex/wusdm/wusdm-pool.js +74 -0
- package/build/dex/wusdm/wusdm-pool.js.map +1 -0
- package/build/dex/wusdm/wusdm.d.ts +46 -0
- package/build/dex/wusdm/wusdm.js +243 -0
- package/build/dex/wusdm/wusdm.js.map +1 -0
- package/build/dex/zerox/config.d.ts +2 -0
- package/build/dex/zerox/config.js +33 -0
- package/build/dex/zerox/config.js.map +1 -0
- package/build/dex/zerox/index.d.ts +22 -0
- package/build/dex/zerox/index.js +225 -0
- package/build/dex/zerox/index.js.map +1 -0
- package/build/dex/zerox/order.d.ts +88 -0
- package/build/dex/zerox/order.js +53 -0
- package/build/dex/zerox/order.js.map +1 -0
- package/build/dex/zerox/types.d.ts +73 -0
- package/build/dex/zerox/types.js +21 -0
- package/build/dex/zerox/types.js.map +1 -0
- package/build/dex-helper/dummy-dex-helper.d.ts +1 -1
- package/build/dex-helper/dummy-dex-helper.js +3 -4
- package/build/dex-helper/dummy-dex-helper.js.map +1 -1
- package/build/dex-helper/idex-helper.d.ts +1 -1
- package/build/executor/Executor01BytecodeBuilder.js +13 -14
- package/build/executor/Executor01BytecodeBuilder.js.map +1 -1
- package/build/executor/Executor02BytecodeBuilder.js +40 -53
- package/build/executor/Executor02BytecodeBuilder.js.map +1 -1
- package/build/executor/Executor03BytecodeBuilder.js +18 -19
- package/build/executor/Executor03BytecodeBuilder.js.map +1 -1
- package/build/executor/ExecutorBytecodeBuilder.js +22 -23
- package/build/executor/ExecutorBytecodeBuilder.js.map +1 -1
- package/build/executor/constants.js +5 -6
- package/build/executor/constants.js.map +1 -1
- package/build/executor/utils.d.ts +1 -1
- package/build/executor/utils.js +3 -0
- package/build/executor/utils.js.map +1 -1
- package/build/generic-swap-transaction-builder.d.ts +1 -1
- package/build/generic-swap-transaction-builder.js +18 -23
- package/build/generic-swap-transaction-builder.js.map +1 -1
- package/build/lib/api3-feed.d.ts +1 -1
- package/build/lib/api3-feed.js +5 -5
- package/build/lib/api3-feed.js.map +1 -1
- package/build/lib/curve/encoder.d.ts +1 -2
- package/build/lib/curve/encoder.js +4 -5
- package/build/lib/curve/encoder.js.map +1 -1
- package/build/lib/decoders.d.ts +2 -3
- package/build/lib/decoders.js +9 -9
- package/build/lib/decoders.js.map +1 -1
- package/build/lib/tokens/utils.d.ts +1 -1
- package/build/lib/tokens/utils.js +10 -8
- package/build/lib/tokens/utils.js.map +1 -1
- package/build/utils.d.ts +1 -0
- package/build/utils.js +10 -3
- package/build/utils.js.map +1 -1
- package/package.json +2 -3
- package/build/abi/algebra-integral/AlgebraFactory.abi.json +0 -947
- package/build/abi/ekubo/twamm-data-fetcher.json +0 -216
- package/build/abi/ekubo/twamm.json +0 -720
- package/build/abi/ring-v2/few-wrapped-token.json +0 -587
- package/build/abi/ring-v2/ring-v2-factory.json +0 -125
- package/build/abi/ring-v2/ring-v2-pool.json +0 -461
- package/build/abi/ring-v2/ring-v2-router.json +0 -332
- package/build/dex/algebra-integral/algebra-integral-factory.d.ts +0 -29
- package/build/dex/algebra-integral/algebra-integral-factory.js +0 -159
- package/build/dex/algebra-integral/algebra-integral-factory.js.map +0 -1
- package/build/dex/ekubo/pools/base.d.ts +0 -36
- package/build/dex/ekubo/pools/base.js +0 -289
- package/build/dex/ekubo/pools/base.js.map +0 -1
- package/build/dex/ekubo/pools/full-range.d.ts +0 -23
- package/build/dex/ekubo/pools/full-range.js +0 -99
- package/build/dex/ekubo/pools/full-range.js.map +0 -1
- package/build/dex/ekubo/pools/iface.d.ts +0 -46
- package/build/dex/ekubo/pools/iface.js +0 -75
- package/build/dex/ekubo/pools/iface.js.map +0 -1
- package/build/dex/ekubo/pools/math/twamm/exp2.d.ts +0 -1
- package/build/dex/ekubo/pools/math/twamm/exp2.js +0 -86
- package/build/dex/ekubo/pools/math/twamm/exp2.js.map +0 -1
- package/build/dex/ekubo/pools/math/twamm/sqrt-ratio.d.ts +0 -1
- package/build/dex/ekubo/pools/math/twamm/sqrt-ratio.js +0 -56
- package/build/dex/ekubo/pools/math/twamm/sqrt-ratio.js.map +0 -1
- package/build/dex/ekubo/pools/oracle.d.ts +0 -8
- package/build/dex/ekubo/pools/oracle.js +0 -19
- package/build/dex/ekubo/pools/oracle.js.map +0 -1
- package/build/dex/ekubo/pools/twamm.d.ts +0 -38
- package/build/dex/ekubo/pools/twamm.js +0 -253
- package/build/dex/ekubo/pools/twamm.js.map +0 -1
- package/build/dex/ekubo/pools/utils.d.ts +0 -28
- package/build/dex/ekubo/pools/utils.js +0 -80
- package/build/dex/ekubo/pools/utils.js.map +0 -1
- package/build/dex/miro-migrator/miro-migrator-state.d.ts +0 -27
- package/build/dex/miro-migrator/miro-migrator-state.js +0 -89
- package/build/dex/miro-migrator/miro-migrator-state.js.map +0 -1
|
@@ -7,10 +7,11 @@ exports.decodeTicksV1_1 = decodeTicksV1_1;
|
|
|
7
7
|
const ethers_1 = require("ethers");
|
|
8
8
|
const ts_essentials_1 = require("ts-essentials");
|
|
9
9
|
const decoders_1 = require("../../lib/decoders");
|
|
10
|
+
const bignumber_1 = require("@ethersproject/bignumber");
|
|
10
11
|
function decodeStateMultiCallResultWithRelativeBitmapsV1_1(result) {
|
|
11
12
|
const [isSuccess, toDecode] = (0, decoders_1.extractSuccessAndValue)(result);
|
|
12
13
|
(0, ts_essentials_1.assert)(isSuccess && toDecode !== '0x', `decodeStateMultiCallResultWithRelativeBitmaps failed to get decodable result: ${result}`);
|
|
13
|
-
const decoded = ethers_1.ethers.
|
|
14
|
+
const decoded = ethers_1.ethers.AbiCoder.defaultAbiCoder().decode([
|
|
14
15
|
// I don't want to pass here any interface, so I just use it in ethers format
|
|
15
16
|
`
|
|
16
17
|
tuple(
|
|
@@ -62,7 +63,7 @@ function decodeStateMultiCallResultWithRelativeBitmapsV1_1(result) {
|
|
|
62
63
|
function decodeStateMultiCallResultWithRelativeBitmapsV1_9(result) {
|
|
63
64
|
const [isSuccess, toDecode] = (0, decoders_1.extractSuccessAndValue)(result);
|
|
64
65
|
(0, ts_essentials_1.assert)(isSuccess && toDecode !== '0x', `decodeStateMultiCallResultWithRelativeBitmaps failed to get decodable result: ${result}`);
|
|
65
|
-
const decoded = ethers_1.ethers.
|
|
66
|
+
const decoded = ethers_1.ethers.AbiCoder.defaultAbiCoder().decode([
|
|
66
67
|
// I don't want to pass here any interface, so I just use it in ethers format
|
|
67
68
|
`
|
|
68
69
|
tuple(
|
|
@@ -116,7 +117,7 @@ function decodeGlobalStateV1_1(result) {
|
|
|
116
117
|
const [isSuccess, toDecode] = (0, decoders_1.extractSuccessAndValue)(result);
|
|
117
118
|
(0, ts_essentials_1.assert)(isSuccess && toDecode !== '0x', `decodeGlobalStateV1_1 failed to get decodable result: ${result}`);
|
|
118
119
|
const results = {
|
|
119
|
-
price:
|
|
120
|
+
price: bignumber_1.BigNumber.from(0),
|
|
120
121
|
tick: 0,
|
|
121
122
|
fee: 0,
|
|
122
123
|
communityFeeToken0: 0,
|
|
@@ -129,7 +130,7 @@ function decodeGlobalStateV1_1(result) {
|
|
|
129
130
|
,
|
|
130
131
|
results.communityFeeToken0,
|
|
131
132
|
results.communityFeeToken1,
|
|
132
|
-
] = ethers_1.ethers.
|
|
133
|
+
] = ethers_1.ethers.AbiCoder.defaultAbiCoder().decode([`uint160`, `int24`, `uint16`, `uint16`, `uint8`, `uint8`, `bool`], toDecode);
|
|
133
134
|
// This conversion is not precise, because when we decode, we have more values
|
|
134
135
|
// But used later
|
|
135
136
|
return results;
|
|
@@ -138,11 +139,11 @@ function decodeTicksV1_1(result) {
|
|
|
138
139
|
const [isSuccess, toDecode] = (0, decoders_1.extractSuccessAndValue)(result);
|
|
139
140
|
(0, ts_essentials_1.assert)(isSuccess && toDecode !== '0x', `decodeGlobalStateV1_1 failed to get decodable result: ${result}`);
|
|
140
141
|
const results = {
|
|
141
|
-
liquidityNet:
|
|
142
|
-
liquidityGross:
|
|
142
|
+
liquidityNet: bignumber_1.BigNumber.from(0),
|
|
143
|
+
liquidityGross: bignumber_1.BigNumber.from(0),
|
|
143
144
|
secondsOutside: 0,
|
|
144
|
-
secondsPerLiquidityOutsideX128:
|
|
145
|
-
tickCumulativeOutside:
|
|
145
|
+
secondsPerLiquidityOutsideX128: bignumber_1.BigNumber.from(0),
|
|
146
|
+
tickCumulativeOutside: bignumber_1.BigNumber.from(0),
|
|
146
147
|
initialized: false,
|
|
147
148
|
};
|
|
148
149
|
[
|
|
@@ -154,7 +155,7 @@ function decodeTicksV1_1(result) {
|
|
|
154
155
|
results.secondsPerLiquidityOutsideX128,
|
|
155
156
|
results.secondsOutside,
|
|
156
157
|
results.initialized,
|
|
157
|
-
] = ethers_1.ethers.
|
|
158
|
+
] = ethers_1.ethers.AbiCoder.defaultAbiCoder().decode([
|
|
158
159
|
`uint128`,
|
|
159
160
|
`int128`,
|
|
160
161
|
`uint256`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/dex/algebra/utils.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/dex/algebra/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,6 @@ export declare class AlgebraIntegral extends SimpleExchange implements IDex<Alge
|
|
|
15
15
|
readonly hasConstantPriceLargeAmounts = false;
|
|
16
16
|
readonly needWrapNative = true;
|
|
17
17
|
readonly isFeeOnTransferSupported = true;
|
|
18
|
-
private readonly factory;
|
|
19
18
|
static dexKeysWithNetwork: {
|
|
20
19
|
key: string;
|
|
21
20
|
networks: Network[];
|
|
@@ -23,18 +22,19 @@ export declare class AlgebraIntegral extends SimpleExchange implements IDex<Alge
|
|
|
23
22
|
logger: Logger;
|
|
24
23
|
private uniswapMulti;
|
|
25
24
|
constructor(network: Network, dexKey: string, dexHelper: IDexHelper, routerIface?: Interface, quoterIface?: Interface, config?: import("./types").DexParams);
|
|
26
|
-
initializePricing(blockNumber: number): Promise<void>;
|
|
27
25
|
getAdapters(side: SwapSide): {
|
|
28
26
|
name: string;
|
|
29
27
|
index: number;
|
|
30
28
|
}[] | null;
|
|
31
29
|
getPoolIdentifier(srcAddress: Address, destAddress: Address, deployerAddress: Address): string;
|
|
30
|
+
initializePricing(blockNumber: number): Promise<void>;
|
|
32
31
|
getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
|
|
33
32
|
getPricingFromRpc(from: Token, to: Token, amounts: bigint[], side: SwapSide, pools: Pool[], transferFees?: TransferFeeParams): Promise<ExchangePrices<AlgebraIntegralData> | null>;
|
|
34
33
|
getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[], transferFees?: TransferFeeParams): Promise<null | ExchangePrices<AlgebraIntegralData>>;
|
|
35
34
|
getCalldataGasCost(poolPrices: PoolPrices<AlgebraIntegralData>): number | number[];
|
|
36
35
|
getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: AlgebraIntegralData, side: SwapSide): DexExchangeParam;
|
|
37
36
|
getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: AlgebraIntegralData, side: SwapSide): AdapterExchangeParam;
|
|
37
|
+
getAvailablePools(srcToken: Address, destToken: Address): Promise<Pool[]>;
|
|
38
38
|
getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
|
|
39
39
|
private _querySubgraph;
|
|
40
40
|
private _encodePath;
|
|
@@ -54,7 +54,6 @@ const token_transfer_fee_1 = require("../../lib/token-transfer-fee");
|
|
|
54
54
|
const config_1 = require("./config");
|
|
55
55
|
const types_2 = require("../../lib/tokens/types");
|
|
56
56
|
const utils_3 = require("../../executor/utils");
|
|
57
|
-
const algebra_integral_factory_1 = require("./algebra-integral-factory");
|
|
58
57
|
const ALGEBRA_QUOTE_GASLIMIT = 2_000_000;
|
|
59
58
|
const ALGEBRA_EFFICIENCY_FACTOR = 3;
|
|
60
59
|
class AlgebraIntegral extends simple_exchange_1.SimpleExchange {
|
|
@@ -67,7 +66,6 @@ class AlgebraIntegral extends simple_exchange_1.SimpleExchange {
|
|
|
67
66
|
hasConstantPriceLargeAmounts = false;
|
|
68
67
|
needWrapNative = true;
|
|
69
68
|
isFeeOnTransferSupported = true;
|
|
70
|
-
factory;
|
|
71
69
|
static dexKeysWithNetwork = (0, utils_2.getDexKeysWithNetwork)(config_1.AlgebraIntegralConfig);
|
|
72
70
|
logger;
|
|
73
71
|
uniswapMulti;
|
|
@@ -81,10 +79,6 @@ class AlgebraIntegral extends simple_exchange_1.SimpleExchange {
|
|
|
81
79
|
this.config = config;
|
|
82
80
|
this.logger = dexHelper.getLogger(dexKey);
|
|
83
81
|
this.uniswapMulti = new this.dexHelper.web3Provider.eth.Contract(UniswapMulti_abi_json_1.default, this.config.uniswapMulticall);
|
|
84
|
-
this.factory = new algebra_integral_factory_1.AlgebraIntegralFactory(dexKey, this.network, dexHelper, this.logger, this.config.factory, this.config.subgraphURL);
|
|
85
|
-
}
|
|
86
|
-
async initializePricing(blockNumber) {
|
|
87
|
-
await this.factory.initialize(blockNumber);
|
|
88
82
|
}
|
|
89
83
|
getAdapters(side) {
|
|
90
84
|
return null;
|
|
@@ -93,6 +87,7 @@ class AlgebraIntegral extends simple_exchange_1.SimpleExchange {
|
|
|
93
87
|
const tokenAddresses = this._sortTokens(srcAddress, destAddress).join('_');
|
|
94
88
|
return `${this.dexKey}_${tokenAddresses}_${deployerAddress}`;
|
|
95
89
|
}
|
|
90
|
+
async initializePricing(blockNumber) { }
|
|
96
91
|
// Returns list of pool identifiers that can be used
|
|
97
92
|
// for a given swap. poolIdentifiers must be unique
|
|
98
93
|
// across DEXes. It is recommended to use
|
|
@@ -103,7 +98,7 @@ class AlgebraIntegral extends simple_exchange_1.SimpleExchange {
|
|
|
103
98
|
const [_srcAddress, _destAddress] = this._getLoweredAddresses(_srcToken, _destToken);
|
|
104
99
|
if (_srcAddress === _destAddress)
|
|
105
100
|
return [];
|
|
106
|
-
const pools = await this.
|
|
101
|
+
const pools = await this.getAvailablePools(_srcAddress, _destAddress);
|
|
107
102
|
if (pools.length === 0)
|
|
108
103
|
return [];
|
|
109
104
|
return pools.map(pool => this.getPoolIdentifier(_srcAddress, _destAddress, pool.deployer));
|
|
@@ -120,7 +115,7 @@ class AlgebraIntegral extends simple_exchange_1.SimpleExchange {
|
|
|
120
115
|
this.logger.warn(`fallback to rpc for ${pools.length} pool(s)`);
|
|
121
116
|
const requests = pools.map(pool => ({
|
|
122
117
|
owner: pool.poolAddress,
|
|
123
|
-
asset: side
|
|
118
|
+
asset: side == constants_1.SwapSide.SELL ? from.address : to.address,
|
|
124
119
|
assetType: types_2.AssetType.ERC20,
|
|
125
120
|
ids: [
|
|
126
121
|
{
|
|
@@ -128,46 +123,54 @@ class AlgebraIntegral extends simple_exchange_1.SimpleExchange {
|
|
|
128
123
|
spenders: [],
|
|
129
124
|
},
|
|
130
125
|
],
|
|
131
|
-
}));
|
|
126
|
+
}), []);
|
|
132
127
|
const balances = await (0, balancer_fetcher_1.getBalances)(this.dexHelper.multiWrapper, requests);
|
|
128
|
+
pools = pools.filter((pool, index) => {
|
|
129
|
+
const balance = balances[index].amounts[types_2.DEFAULT_ID_ERC20_AS_STRING];
|
|
130
|
+
if (balance >= amounts[amounts.length - 1]) {
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
this.logger.warn(`[${this.network}] have no balance ${pool.poolAddress} ${from.address} ${to.address}. (Balance: ${balance})`);
|
|
134
|
+
return false;
|
|
135
|
+
});
|
|
136
|
+
pools.forEach(pool => {
|
|
137
|
+
this.logger.warn(`[${this.network}] fallback to rpc for ${pool.poolAddress} ${from.address} ${to.address}`);
|
|
138
|
+
});
|
|
133
139
|
const _isSrcTokenTransferFeeToBeExchanged = (0, utils_2.isSrcTokenTransferFeeToBeExchanged)(transferFees);
|
|
134
140
|
const _isDestTokenTransferFeeToBeExchanged = (0, utils_2.isDestTokenTransferFeeToBeExchanged)(transferFees);
|
|
141
|
+
if (_isSrcTokenTransferFeeToBeExchanged && side == constants_1.SwapSide.BUY) {
|
|
142
|
+
this.logger.error(`DEX doesn't support buy for tax srcToken ${from.address}`);
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
135
145
|
const unitVolume = (0, utils_2.getBigIntPow)((side === constants_1.SwapSide.SELL ? from : to).decimals);
|
|
136
146
|
const chunks = amounts.length - 1;
|
|
137
147
|
const _width = Math.floor(chunks / this.config.chunksCount);
|
|
138
|
-
const
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
:
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
pool.deployer,
|
|
165
|
-
amount.toString(),
|
|
166
|
-
0,
|
|
167
|
-
]),
|
|
168
|
-
}));
|
|
169
|
-
});
|
|
170
|
-
const data = await this.uniswapMulti.methods.multicall(calldata).call();
|
|
148
|
+
const _amounts = [unitVolume].concat(Array.from(Array(this.config.chunksCount).keys()).map(i => amounts[(i + 1) * _width]));
|
|
149
|
+
const _amountsWithFee = _isSrcTokenTransferFeeToBeExchanged
|
|
150
|
+
? (0, token_transfer_fee_1.applyTransferFee)(_amounts, side, transferFees.srcDexFee, constants_1.SRC_TOKEN_DEX_TRANSFERS)
|
|
151
|
+
: _amounts;
|
|
152
|
+
const calldata = pools.map(pool => _amountsWithFee.map(_amount => ({
|
|
153
|
+
target: this.config.quoter,
|
|
154
|
+
gasLimit: ALGEBRA_QUOTE_GASLIMIT,
|
|
155
|
+
callData: side === constants_1.SwapSide.SELL
|
|
156
|
+
? this.quoterIface.encodeFunctionData('quoteExactInputSingle', [
|
|
157
|
+
from.address,
|
|
158
|
+
to.address,
|
|
159
|
+
pool.deployer,
|
|
160
|
+
_amount.toString(),
|
|
161
|
+
0, //sqrtPriceLimitX96
|
|
162
|
+
])
|
|
163
|
+
: this.quoterIface.encodeFunctionData('quoteExactOutputSingle', [
|
|
164
|
+
from.address,
|
|
165
|
+
to.address,
|
|
166
|
+
pool.deployer,
|
|
167
|
+
_amount.toString(),
|
|
168
|
+
0, //sqrtPriceLimitX96
|
|
169
|
+
]),
|
|
170
|
+
})));
|
|
171
|
+
const data = await this.uniswapMulti.methods
|
|
172
|
+
.multicall(calldata.flat())
|
|
173
|
+
.call();
|
|
171
174
|
let totalGasCost = 0;
|
|
172
175
|
let totalSuccessFullSwaps = 0;
|
|
173
176
|
const decode = (j) => {
|
|
@@ -184,14 +187,13 @@ class AlgebraIntegral extends simple_exchange_1.SimpleExchange {
|
|
|
184
187
|
? ALGEBRA_QUOTE_GASLIMIT
|
|
185
188
|
: Math.round(totalGasCost / totalSuccessFullSwaps);
|
|
186
189
|
let i = 0;
|
|
187
|
-
const result = pools.map(
|
|
188
|
-
const
|
|
189
|
-
const _rates = amountsForPool.map(a => (a === 0n ? 0n : decode(i++)));
|
|
190
|
+
const result = pools.map(pool => {
|
|
191
|
+
const _rates = _amountsWithFee.map(() => decode(i++));
|
|
190
192
|
const _ratesWithFee = _isDestTokenTransferFeeToBeExchanged
|
|
191
193
|
? (0, token_transfer_fee_1.applyTransferFee)(_rates, side, transferFees.destDexFee, constants_1.DEST_TOKEN_DEX_TRANSFERS)
|
|
192
194
|
: _rates;
|
|
193
195
|
const unit = _ratesWithFee[0];
|
|
194
|
-
const prices = (0, utils_2.interpolate)(
|
|
196
|
+
const prices = (0, utils_2.interpolate)(_amountsWithFee.slice(1), _ratesWithFee.slice(1), amounts, side);
|
|
195
197
|
return {
|
|
196
198
|
prices,
|
|
197
199
|
unit,
|
|
@@ -224,23 +226,12 @@ class AlgebraIntegral extends simple_exchange_1.SimpleExchange {
|
|
|
224
226
|
destDexFee: 0,
|
|
225
227
|
}) {
|
|
226
228
|
try {
|
|
227
|
-
const _isSrcTokenTransferFeeToBeExchanged = (0, utils_2.isSrcTokenTransferFeeToBeExchanged)(transferFees);
|
|
228
|
-
if (_isSrcTokenTransferFeeToBeExchanged && side == constants_1.SwapSide.BUY) {
|
|
229
|
-
return null;
|
|
230
|
-
}
|
|
231
229
|
const _srcToken = this.dexHelper.config.wrapETH(srcToken);
|
|
232
230
|
const _destToken = this.dexHelper.config.wrapETH(destToken);
|
|
233
231
|
const [_srcAddress, _destAddress] = this._getLoweredAddresses(_srcToken, _destToken);
|
|
234
232
|
if (_srcAddress === _destAddress)
|
|
235
233
|
return null;
|
|
236
|
-
|
|
237
|
-
if (limitPools && limitPools.length > 0) {
|
|
238
|
-
const limitPoolsSet = new Set(limitPools);
|
|
239
|
-
pools = pools.filter(pool => {
|
|
240
|
-
const poolIdentifier = this.getPoolIdentifier(_srcAddress, _destAddress, pool.deployer);
|
|
241
|
-
return limitPoolsSet.has(poolIdentifier);
|
|
242
|
-
});
|
|
243
|
-
}
|
|
234
|
+
const pools = await this.getAvailablePools(_srcAddress, _destAddress);
|
|
244
235
|
const rpcPrice = await this.getPricingFromRpc(_srcToken, _destToken, amounts, side, pools, transferFees);
|
|
245
236
|
return rpcPrice;
|
|
246
237
|
}
|
|
@@ -318,6 +309,36 @@ class AlgebraIntegral extends simple_exchange_1.SimpleExchange {
|
|
|
318
309
|
networkFee: '0',
|
|
319
310
|
};
|
|
320
311
|
}
|
|
312
|
+
async getAvailablePools(srcToken, destToken) {
|
|
313
|
+
// fetch only pools with positive totalValueLockedUSD
|
|
314
|
+
const availablePoolsQuery = `query ($token0: Bytes!, $token1: Bytes!) {
|
|
315
|
+
pools (where :{token0: $token0, token1: $token1, totalValueLockedUSD_gt: 0}, orderBy: totalValueLockedUSD, orderDirection: desc) {
|
|
316
|
+
id
|
|
317
|
+
deployer
|
|
318
|
+
token0{
|
|
319
|
+
id
|
|
320
|
+
decimals
|
|
321
|
+
}
|
|
322
|
+
token1{
|
|
323
|
+
id
|
|
324
|
+
decimals
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}`;
|
|
328
|
+
const [token0, token1] = parseInt(srcToken, 16) < parseInt(destToken, 16)
|
|
329
|
+
? [srcToken, destToken]
|
|
330
|
+
: [destToken, srcToken];
|
|
331
|
+
const { data } = await this.dexHelper.httpRequest.querySubgraph(this.config.subgraphURL, {
|
|
332
|
+
query: availablePoolsQuery,
|
|
333
|
+
variables: { token0, token1 },
|
|
334
|
+
}, { timeout: constants_1.SUBGRAPH_TIMEOUT });
|
|
335
|
+
return data.pools.map(pool => ({
|
|
336
|
+
poolAddress: pool.id,
|
|
337
|
+
token0: token0,
|
|
338
|
+
token1: token1,
|
|
339
|
+
deployer: pool.deployer,
|
|
340
|
+
}));
|
|
341
|
+
}
|
|
321
342
|
// Returns list of top pools based on liquidity. Max
|
|
322
343
|
// limit number pools should be returned.
|
|
323
344
|
async getTopPoolsForToken(tokenAddress, limit) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"algebra-integral.js","sourceRoot":"","sources":["../../../src/dex/algebra-integral/algebra-integral.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"algebra-integral.js","sourceRoot":"","sources":["../../../src/dex/algebra-integral/algebra-integral.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AlgebraIntegralConfig = void 0;
|
|
4
4
|
const constants_1 = require("../../constants");
|
|
5
5
|
exports.AlgebraIntegralConfig = {
|
|
6
|
-
|
|
6
|
+
QuickSwap: {
|
|
7
7
|
[constants_1.Network.POLYGON]: {
|
|
8
8
|
factory: '0x96117a894c2c99aafeeacb972c3310e6ac83e810',
|
|
9
9
|
subgraphURL: 'B8VaWM5T8miDW4TKdGRAkZXvLekpptQykxNV8vVP8fhg',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/algebra-integral/config.ts"],"names":[],"mappings":";;;AAEA,+
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/algebra-integral/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEvC,QAAA,qBAAqB,GAA4B;IAC5D,SAAS,EAAE;QACT,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,OAAO,EAAE,4CAA4C;YACrD,WAAW,EAAE,8CAA8C;YAC3D,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,gBAAgB,EAAE,4CAA4C;YAC9D,WAAW,EAAE,EAAE;SAChB;KACF;CACF,CAAC"}
|
|
@@ -25,9 +25,7 @@ export type Pool = {
|
|
|
25
25
|
token0: Address;
|
|
26
26
|
token1: Address;
|
|
27
27
|
deployer: string;
|
|
28
|
-
tvlUSD: number;
|
|
29
28
|
};
|
|
30
|
-
export type FactoryState = Record<string, never>;
|
|
31
29
|
export declare enum AlgebraIntegralFunctions {
|
|
32
30
|
exactInput = "exactInput",
|
|
33
31
|
exactOutput = "exactOutput",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/algebra-integral/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/algebra-integral/types.ts"],"names":[],"mappings":";;;AAiCA,IAAY,wBAIX;AAJD,WAAY,wBAAwB;IAClC,qDAAyB,CAAA;IACzB,uDAA2B,CAAA;IAC3B,oGAAwE,CAAA;AAC1E,CAAC,EAJW,wBAAwB,wCAAxB,wBAAwB,QAInC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Interface } from '@ethersproject/abi';
|
|
2
1
|
import { DeepReadonly } from 'ts-essentials';
|
|
3
2
|
import { Address, Logger } from '../../types';
|
|
4
3
|
import { ComposedEventSubscriber } from '../../composed-event-subscriber';
|
|
5
4
|
import { IDexHelper } from '../../dex-helper/idex-helper';
|
|
6
5
|
import { ChainlinkConfig, MorphoConfig, OracleFeed, OracleQuoteType, OracleReadType, PoolConfig, PoolState, PythConfig, TransmuterParams } from './types';
|
|
7
6
|
import { Contract } from 'web3-eth-contract';
|
|
7
|
+
import { Interface } from 'ethers';
|
|
8
8
|
import { SwapSide } from '../../constants';
|
|
9
9
|
export declare class AngleTransmuterEventPool extends ComposedEventSubscriber<PoolState> {
|
|
10
10
|
readonly parentName: string;
|
|
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.AngleTransmuterEventPool = void 0;
|
|
7
|
-
const abi_1 = require("@ethersproject/abi");
|
|
8
7
|
const lens_1 = require("../../lens");
|
|
9
8
|
const composed_event_subscriber_1 = require("../../composed-event-subscriber");
|
|
10
9
|
const chainlink_1 = require("../../lib/chainlink");
|
|
@@ -15,12 +14,12 @@ const transmuter_1 = require("./transmuter");
|
|
|
15
14
|
const pyth_1 = require("./pyth");
|
|
16
15
|
const utils_1 = require("./utils");
|
|
17
16
|
const redstone_1 = require("./redstone");
|
|
18
|
-
const
|
|
17
|
+
const ethers_1 = require("ethers");
|
|
19
18
|
const backedOracle_1 = require("./backedOracle");
|
|
20
19
|
const constants_1 = require("../../constants");
|
|
21
|
-
const
|
|
20
|
+
const ethers_2 = require("ethers");
|
|
22
21
|
const morphoOracle_1 = require("./morphoOracle");
|
|
23
|
-
const
|
|
22
|
+
const utils_2 = require("../../utils");
|
|
24
23
|
const morphoVault_1 = require("./morphoVault");
|
|
25
24
|
const lodash_1 = __importDefault(require("lodash"));
|
|
26
25
|
const FORCE_REGENERATE_STATE_INTERVAL_MS = 1000 * 60 * 60 * 24; // 24h
|
|
@@ -46,10 +45,9 @@ class AngleTransmuterEventPool extends composed_event_subscriber_1.ComposedEvent
|
|
|
46
45
|
return acc;
|
|
47
46
|
}, {});
|
|
48
47
|
const morphoMap = Object.entries(config.oracles.morpho).reduce((acc, [key, value]) => {
|
|
49
|
-
if (value.baseVault && value.baseVault !==
|
|
48
|
+
if (value.baseVault && value.baseVault !== ethers_2.ethers.ZeroAddress)
|
|
50
49
|
acc[value.baseVault] = new morphoVault_1.MorphoVaultSubscriber(value.baseVault, (0, lens_1.lens)().oracles.morphoVault[value.baseVault], dexHelper.getLogger(`${key}:${value.baseVault} Morpho Vault for ${parentName}-${network}`));
|
|
51
|
-
if (value.quoteVault &&
|
|
52
|
-
value.quoteVault !== ethers_1.ethers.constants.AddressZero)
|
|
50
|
+
if (value.quoteVault && value.quoteVault !== ethers_2.ethers.ZeroAddress)
|
|
53
51
|
acc[value.quoteVault] = new morphoVault_1.MorphoVaultSubscriber(value.quoteVault, (0, lens_1.lens)().oracles.morphoVault[value.quoteVault], dexHelper.getLogger(`${key}:${value.quoteVault} Morpho Vault for ${parentName}-${network}`));
|
|
54
52
|
return acc;
|
|
55
53
|
}, {});
|
|
@@ -75,8 +73,8 @@ class AngleTransmuterEventPool extends composed_event_subscriber_1.ComposedEvent
|
|
|
75
73
|
this.dexHelper = dexHelper;
|
|
76
74
|
this.angleTransmuterIface =
|
|
77
75
|
network === constants_1.Network.MAINNET
|
|
78
|
-
? new
|
|
79
|
-
: new
|
|
76
|
+
? new ethers_1.Interface(Transmuter_json_1.default)
|
|
77
|
+
: new ethers_1.Interface(TransmuterSidechain_json_1.default);
|
|
80
78
|
this.transmuter = new this.dexHelper.web3Provider.eth.Contract(Transmuter_json_1.default, config.transmuter);
|
|
81
79
|
this.config = config;
|
|
82
80
|
// some oracles don't emit events (redstone), need to regenerate state after some period of time. 1 day should provide up-to-date info
|
|
@@ -172,16 +170,16 @@ class AngleTransmuterEventPool extends composed_event_subscriber_1.ComposedEvent
|
|
|
172
170
|
.aggregate(morphoOracle_1.MorphoOracleEventPool.getGenerateInfoMultiCallInput(oracleFeed.morpho.oracle))
|
|
173
171
|
.call({}, blockNumber)).returnData;
|
|
174
172
|
const morphoOracleInfo = morphoOracle_1.MorphoOracleEventPool.generateInfo(morphoOracleResult);
|
|
175
|
-
if (morphoOracleInfo.baseFeed1 !==
|
|
173
|
+
if (morphoOracleInfo.baseFeed1 !== ethers_2.ethers.ZeroAddress)
|
|
176
174
|
({ chainlinkMap, backedMap, redstoneMap } =
|
|
177
175
|
await AngleTransmuterEventPool.generateStateChainlinkLike(morphoOracleInfo.baseFeed1, chainlinkMap, backedMap, redstoneMap, blockNumber, multiContract));
|
|
178
|
-
if (morphoOracleInfo.baseFeed2 !==
|
|
176
|
+
if (morphoOracleInfo.baseFeed2 !== ethers_2.ethers.ZeroAddress)
|
|
179
177
|
({ chainlinkMap, backedMap, redstoneMap } =
|
|
180
178
|
await AngleTransmuterEventPool.generateStateChainlinkLike(morphoOracleInfo.baseFeed2, chainlinkMap, backedMap, redstoneMap, blockNumber, multiContract));
|
|
181
|
-
if (morphoOracleInfo.quoteFeed1 !==
|
|
179
|
+
if (morphoOracleInfo.quoteFeed1 !== ethers_2.ethers.ZeroAddress)
|
|
182
180
|
({ chainlinkMap, backedMap, redstoneMap } =
|
|
183
181
|
await AngleTransmuterEventPool.generateStateChainlinkLike(morphoOracleInfo.quoteFeed1, chainlinkMap, backedMap, redstoneMap, blockNumber, multiContract));
|
|
184
|
-
if (morphoOracleInfo.quoteFeed2 !==
|
|
182
|
+
if (morphoOracleInfo.quoteFeed2 !== ethers_2.ethers.ZeroAddress)
|
|
185
183
|
({ chainlinkMap, backedMap, redstoneMap } =
|
|
186
184
|
await AngleTransmuterEventPool.generateStateChainlinkLike(morphoOracleInfo.quoteFeed2, chainlinkMap, backedMap, redstoneMap, blockNumber, multiContract));
|
|
187
185
|
morphoMap[oracleFeed.morpho.oracle] = morphoOracleInfo;
|
|
@@ -347,9 +345,9 @@ class AngleTransmuterEventPool extends composed_event_subscriber_1.ComposedEvent
|
|
|
347
345
|
}
|
|
348
346
|
_readSpotAndTarget(config, state, collateral, blockNumber) {
|
|
349
347
|
const configOracle = state.transmuter.collaterals[collateral].config;
|
|
350
|
-
const hyperparameters = (0, utils_1.filterDictionaryOnly)(
|
|
351
|
-
const userDeviation = Number.parseFloat((0,
|
|
352
|
-
const burnRatioDeviation = Number.parseFloat((0,
|
|
348
|
+
const hyperparameters = (0, utils_1.filterDictionaryOnly)(ethers_2.ethers.AbiCoder.defaultAbiCoder().decode(['uint128 userDeviation', 'uint128 burnRatioDeviation'], configOracle.hyperparameters));
|
|
349
|
+
const userDeviation = Number.parseFloat((0, ethers_1.formatEther)(hyperparameters.userDeviation.toString()));
|
|
350
|
+
const burnRatioDeviation = Number.parseFloat((0, ethers_1.formatEther)(hyperparameters.burnRatioDeviation.toString()));
|
|
353
351
|
const targetPrice = this._read(config, state, configOracle.targetType, configOracle.targetFeed, 1);
|
|
354
352
|
let oracleValue = this._read(config, state, configOracle.oracleType, configOracle.oracleFeed, targetPrice);
|
|
355
353
|
if (targetPrice * (1 - userDeviation) < oracleValue &&
|
|
@@ -397,31 +395,31 @@ class AngleTransmuterEventPool extends composed_event_subscriber_1.ComposedEvent
|
|
|
397
395
|
}
|
|
398
396
|
else if (oracleType == types_1.OracleReadType.MORPHO_ORACLE) {
|
|
399
397
|
const morphoOracleConfig = config.oracles.morpho[feed.morpho.oracle];
|
|
400
|
-
const baseVaultPrice = morphoOracleConfig.baseVault !==
|
|
398
|
+
const baseVaultPrice = morphoOracleConfig.baseVault !== ethers_2.ethers.ZeroAddress
|
|
401
399
|
? (morphoOracleConfig.baseVaultConversion *
|
|
402
400
|
state.oracles.morphoVault[morphoOracleConfig.baseVault]
|
|
403
401
|
.totalAssets) /
|
|
404
402
|
state.oracles.morphoVault[morphoOracleConfig.baseVault].totalSupply
|
|
405
403
|
: 1n;
|
|
406
|
-
const quoteVaultPrice = morphoOracleConfig.quoteVault !==
|
|
404
|
+
const quoteVaultPrice = morphoOracleConfig.quoteVault !== ethers_2.ethers.ZeroAddress
|
|
407
405
|
? (morphoOracleConfig.quoteVaultConversion *
|
|
408
406
|
state.oracles.morphoVault[morphoOracleConfig.quoteVault]
|
|
409
407
|
.totalAssets) /
|
|
410
408
|
state.oracles.morphoVault[morphoOracleConfig.quoteVault].totalSupply
|
|
411
409
|
: 1n;
|
|
412
|
-
const baseFeed1Price = morphoOracleConfig.baseFeed1 !==
|
|
410
|
+
const baseFeed1Price = morphoOracleConfig.baseFeed1 !== ethers_2.ethers.ZeroAddress
|
|
413
411
|
? this._readMorphoFeedChainlink(config, state, morphoOracleConfig.baseFeed1)
|
|
414
412
|
: 1n;
|
|
415
|
-
const baseFeed2Price = morphoOracleConfig.baseFeed2 !==
|
|
413
|
+
const baseFeed2Price = morphoOracleConfig.baseFeed2 !== ethers_2.ethers.ZeroAddress
|
|
416
414
|
? this._readMorphoFeedChainlink(config, state, morphoOracleConfig.baseFeed2)
|
|
417
415
|
: 1n;
|
|
418
|
-
const quoteFeed1Price = morphoOracleConfig.quoteFeed1 !==
|
|
416
|
+
const quoteFeed1Price = morphoOracleConfig.quoteFeed1 !== ethers_2.ethers.ZeroAddress
|
|
419
417
|
? this._readMorphoFeedChainlink(config, state, morphoOracleConfig.quoteFeed1)
|
|
420
418
|
: 1n;
|
|
421
|
-
const quoteFeed2Price = morphoOracleConfig.quoteFeed2 !==
|
|
419
|
+
const quoteFeed2Price = morphoOracleConfig.quoteFeed2 !== ethers_2.ethers.ZeroAddress
|
|
422
420
|
? this._readMorphoFeedChainlink(config, state, morphoOracleConfig.quoteFeed2)
|
|
423
421
|
: 1n;
|
|
424
|
-
price = Number.parseFloat((0,
|
|
422
|
+
price = Number.parseFloat((0, ethers_1.formatUnits)((morphoOracleConfig.scaleFactor *
|
|
425
423
|
baseVaultPrice *
|
|
426
424
|
baseFeed1Price *
|
|
427
425
|
baseFeed2Price) /
|
|
@@ -439,7 +437,7 @@ class AngleTransmuterEventPool extends composed_event_subscriber_1.ComposedEvent
|
|
|
439
437
|
decimals = config.oracles.redstone[id].decimals;
|
|
440
438
|
else
|
|
441
439
|
decimals = config.oracles.backed[id].decimals;
|
|
442
|
-
const rate = Number.parseFloat((0,
|
|
440
|
+
const rate = Number.parseFloat((0, ethers_1.formatUnits)(state.oracles.chainlink[id].answer.toString(), decimals));
|
|
443
441
|
if (isMultiplied === 1)
|
|
444
442
|
price *= rate;
|
|
445
443
|
else
|
|
@@ -448,7 +446,7 @@ class AngleTransmuterEventPool extends composed_event_subscriber_1.ComposedEvent
|
|
|
448
446
|
}
|
|
449
447
|
_readMorphoFeedChainlink(config, state, id) {
|
|
450
448
|
const { price, decimals } = this._readChainlink(config, state, id, 1, 1);
|
|
451
|
-
return (0,
|
|
449
|
+
return (0, utils_2.bigIntify)((0, ethers_1.parseUnits)(price.toString(), decimals));
|
|
452
450
|
}
|
|
453
451
|
}
|
|
454
452
|
exports.AngleTransmuterEventPool = AngleTransmuterEventPool;
|