@steerprotocol/sdk 1.26.0 → 1.28.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/dist/cjs/base/FeeManagerClient.js +81 -0
- package/dist/cjs/base/FeeManagerClient.js.map +1 -0
- package/dist/cjs/base/PoolClient.js +1 -0
- package/dist/cjs/base/PoolClient.js.map +1 -0
- package/dist/cjs/base/SmartRewardClient.js +1 -0
- package/dist/cjs/base/SmartRewardClient.js.map +1 -0
- package/dist/cjs/base/SmartRewards.js +1 -0
- package/dist/cjs/base/SmartRewards.js.map +1 -0
- package/dist/cjs/base/StakingClient.js +1 -0
- package/dist/cjs/base/StakingClient.js.map +1 -0
- package/dist/cjs/base/SubgraphClient.js +1 -0
- package/dist/cjs/base/SubgraphClient.js.map +1 -0
- package/dist/cjs/base/VaultClient.js +1 -0
- package/dist/cjs/base/VaultClient.js.map +1 -0
- package/dist/cjs/base/vault/deposit/index.js +1 -0
- package/dist/cjs/base/vault/deposit/index.js.map +1 -0
- package/dist/cjs/base/vault/deposit/types.js +1 -0
- package/dist/cjs/base/vault/deposit/types.js.map +1 -0
- package/dist/cjs/base/vault/single-asset/calculateLimitPrice.js +1 -0
- package/dist/cjs/base/vault/single-asset/calculateLimitPrice.js.map +1 -0
- package/dist/cjs/base/vault/single-asset/calculateSwapAmount.js +1 -0
- package/dist/cjs/base/vault/single-asset/calculateSwapAmount.js.map +1 -0
- package/dist/cjs/base/vault/single-asset/estimateLpTokens.js +1 -0
- package/dist/cjs/base/vault/single-asset/estimateLpTokens.js.map +1 -0
- package/dist/cjs/base/vault/single-asset/index.js +1 -0
- package/dist/cjs/base/vault/single-asset/index.js.map +1 -0
- package/dist/cjs/base/vault/single-asset/simulateSwap.js +1 -0
- package/dist/cjs/base/vault/single-asset/simulateSwap.js.map +1 -0
- package/dist/cjs/base/vault/single-asset/singleAssetDeposit.js +1 -0
- package/dist/cjs/base/vault/single-asset/singleAssetDeposit.js.map +1 -0
- package/dist/cjs/base/vault/single-asset/types.js +1 -0
- package/dist/cjs/base/vault/single-asset/types.js.map +1 -0
- package/dist/cjs/base/vault/utils.js +1 -0
- package/dist/cjs/base/vault/utils.js.map +1 -0
- package/dist/cjs/base/vault/withdraw/index.js +1 -0
- package/dist/cjs/base/vault/withdraw/index.js.map +1 -0
- package/dist/cjs/base/vault/withdraw/types.js +1 -0
- package/dist/cjs/base/vault/withdraw/types.js.map +1 -0
- package/dist/cjs/client.js +1 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/const/abis/UniswapPool.js +1 -0
- package/dist/cjs/const/abis/UniswapPool.js.map +1 -0
- package/dist/cjs/const/abis/erc1155.js +1 -0
- package/dist/cjs/const/abis/erc1155.js.map +1 -0
- package/dist/cjs/const/abis/erc20.js +1 -0
- package/dist/cjs/const/abis/erc20.js.map +1 -0
- package/dist/cjs/const/abis/erc721.js +1 -0
- package/dist/cjs/const/abis/erc721.js.map +1 -0
- package/dist/cjs/const/abis/feeManager.js +1 -0
- package/dist/cjs/const/abis/feeManager.js.map +1 -0
- package/dist/cjs/const/abis/index.js +2 -0
- package/dist/cjs/const/abis/index.js.map +1 -0
- package/dist/cjs/const/abis/quoter.js +1 -0
- package/dist/cjs/const/abis/quoter.js.map +1 -0
- package/dist/cjs/const/abis/singleTokenDeposit.js +1 -0
- package/dist/cjs/const/abis/singleTokenDeposit.js.map +1 -0
- package/dist/cjs/const/abis/vaultFees.js +44 -0
- package/dist/cjs/const/abis/vaultFees.js.map +1 -0
- package/dist/cjs/const/amm/configs/ammConfig.js +1 -0
- package/dist/cjs/const/amm/configs/ammConfig.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/aerodrome-v2.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/aerodrome-v2.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/aerodrome.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/aerodrome.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/arthswap.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/arthswap.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/baseswap.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/baseswap.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/basex.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/basex.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/beam.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/beam.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/beamswap.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/beamswap.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/blackhole.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/blackhole.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/camelot.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/camelot.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/crust.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/crust.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/cypher.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/cypher.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/dodo.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/dodo.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/dragonswap.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/dragonswap.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/eddy.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/eddy.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/equilibre.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/equilibre.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/fenix.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/fenix.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/forge.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/forge.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/fusionx.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/fusionx.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/glyph.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/glyph.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/henjin.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/henjin.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/hercules.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/hercules.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/horiza.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/horiza.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/index.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/index.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/katana.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/katana.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/katanaIntegral.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/katanaIntegral.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/kim.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/kim.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/kinetix.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/kinetix.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/kodiak.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/kodiak.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/kyo.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/kyo.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/linehub.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/linehub.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/lynex.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/lynex.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/machinex.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/machinex.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/maia.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/maia.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/metavault.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/metavault.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/nest.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/nest.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/novaswap.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/novaswap.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/ocelex.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/ocelex.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/pancakeswap.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/pancakeswap.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/poolshark.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/poolshark.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/quickswap-algebra.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/quickswap-algebra.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/quickswap-integral.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/quickswap-integral.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/quickswap-univ3.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/quickswap-univ3.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/quickswap.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/quickswap.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/retro.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/retro.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/sailor.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/sailor.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/shadow.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/shadow.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/silverswap.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/silverswap.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/spark.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/spark.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/spark32.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/spark32.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/spookyswap.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/spookyswap.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/stellaswap.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/stellaswap.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/supswap.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/supswap.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/sushi.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/sushi.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/swapmode.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/swapmode.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/swapsicle.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/swapsicle.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/thena.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/thena.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/thick.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/thick.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/thickv2.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/thickv2.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/thruster.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/thruster.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/uniswap.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/uniswap.js.map +1 -0
- package/dist/cjs/const/amm/configs/protocols/wasabee.js +1 -0
- package/dist/cjs/const/amm/configs/protocols/wasabee.js.map +1 -0
- package/dist/cjs/const/amm/index.js +1 -0
- package/dist/cjs/const/amm/index.js.map +1 -0
- package/dist/cjs/const/amm/utils/beacon.js +1 -0
- package/dist/cjs/const/amm/utils/beacon.js.map +1 -0
- package/dist/cjs/const/amm/utils/contracts.js +1 -0
- package/dist/cjs/const/amm/utils/contracts.js.map +1 -0
- package/dist/cjs/const/amm/utils/index.js +1 -0
- package/dist/cjs/const/amm/utils/index.js.map +1 -0
- package/dist/cjs/const/amm/utils/protocol.js +1 -0
- package/dist/cjs/const/amm/utils/protocol.js.map +1 -0
- package/dist/cjs/const/api.js +1 -0
- package/dist/cjs/const/api.js.map +1 -0
- package/dist/cjs/const/capabilities.js +1 -0
- package/dist/cjs/const/capabilities.js.map +1 -0
- package/dist/cjs/const/chain.js +1 -0
- package/dist/cjs/const/chain.js.map +1 -0
- package/dist/cjs/const/deployments/abis.js +1 -0
- package/dist/cjs/const/deployments/abis.js.map +1 -0
- package/dist/cjs/const/deployments/apechain.js +1 -0
- package/dist/cjs/const/deployments/apechain.js.map +1 -0
- package/dist/cjs/const/deployments/arbitrum.js +1 -0
- package/dist/cjs/const/deployments/arbitrum.js.map +1 -0
- package/dist/cjs/const/deployments/arbitrumgoerli.js +1 -0
- package/dist/cjs/const/deployments/arbitrumgoerli.js.map +1 -0
- package/dist/cjs/const/deployments/astar.js +1 -0
- package/dist/cjs/const/deployments/astar.js.map +1 -0
- package/dist/cjs/const/deployments/astarzkevm.js +1 -0
- package/dist/cjs/const/deployments/astarzkevm.js.map +1 -0
- package/dist/cjs/const/deployments/avalanche.js +1 -0
- package/dist/cjs/const/deployments/avalanche.js.map +1 -0
- package/dist/cjs/const/deployments/bartiotest.js +1 -0
- package/dist/cjs/const/deployments/bartiotest.js.map +1 -0
- package/dist/cjs/const/deployments/base.js +1 -0
- package/dist/cjs/const/deployments/base.js.map +1 -0
- package/dist/cjs/const/deployments/bera.js +1 -0
- package/dist/cjs/const/deployments/bera.js.map +1 -0
- package/dist/cjs/const/deployments/berachainbartio.js +1 -0
- package/dist/cjs/const/deployments/berachainbartio.js.map +1 -0
- package/dist/cjs/const/deployments/blast.js +1 -0
- package/dist/cjs/const/deployments/blast.js.map +1 -0
- package/dist/cjs/const/deployments/bsc.js +1 -0
- package/dist/cjs/const/deployments/bsc.js.map +1 -0
- package/dist/cjs/const/deployments/celo.js +1 -0
- package/dist/cjs/const/deployments/celo.js.map +1 -0
- package/dist/cjs/const/deployments/core.js +1 -0
- package/dist/cjs/const/deployments/core.js.map +1 -0
- package/dist/cjs/const/deployments/eth.js +1 -0
- package/dist/cjs/const/deployments/eth.js.map +1 -0
- package/dist/cjs/const/deployments/evmos.js +1 -0
- package/dist/cjs/const/deployments/evmos.js.map +1 -0
- package/dist/cjs/const/deployments/fantom.js +1 -0
- package/dist/cjs/const/deployments/fantom.js.map +1 -0
- package/dist/cjs/const/deployments/filecoin.js +1 -0
- package/dist/cjs/const/deployments/filecoin.js.map +1 -0
- package/dist/cjs/const/deployments/flare.js +1 -0
- package/dist/cjs/const/deployments/flare.js.map +1 -0
- package/dist/cjs/const/deployments/goerli.js +1 -0
- package/dist/cjs/const/deployments/goerli.js.map +1 -0
- package/dist/cjs/const/deployments/hemi.js +1 -0
- package/dist/cjs/const/deployments/hemi.js.map +1 -0
- package/dist/cjs/const/deployments/hyperevm.js +1 -0
- package/dist/cjs/const/deployments/hyperevm.js.map +1 -0
- package/dist/cjs/const/deployments/index.js +1 -0
- package/dist/cjs/const/deployments/index.js.map +1 -0
- package/dist/cjs/const/deployments/katana.js +1 -0
- package/dist/cjs/const/deployments/katana.js.map +1 -0
- package/dist/cjs/const/deployments/kava.js +1 -0
- package/dist/cjs/const/deployments/kava.js.map +1 -0
- package/dist/cjs/const/deployments/linea.js +1 -0
- package/dist/cjs/const/deployments/linea.js.map +1 -0
- package/dist/cjs/const/deployments/localhost.js +1 -0
- package/dist/cjs/const/deployments/localhost.js.map +1 -0
- package/dist/cjs/const/deployments/manta.js +1 -0
- package/dist/cjs/const/deployments/manta.js.map +1 -0
- package/dist/cjs/const/deployments/mantle.js +1 -0
- package/dist/cjs/const/deployments/mantle.js.map +1 -0
- package/dist/cjs/const/deployments/metis.js +1 -0
- package/dist/cjs/const/deployments/metis.js.map +1 -0
- package/dist/cjs/const/deployments/mode.js +1 -0
- package/dist/cjs/const/deployments/mode.js.map +1 -0
- package/dist/cjs/const/deployments/moonbeam.js +1 -0
- package/dist/cjs/const/deployments/moonbeam.js.map +1 -0
- package/dist/cjs/const/deployments/mumbai.js +1 -0
- package/dist/cjs/const/deployments/mumbai.js.map +1 -0
- package/dist/cjs/const/deployments/nibiru.js +1 -0
- package/dist/cjs/const/deployments/nibiru.js.map +1 -0
- package/dist/cjs/const/deployments/okxtestnet.js +1 -0
- package/dist/cjs/const/deployments/okxtestnet.js.map +1 -0
- package/dist/cjs/const/deployments/optimism.js +1 -0
- package/dist/cjs/const/deployments/optimism.js.map +1 -0
- package/dist/cjs/const/deployments/optimismgoerli.js +1 -0
- package/dist/cjs/const/deployments/optimismgoerli.js.map +1 -0
- package/dist/cjs/const/deployments/peaq.js +1 -0
- package/dist/cjs/const/deployments/peaq.js.map +1 -0
- package/dist/cjs/const/deployments/polygon.js +1 -0
- package/dist/cjs/const/deployments/polygon.js.map +1 -0
- package/dist/cjs/const/deployments/polyzkevm.js +1 -0
- package/dist/cjs/const/deployments/polyzkevm.js.map +1 -0
- package/dist/cjs/const/deployments/pyzkevm.js +1 -0
- package/dist/cjs/const/deployments/pyzkevm.js.map +1 -0
- package/dist/cjs/const/deployments/ronin.js +1 -0
- package/dist/cjs/const/deployments/ronin.js.map +1 -0
- package/dist/cjs/const/deployments/rootstock.js +1 -0
- package/dist/cjs/const/deployments/rootstock.js.map +1 -0
- package/dist/cjs/const/deployments/saga.js +1 -0
- package/dist/cjs/const/deployments/saga.js.map +1 -0
- package/dist/cjs/const/deployments/scroll.js +1 -0
- package/dist/cjs/const/deployments/scroll.js.map +1 -0
- package/dist/cjs/const/deployments/sei.js +1 -0
- package/dist/cjs/const/deployments/sei.js.map +1 -0
- package/dist/cjs/const/deployments/soneium.js +1 -0
- package/dist/cjs/const/deployments/soneium.js.map +1 -0
- package/dist/cjs/const/deployments/sonic.js +1 -0
- package/dist/cjs/const/deployments/sonic.js.map +1 -0
- package/dist/cjs/const/deployments/taiko.js +1 -0
- package/dist/cjs/const/deployments/taiko.js.map +1 -0
- package/dist/cjs/const/deployments/tataratestnet.js +1 -0
- package/dist/cjs/const/deployments/tataratestnet.js.map +1 -0
- package/dist/cjs/const/deployments/telos.js +1 -0
- package/dist/cjs/const/deployments/telos.js.map +1 -0
- package/dist/cjs/const/deployments/thundercore.js +1 -0
- package/dist/cjs/const/deployments/thundercore.js.map +1 -0
- package/dist/cjs/const/deployments/uni.js +1 -0
- package/dist/cjs/const/deployments/uni.js.map +1 -0
- package/dist/cjs/const/deployments/xlayer.js +1 -0
- package/dist/cjs/const/deployments/xlayer.js.map +1 -0
- package/dist/cjs/const/deployments/zeta.js +1 -0
- package/dist/cjs/const/deployments/zeta.js.map +1 -0
- package/dist/cjs/const/deployments/zircuit.js +1 -0
- package/dist/cjs/const/deployments/zircuit.js.map +1 -0
- package/dist/cjs/const/deployments/zklinknova.js +1 -0
- package/dist/cjs/const/deployments/zklinknova.js.map +1 -0
- package/dist/cjs/const/index.js +1 -0
- package/dist/cjs/const/index.js.map +1 -0
- package/dist/cjs/const/network.js +1 -0
- package/dist/cjs/const/network.js.map +1 -0
- package/dist/cjs/const/protocol.js +1 -0
- package/dist/cjs/const/protocol.js.map +1 -0
- package/dist/cjs/const/quoter.js +1 -0
- package/dist/cjs/const/quoter.js.map +1 -0
- package/dist/cjs/const/stabilityVaults/index.js +1 -0
- package/dist/cjs/const/stabilityVaults/index.js.map +1 -0
- package/dist/cjs/const/stabilityVaults/stabilityVaultsConfig.js +1 -0
- package/dist/cjs/const/stabilityVaults/stabilityVaultsConfig.js.map +1 -0
- package/dist/cjs/const/subgraph.js +1 -0
- package/dist/cjs/const/subgraph.js.map +1 -0
- package/dist/cjs/const/thegraph.js +1 -0
- package/dist/cjs/const/thegraph.js.map +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/scripts/processDeployments.js +1 -0
- package/dist/cjs/scripts/processDeployments.js.map +1 -0
- package/dist/cjs/types.js +1 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils/PoolQueryAdapter.js +1 -0
- package/dist/cjs/utils/PoolQueryAdapter.js.map +1 -0
- package/dist/cjs/utils/SubgraphVaultClient.js +1 -0
- package/dist/cjs/utils/SubgraphVaultClient.js.map +1 -0
- package/dist/cjs/utils/subgraph-types.js +1 -0
- package/dist/cjs/utils/subgraph-types.js.map +1 -0
- package/dist/esm/base/FeeManagerClient.js +81 -0
- package/dist/esm/base/FeeManagerClient.js.map +1 -0
- package/dist/esm/base/PoolClient.js +1 -0
- package/dist/esm/base/PoolClient.js.map +1 -0
- package/dist/esm/base/SmartRewardClient.js +1 -0
- package/dist/esm/base/SmartRewardClient.js.map +1 -0
- package/dist/esm/base/SmartRewards.js +1 -0
- package/dist/esm/base/SmartRewards.js.map +1 -0
- package/dist/esm/base/StakingClient.js +1 -0
- package/dist/esm/base/StakingClient.js.map +1 -0
- package/dist/esm/base/SubgraphClient.js +1 -0
- package/dist/esm/base/SubgraphClient.js.map +1 -0
- package/dist/esm/base/VaultClient.js +1 -0
- package/dist/esm/base/VaultClient.js.map +1 -0
- package/dist/esm/base/vault/deposit/index.js +1 -0
- package/dist/esm/base/vault/deposit/index.js.map +1 -0
- package/dist/esm/base/vault/deposit/types.js +1 -0
- package/dist/esm/base/vault/deposit/types.js.map +1 -0
- package/dist/esm/base/vault/single-asset/calculateLimitPrice.js +1 -0
- package/dist/esm/base/vault/single-asset/calculateLimitPrice.js.map +1 -0
- package/dist/esm/base/vault/single-asset/calculateSwapAmount.js +1 -0
- package/dist/esm/base/vault/single-asset/calculateSwapAmount.js.map +1 -0
- package/dist/esm/base/vault/single-asset/estimateLpTokens.js +1 -0
- package/dist/esm/base/vault/single-asset/estimateLpTokens.js.map +1 -0
- package/dist/esm/base/vault/single-asset/index.js +1 -0
- package/dist/esm/base/vault/single-asset/index.js.map +1 -0
- package/dist/esm/base/vault/single-asset/simulateSwap.js +1 -0
- package/dist/esm/base/vault/single-asset/simulateSwap.js.map +1 -0
- package/dist/esm/base/vault/single-asset/singleAssetDeposit.js +1 -0
- package/dist/esm/base/vault/single-asset/singleAssetDeposit.js.map +1 -0
- package/dist/esm/base/vault/single-asset/types.js +1 -0
- package/dist/esm/base/vault/single-asset/types.js.map +1 -0
- package/dist/esm/base/vault/utils.js +1 -0
- package/dist/esm/base/vault/utils.js.map +1 -0
- package/dist/esm/base/vault/withdraw/index.js +1 -0
- package/dist/esm/base/vault/withdraw/index.js.map +1 -0
- package/dist/esm/base/vault/withdraw/types.js +1 -0
- package/dist/esm/base/vault/withdraw/types.js.map +1 -0
- package/dist/esm/client.js +1 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/const/abis/UniswapPool.js +1 -0
- package/dist/esm/const/abis/UniswapPool.js.map +1 -0
- package/dist/esm/const/abis/erc1155.js +1 -0
- package/dist/esm/const/abis/erc1155.js.map +1 -0
- package/dist/esm/const/abis/erc20.js +1 -0
- package/dist/esm/const/abis/erc20.js.map +1 -0
- package/dist/esm/const/abis/erc721.js +1 -0
- package/dist/esm/const/abis/erc721.js.map +1 -0
- package/dist/esm/const/abis/feeManager.js +1 -0
- package/dist/esm/const/abis/feeManager.js.map +1 -0
- package/dist/esm/const/abis/index.js +2 -0
- package/dist/esm/const/abis/index.js.map +1 -0
- package/dist/esm/const/abis/quoter.js +1 -0
- package/dist/esm/const/abis/quoter.js.map +1 -0
- package/dist/esm/const/abis/singleTokenDeposit.js +1 -0
- package/dist/esm/const/abis/singleTokenDeposit.js.map +1 -0
- package/dist/esm/const/abis/vaultFees.js +41 -0
- package/dist/esm/const/abis/vaultFees.js.map +1 -0
- package/dist/esm/const/amm/configs/ammConfig.js +1 -0
- package/dist/esm/const/amm/configs/ammConfig.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/aerodrome-v2.js +1 -0
- package/dist/esm/const/amm/configs/protocols/aerodrome-v2.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/aerodrome.js +1 -0
- package/dist/esm/const/amm/configs/protocols/aerodrome.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/arthswap.js +1 -0
- package/dist/esm/const/amm/configs/protocols/arthswap.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/baseswap.js +1 -0
- package/dist/esm/const/amm/configs/protocols/baseswap.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/basex.js +1 -0
- package/dist/esm/const/amm/configs/protocols/basex.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/beam.js +1 -0
- package/dist/esm/const/amm/configs/protocols/beam.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/beamswap.js +1 -0
- package/dist/esm/const/amm/configs/protocols/beamswap.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/blackhole.js +1 -0
- package/dist/esm/const/amm/configs/protocols/blackhole.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/camelot.js +1 -0
- package/dist/esm/const/amm/configs/protocols/camelot.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/crust.js +1 -0
- package/dist/esm/const/amm/configs/protocols/crust.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/cypher.js +1 -0
- package/dist/esm/const/amm/configs/protocols/cypher.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/dodo.js +1 -0
- package/dist/esm/const/amm/configs/protocols/dodo.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/dragonswap.js +1 -0
- package/dist/esm/const/amm/configs/protocols/dragonswap.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/eddy.js +1 -0
- package/dist/esm/const/amm/configs/protocols/eddy.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/equilibre.js +1 -0
- package/dist/esm/const/amm/configs/protocols/equilibre.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/fenix.js +1 -0
- package/dist/esm/const/amm/configs/protocols/fenix.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/forge.js +1 -0
- package/dist/esm/const/amm/configs/protocols/forge.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/fusionx.js +1 -0
- package/dist/esm/const/amm/configs/protocols/fusionx.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/glyph.js +1 -0
- package/dist/esm/const/amm/configs/protocols/glyph.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/henjin.js +1 -0
- package/dist/esm/const/amm/configs/protocols/henjin.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/hercules.js +1 -0
- package/dist/esm/const/amm/configs/protocols/hercules.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/horiza.js +1 -0
- package/dist/esm/const/amm/configs/protocols/horiza.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/index.js +1 -0
- package/dist/esm/const/amm/configs/protocols/index.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/katana.js +1 -0
- package/dist/esm/const/amm/configs/protocols/katana.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/katanaIntegral.js +1 -0
- package/dist/esm/const/amm/configs/protocols/katanaIntegral.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/kim.js +1 -0
- package/dist/esm/const/amm/configs/protocols/kim.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/kinetix.js +1 -0
- package/dist/esm/const/amm/configs/protocols/kinetix.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/kodiak.js +1 -0
- package/dist/esm/const/amm/configs/protocols/kodiak.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/kyo.js +1 -0
- package/dist/esm/const/amm/configs/protocols/kyo.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/linehub.js +1 -0
- package/dist/esm/const/amm/configs/protocols/linehub.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/lynex.js +1 -0
- package/dist/esm/const/amm/configs/protocols/lynex.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/machinex.js +1 -0
- package/dist/esm/const/amm/configs/protocols/machinex.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/maia.js +1 -0
- package/dist/esm/const/amm/configs/protocols/maia.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/metavault.js +1 -0
- package/dist/esm/const/amm/configs/protocols/metavault.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/nest.js +1 -0
- package/dist/esm/const/amm/configs/protocols/nest.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/novaswap.js +1 -0
- package/dist/esm/const/amm/configs/protocols/novaswap.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/ocelex.js +1 -0
- package/dist/esm/const/amm/configs/protocols/ocelex.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/pancakeswap.js +1 -0
- package/dist/esm/const/amm/configs/protocols/pancakeswap.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/poolshark.js +1 -0
- package/dist/esm/const/amm/configs/protocols/poolshark.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/quickswap-algebra.js +1 -0
- package/dist/esm/const/amm/configs/protocols/quickswap-algebra.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/quickswap-integral.js +1 -0
- package/dist/esm/const/amm/configs/protocols/quickswap-integral.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/quickswap-univ3.js +1 -0
- package/dist/esm/const/amm/configs/protocols/quickswap-univ3.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/quickswap.js +1 -0
- package/dist/esm/const/amm/configs/protocols/quickswap.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/retro.js +1 -0
- package/dist/esm/const/amm/configs/protocols/retro.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/sailor.js +1 -0
- package/dist/esm/const/amm/configs/protocols/sailor.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/shadow.js +1 -0
- package/dist/esm/const/amm/configs/protocols/shadow.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/silverswap.js +1 -0
- package/dist/esm/const/amm/configs/protocols/silverswap.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/spark.js +1 -0
- package/dist/esm/const/amm/configs/protocols/spark.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/spark32.js +1 -0
- package/dist/esm/const/amm/configs/protocols/spark32.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/spookyswap.js +1 -0
- package/dist/esm/const/amm/configs/protocols/spookyswap.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/stellaswap.js +1 -0
- package/dist/esm/const/amm/configs/protocols/stellaswap.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/supswap.js +1 -0
- package/dist/esm/const/amm/configs/protocols/supswap.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/sushi.js +1 -0
- package/dist/esm/const/amm/configs/protocols/sushi.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/swapmode.js +1 -0
- package/dist/esm/const/amm/configs/protocols/swapmode.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/swapsicle.js +1 -0
- package/dist/esm/const/amm/configs/protocols/swapsicle.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/thena.js +1 -0
- package/dist/esm/const/amm/configs/protocols/thena.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/thick.js +1 -0
- package/dist/esm/const/amm/configs/protocols/thick.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/thickv2.js +1 -0
- package/dist/esm/const/amm/configs/protocols/thickv2.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/thruster.js +1 -0
- package/dist/esm/const/amm/configs/protocols/thruster.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/uniswap.js +1 -0
- package/dist/esm/const/amm/configs/protocols/uniswap.js.map +1 -0
- package/dist/esm/const/amm/configs/protocols/wasabee.js +1 -0
- package/dist/esm/const/amm/configs/protocols/wasabee.js.map +1 -0
- package/dist/esm/const/amm/index.js +1 -0
- package/dist/esm/const/amm/index.js.map +1 -0
- package/dist/esm/const/amm/utils/beacon.js +1 -0
- package/dist/esm/const/amm/utils/beacon.js.map +1 -0
- package/dist/esm/const/amm/utils/contracts.js +1 -0
- package/dist/esm/const/amm/utils/contracts.js.map +1 -0
- package/dist/esm/const/amm/utils/index.js +1 -0
- package/dist/esm/const/amm/utils/index.js.map +1 -0
- package/dist/esm/const/amm/utils/protocol.js +1 -0
- package/dist/esm/const/amm/utils/protocol.js.map +1 -0
- package/dist/esm/const/api.js +1 -0
- package/dist/esm/const/api.js.map +1 -0
- package/dist/esm/const/capabilities.js +1 -0
- package/dist/esm/const/capabilities.js.map +1 -0
- package/dist/esm/const/chain.js +1 -0
- package/dist/esm/const/chain.js.map +1 -0
- package/dist/esm/const/deployments/abis.js +1 -0
- package/dist/esm/const/deployments/abis.js.map +1 -0
- package/dist/esm/const/deployments/apechain.js +1 -0
- package/dist/esm/const/deployments/apechain.js.map +1 -0
- package/dist/esm/const/deployments/arbitrum.js +1 -0
- package/dist/esm/const/deployments/arbitrum.js.map +1 -0
- package/dist/esm/const/deployments/arbitrumgoerli.js +1 -0
- package/dist/esm/const/deployments/arbitrumgoerli.js.map +1 -0
- package/dist/esm/const/deployments/astar.js +1 -0
- package/dist/esm/const/deployments/astar.js.map +1 -0
- package/dist/esm/const/deployments/astarzkevm.js +1 -0
- package/dist/esm/const/deployments/astarzkevm.js.map +1 -0
- package/dist/esm/const/deployments/avalanche.js +1 -0
- package/dist/esm/const/deployments/avalanche.js.map +1 -0
- package/dist/esm/const/deployments/bartiotest.js +1 -0
- package/dist/esm/const/deployments/bartiotest.js.map +1 -0
- package/dist/esm/const/deployments/base.js +1 -0
- package/dist/esm/const/deployments/base.js.map +1 -0
- package/dist/esm/const/deployments/bera.js +1 -0
- package/dist/esm/const/deployments/bera.js.map +1 -0
- package/dist/esm/const/deployments/berachainbartio.js +1 -0
- package/dist/esm/const/deployments/berachainbartio.js.map +1 -0
- package/dist/esm/const/deployments/blast.js +1 -0
- package/dist/esm/const/deployments/blast.js.map +1 -0
- package/dist/esm/const/deployments/bsc.js +1 -0
- package/dist/esm/const/deployments/bsc.js.map +1 -0
- package/dist/esm/const/deployments/celo.js +1 -0
- package/dist/esm/const/deployments/celo.js.map +1 -0
- package/dist/esm/const/deployments/core.js +1 -0
- package/dist/esm/const/deployments/core.js.map +1 -0
- package/dist/esm/const/deployments/eth.js +1 -0
- package/dist/esm/const/deployments/eth.js.map +1 -0
- package/dist/esm/const/deployments/evmos.js +1 -0
- package/dist/esm/const/deployments/evmos.js.map +1 -0
- package/dist/esm/const/deployments/fantom.js +1 -0
- package/dist/esm/const/deployments/fantom.js.map +1 -0
- package/dist/esm/const/deployments/filecoin.js +1 -0
- package/dist/esm/const/deployments/filecoin.js.map +1 -0
- package/dist/esm/const/deployments/flare.js +1 -0
- package/dist/esm/const/deployments/flare.js.map +1 -0
- package/dist/esm/const/deployments/goerli.js +1 -0
- package/dist/esm/const/deployments/goerli.js.map +1 -0
- package/dist/esm/const/deployments/hemi.js +1 -0
- package/dist/esm/const/deployments/hemi.js.map +1 -0
- package/dist/esm/const/deployments/hyperevm.js +1 -0
- package/dist/esm/const/deployments/hyperevm.js.map +1 -0
- package/dist/esm/const/deployments/index.js +1 -0
- package/dist/esm/const/deployments/index.js.map +1 -0
- package/dist/esm/const/deployments/katana.js +1 -0
- package/dist/esm/const/deployments/katana.js.map +1 -0
- package/dist/esm/const/deployments/kava.js +1 -0
- package/dist/esm/const/deployments/kava.js.map +1 -0
- package/dist/esm/const/deployments/linea.js +1 -0
- package/dist/esm/const/deployments/linea.js.map +1 -0
- package/dist/esm/const/deployments/localhost.js +1 -0
- package/dist/esm/const/deployments/localhost.js.map +1 -0
- package/dist/esm/const/deployments/manta.js +1 -0
- package/dist/esm/const/deployments/manta.js.map +1 -0
- package/dist/esm/const/deployments/mantle.js +1 -0
- package/dist/esm/const/deployments/mantle.js.map +1 -0
- package/dist/esm/const/deployments/metis.js +1 -0
- package/dist/esm/const/deployments/metis.js.map +1 -0
- package/dist/esm/const/deployments/mode.js +1 -0
- package/dist/esm/const/deployments/mode.js.map +1 -0
- package/dist/esm/const/deployments/moonbeam.js +1 -0
- package/dist/esm/const/deployments/moonbeam.js.map +1 -0
- package/dist/esm/const/deployments/mumbai.js +1 -0
- package/dist/esm/const/deployments/mumbai.js.map +1 -0
- package/dist/esm/const/deployments/nibiru.js +1 -0
- package/dist/esm/const/deployments/nibiru.js.map +1 -0
- package/dist/esm/const/deployments/okxtestnet.js +1 -0
- package/dist/esm/const/deployments/okxtestnet.js.map +1 -0
- package/dist/esm/const/deployments/optimism.js +1 -0
- package/dist/esm/const/deployments/optimism.js.map +1 -0
- package/dist/esm/const/deployments/optimismgoerli.js +1 -0
- package/dist/esm/const/deployments/optimismgoerli.js.map +1 -0
- package/dist/esm/const/deployments/peaq.js +1 -0
- package/dist/esm/const/deployments/peaq.js.map +1 -0
- package/dist/esm/const/deployments/polygon.js +1 -0
- package/dist/esm/const/deployments/polygon.js.map +1 -0
- package/dist/esm/const/deployments/polyzkevm.js +1 -0
- package/dist/esm/const/deployments/polyzkevm.js.map +1 -0
- package/dist/esm/const/deployments/pyzkevm.js +1 -0
- package/dist/esm/const/deployments/pyzkevm.js.map +1 -0
- package/dist/esm/const/deployments/ronin.js +1 -0
- package/dist/esm/const/deployments/ronin.js.map +1 -0
- package/dist/esm/const/deployments/rootstock.js +1 -0
- package/dist/esm/const/deployments/rootstock.js.map +1 -0
- package/dist/esm/const/deployments/saga.js +1 -0
- package/dist/esm/const/deployments/saga.js.map +1 -0
- package/dist/esm/const/deployments/scroll.js +1 -0
- package/dist/esm/const/deployments/scroll.js.map +1 -0
- package/dist/esm/const/deployments/sei.js +1 -0
- package/dist/esm/const/deployments/sei.js.map +1 -0
- package/dist/esm/const/deployments/soneium.js +1 -0
- package/dist/esm/const/deployments/soneium.js.map +1 -0
- package/dist/esm/const/deployments/sonic.js +1 -0
- package/dist/esm/const/deployments/sonic.js.map +1 -0
- package/dist/esm/const/deployments/taiko.js +1 -0
- package/dist/esm/const/deployments/taiko.js.map +1 -0
- package/dist/esm/const/deployments/tataratestnet.js +1 -0
- package/dist/esm/const/deployments/tataratestnet.js.map +1 -0
- package/dist/esm/const/deployments/telos.js +1 -0
- package/dist/esm/const/deployments/telos.js.map +1 -0
- package/dist/esm/const/deployments/thundercore.js +1 -0
- package/dist/esm/const/deployments/thundercore.js.map +1 -0
- package/dist/esm/const/deployments/uni.js +1 -0
- package/dist/esm/const/deployments/uni.js.map +1 -0
- package/dist/esm/const/deployments/xlayer.js +1 -0
- package/dist/esm/const/deployments/xlayer.js.map +1 -0
- package/dist/esm/const/deployments/zeta.js +1 -0
- package/dist/esm/const/deployments/zeta.js.map +1 -0
- package/dist/esm/const/deployments/zircuit.js +1 -0
- package/dist/esm/const/deployments/zircuit.js.map +1 -0
- package/dist/esm/const/deployments/zklinknova.js +1 -0
- package/dist/esm/const/deployments/zklinknova.js.map +1 -0
- package/dist/esm/const/index.js +1 -0
- package/dist/esm/const/index.js.map +1 -0
- package/dist/esm/const/network.js +1 -0
- package/dist/esm/const/network.js.map +1 -0
- package/dist/esm/const/protocol.js +1 -0
- package/dist/esm/const/protocol.js.map +1 -0
- package/dist/esm/const/quoter.js +1 -0
- package/dist/esm/const/quoter.js.map +1 -0
- package/dist/esm/const/stabilityVaults/index.js +1 -0
- package/dist/esm/const/stabilityVaults/index.js.map +1 -0
- package/dist/esm/const/stabilityVaults/stabilityVaultsConfig.js +1 -0
- package/dist/esm/const/stabilityVaults/stabilityVaultsConfig.js.map +1 -0
- package/dist/esm/const/subgraph.js +1 -0
- package/dist/esm/const/subgraph.js.map +1 -0
- package/dist/esm/const/thegraph.js +1 -0
- package/dist/esm/const/thegraph.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/scripts/processDeployments.js +1 -0
- package/dist/esm/scripts/processDeployments.js.map +1 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/PoolQueryAdapter.js +1 -0
- package/dist/esm/utils/PoolQueryAdapter.js.map +1 -0
- package/dist/esm/utils/SubgraphVaultClient.js +1 -0
- package/dist/esm/utils/SubgraphVaultClient.js.map +1 -0
- package/dist/esm/utils/subgraph-types.js +1 -0
- package/dist/esm/utils/subgraph-types.js.map +1 -0
- package/dist/types/base/FeeManagerClient.d.ts +27 -1
- package/dist/types/base/FeeManagerClient.d.ts.map +1 -1
- package/dist/types/const/abis/index.d.ts +1 -0
- package/dist/types/const/abis/index.d.ts.map +1 -1
- package/dist/types/const/abis/vaultFees.d.ts +30 -0
- package/dist/types/const/abis/vaultFees.d.ts.map +1 -0
- package/package.json +3 -2
- package/src/__tests__/base/FeeManagerClient.test.ts +706 -0
- package/src/__tests__/base/PoolClient.test.ts +542 -0
- package/src/__tests__/base/SmartRewards.test.ts +465 -0
- package/src/__tests__/base/StakingClient.test.ts +772 -0
- package/src/__tests__/base/SubgraphClient.test.ts +99 -0
- package/src/__tests__/base/VaultClient.test.ts +1011 -0
- package/src/__tests__/base/vault/single-asset/calculateLimitPrice.test.ts +324 -0
- package/src/__tests__/base/vault/single-asset/calculateSwapAmount.test.ts +322 -0
- package/src/__tests__/base/vault/single-asset/estimateLpTokens.test.ts +612 -0
- package/src/__tests__/base/vault/single-asset/simulateSwap.test.ts +467 -0
- package/src/__tests__/base/vault/single-asset/singleAssetDepositClient.test.ts +400 -0
- package/src/__tests__/client.test.ts +48 -0
- package/src/__tests__/const/capabilities.test.ts +24 -0
- package/src/base/FeeManagerClient.ts +711 -0
- package/src/base/PoolClient.ts +678 -0
- package/src/base/SmartRewardClient.ts +57 -0
- package/src/base/SmartRewards.ts +783 -0
- package/src/base/StakingClient.ts +917 -0
- package/src/base/SubgraphClient.ts +93 -0
- package/src/base/VaultClient.ts +1642 -0
- package/src/base/vault/deposit/index.ts +705 -0
- package/src/base/vault/deposit/types.ts +49 -0
- package/src/base/vault/single-asset/README.md +541 -0
- package/src/base/vault/single-asset/calculateLimitPrice.ts +279 -0
- package/src/base/vault/single-asset/calculateSwapAmount.ts +74 -0
- package/src/base/vault/single-asset/estimateLpTokens.ts +393 -0
- package/src/base/vault/single-asset/index.ts +85 -0
- package/src/base/vault/single-asset/readmes/API_REFERENCE.md +478 -0
- package/src/base/vault/single-asset/readmes/calculateLimitPrice.md +455 -0
- package/src/base/vault/single-asset/readmes/calculateSwapAmount.md +345 -0
- package/src/base/vault/single-asset/readmes/estimateLpTokens.md +585 -0
- package/src/base/vault/single-asset/readmes/index.md +174 -0
- package/src/base/vault/single-asset/readmes/simulateSwap.md +612 -0
- package/src/base/vault/single-asset/simulateSwap.ts +451 -0
- package/src/base/vault/single-asset/singleAssetDeposit.ts +411 -0
- package/src/base/vault/single-asset/types.ts +186 -0
- package/src/base/vault/utils.ts +633 -0
- package/src/base/vault/withdraw/index.ts +187 -0
- package/src/base/vault/withdraw/types.ts +14 -0
- package/src/client.ts +161 -0
- package/src/const/abis/UniswapPool.ts +1 -0
- package/src/const/abis/erc1155.ts +314 -0
- package/src/const/abis/erc20.ts +224 -0
- package/src/const/abis/erc721.ts +346 -0
- package/src/const/abis/feeManager.ts +672 -0
- package/src/const/abis/index.ts +8 -0
- package/src/const/abis/quoter.ts +1585 -0
- package/src/const/abis/singleTokenDeposit.ts +921 -0
- package/src/const/abis/vaultFees.ts +40 -0
- package/src/const/amm/configs/ammConfig.ts +130 -0
- package/src/const/amm/configs/protocols/aerodrome-v2.ts +18 -0
- package/src/const/amm/configs/protocols/aerodrome.ts +18 -0
- package/src/const/amm/configs/protocols/arthswap.ts +21 -0
- package/src/const/amm/configs/protocols/baseswap.ts +17 -0
- package/src/const/amm/configs/protocols/basex.ts +20 -0
- package/src/const/amm/configs/protocols/beam.ts +16 -0
- package/src/const/amm/configs/protocols/beamswap.ts +17 -0
- package/src/const/amm/configs/protocols/blackhole.ts +22 -0
- package/src/const/amm/configs/protocols/camelot.ts +26 -0
- package/src/const/amm/configs/protocols/crust.ts +16 -0
- package/src/const/amm/configs/protocols/cypher.ts +20 -0
- package/src/const/amm/configs/protocols/dodo.ts +17 -0
- package/src/const/amm/configs/protocols/dragonswap.ts +16 -0
- package/src/const/amm/configs/protocols/eddy.ts +17 -0
- package/src/const/amm/configs/protocols/equilibre.ts +17 -0
- package/src/const/amm/configs/protocols/fenix.ts +17 -0
- package/src/const/amm/configs/protocols/forge.ts +22 -0
- package/src/const/amm/configs/protocols/fusionx.ts +21 -0
- package/src/const/amm/configs/protocols/glyph.ts +22 -0
- package/src/const/amm/configs/protocols/henjin.ts +17 -0
- package/src/const/amm/configs/protocols/hercules.ts +16 -0
- package/src/const/amm/configs/protocols/horiza.ts +23 -0
- package/src/const/amm/configs/protocols/index.ts +79 -0
- package/src/const/amm/configs/protocols/katana.ts +15 -0
- package/src/const/amm/configs/protocols/katanaIntegral.ts +15 -0
- package/src/const/amm/configs/protocols/kim.ts +24 -0
- package/src/const/amm/configs/protocols/kinetix.ts +23 -0
- package/src/const/amm/configs/protocols/kodiak.ts +21 -0
- package/src/const/amm/configs/protocols/kyo.ts +20 -0
- package/src/const/amm/configs/protocols/linehub.ts +17 -0
- package/src/const/amm/configs/protocols/lynex.ts +23 -0
- package/src/const/amm/configs/protocols/machinex.ts +22 -0
- package/src/const/amm/configs/protocols/maia.ts +22 -0
- package/src/const/amm/configs/protocols/metavault.ts +23 -0
- package/src/const/amm/configs/protocols/nest.ts +19 -0
- package/src/const/amm/configs/protocols/novaswap.ts +16 -0
- package/src/const/amm/configs/protocols/ocelex.ts +17 -0
- package/src/const/amm/configs/protocols/pancakeswap.ts +26 -0
- package/src/const/amm/configs/protocols/poolshark.ts +17 -0
- package/src/const/amm/configs/protocols/quickswap-algebra.ts +20 -0
- package/src/const/amm/configs/protocols/quickswap-integral.ts +24 -0
- package/src/const/amm/configs/protocols/quickswap-univ3.ts +29 -0
- package/src/const/amm/configs/protocols/quickswap.ts +29 -0
- package/src/const/amm/configs/protocols/retro.ts +23 -0
- package/src/const/amm/configs/protocols/sailor.ts +16 -0
- package/src/const/amm/configs/protocols/shadow.ts +18 -0
- package/src/const/amm/configs/protocols/silverswap.ts +22 -0
- package/src/const/amm/configs/protocols/spark.ts +17 -0
- package/src/const/amm/configs/protocols/spark32.ts +17 -0
- package/src/const/amm/configs/protocols/spookyswap.ts +16 -0
- package/src/const/amm/configs/protocols/stellaswap.ts +23 -0
- package/src/const/amm/configs/protocols/supswap.ts +17 -0
- package/src/const/amm/configs/protocols/sushi.ts +86 -0
- package/src/const/amm/configs/protocols/swapmode.ts +17 -0
- package/src/const/amm/configs/protocols/swapsicle.ts +17 -0
- package/src/const/amm/configs/protocols/thena.ts +22 -0
- package/src/const/amm/configs/protocols/thick.ts +19 -0
- package/src/const/amm/configs/protocols/thickv2.ts +17 -0
- package/src/const/amm/configs/protocols/thruster.ts +19 -0
- package/src/const/amm/configs/protocols/uniswap.ts +98 -0
- package/src/const/amm/configs/protocols/wasabee.ts +16 -0
- package/src/const/amm/index.ts +3 -0
- package/src/const/amm/utils/beacon.ts +216 -0
- package/src/const/amm/utils/contracts.ts +162 -0
- package/src/const/amm/utils/index.ts +127 -0
- package/src/const/amm/utils/protocol.ts +171 -0
- package/src/const/api.ts +27 -0
- package/src/const/capabilities.ts +115 -0
- package/src/const/chain.ts +243 -0
- package/src/const/deployments/abis.ts +6752 -0
- package/src/const/deployments/apechain.ts +17 -0
- package/src/const/deployments/arbitrum.ts +26 -0
- package/src/const/deployments/arbitrumgoerli.ts +16 -0
- package/src/const/deployments/astar.ts +16 -0
- package/src/const/deployments/astarzkevm.ts +16 -0
- package/src/const/deployments/avalanche.ts +45 -0
- package/src/const/deployments/bartiotest.ts +16 -0
- package/src/const/deployments/base.ts +24 -0
- package/src/const/deployments/bera.ts +16 -0
- package/src/const/deployments/berachainbartio.ts +40 -0
- package/src/const/deployments/blast.ts +16 -0
- package/src/const/deployments/bsc.ts +16 -0
- package/src/const/deployments/celo.ts +16 -0
- package/src/const/deployments/core.ts +16 -0
- package/src/const/deployments/eth.ts +22 -0
- package/src/const/deployments/evmos.ts +16 -0
- package/src/const/deployments/fantom.ts +16 -0
- package/src/const/deployments/filecoin.ts +16 -0
- package/src/const/deployments/flare.ts +16 -0
- package/src/const/deployments/goerli.ts +16 -0
- package/src/const/deployments/hemi.ts +16 -0
- package/src/const/deployments/hyperevm.ts +49 -0
- package/src/const/deployments/index.ts +49 -0
- package/src/const/deployments/katana.ts +48 -0
- package/src/const/deployments/kava.ts +16 -0
- package/src/const/deployments/linea.ts +16 -0
- package/src/const/deployments/localhost.ts +8 -0
- package/src/const/deployments/manta.ts +16 -0
- package/src/const/deployments/mantle.ts +16 -0
- package/src/const/deployments/metis.ts +16 -0
- package/src/const/deployments/mode.ts +16 -0
- package/src/const/deployments/moonbeam.ts +16 -0
- package/src/const/deployments/mumbai.ts +16 -0
- package/src/const/deployments/nibiru.ts +49 -0
- package/src/const/deployments/okxtestnet.ts +16 -0
- package/src/const/deployments/optimism.ts +16 -0
- package/src/const/deployments/optimismgoerli.ts +16 -0
- package/src/const/deployments/peaq.ts +25 -0
- package/src/const/deployments/polygon.ts +25 -0
- package/src/const/deployments/polyzkevm.ts +16 -0
- package/src/const/deployments/pyzkevm.ts +9 -0
- package/src/const/deployments/ronin.ts +17 -0
- package/src/const/deployments/rootstock.ts +16 -0
- package/src/const/deployments/saga.ts +49 -0
- package/src/const/deployments/scroll.ts +16 -0
- package/src/const/deployments/sei.ts +16 -0
- package/src/const/deployments/soneium.ts +16 -0
- package/src/const/deployments/sonic.ts +16 -0
- package/src/const/deployments/taiko.ts +16 -0
- package/src/const/deployments/tataratestnet.ts +16 -0
- package/src/const/deployments/telos.ts +16 -0
- package/src/const/deployments/thundercore.ts +16 -0
- package/src/const/deployments/uni.ts +16 -0
- package/src/const/deployments/xlayer.ts +16 -0
- package/src/const/deployments/zeta.ts +16 -0
- package/src/const/deployments/zircuit.ts +16 -0
- package/src/const/deployments/zklinknova.ts +21 -0
- package/src/const/index.ts +12 -0
- package/src/const/network.ts +635 -0
- package/src/const/protocol.ts +229 -0
- package/src/const/quoter.ts +571 -0
- package/src/const/stabilityVaults/index.ts +2 -0
- package/src/const/stabilityVaults/stabilityVaultsConfig.ts +41 -0
- package/src/const/subgraph.ts +157 -0
- package/src/const/thegraph.ts +3 -0
- package/src/index.ts +80 -0
- package/src/scripts/processDeployments.ts +174 -0
- package/src/types.ts +202 -0
- package/src/utils/PoolQueryAdapter.ts +943 -0
- package/src/utils/SubgraphVaultClient.ts +408 -0
- package/src/utils/subgraph-types.ts +108 -0
|
@@ -0,0 +1,783 @@
|
|
|
1
|
+
import { Campaign, createClient } from '@steerprotocol/api-sdk';
|
|
2
|
+
import type { Address, Hash, PublicClient, WalletClient } from 'viem';
|
|
3
|
+
import { formatUnits } from 'viem';
|
|
4
|
+
import { SteerResponse } from '../types.js';
|
|
5
|
+
import { getSubgraphUrlByChainId } from '../const/subgraph.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Represents a node in the claim proof data structure
|
|
9
|
+
* @property chainId - The ID of the chain where the claim exists
|
|
10
|
+
* @property lastBlockUpdatedTo - The last block number this claim was updated to
|
|
11
|
+
* @property user - The address of the user who can claim
|
|
12
|
+
* @property campaignId - The ID of the campaign this claim belongs to
|
|
13
|
+
* @property amount - The claimable amount as a string (may include decimals)
|
|
14
|
+
* @property proof - The merkle proof array required for claiming
|
|
15
|
+
*/
|
|
16
|
+
export interface ClaimProofNode {
|
|
17
|
+
chainId: number;
|
|
18
|
+
lastBlockUpdatedTo: number;
|
|
19
|
+
user: string;
|
|
20
|
+
campaignId: number;
|
|
21
|
+
amount: string;
|
|
22
|
+
proof: readonly string[];
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface ClaimProofEdge {
|
|
26
|
+
node: ClaimProofNode;
|
|
27
|
+
cursor: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Represents a historical claim reward record
|
|
32
|
+
* @property id - Unique identifier for the claim
|
|
33
|
+
* @property user - Address of the user who claimed
|
|
34
|
+
* @property amount - Amount that was claimed (may include decimals)
|
|
35
|
+
* @property campaign - Campaign identifier
|
|
36
|
+
* @property chainId - Chain ID where the claim occurred
|
|
37
|
+
* @property timestamp - Unix timestamp of when the claim occurred
|
|
38
|
+
*/
|
|
39
|
+
export interface ClaimRewardNode {
|
|
40
|
+
id: string;
|
|
41
|
+
user: string;
|
|
42
|
+
amount: string;
|
|
43
|
+
campaign: string;
|
|
44
|
+
chainId: number;
|
|
45
|
+
timestamp: number;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export interface ClaimRewardEdge {
|
|
49
|
+
cursor: string;
|
|
50
|
+
node: ClaimRewardNode;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Pagination information for paginated queries
|
|
55
|
+
* @property hasNextPage - Whether there are more results available
|
|
56
|
+
* @property endCursor - Cursor to use for fetching next page, if available
|
|
57
|
+
*/
|
|
58
|
+
export interface PageInfo {
|
|
59
|
+
hasNextPage: boolean;
|
|
60
|
+
endCursor: string | null | undefined;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Connection type for claim rewards, following the Relay specification
|
|
65
|
+
* @property edges - Array of claim reward records with cursors
|
|
66
|
+
* @property pageInfo - Pagination information
|
|
67
|
+
* @property totalCount - Total number of records available
|
|
68
|
+
*/
|
|
69
|
+
export interface ClaimRewardsConnection {
|
|
70
|
+
edges: readonly ClaimRewardEdge[];
|
|
71
|
+
pageInfo: PageInfo;
|
|
72
|
+
totalCount: number;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export interface ClaimProofsPageInfo {
|
|
76
|
+
hasNextPage: boolean;
|
|
77
|
+
endCursor?: string;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export interface ClaimProofsResponse {
|
|
81
|
+
totalCount: number;
|
|
82
|
+
edges: readonly ClaimProofEdge[];
|
|
83
|
+
pageInfo: ClaimProofsPageInfo;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export interface SmartRewarderContract {
|
|
87
|
+
chainId: number;
|
|
88
|
+
address: string;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Parameters required for claiming rewards
|
|
93
|
+
* @property users - Array of user addresses who are claiming
|
|
94
|
+
* @property campaignIds - Array of campaign IDs corresponding to each claim
|
|
95
|
+
* @property amounts - Array of amounts to claim
|
|
96
|
+
* @property proofs - Array of merkle proofs for verification
|
|
97
|
+
* @property rewarderAddress - Address of the smart rewarder contract
|
|
98
|
+
*/
|
|
99
|
+
export interface ClaimRewardParams {
|
|
100
|
+
users: readonly Address[];
|
|
101
|
+
campaignIds: readonly bigint[];
|
|
102
|
+
amounts: readonly bigint[];
|
|
103
|
+
proofs: readonly (readonly `0x${string}`[])[];
|
|
104
|
+
rewarderAddress: Address;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Represents a reward balance with both native and formatted values
|
|
109
|
+
* @property formatted - Human-readable string format with proper decimals
|
|
110
|
+
* @property native - Raw bigint value
|
|
111
|
+
*/
|
|
112
|
+
export interface RewardBalance {
|
|
113
|
+
formatted: string;
|
|
114
|
+
native: bigint;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Comprehensive summary of a user's reward status
|
|
119
|
+
* @property totalEarned - Total rewards earned (claimed + claimable)
|
|
120
|
+
* @property totalClaimed - Total rewards already claimed
|
|
121
|
+
* @property claimable - Rewards available to claim
|
|
122
|
+
*/
|
|
123
|
+
export interface RewardSummary {
|
|
124
|
+
totalEarned: RewardBalance;
|
|
125
|
+
totalClaimed: RewardBalance;
|
|
126
|
+
claimable: RewardBalance;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export abstract class SmartRewards {
|
|
130
|
+
protected readonly client: ReturnType<typeof createClient>;
|
|
131
|
+
protected readonly publicClient: PublicClient;
|
|
132
|
+
protected readonly walletClient: WalletClient;
|
|
133
|
+
|
|
134
|
+
constructor(
|
|
135
|
+
client: ReturnType<typeof createClient>,
|
|
136
|
+
publicClient: PublicClient,
|
|
137
|
+
walletClient: WalletClient
|
|
138
|
+
) {
|
|
139
|
+
this.client = client;
|
|
140
|
+
this.publicClient = publicClient;
|
|
141
|
+
this.walletClient = walletClient;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
public async getCampaigns(chainId: number): Promise<SteerResponse<Campaign[]>> {
|
|
145
|
+
const campaigns = await this.client.campaigns({
|
|
146
|
+
filter: {
|
|
147
|
+
chainId,
|
|
148
|
+
},
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
return {
|
|
152
|
+
data: (campaigns.data?.campaigns.edges.map((edge) => ({
|
|
153
|
+
...edge.node,
|
|
154
|
+
vaults: edge.node.vaults?.map(vault => ({
|
|
155
|
+
...vault,
|
|
156
|
+
beaconName: vault.beaconName || '',
|
|
157
|
+
name: vault.name || '',
|
|
158
|
+
protocol: vault.protocol || '',
|
|
159
|
+
protocolBaseType: vault.protocolBaseType || '',
|
|
160
|
+
targetProtocol: vault.targetProtocol || ''
|
|
161
|
+
})) || []
|
|
162
|
+
})) || []) as Campaign[],
|
|
163
|
+
status: campaigns.status,
|
|
164
|
+
success: true,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Retrieves campaigns associated with a specific pool address
|
|
170
|
+
* @param poolAddress - The address of the pool to get campaigns for
|
|
171
|
+
* @param chainId - Chain ID where the pool exists
|
|
172
|
+
* @returns Promise resolving to an array of campaigns associated with the pool
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* ```typescript
|
|
176
|
+
* // Get campaigns for a pool on a specific chain
|
|
177
|
+
* const campaigns = await smartRewards.campaignsByPool('0x...', 1);
|
|
178
|
+
* ```
|
|
179
|
+
*/
|
|
180
|
+
public async campaignsByPool(
|
|
181
|
+
poolAddress: string,
|
|
182
|
+
chainId: number
|
|
183
|
+
): Promise<SteerResponse<Campaign[]>> {
|
|
184
|
+
try {
|
|
185
|
+
const campaigns = await this.client.campaignsByPool({
|
|
186
|
+
pool: poolAddress,
|
|
187
|
+
chainId
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
return {
|
|
191
|
+
data: (campaigns.data?.campaignsByPool?.map(campaign => campaign ? {
|
|
192
|
+
...campaign,
|
|
193
|
+
vaults: campaign.vaults?.map(vault => vault ? {
|
|
194
|
+
...vault,
|
|
195
|
+
beaconName: vault.beaconName || '',
|
|
196
|
+
name: vault.name || '',
|
|
197
|
+
protocol: vault.protocol || '',
|
|
198
|
+
protocolBaseType: vault.protocolBaseType || '',
|
|
199
|
+
targetProtocol: vault.targetProtocol || ''
|
|
200
|
+
} : null).filter((v): v is NonNullable<typeof v> => v !== null) || []
|
|
201
|
+
} : null).filter((c): c is NonNullable<typeof c> => c !== null) || []) as Campaign[],
|
|
202
|
+
status: campaigns.status,
|
|
203
|
+
success: true
|
|
204
|
+
};
|
|
205
|
+
} catch (error) {
|
|
206
|
+
return {
|
|
207
|
+
data: null,
|
|
208
|
+
status: 500,
|
|
209
|
+
success: false,
|
|
210
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred'
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Retrieves claim proofs for a user that can be used to claim rewards
|
|
217
|
+
* @param user - Address of the user to get proofs for
|
|
218
|
+
* @param chainId - Chain ID where the claims exist
|
|
219
|
+
* @param campaignId - Optional campaign ID to filter claims
|
|
220
|
+
* @returns Promise resolving to claim proof data with pagination support
|
|
221
|
+
*/
|
|
222
|
+
public async getClaimProofs(
|
|
223
|
+
user: Address,
|
|
224
|
+
chainId: number,
|
|
225
|
+
campaignId?: number
|
|
226
|
+
): Promise<SteerResponse<ClaimProofsResponse>> {
|
|
227
|
+
try {
|
|
228
|
+
const normalizedUser = user.toLowerCase() as Address;
|
|
229
|
+
const response = await this.client.claimProofs({
|
|
230
|
+
user: normalizedUser,
|
|
231
|
+
filter: {
|
|
232
|
+
chainId,
|
|
233
|
+
campaignId
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
|
|
237
|
+
if (!response.data?.claimProofs) {
|
|
238
|
+
return {
|
|
239
|
+
data: null,
|
|
240
|
+
status: response.status,
|
|
241
|
+
success: true
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
const transformedResponse: ClaimProofsResponse = {
|
|
246
|
+
totalCount: response.data.claimProofs.totalCount,
|
|
247
|
+
pageInfo: {
|
|
248
|
+
hasNextPage: response.data.claimProofs.pageInfo.hasNextPage,
|
|
249
|
+
endCursor: response.data.claimProofs.pageInfo.endCursor || undefined
|
|
250
|
+
},
|
|
251
|
+
edges: response.data.claimProofs.edges.map(edge => ({
|
|
252
|
+
cursor: edge.cursor,
|
|
253
|
+
node: {
|
|
254
|
+
...edge.node,
|
|
255
|
+
proof: edge.node.proof?.filter((p): p is string => p !== null) || []
|
|
256
|
+
}
|
|
257
|
+
}))
|
|
258
|
+
};
|
|
259
|
+
|
|
260
|
+
return {
|
|
261
|
+
data: transformedResponse,
|
|
262
|
+
status: response.status,
|
|
263
|
+
success: true
|
|
264
|
+
};
|
|
265
|
+
} catch (error) {
|
|
266
|
+
return {
|
|
267
|
+
data: null,
|
|
268
|
+
status: 500,
|
|
269
|
+
success: false,
|
|
270
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred'
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Retrieves historical claim data for a specific pool
|
|
277
|
+
* @param chainId - Chain ID where the pool exists
|
|
278
|
+
* @param pool - Address or identifier of the pool
|
|
279
|
+
* @param user - Optional user address to filter claims
|
|
280
|
+
* @returns Promise resolving to paginated claim history data
|
|
281
|
+
*
|
|
282
|
+
* @example
|
|
283
|
+
* ```typescript
|
|
284
|
+
* // Get all claims for a pool
|
|
285
|
+
* const allClaims = await smartRewards.getClaimRewardsByPool(1, poolAddress);
|
|
286
|
+
*
|
|
287
|
+
* // Get claims for a specific user in a pool
|
|
288
|
+
* const userClaims = await smartRewards.getClaimRewardsByPool(1, poolAddress, userAddress);
|
|
289
|
+
* ```
|
|
290
|
+
*/
|
|
291
|
+
public async getClaimedRewardsByPool(
|
|
292
|
+
chainId: number,
|
|
293
|
+
pool: string,
|
|
294
|
+
user?: Address
|
|
295
|
+
): Promise<SteerResponse<ClaimRewardsConnection>> {
|
|
296
|
+
try {
|
|
297
|
+
const normalizedPool = pool.toLowerCase();
|
|
298
|
+
const normalizedUser = user ? user.toLowerCase() as Address : undefined;
|
|
299
|
+
|
|
300
|
+
const response = await this.client.claimRewards({
|
|
301
|
+
poolId: normalizedPool,
|
|
302
|
+
chainId,
|
|
303
|
+
filter: normalizedUser ? { user: normalizedUser } : undefined
|
|
304
|
+
});
|
|
305
|
+
|
|
306
|
+
if (!response.data?.claimRewards) {
|
|
307
|
+
return {
|
|
308
|
+
data: null,
|
|
309
|
+
status: response.status,
|
|
310
|
+
success: true
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
const transformedResponse: ClaimRewardsConnection = {
|
|
315
|
+
totalCount: response.data.claimRewards.totalCount,
|
|
316
|
+
pageInfo: {
|
|
317
|
+
hasNextPage: response.data.claimRewards.pageInfo.hasNextPage,
|
|
318
|
+
endCursor: response.data.claimRewards.pageInfo.endCursor
|
|
319
|
+
},
|
|
320
|
+
edges: response.data.claimRewards.edges.map(edge => ({
|
|
321
|
+
cursor: edge.cursor,
|
|
322
|
+
node: {
|
|
323
|
+
...edge.node,
|
|
324
|
+
timestamp: Number(edge.node.timestamp)
|
|
325
|
+
}
|
|
326
|
+
}))
|
|
327
|
+
};
|
|
328
|
+
|
|
329
|
+
return {
|
|
330
|
+
data: transformedResponse,
|
|
331
|
+
status: response.status,
|
|
332
|
+
success: true
|
|
333
|
+
};
|
|
334
|
+
} catch (error) {
|
|
335
|
+
return {
|
|
336
|
+
data: null,
|
|
337
|
+
status: 500,
|
|
338
|
+
success: false,
|
|
339
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred'
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* Gets a comprehensive summary of a user's reward status
|
|
348
|
+
* @param user - Address of the user
|
|
349
|
+
* @param chainId - Chain ID to check rewards on
|
|
350
|
+
* @param campaignId - Optional campaign ID to filter rewards
|
|
351
|
+
* @param decimals - Number of decimals for formatting (default: 18)
|
|
352
|
+
* @returns Promise resolving to reward summary with both native and formatted values
|
|
353
|
+
*
|
|
354
|
+
* @example
|
|
355
|
+
* ```typescript
|
|
356
|
+
* const summary = await smartRewards.getRewardSummary(userAddress, chainId);
|
|
357
|
+
* console.log('Total earned:', summary.data.totalEarned.formatted);
|
|
358
|
+
* console.log('Available to claim:', summary.data.claimable.formatted);
|
|
359
|
+
* ```
|
|
360
|
+
*/
|
|
361
|
+
public async getRewardSummary(
|
|
362
|
+
user: Address,
|
|
363
|
+
poolAddress: string,
|
|
364
|
+
chainId: number,
|
|
365
|
+
campaignId: number,
|
|
366
|
+
decimals: number = 18
|
|
367
|
+
): Promise<SteerResponse<RewardSummary>> {
|
|
368
|
+
try {
|
|
369
|
+
// Lowercase addresses
|
|
370
|
+
const normalizedUser = user.toLowerCase() as Address;
|
|
371
|
+
const normalizedPoolAddress = poolAddress.toLowerCase();
|
|
372
|
+
|
|
373
|
+
// Get claimable rewards
|
|
374
|
+
const claimProofs = await this.getClaimProofs(normalizedUser, chainId, campaignId);
|
|
375
|
+
|
|
376
|
+
// Filter claim proofs by campaignId for additional safety
|
|
377
|
+
const filteredClaimProofs = claimProofs.data?.edges.filter(
|
|
378
|
+
edge => edge.node.campaignId === campaignId
|
|
379
|
+
) || [];
|
|
380
|
+
|
|
381
|
+
const totalAmount = filteredClaimProofs.reduce(
|
|
382
|
+
(sum, edge) => sum + BigInt(edge.node.amount.split('.')[0]),
|
|
383
|
+
0n
|
|
384
|
+
) || 0n;
|
|
385
|
+
|
|
386
|
+
// Get claimed rewards
|
|
387
|
+
const claimedRewards = await this.getClaimedRewardsByPool(chainId, normalizedPoolAddress, normalizedUser);
|
|
388
|
+
|
|
389
|
+
// Filter claimed rewards by campaign ID
|
|
390
|
+
const filteredClaimedRewards = claimedRewards.data?.edges.filter(
|
|
391
|
+
edge => Number(edge.node.campaign) === campaignId
|
|
392
|
+
) || [];
|
|
393
|
+
|
|
394
|
+
const claimedAmount = filteredClaimedRewards.reduce(
|
|
395
|
+
(sum, edge) => sum + BigInt(edge.node.amount.split('.')[0]),
|
|
396
|
+
0n
|
|
397
|
+
) || 0n;
|
|
398
|
+
|
|
399
|
+
// Calculate totals
|
|
400
|
+
const claimableAmount = totalAmount - claimedAmount;
|
|
401
|
+
|
|
402
|
+
const summary: RewardSummary = {
|
|
403
|
+
totalEarned: {
|
|
404
|
+
native: totalAmount,
|
|
405
|
+
formatted: formatUnits(totalAmount, decimals)
|
|
406
|
+
},
|
|
407
|
+
totalClaimed: {
|
|
408
|
+
native: claimedAmount,
|
|
409
|
+
formatted: formatUnits(claimedAmount, decimals)
|
|
410
|
+
},
|
|
411
|
+
claimable: {
|
|
412
|
+
native: claimableAmount,
|
|
413
|
+
formatted: formatUnits(claimableAmount, decimals)
|
|
414
|
+
}
|
|
415
|
+
};
|
|
416
|
+
|
|
417
|
+
return {
|
|
418
|
+
data: summary,
|
|
419
|
+
status: 200,
|
|
420
|
+
success: true
|
|
421
|
+
};
|
|
422
|
+
} catch (error) {
|
|
423
|
+
return {
|
|
424
|
+
data: null,
|
|
425
|
+
status: 500,
|
|
426
|
+
success: false,
|
|
427
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred'
|
|
428
|
+
};
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
public async getSmartRewarderContracts(): Promise<SteerResponse<readonly SmartRewarderContract[]>> {
|
|
433
|
+
try {
|
|
434
|
+
const response = await this.client.smartRewarderContracts();
|
|
435
|
+
|
|
436
|
+
return {
|
|
437
|
+
data: response.data?.smartRewarderContracts || [],
|
|
438
|
+
status: response.status,
|
|
439
|
+
success: true
|
|
440
|
+
};
|
|
441
|
+
} catch (error) {
|
|
442
|
+
return {
|
|
443
|
+
data: null,
|
|
444
|
+
status: 500,
|
|
445
|
+
success: false,
|
|
446
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred'
|
|
447
|
+
};
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
/**
|
|
452
|
+
* Claims rewards from the smart rewarder contract
|
|
453
|
+
* @param params - Parameters required for claiming rewards
|
|
454
|
+
* @returns Promise resolving to transaction hash if successful
|
|
455
|
+
*
|
|
456
|
+
* @remarks
|
|
457
|
+
* This method handles the low-level interaction with the smart contract.
|
|
458
|
+
* For a higher-level interface, consider using {@link claimCampaignRewards} instead.
|
|
459
|
+
*
|
|
460
|
+
* @example
|
|
461
|
+
* ```typescript
|
|
462
|
+
* // Get claim proofs
|
|
463
|
+
* const claimProofs = await smartRewards.getClaimProofs(userAddress, chainId, campaignId);
|
|
464
|
+
*
|
|
465
|
+
* // Get smart rewarder contract
|
|
466
|
+
* const rewarders = await smartRewards.getSmartRewarderContracts();
|
|
467
|
+
* const rewarder = rewarders.data?.find(r => r.chainId === chainId);
|
|
468
|
+
*
|
|
469
|
+
* if (claimProofs.data && rewarder) {
|
|
470
|
+
* // Prepare claim data
|
|
471
|
+
* const claimData = smartRewards.prepareClaimData(claimProofs.data);
|
|
472
|
+
* claimData.rewarderAddress = rewarder.address as Address;
|
|
473
|
+
*
|
|
474
|
+
* // Claim rewards
|
|
475
|
+
* const tx = await smartRewards.claimReward(claimData);
|
|
476
|
+
* }
|
|
477
|
+
* ```
|
|
478
|
+
*
|
|
479
|
+
* @throws Will throw an error if no wallet account is found
|
|
480
|
+
* @throws Will throw an error if contract simulation fails
|
|
481
|
+
*/
|
|
482
|
+
public async claimReward(params: ClaimRewardParams): Promise<SteerResponse<Hash>> {
|
|
483
|
+
try {
|
|
484
|
+
const account = await this.walletClient.getAddresses();
|
|
485
|
+
if (!account[0]) throw new Error('No account found');
|
|
486
|
+
|
|
487
|
+
// Normalize addresses
|
|
488
|
+
const normalizedParams = {
|
|
489
|
+
...params,
|
|
490
|
+
users: params.users.map(user => user.toLowerCase() as Address),
|
|
491
|
+
rewarderAddress: params.rewarderAddress.toLowerCase() as Address
|
|
492
|
+
};
|
|
493
|
+
|
|
494
|
+
const { request } = await this.publicClient.simulateContract({
|
|
495
|
+
address: normalizedParams.rewarderAddress,
|
|
496
|
+
abi: [{
|
|
497
|
+
type: 'function',
|
|
498
|
+
inputs: [
|
|
499
|
+
{ name: 'users', internalType: 'address[]', type: 'address[]' },
|
|
500
|
+
{ name: 'campaignIds', internalType: 'uint256[]', type: 'uint256[]' },
|
|
501
|
+
{ name: 'amounts', internalType: 'uint256[]', type: 'uint256[]' },
|
|
502
|
+
{ name: 'proofs', internalType: 'bytes32[][]', type: 'bytes32[][]' }
|
|
503
|
+
],
|
|
504
|
+
name: 'claim',
|
|
505
|
+
outputs: [],
|
|
506
|
+
stateMutability: 'nonpayable'
|
|
507
|
+
}],
|
|
508
|
+
functionName: 'claim',
|
|
509
|
+
args: [
|
|
510
|
+
normalizedParams.users,
|
|
511
|
+
normalizedParams.campaignIds,
|
|
512
|
+
normalizedParams.amounts,
|
|
513
|
+
normalizedParams.proofs
|
|
514
|
+
],
|
|
515
|
+
account: account[0]
|
|
516
|
+
});
|
|
517
|
+
|
|
518
|
+
const hash = await this.walletClient.writeContract(request);
|
|
519
|
+
|
|
520
|
+
return {
|
|
521
|
+
data: hash,
|
|
522
|
+
status: 200,
|
|
523
|
+
success: true
|
|
524
|
+
};
|
|
525
|
+
} catch (error) {
|
|
526
|
+
return {
|
|
527
|
+
data: null,
|
|
528
|
+
status: 500,
|
|
529
|
+
success: false,
|
|
530
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred'
|
|
531
|
+
};
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
/**
|
|
536
|
+
* Helper function to prepare claim data from claim proofs
|
|
537
|
+
* @param proofs - The claim proofs response from getClaimProofs
|
|
538
|
+
* @returns ClaimRewardParams object ready for use with claimReward
|
|
539
|
+
*
|
|
540
|
+
* @remarks
|
|
541
|
+
* This helper function transforms the claim proofs into the format required by the smart contract.
|
|
542
|
+
* Note that the returned object's rewarderAddress is empty and must be set before using with claimReward.
|
|
543
|
+
*
|
|
544
|
+
* @example
|
|
545
|
+
* ```typescript
|
|
546
|
+
* // Get claim proofs and rewarder contract
|
|
547
|
+
* const proofs = await smartRewards.getClaimProofs(userAddress, chainId);
|
|
548
|
+
* const rewarders = await smartRewards.getSmartRewarderContracts();
|
|
549
|
+
* const rewarder = rewarders.data?.find(r => r.chainId === chainId);
|
|
550
|
+
*
|
|
551
|
+
* if (proofs.data && rewarder) {
|
|
552
|
+
* // Prepare the claim data
|
|
553
|
+
* const claimData = smartRewards.prepareClaimData(proofs.data);
|
|
554
|
+
*
|
|
555
|
+
* // Set the rewarder address (required)
|
|
556
|
+
* claimData.rewarderAddress = rewarder.address as Address;
|
|
557
|
+
*
|
|
558
|
+
* // Now the data is ready for claiming
|
|
559
|
+
* const tx = await smartRewards.claimReward(claimData);
|
|
560
|
+
* }
|
|
561
|
+
* ```
|
|
562
|
+
*/
|
|
563
|
+
public prepareClaimData(proofs: ClaimProofsResponse): ClaimRewardParams {
|
|
564
|
+
return {
|
|
565
|
+
users: proofs.edges.map(edge => edge.node.user.toLowerCase() as Address),
|
|
566
|
+
campaignIds: proofs.edges.map(edge => BigInt(edge.node.campaignId)),
|
|
567
|
+
amounts: proofs.edges.map(edge => BigInt(edge.node.amount.split('.')[0])),
|
|
568
|
+
proofs: proofs.edges.map(edge => edge.node.proof as readonly `0x${string}`[]),
|
|
569
|
+
rewarderAddress: '' as Address
|
|
570
|
+
};
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
/**
|
|
574
|
+
* Convenience function to handle the entire claim process
|
|
575
|
+
* @param userAddress The address of the user claiming rewards
|
|
576
|
+
* @param chainId The chain ID where the campaign exists
|
|
577
|
+
* @param campaignId Optional campaign ID to filter claims
|
|
578
|
+
* @returns Transaction hash if successful, or error details if failed
|
|
579
|
+
*/
|
|
580
|
+
public async claimCampaignRewards(
|
|
581
|
+
userAddress: Address,
|
|
582
|
+
chainId: number,
|
|
583
|
+
campaignId?: number
|
|
584
|
+
): Promise<SteerResponse<Hash>> {
|
|
585
|
+
try {
|
|
586
|
+
const normalizedUser = userAddress.toLowerCase() as Address;
|
|
587
|
+
|
|
588
|
+
// Get claim proofs
|
|
589
|
+
const claimProofsResponse = await this.getClaimProofs(normalizedUser, chainId, campaignId);
|
|
590
|
+
if (!claimProofsResponse.data || claimProofsResponse.data.edges.length === 0) {
|
|
591
|
+
return {
|
|
592
|
+
data: null,
|
|
593
|
+
status: 400,
|
|
594
|
+
success: false,
|
|
595
|
+
error: 'No claim proofs found'
|
|
596
|
+
};
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
// Filter claim proofs by campaignId if specified
|
|
600
|
+
let filteredClaimProofs = claimProofsResponse.data;
|
|
601
|
+
if (campaignId !== undefined) {
|
|
602
|
+
filteredClaimProofs = {
|
|
603
|
+
...claimProofsResponse.data,
|
|
604
|
+
edges: claimProofsResponse.data.edges.filter(edge => edge.node.campaignId === campaignId)
|
|
605
|
+
};
|
|
606
|
+
|
|
607
|
+
// If no matching campaign proofs found after filtering
|
|
608
|
+
if (filteredClaimProofs.edges.length === 0) {
|
|
609
|
+
return {
|
|
610
|
+
data: null,
|
|
611
|
+
status: 400,
|
|
612
|
+
success: false,
|
|
613
|
+
error: `No claim proofs found for campaign ID ${campaignId}`
|
|
614
|
+
};
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
// Get smart rewarder contract
|
|
619
|
+
const rewarderResponse = await this.getSmartRewarderContracts();
|
|
620
|
+
const rewarder = rewarderResponse.data?.find(r => r.chainId === chainId);
|
|
621
|
+
if (!rewarder) {
|
|
622
|
+
return {
|
|
623
|
+
data: null,
|
|
624
|
+
status: 400,
|
|
625
|
+
success: false,
|
|
626
|
+
error: `No smart rewarder contract found for chain ${chainId}`
|
|
627
|
+
};
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
// Prepare claim data
|
|
631
|
+
const claimData = this.prepareClaimData(filteredClaimProofs);
|
|
632
|
+
claimData.rewarderAddress = rewarder.address as Address;
|
|
633
|
+
|
|
634
|
+
// Execute claim
|
|
635
|
+
return await this.claimReward(claimData);
|
|
636
|
+
} catch (error) {
|
|
637
|
+
return {
|
|
638
|
+
data: null,
|
|
639
|
+
status: 500,
|
|
640
|
+
success: false,
|
|
641
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred'
|
|
642
|
+
};
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
/**
|
|
647
|
+
* Prepares the claim rewards campaign object with all necessary data for contract interaction
|
|
648
|
+
* @param userAddress The address of the user claiming rewards
|
|
649
|
+
* @param chainId The chain ID where the campaign exists
|
|
650
|
+
* @param campaignId Optional campaign ID to filter claims
|
|
651
|
+
* @returns Promise resolving to an object containing all necessary data for claiming rewards
|
|
652
|
+
*
|
|
653
|
+
* @example
|
|
654
|
+
* ```typescript
|
|
655
|
+
* // Get the prepared claim data
|
|
656
|
+
* const claimData = await smartRewards.prepareClaimRewardsCampaign(userAddress, chainId, campaignId);
|
|
657
|
+
*
|
|
658
|
+
* if (claimData.success) {
|
|
659
|
+
* // Use the data with your own contract interaction methods
|
|
660
|
+
* const { address, abi, functionName, args } = claimData.data;
|
|
661
|
+
* // Execute the contract call using your preferred method
|
|
662
|
+
* }
|
|
663
|
+
* ```
|
|
664
|
+
*/
|
|
665
|
+
public async prepareClaimRewardsCampaign(
|
|
666
|
+
userAddress: Address,
|
|
667
|
+
chainId: number,
|
|
668
|
+
campaignId?: number
|
|
669
|
+
): Promise<SteerResponse<{
|
|
670
|
+
address: Address;
|
|
671
|
+
abi: {
|
|
672
|
+
type: string;
|
|
673
|
+
inputs: {
|
|
674
|
+
name: string;
|
|
675
|
+
internalType: string;
|
|
676
|
+
type: string;
|
|
677
|
+
}[];
|
|
678
|
+
name: string;
|
|
679
|
+
outputs: never[];
|
|
680
|
+
stateMutability: string;
|
|
681
|
+
}[];
|
|
682
|
+
functionName: string;
|
|
683
|
+
args: readonly [
|
|
684
|
+
readonly Address[],
|
|
685
|
+
readonly bigint[],
|
|
686
|
+
readonly bigint[],
|
|
687
|
+
readonly (readonly `0x${string}`[])[]
|
|
688
|
+
];
|
|
689
|
+
}>> {
|
|
690
|
+
try {
|
|
691
|
+
const normalizedUser = userAddress.toLowerCase() as Address;
|
|
692
|
+
|
|
693
|
+
// Get claim proofs
|
|
694
|
+
const claimProofsResponse = await this.getClaimProofs(normalizedUser, chainId, campaignId);
|
|
695
|
+
if (!claimProofsResponse.data || claimProofsResponse.data.edges.length === 0) {
|
|
696
|
+
return {
|
|
697
|
+
data: null,
|
|
698
|
+
status: 400,
|
|
699
|
+
success: false,
|
|
700
|
+
error: 'No claim proofs found'
|
|
701
|
+
};
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
// Filter claim proofs by campaignId if specified
|
|
705
|
+
let filteredClaimProofs = claimProofsResponse.data;
|
|
706
|
+
if (campaignId !== undefined) {
|
|
707
|
+
filteredClaimProofs = {
|
|
708
|
+
...claimProofsResponse.data,
|
|
709
|
+
edges: claimProofsResponse.data.edges.filter(edge => edge.node.campaignId === campaignId)
|
|
710
|
+
};
|
|
711
|
+
|
|
712
|
+
// If no matching campaign proofs found after filtering
|
|
713
|
+
if (filteredClaimProofs.edges.length === 0) {
|
|
714
|
+
return {
|
|
715
|
+
data: null,
|
|
716
|
+
status: 400,
|
|
717
|
+
success: false,
|
|
718
|
+
error: `No claim proofs found for campaign ID ${campaignId}`
|
|
719
|
+
};
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
// Get smart rewarder contract
|
|
724
|
+
const rewarderResponse = await this.getSmartRewarderContracts();
|
|
725
|
+
const rewarder = rewarderResponse.data?.find(r => r.chainId === chainId);
|
|
726
|
+
if (!rewarder) {
|
|
727
|
+
return {
|
|
728
|
+
data: null,
|
|
729
|
+
status: 400,
|
|
730
|
+
success: false,
|
|
731
|
+
error: `No smart rewarder contract found for chain ${chainId}`
|
|
732
|
+
};
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
// Prepare claim data
|
|
736
|
+
const claimData = this.prepareClaimData(filteredClaimProofs);
|
|
737
|
+
|
|
738
|
+
// Prepare the complete contract interaction data
|
|
739
|
+
return {
|
|
740
|
+
data: {
|
|
741
|
+
address: rewarder.address as Address,
|
|
742
|
+
abi: [{
|
|
743
|
+
type: 'function',
|
|
744
|
+
inputs: [
|
|
745
|
+
{ name: 'users', internalType: 'address[]', type: 'address[]' },
|
|
746
|
+
{ name: 'campaignIds', internalType: 'uint256[]', type: 'uint256[]' },
|
|
747
|
+
{ name: 'amounts', internalType: 'uint256[]', type: 'uint256[]' },
|
|
748
|
+
{ name: 'proofs', internalType: 'bytes32[][]', type: 'bytes32[][]' }
|
|
749
|
+
],
|
|
750
|
+
name: 'claim',
|
|
751
|
+
outputs: [],
|
|
752
|
+
stateMutability: 'nonpayable'
|
|
753
|
+
}],
|
|
754
|
+
functionName: 'claim',
|
|
755
|
+
args: [
|
|
756
|
+
claimData.users,
|
|
757
|
+
claimData.campaignIds,
|
|
758
|
+
claimData.amounts,
|
|
759
|
+
claimData.proofs
|
|
760
|
+
] as const
|
|
761
|
+
},
|
|
762
|
+
status: 200,
|
|
763
|
+
success: true
|
|
764
|
+
};
|
|
765
|
+
} catch (error) {
|
|
766
|
+
return {
|
|
767
|
+
data: null,
|
|
768
|
+
status: 500,
|
|
769
|
+
success: false,
|
|
770
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred'
|
|
771
|
+
};
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
/**
|
|
776
|
+
* Checks if a chain is supported by checking if it has a subgraph URL
|
|
777
|
+
* @param chainId The chain ID to check
|
|
778
|
+
* @returns boolean indicating if the chain is supported
|
|
779
|
+
*/
|
|
780
|
+
public supportsChain(chainId: number): boolean {
|
|
781
|
+
return getSubgraphUrlByChainId(chainId) !== undefined;
|
|
782
|
+
}
|
|
783
|
+
}
|