@eth-optimism/actions-sdk 0.2.0 → 0.4.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/__mocks__/MockAssets.d.ts +17 -2
- package/dist/__mocks__/MockAssets.d.ts.map +1 -1
- package/dist/__mocks__/MockAssets.js +49 -4
- package/dist/__mocks__/MockAssets.js.map +1 -1
- package/dist/__tests__/actions.test.js +1 -5
- package/dist/__tests__/actions.test.js.map +1 -1
- package/dist/actions.d.ts +23 -9
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +68 -36
- package/dist/actions.js.map +1 -1
- package/dist/constants/assets.d.ts +217 -2
- package/dist/constants/assets.d.ts.map +1 -1
- package/dist/constants/assets.js +744 -6
- package/dist/constants/assets.js.map +1 -1
- package/dist/constants/contracts.d.ts +4 -0
- package/dist/constants/contracts.d.ts.map +1 -0
- package/dist/constants/contracts.js +3 -0
- package/dist/constants/contracts.js.map +1 -0
- package/dist/constants/providers.d.ts +6 -0
- package/dist/constants/providers.d.ts.map +1 -0
- package/dist/constants/providers.js +6 -0
- package/dist/constants/providers.js.map +1 -0
- package/dist/constants/supportedChains.d.ts +2 -2
- package/dist/constants/supportedChains.d.ts.map +1 -1
- package/dist/constants/supportedChains.js +12 -2
- package/dist/constants/supportedChains.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/lend/__mocks__/MockLendProvider.d.ts +1 -1
- package/dist/lend/__mocks__/MockLendProvider.d.ts.map +1 -1
- package/dist/lend/__mocks__/MockLendProvider.js +7 -2
- package/dist/lend/__mocks__/MockLendProvider.js.map +1 -1
- package/dist/lend/core/LendProvider.d.ts +12 -14
- package/dist/lend/core/LendProvider.d.ts.map +1 -1
- package/dist/lend/core/LendProvider.js +16 -31
- package/dist/lend/core/LendProvider.js.map +1 -1
- package/dist/lend/core/__tests__/LendProvider.test.js +2 -4
- package/dist/lend/core/__tests__/LendProvider.test.js.map +1 -1
- package/dist/lend/namespaces/BaseLendNamespace.d.ts +2 -6
- package/dist/lend/namespaces/BaseLendNamespace.d.ts.map +1 -1
- package/dist/lend/namespaces/BaseLendNamespace.js.map +1 -1
- package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js +7 -4
- package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js.map +1 -1
- package/dist/lend/providers/aave/AaveLendProvider.d.ts +1 -6
- package/dist/lend/providers/aave/AaveLendProvider.d.ts.map +1 -1
- package/dist/lend/providers/aave/AaveLendProvider.js +3 -6
- package/dist/lend/providers/aave/AaveLendProvider.js.map +1 -1
- package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js +14 -6
- package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js.map +1 -1
- package/dist/lend/providers/aave/addresses.d.ts +13 -39
- package/dist/lend/providers/aave/addresses.d.ts.map +1 -1
- package/dist/lend/providers/aave/addresses.js +65 -60
- package/dist/lend/providers/aave/addresses.js.map +1 -1
- package/dist/lend/providers/aave/sdk.d.ts +2 -2
- package/dist/lend/providers/aave/sdk.d.ts.map +1 -1
- package/dist/lend/providers/aave/sdk.js +6 -28
- package/dist/lend/providers/aave/sdk.js.map +1 -1
- package/dist/lend/providers/morpho/MorphoLendProvider.d.ts +1 -6
- package/dist/lend/providers/morpho/MorphoLendProvider.d.ts.map +1 -1
- package/dist/lend/providers/morpho/MorphoLendProvider.js +4 -13
- package/dist/lend/providers/morpho/MorphoLendProvider.js.map +1 -1
- package/dist/lend/providers/morpho/__tests__/api.test.js +52 -43
- package/dist/lend/providers/morpho/__tests__/api.test.js.map +1 -1
- package/dist/lend/providers/morpho/__tests__/sdk.test.js +41 -41
- package/dist/lend/providers/morpho/__tests__/sdk.test.js.map +1 -1
- package/dist/lend/providers/morpho/api.d.ts +3 -3
- package/dist/lend/providers/morpho/api.d.ts.map +1 -1
- package/dist/lend/providers/morpho/api.js +2 -2
- package/dist/lend/providers/morpho/api.js.map +1 -1
- package/dist/lend/providers/morpho/contracts.d.ts +11 -10
- package/dist/lend/providers/morpho/contracts.d.ts.map +1 -1
- package/dist/lend/providers/morpho/contracts.js +43 -10
- package/dist/lend/providers/morpho/contracts.js.map +1 -1
- package/dist/lend/providers/morpho/sdk.d.ts +7 -2
- package/dist/lend/providers/morpho/sdk.d.ts.map +1 -1
- package/dist/lend/providers/morpho/sdk.js +67 -54
- package/dist/lend/providers/morpho/sdk.js.map +1 -1
- package/dist/nodeActionsFactory.d.ts +1 -1
- package/dist/reactActionsFactory.d.ts +1 -1
- package/dist/services/ChainManager.d.ts +8 -8
- package/dist/services/ChainManager.d.ts.map +1 -1
- package/dist/services/ChainManager.js.map +1 -1
- package/dist/services/__mocks__/MockChainManager.d.ts +4 -4
- package/dist/services/__mocks__/MockChainManager.d.ts.map +1 -1
- package/dist/services/__mocks__/MockChainManager.js.map +1 -1
- package/dist/services/tokenBalance.d.ts +1 -1
- package/dist/services/tokenBalance.d.ts.map +1 -1
- package/dist/services/tokenBalance.js +31 -30
- package/dist/services/tokenBalance.js.map +1 -1
- package/dist/services/tokenBalance.spec.js +20 -24
- package/dist/services/tokenBalance.spec.js.map +1 -1
- package/dist/swap/__mocks__/MockSwapProvider.d.ts +50 -0
- package/dist/swap/__mocks__/MockSwapProvider.d.ts.map +1 -0
- package/dist/swap/__mocks__/MockSwapProvider.js +161 -0
- package/dist/swap/__mocks__/MockSwapProvider.js.map +1 -0
- package/dist/swap/core/SwapProvider.d.ts +145 -0
- package/dist/swap/core/SwapProvider.d.ts.map +1 -0
- package/dist/swap/core/SwapProvider.js +359 -0
- package/dist/swap/core/SwapProvider.js.map +1 -0
- package/dist/swap/core/__tests__/SwapProvider.test.d.ts +2 -0
- package/dist/swap/core/__tests__/SwapProvider.test.d.ts.map +1 -0
- package/dist/swap/core/__tests__/SwapProvider.test.js +435 -0
- package/dist/swap/core/__tests__/SwapProvider.test.js.map +1 -0
- package/dist/swap/core/markets.d.ts +47 -0
- package/dist/swap/core/markets.d.ts.map +1 -0
- package/dist/swap/core/markets.js +65 -0
- package/dist/swap/core/markets.js.map +1 -0
- package/dist/swap/index.d.ts +9 -0
- package/dist/swap/index.d.ts.map +1 -0
- package/dist/swap/index.js +9 -0
- package/dist/swap/index.js.map +1 -0
- package/dist/swap/namespaces/ActionsSwapNamespace.d.ts +8 -0
- package/dist/swap/namespaces/ActionsSwapNamespace.d.ts.map +1 -0
- package/dist/swap/namespaces/ActionsSwapNamespace.js +8 -0
- package/dist/swap/namespaces/ActionsSwapNamespace.js.map +1 -0
- package/dist/swap/namespaces/BaseSwapNamespace.d.ts +73 -0
- package/dist/swap/namespaces/BaseSwapNamespace.d.ts.map +1 -0
- package/dist/swap/namespaces/BaseSwapNamespace.js +181 -0
- package/dist/swap/namespaces/BaseSwapNamespace.js.map +1 -0
- package/dist/swap/namespaces/WalletSwapNamespace.d.ts +34 -0
- package/dist/swap/namespaces/WalletSwapNamespace.d.ts.map +1 -0
- package/dist/swap/namespaces/WalletSwapNamespace.js +84 -0
- package/dist/swap/namespaces/WalletSwapNamespace.js.map +1 -0
- package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.d.ts +2 -0
- package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.d.ts.map +1 -0
- package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js +245 -0
- package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js.map +1 -0
- package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.d.ts +2 -0
- package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.d.ts.map +1 -0
- package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js +209 -0
- package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js.map +1 -0
- package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts +35 -0
- package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/UniswapSwapProvider.js +148 -0
- package/dist/swap/providers/uniswap/UniswapSwapProvider.js.map +1 -0
- package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts +2 -0
- package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js +258 -0
- package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js.map +1 -0
- package/dist/swap/providers/uniswap/__tests__/sdk.test.d.ts +2 -0
- package/dist/swap/providers/uniswap/__tests__/sdk.test.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/__tests__/sdk.test.js +312 -0
- package/dist/swap/providers/uniswap/__tests__/sdk.test.js.map +1 -0
- package/dist/swap/providers/uniswap/abis.d.ts +227 -0
- package/dist/swap/providers/uniswap/abis.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/abis.js +138 -0
- package/dist/swap/providers/uniswap/abis.js.map +1 -0
- package/dist/swap/providers/uniswap/addresses.d.ts +26 -0
- package/dist/swap/providers/uniswap/addresses.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/addresses.js +81 -0
- package/dist/swap/providers/uniswap/addresses.js.map +1 -0
- package/dist/swap/providers/uniswap/encoding.d.ts +77 -0
- package/dist/swap/providers/uniswap/encoding.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/encoding.js +233 -0
- package/dist/swap/providers/uniswap/encoding.js.map +1 -0
- package/dist/swap/providers/uniswap/markets.d.ts +19 -0
- package/dist/swap/providers/uniswap/markets.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/markets.js +48 -0
- package/dist/swap/providers/uniswap/markets.js.map +1 -0
- package/dist/swap/providers/uniswap/types.d.ts +21 -0
- package/dist/swap/providers/uniswap/types.d.ts.map +1 -0
- package/dist/swap/providers/uniswap/types.js +2 -0
- package/dist/swap/providers/uniswap/types.js.map +1 -0
- package/dist/swap/providers/velodrome/VelodromeSwapProvider.d.ts +49 -0
- package/dist/swap/providers/velodrome/VelodromeSwapProvider.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/VelodromeSwapProvider.js +140 -0
- package/dist/swap/providers/velodrome/VelodromeSwapProvider.js.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts +2 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js +255 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts +2 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js +166 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts +2 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.js +419 -0
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.js.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.d.ts +2 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.js +51 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.js.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.helpers.d.ts +14 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.helpers.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.helpers.js +13 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.helpers.js.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.d.ts +2 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.js +173 -0
- package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.js.map +1 -0
- package/dist/swap/providers/velodrome/abis.d.ts +396 -0
- package/dist/swap/providers/velodrome/abis.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/abis.js +257 -0
- package/dist/swap/providers/velodrome/abis.js.map +1 -0
- package/dist/swap/providers/velodrome/addresses.d.ts +39 -0
- package/dist/swap/providers/velodrome/addresses.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/addresses.js +57 -0
- package/dist/swap/providers/velodrome/addresses.js.map +1 -0
- package/dist/swap/providers/velodrome/config.d.ts +22 -0
- package/dist/swap/providers/velodrome/config.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/config.js +29 -0
- package/dist/swap/providers/velodrome/config.js.map +1 -0
- package/dist/swap/providers/velodrome/encoding/helpers.d.ts +37 -0
- package/dist/swap/providers/velodrome/encoding/helpers.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/encoding/helpers.js +60 -0
- package/dist/swap/providers/velodrome/encoding/helpers.js.map +1 -0
- package/dist/swap/providers/velodrome/encoding/index.d.ts +8 -0
- package/dist/swap/providers/velodrome/encoding/index.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/encoding/index.js +5 -0
- package/dist/swap/providers/velodrome/encoding/index.js.map +1 -0
- package/dist/swap/providers/velodrome/encoding/poolRouter.d.ts +39 -0
- package/dist/swap/providers/velodrome/encoding/poolRouter.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/encoding/poolRouter.js +83 -0
- package/dist/swap/providers/velodrome/encoding/poolRouter.js.map +1 -0
- package/dist/swap/providers/velodrome/encoding/routers/approval.d.ts +15 -0
- package/dist/swap/providers/velodrome/encoding/routers/approval.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/encoding/routers/approval.js +33 -0
- package/dist/swap/providers/velodrome/encoding/routers/approval.js.map +1 -0
- package/dist/swap/providers/velodrome/encoding/routers/cl.d.ts +40 -0
- package/dist/swap/providers/velodrome/encoding/routers/cl.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/encoding/routers/cl.js +80 -0
- package/dist/swap/providers/velodrome/encoding/routers/cl.js.map +1 -0
- package/dist/swap/providers/velodrome/encoding/routers/v2.d.ts +42 -0
- package/dist/swap/providers/velodrome/encoding/routers/v2.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/encoding/routers/v2.js +166 -0
- package/dist/swap/providers/velodrome/encoding/routers/v2.js.map +1 -0
- package/dist/swap/providers/velodrome/markets.d.ts +21 -0
- package/dist/swap/providers/velodrome/markets.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/markets.js +69 -0
- package/dist/swap/providers/velodrome/markets.js.map +1 -0
- package/dist/swap/providers/velodrome/types.d.ts +31 -0
- package/dist/swap/providers/velodrome/types.d.ts.map +1 -0
- package/dist/swap/providers/velodrome/types.js +2 -0
- package/dist/swap/providers/velodrome/types.js.map +1 -0
- package/dist/types/actions.d.ts +60 -11
- package/dist/types/actions.d.ts.map +1 -1
- package/dist/types/asset.d.ts +7 -9
- package/dist/types/asset.d.ts.map +1 -1
- package/dist/types/chain.d.ts +2 -2
- package/dist/types/chain.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/lend/base.d.ts +9 -19
- package/dist/types/lend/base.d.ts.map +1 -1
- package/dist/types/lend/base.js.map +1 -1
- package/dist/types/lend/contracts.d.ts +2 -1
- package/dist/types/lend/contracts.d.ts.map +1 -1
- package/dist/types/providers.d.ts +21 -0
- package/dist/types/providers.d.ts.map +1 -0
- package/dist/types/providers.js +2 -0
- package/dist/types/providers.js.map +1 -0
- package/dist/types/swap/base.d.ts +338 -0
- package/dist/types/swap/base.d.ts.map +1 -0
- package/dist/types/swap/base.js +4 -0
- package/dist/types/swap/base.js.map +1 -0
- package/dist/types/swap/index.d.ts +2 -0
- package/dist/types/swap/index.d.ts.map +1 -0
- package/dist/types/swap/index.js +2 -0
- package/dist/types/swap/index.js.map +1 -0
- package/dist/types/transaction.d.ts +14 -0
- package/dist/types/transaction.d.ts.map +1 -0
- package/dist/types/transaction.js +2 -0
- package/dist/types/transaction.js.map +1 -0
- package/dist/utils/approve.d.ts +82 -0
- package/dist/utils/approve.d.ts.map +1 -0
- package/dist/utils/approve.js +134 -0
- package/dist/utils/approve.js.map +1 -0
- package/dist/utils/approve.test.d.ts +2 -0
- package/dist/utils/approve.test.d.ts.map +1 -0
- package/dist/utils/approve.test.js +203 -0
- package/dist/utils/approve.test.js.map +1 -0
- package/dist/utils/assets.d.ts +10 -5
- package/dist/utils/assets.d.ts.map +1 -1
- package/dist/utils/assets.js +14 -11
- package/dist/utils/assets.js.map +1 -1
- package/dist/utils/assets.test.js +13 -1
- package/dist/utils/assets.test.js.map +1 -1
- package/dist/utils/validateAddresses.d.ts +32 -0
- package/dist/utils/validateAddresses.d.ts.map +1 -0
- package/dist/utils/validateAddresses.js +103 -0
- package/dist/utils/validateAddresses.js.map +1 -0
- package/dist/utils/validateAddresses.test.d.ts +2 -0
- package/dist/utils/validateAddresses.test.d.ts.map +1 -0
- package/dist/utils/validateAddresses.test.js +314 -0
- package/dist/utils/validateAddresses.test.js.map +1 -0
- package/dist/utils/validation.d.ts +12 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +44 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/wallet/core/namespace/WalletNamespace.d.ts +21 -9
- package/dist/wallet/core/namespace/WalletNamespace.d.ts.map +1 -1
- package/dist/wallet/core/namespace/WalletNamespace.js +44 -15
- package/dist/wallet/core/namespace/WalletNamespace.js.map +1 -1
- package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js +4 -4
- package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js.map +1 -1
- package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts +4 -10
- package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js +2 -1
- package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js.map +1 -1
- package/dist/wallet/core/providers/hosted/types/index.d.ts +6 -7
- package/dist/wallet/core/providers/hosted/types/index.d.ts.map +1 -1
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts +5 -6
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts.map +1 -1
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js +5 -1
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js.map +1 -1
- package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js +2 -2
- package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js.map +1 -1
- package/dist/wallet/core/wallets/abstract/Wallet.d.ts +12 -12
- package/dist/wallet/core/wallets/abstract/Wallet.d.ts.map +1 -1
- package/dist/wallet/core/wallets/abstract/Wallet.js +9 -4
- package/dist/wallet/core/wallets/abstract/Wallet.js.map +1 -1
- package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts +10 -1
- package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts.map +1 -1
- package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.js +2 -2
- package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.js.map +1 -1
- package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js +12 -4
- package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js.map +1 -1
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts +5 -7
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts.map +1 -1
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js +6 -5
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js.map +1 -1
- package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js.map +1 -1
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +4 -6
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js +3 -1
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
- package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts +2 -4
- package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts.map +1 -1
- package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js +8 -9
- package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js.map +1 -1
- package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js +4 -4
- package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js.map +1 -1
- package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +3 -6
- package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +4 -2
- package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
- package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts +4 -6
- package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
- package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js +4 -3
- package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js.map +1 -1
- package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts +3 -6
- package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
- package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js +2 -2
- package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts +6 -6
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js +7 -2
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js.map +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js +1 -0
- package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js.map +1 -1
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +5 -6
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js +6 -2
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
- package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +1 -0
- package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +5 -8
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +6 -4
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
- package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.d.ts +2 -4
- package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.d.ts.map +1 -1
- package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js +11 -13
- package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js.map +1 -1
- package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js +6 -6
- package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts +7 -6
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts.map +1 -1
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js +5 -3
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.d.ts +2 -6
- package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.d.ts.map +1 -1
- package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts +5 -6
- package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
- package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js +3 -3
- package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js.map +1 -1
- package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts +5 -6
- package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
- package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js +2 -2
- package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
- package/package.json +4 -3
- package/src/__mocks__/MockAssets.ts +54 -4
- package/src/__tests__/actions.test.ts +1 -5
- package/src/actions.ts +106 -71
- package/src/constants/assets.ts +792 -5
- package/src/constants/contracts.ts +5 -0
- package/src/constants/providers.ts +5 -0
- package/src/constants/supportedChains.ts +22 -2
- package/src/index.ts +76 -6
- package/src/lend/__mocks__/MockLendProvider.ts +8 -3
- package/src/lend/core/LendProvider.ts +28 -41
- package/src/lend/core/__tests__/LendProvider.test.ts +2 -5
- package/src/lend/namespaces/BaseLendNamespace.ts +2 -6
- package/src/lend/namespaces/__tests__/BaseLendNamespace.spec.ts +12 -5
- package/src/lend/providers/aave/AaveLendProvider.ts +3 -7
- package/src/lend/providers/aave/__tests__/AaveLendProvider.test.ts +16 -7
- package/src/lend/providers/aave/addresses.ts +82 -64
- package/src/lend/providers/aave/sdk.ts +11 -36
- package/src/lend/providers/morpho/MorphoLendProvider.ts +4 -16
- package/src/lend/providers/morpho/__tests__/api.test.ts +65 -44
- package/src/lend/providers/morpho/__tests__/sdk.test.ts +43 -42
- package/src/lend/providers/morpho/api.ts +7 -4
- package/src/lend/providers/morpho/contracts.ts +62 -13
- package/src/lend/providers/morpho/sdk.ts +85 -54
- package/src/services/ChainManager.ts +12 -21
- package/src/services/__mocks__/MockChainManager.ts +4 -7
- package/src/services/tokenBalance.spec.ts +20 -24
- package/src/services/tokenBalance.ts +39 -33
- package/src/swap/__mocks__/MockSwapProvider.ts +251 -0
- package/src/swap/core/SwapProvider.ts +577 -0
- package/src/swap/core/__tests__/SwapProvider.test.ts +620 -0
- package/src/swap/core/markets.ts +104 -0
- package/src/swap/index.ts +19 -0
- package/src/swap/namespaces/ActionsSwapNamespace.ts +7 -0
- package/src/swap/namespaces/BaseSwapNamespace.ts +258 -0
- package/src/swap/namespaces/WalletSwapNamespace.ts +121 -0
- package/src/swap/namespaces/__tests__/BaseSwapNamespace.spec.ts +365 -0
- package/src/swap/namespaces/__tests__/WalletSwapNamespace.spec.ts +257 -0
- package/src/swap/providers/uniswap/UniswapSwapProvider.ts +217 -0
- package/src/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.ts +299 -0
- package/src/swap/providers/uniswap/__tests__/sdk.test.ts +369 -0
- package/src/swap/providers/uniswap/abis.ts +144 -0
- package/src/swap/providers/uniswap/addresses.ts +110 -0
- package/src/swap/providers/uniswap/encoding.ts +406 -0
- package/src/swap/providers/uniswap/markets.ts +84 -0
- package/src/swap/providers/uniswap/types.ts +25 -0
- package/src/swap/providers/velodrome/VelodromeSwapProvider.ts +224 -0
- package/src/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.ts +341 -0
- package/src/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.ts +202 -0
- package/src/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.ts +506 -0
- package/src/swap/providers/velodrome/__tests__/encoding.cl.test.ts +69 -0
- package/src/swap/providers/velodrome/__tests__/encoding.helpers.ts +20 -0
- package/src/swap/providers/velodrome/__tests__/encoding.v2.test.ts +235 -0
- package/src/swap/providers/velodrome/abis.ts +264 -0
- package/src/swap/providers/velodrome/addresses.ts +107 -0
- package/src/swap/providers/velodrome/config.ts +46 -0
- package/src/swap/providers/velodrome/encoding/helpers.ts +82 -0
- package/src/swap/providers/velodrome/encoding/index.ts +7 -0
- package/src/swap/providers/velodrome/encoding/poolRouter.ts +124 -0
- package/src/swap/providers/velodrome/encoding/routers/approval.ts +45 -0
- package/src/swap/providers/velodrome/encoding/routers/cl.ts +156 -0
- package/src/swap/providers/velodrome/encoding/routers/v2.ts +267 -0
- package/src/swap/providers/velodrome/markets.ts +100 -0
- package/src/swap/providers/velodrome/types.ts +30 -0
- package/src/types/actions.ts +68 -12
- package/src/types/asset.ts +12 -9
- package/src/types/chain.ts +2 -2
- package/src/types/index.ts +2 -0
- package/src/types/lend/base.ts +10 -20
- package/src/types/lend/contracts.ts +5 -1
- package/src/types/providers.ts +22 -0
- package/src/types/swap/base.ts +372 -0
- package/src/types/swap/index.ts +1 -0
- package/src/types/transaction.ts +14 -0
- package/src/utils/approve.test.ts +258 -0
- package/src/utils/approve.ts +197 -0
- package/src/utils/assets.test.ts +16 -1
- package/src/utils/assets.ts +27 -10
- package/src/utils/validateAddresses.test.ts +439 -0
- package/src/utils/validateAddresses.ts +153 -0
- package/src/utils/validation.ts +76 -0
- package/src/wallet/core/namespace/WalletNamespace.ts +70 -16
- package/src/wallet/core/namespace/__tests__/WalletNamespace.spec.ts +8 -4
- package/src/wallet/core/providers/hosted/abstract/HostedWalletProvider.ts +6 -10
- package/src/wallet/core/providers/hosted/types/index.ts +9 -7
- package/src/wallet/core/providers/smart/default/DefaultSmartWalletProvider.ts +10 -10
- package/src/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.ts +2 -0
- package/src/wallet/core/wallets/abstract/Wallet.ts +23 -14
- package/src/wallet/core/wallets/abstract/__mocks__/TestWallet.ts +13 -1
- package/src/wallet/core/wallets/abstract/__tests__/Wallet.spec.ts +21 -5
- package/src/wallet/core/wallets/smart/default/DefaultSmartWallet.ts +11 -14
- package/src/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.ts +0 -1
- package/src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts +11 -7
- package/src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts +16 -8
- package/src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts +4 -4
- package/src/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +6 -7
- package/src/wallet/node/wallets/hosted/privy/PrivyWallet.ts +8 -11
- package/src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts +7 -11
- package/src/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.ts +11 -7
- package/src/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.ts +1 -0
- package/src/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.ts +10 -7
- package/src/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +1 -0
- package/src/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +10 -9
- package/src/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.ts +38 -13
- package/src/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.ts +6 -6
- package/src/wallet/react/wallets/hosted/dynamic/DynamicWallet.ts +13 -11
- package/src/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.ts +2 -6
- package/src/wallet/react/wallets/hosted/privy/PrivyWallet.ts +11 -11
- package/src/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.ts +11 -11
- package/dist/supported/tokens.d.ts +0 -25
- package/dist/supported/tokens.d.ts.map +0 -1
- package/dist/supported/tokens.js +0 -37
- package/dist/supported/tokens.js.map +0 -1
- package/src/supported/tokens.ts +0 -52
|
@@ -1,16 +1,26 @@
|
|
|
1
1
|
import {
|
|
2
2
|
base,
|
|
3
3
|
baseSepolia,
|
|
4
|
+
bob,
|
|
5
|
+
celo,
|
|
6
|
+
fraxtal,
|
|
7
|
+
ink,
|
|
8
|
+
lisk,
|
|
4
9
|
mainnet,
|
|
10
|
+
metalL2,
|
|
11
|
+
mode,
|
|
5
12
|
optimism,
|
|
6
13
|
optimismSepolia,
|
|
7
14
|
sepolia,
|
|
15
|
+
soneium,
|
|
16
|
+
superseed,
|
|
17
|
+
swellchain,
|
|
8
18
|
unichain,
|
|
9
19
|
unichainSepolia,
|
|
10
20
|
worldchain,
|
|
11
21
|
} from 'viem/chains'
|
|
12
22
|
|
|
13
|
-
export const
|
|
23
|
+
export const ACTIONS_SUPPORTED_CHAIN_IDS = [
|
|
14
24
|
mainnet.id,
|
|
15
25
|
sepolia.id,
|
|
16
26
|
optimism.id,
|
|
@@ -20,6 +30,16 @@ export const SUPPORTED_CHAIN_IDS = [
|
|
|
20
30
|
unichain.id,
|
|
21
31
|
unichainSepolia.id,
|
|
22
32
|
worldchain.id,
|
|
33
|
+
bob.id,
|
|
34
|
+
celo.id,
|
|
35
|
+
fraxtal.id,
|
|
36
|
+
ink.id,
|
|
37
|
+
lisk.id,
|
|
38
|
+
metalL2.id,
|
|
39
|
+
mode.id,
|
|
40
|
+
soneium.id,
|
|
41
|
+
superseed.id,
|
|
42
|
+
swellchain.id,
|
|
23
43
|
] as const
|
|
24
44
|
|
|
25
|
-
export type SupportedChainId = (typeof
|
|
45
|
+
export type SupportedChainId = (typeof ACTIONS_SUPPORTED_CHAIN_IDS)[number]
|
package/src/index.ts
CHANGED
|
@@ -1,13 +1,67 @@
|
|
|
1
1
|
export type { Actions } from '@/actions.js'
|
|
2
|
-
export {
|
|
3
|
-
|
|
2
|
+
export {
|
|
3
|
+
AAVE,
|
|
4
|
+
ARB,
|
|
5
|
+
BAL,
|
|
6
|
+
CBBTC,
|
|
7
|
+
CBETH,
|
|
8
|
+
COMP,
|
|
9
|
+
CRV,
|
|
10
|
+
DAI,
|
|
11
|
+
EETH,
|
|
12
|
+
ENA,
|
|
13
|
+
ENS,
|
|
14
|
+
ETH,
|
|
15
|
+
ETHFI,
|
|
16
|
+
FRAX,
|
|
17
|
+
GRT,
|
|
18
|
+
LDO,
|
|
19
|
+
LINK,
|
|
20
|
+
MKR,
|
|
21
|
+
MORPHO,
|
|
22
|
+
NATIVELY_SUPPORTED_ASSETS,
|
|
23
|
+
ONDO,
|
|
24
|
+
ONEINCH,
|
|
25
|
+
OP,
|
|
26
|
+
OP_DEMO,
|
|
27
|
+
PENDLE,
|
|
28
|
+
PEPE,
|
|
29
|
+
POL,
|
|
30
|
+
PYUSD,
|
|
31
|
+
RENDER,
|
|
32
|
+
RETH,
|
|
33
|
+
RPL,
|
|
34
|
+
SHIB,
|
|
35
|
+
SKY,
|
|
36
|
+
SNX,
|
|
37
|
+
STETH,
|
|
38
|
+
SUSHI,
|
|
39
|
+
UNI,
|
|
40
|
+
USDC,
|
|
41
|
+
USDC_DEMO,
|
|
42
|
+
USDE,
|
|
43
|
+
USDT,
|
|
44
|
+
WBTC,
|
|
45
|
+
WEETH,
|
|
46
|
+
WETH,
|
|
47
|
+
WLD,
|
|
48
|
+
WSTETH,
|
|
49
|
+
} from '@/constants/assets.js'
|
|
50
|
+
export {
|
|
51
|
+
ACTIONS_SUPPORTED_CHAIN_IDS,
|
|
52
|
+
type SupportedChainId,
|
|
53
|
+
} from '@/constants/supportedChains.js'
|
|
4
54
|
export * from '@/core/error/errors.js'
|
|
5
55
|
export { LendProvider, MorphoLendProvider } from '@/lend/index.js'
|
|
6
56
|
export {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
57
|
+
SwapProvider,
|
|
58
|
+
type UniswapMarketConfig,
|
|
59
|
+
UniswapSwapProvider,
|
|
60
|
+
type UniswapSwapProviderConfig,
|
|
61
|
+
type VelodromeMarketConfig,
|
|
62
|
+
VelodromeSwapProvider,
|
|
63
|
+
type VelodromeSwapProviderConfig,
|
|
64
|
+
} from '@/swap/index.js'
|
|
11
65
|
export type {
|
|
12
66
|
ActionsConfig,
|
|
13
67
|
ApyBreakdown,
|
|
@@ -24,10 +78,26 @@ export type {
|
|
|
24
78
|
LendProviderConfig,
|
|
25
79
|
LendTransaction,
|
|
26
80
|
LendTransactionReceipt,
|
|
81
|
+
SwapConfig,
|
|
82
|
+
SwapExecuteParams,
|
|
83
|
+
SwapMarket,
|
|
84
|
+
SwapMarketConfig,
|
|
85
|
+
SwapMarketId,
|
|
86
|
+
SwapProviderConfig,
|
|
87
|
+
SwapProviderName,
|
|
88
|
+
SwapQuote,
|
|
89
|
+
SwapQuoteExecution,
|
|
90
|
+
SwapQuoteParams,
|
|
91
|
+
SwapReceipt,
|
|
92
|
+
SwapRoute,
|
|
93
|
+
SwapRoutingStrategy,
|
|
94
|
+
SwapSettings,
|
|
95
|
+
SwapTransaction,
|
|
27
96
|
TokenBalance,
|
|
28
97
|
TransactionData,
|
|
29
98
|
UserOperationTransactionReceipt,
|
|
30
99
|
WalletConfig,
|
|
100
|
+
WalletSwapParams,
|
|
31
101
|
} from '@/types/index.js'
|
|
32
102
|
export { getAssetAddress, isAssetSupportedOnChain } from '@/utils/assets.js'
|
|
33
103
|
export { Wallet } from '@/wallet/core/wallets/abstract/Wallet.js'
|
|
@@ -59,8 +59,6 @@ export class MockLendProvider extends LendProvider<LendProviderConfig> {
|
|
|
59
59
|
) => Promise<LendTransaction>
|
|
60
60
|
>
|
|
61
61
|
|
|
62
|
-
protected readonly SUPPORTED_CHAIN_IDS = [1, 130, 8453, 84532] as const
|
|
63
|
-
|
|
64
62
|
protected readonly SUPPORTED_CHAINS = {
|
|
65
63
|
TESTNET: {
|
|
66
64
|
chainId: 84532,
|
|
@@ -70,6 +68,10 @@ export class MockLendProvider extends LendProvider<LendProviderConfig> {
|
|
|
70
68
|
|
|
71
69
|
private mockConfig: MockLendProviderConfig
|
|
72
70
|
|
|
71
|
+
protocolSupportedChainIds(): number[] {
|
|
72
|
+
return [1, 130, 8453, 84532]
|
|
73
|
+
}
|
|
74
|
+
|
|
73
75
|
constructor(
|
|
74
76
|
config?: LendProviderConfig,
|
|
75
77
|
mockConfig?: Partial<MockLendProviderConfig>,
|
|
@@ -77,7 +79,10 @@ export class MockLendProvider extends LendProvider<LendProviderConfig> {
|
|
|
77
79
|
) {
|
|
78
80
|
super(
|
|
79
81
|
config || {},
|
|
80
|
-
chainManager ||
|
|
82
|
+
chainManager ||
|
|
83
|
+
(new MockChainManager({
|
|
84
|
+
supportedChains: [84532],
|
|
85
|
+
}) as unknown as ChainManager),
|
|
81
86
|
)
|
|
82
87
|
|
|
83
88
|
this.mockConfig = {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Address } from 'viem'
|
|
2
|
-
import {
|
|
2
|
+
import { parseUnits } from 'viem'
|
|
3
3
|
|
|
4
4
|
import type { SupportedChainId } from '@/constants/supportedChains.js'
|
|
5
|
+
import { ACTIONS_SUPPORTED_CHAIN_IDS } from '@/constants/supportedChains.js'
|
|
5
6
|
import type { ChainManager } from '@/services/ChainManager.js'
|
|
6
7
|
import type { LendProviderConfig } from '@/types/actions.js'
|
|
7
8
|
import type { Asset } from '@/types/asset.js'
|
|
@@ -20,7 +21,9 @@ import type {
|
|
|
20
21
|
LendTransaction,
|
|
21
22
|
TransactionData,
|
|
22
23
|
} from '@/types/lend/index.js'
|
|
24
|
+
import { buildErc20ApprovalTx } from '@/utils/approve.js'
|
|
23
25
|
import { validateMarketAsset } from '@/utils/markets.js'
|
|
26
|
+
import { validateChainSupported } from '@/utils/validation.js'
|
|
24
27
|
|
|
25
28
|
/**
|
|
26
29
|
* Lending provider abstract class
|
|
@@ -35,12 +38,6 @@ export abstract class LendProvider<
|
|
|
35
38
|
/** Chain manager for blockchain interactions */
|
|
36
39
|
protected readonly chainManager: ChainManager
|
|
37
40
|
|
|
38
|
-
/**
|
|
39
|
-
* Supported chain IDs
|
|
40
|
-
* @description Array of chain IDs that this provider supports
|
|
41
|
-
*/
|
|
42
|
-
protected abstract readonly SUPPORTED_CHAIN_IDS: readonly number[]
|
|
43
|
-
|
|
44
41
|
/**
|
|
45
42
|
* Create a new lending provider
|
|
46
43
|
* @param config - Provider-specific lending configuration
|
|
@@ -56,12 +53,27 @@ export abstract class LendProvider<
|
|
|
56
53
|
}
|
|
57
54
|
|
|
58
55
|
/**
|
|
59
|
-
*
|
|
60
|
-
* @description
|
|
61
|
-
*
|
|
56
|
+
* Chain IDs supported by the underlying protocol.
|
|
57
|
+
* @description Each provider implements this to declare the chains its protocol
|
|
58
|
+
* is deployed on, without any SDK-level or developer-config filtering.
|
|
59
|
+
* @returns Array of chain IDs the protocol natively supports
|
|
60
|
+
*/
|
|
61
|
+
abstract protocolSupportedChainIds(): number[]
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Effective supported chain IDs.
|
|
65
|
+
* @description Intersection of the protocol's supported chains,
|
|
66
|
+
* the Actions SDK's known chains, and the developer's ActionsConfig.chains.
|
|
67
|
+
* All validation in public methods uses this set.
|
|
68
|
+
* @returns Array of chain IDs usable through this provider instance
|
|
62
69
|
*/
|
|
63
70
|
supportedChainIds(): number[] {
|
|
64
|
-
|
|
71
|
+
const configuredChains = this.chainManager.getSupportedChains()
|
|
72
|
+
return this.protocolSupportedChainIds().filter(
|
|
73
|
+
(id) =>
|
|
74
|
+
(ACTIONS_SUPPORTED_CHAIN_IDS as readonly number[]).includes(id) &&
|
|
75
|
+
(configuredChains as number[]).includes(id),
|
|
76
|
+
)
|
|
65
77
|
}
|
|
66
78
|
|
|
67
79
|
/**
|
|
@@ -77,7 +89,6 @@ export abstract class LendProvider<
|
|
|
77
89
|
throw new Error('walletAddress is required')
|
|
78
90
|
}
|
|
79
91
|
|
|
80
|
-
this.validateProviderSupported(params.marketId.chainId)
|
|
81
92
|
this.validateConfigSupported(params.marketId)
|
|
82
93
|
|
|
83
94
|
// Convert human-readable amount to wei using the asset's decimals
|
|
@@ -105,7 +116,6 @@ export abstract class LendProvider<
|
|
|
105
116
|
chainId: params.chainId,
|
|
106
117
|
}
|
|
107
118
|
|
|
108
|
-
this.validateProviderSupported(params.chainId)
|
|
109
119
|
this.validateConfigSupported(marketId)
|
|
110
120
|
return this._getMarket(marketId)
|
|
111
121
|
}
|
|
@@ -117,7 +127,7 @@ export abstract class LendProvider<
|
|
|
117
127
|
*/
|
|
118
128
|
async getMarkets(params: GetLendMarketsParams = {}): Promise<LendMarket[]> {
|
|
119
129
|
if (params.chainId !== undefined)
|
|
120
|
-
|
|
130
|
+
validateChainSupported(params.chainId, this.supportedChainIds())
|
|
121
131
|
|
|
122
132
|
const filteredMarkets = this.filterMarketConfigs(
|
|
123
133
|
params.chainId,
|
|
@@ -156,7 +166,6 @@ export abstract class LendProvider<
|
|
|
156
166
|
)
|
|
157
167
|
}
|
|
158
168
|
|
|
159
|
-
this.validateProviderSupported(marketId.chainId)
|
|
160
169
|
this.validateConfigSupported(marketId)
|
|
161
170
|
|
|
162
171
|
return this._getPosition({ marketId, walletAddress })
|
|
@@ -176,7 +185,6 @@ export abstract class LendProvider<
|
|
|
176
185
|
throw new Error('walletAddress is required')
|
|
177
186
|
}
|
|
178
187
|
|
|
179
|
-
this.validateProviderSupported(params.marketId.chainId)
|
|
180
188
|
this.validateConfigSupported(params.marketId)
|
|
181
189
|
|
|
182
190
|
const market = await this.getMarket({
|
|
@@ -214,20 +222,7 @@ export abstract class LendProvider<
|
|
|
214
222
|
* @returns true if chain is supported, false otherwise
|
|
215
223
|
*/
|
|
216
224
|
protected isChainSupported(chainId: number): boolean {
|
|
217
|
-
return this.
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
/**
|
|
221
|
-
* Validate that a chainId is supported for lending operations
|
|
222
|
-
* @param chainId - Chain ID to validate
|
|
223
|
-
* @throws Error if chain is not supported
|
|
224
|
-
*/
|
|
225
|
-
protected validateProviderSupported(chainId: number): void {
|
|
226
|
-
if (!this.isChainSupported(chainId)) {
|
|
227
|
-
throw new Error(
|
|
228
|
-
`Chain ${chainId} is not supported. Supported chains: ${this.SUPPORTED_CHAIN_IDS.join(', ')}`,
|
|
229
|
-
)
|
|
230
|
-
}
|
|
225
|
+
return this.supportedChainIds().includes(chainId)
|
|
231
226
|
}
|
|
232
227
|
|
|
233
228
|
/**
|
|
@@ -236,6 +231,8 @@ export abstract class LendProvider<
|
|
|
236
231
|
* @throws Error if market allowlist is configured but market is not in it
|
|
237
232
|
*/
|
|
238
233
|
protected validateConfigSupported(marketId: LendMarketId): void {
|
|
234
|
+
validateChainSupported(marketId.chainId, this.supportedChainIds())
|
|
235
|
+
|
|
239
236
|
if (
|
|
240
237
|
!this._config.marketAllowlist ||
|
|
241
238
|
this._config.marketAllowlist.length === 0
|
|
@@ -287,17 +284,7 @@ export abstract class LendProvider<
|
|
|
287
284
|
spender: Address,
|
|
288
285
|
amount: bigint,
|
|
289
286
|
): TransactionData {
|
|
290
|
-
|
|
291
|
-
abi: erc20Abi,
|
|
292
|
-
functionName: 'approve',
|
|
293
|
-
args: [spender, amount],
|
|
294
|
-
})
|
|
295
|
-
|
|
296
|
-
return {
|
|
297
|
-
to: tokenAddress,
|
|
298
|
-
data: approvalCallData,
|
|
299
|
-
value: 0n,
|
|
300
|
-
}
|
|
287
|
+
return buildErc20ApprovalTx(tokenAddress, spender, amount)
|
|
301
288
|
}
|
|
302
289
|
|
|
303
290
|
/**
|
|
@@ -4,13 +4,10 @@ import { describe, expect, it } from 'vitest'
|
|
|
4
4
|
import { MockUSDCAsset } from '@/__mocks__/MockAssets.js'
|
|
5
5
|
import { MockLendProvider } from '@/lend/__mocks__/MockLendProvider.js'
|
|
6
6
|
import type { LendMarketConfig, LendMarketId } from '@/types/lend/index.js'
|
|
7
|
+
import { validateChainSupported } from '@/utils/validation.js'
|
|
7
8
|
|
|
8
9
|
// Test helper class that exposes protected validation methods as public
|
|
9
10
|
class TestLendProvider extends MockLendProvider {
|
|
10
|
-
public validateProviderSupported(chainId: number): void {
|
|
11
|
-
return super.validateProviderSupported(chainId)
|
|
12
|
-
}
|
|
13
|
-
|
|
14
11
|
public validateConfigSupported(marketId: LendMarketId): void {
|
|
15
12
|
return super.validateConfigSupported(marketId)
|
|
16
13
|
}
|
|
@@ -186,7 +183,7 @@ describe('LendProvider', () => {
|
|
|
186
183
|
const provider = new TestLendProvider()
|
|
187
184
|
|
|
188
185
|
expect(() => {
|
|
189
|
-
provider.
|
|
186
|
+
validateChainSupported(999, provider.supportedChainIds())
|
|
190
187
|
}).toThrow('Chain 999 is not supported')
|
|
191
188
|
})
|
|
192
189
|
|
|
@@ -1,18 +1,14 @@
|
|
|
1
|
-
import type { LendProvider } from '@/lend/core/LendProvider.js'
|
|
2
1
|
import type { AaveLendProvider } from '@/lend/providers/aave/AaveLendProvider.js'
|
|
3
2
|
import type { MorphoLendProvider } from '@/lend/providers/morpho/MorphoLendProvider.js'
|
|
4
|
-
import type { LendProviderConfig } from '@/types/actions.js'
|
|
5
3
|
import type {
|
|
6
4
|
GetLendMarketParams,
|
|
7
5
|
GetLendMarketsParams,
|
|
8
6
|
LendMarket,
|
|
9
7
|
LendMarketId,
|
|
10
8
|
} from '@/types/lend/index.js'
|
|
9
|
+
import type { LendProviders } from '@/types/providers.js'
|
|
11
10
|
|
|
12
|
-
export type LendProviders
|
|
13
|
-
morpho?: LendProvider<LendProviderConfig>
|
|
14
|
-
aave?: LendProvider<LendProviderConfig>
|
|
15
|
-
}
|
|
11
|
+
export type { LendProviders } from '@/types/providers.js'
|
|
16
12
|
|
|
17
13
|
/**
|
|
18
14
|
* Base Lend Namespace
|
|
@@ -3,8 +3,13 @@ import { beforeEach, describe, expect, it, vi } from 'vitest'
|
|
|
3
3
|
|
|
4
4
|
import { getRandomAddress } from '@/__mocks__/utils.js'
|
|
5
5
|
import type { MockLendProvider } from '@/lend/__mocks__/MockLendProvider.js'
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
createMockLendProvider,
|
|
8
|
+
MockLendProvider as MockLendProviderClass,
|
|
9
|
+
} from '@/lend/__mocks__/MockLendProvider.js'
|
|
7
10
|
import { BaseLendNamespace } from '@/lend/namespaces/BaseLendNamespace.js'
|
|
11
|
+
import { MockChainManager } from '@/services/__mocks__/MockChainManager.js'
|
|
12
|
+
import type { ChainManager } from '@/services/ChainManager.js'
|
|
8
13
|
|
|
9
14
|
// Concrete implementation for testing
|
|
10
15
|
class TestLendNamespace extends BaseLendNamespace {}
|
|
@@ -109,10 +114,12 @@ describe('BaseLendNamespace', () => {
|
|
|
109
114
|
|
|
110
115
|
describe('supportedChainIds', () => {
|
|
111
116
|
it('should return unique chain IDs from all providers', () => {
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
})
|
|
117
|
+
const chainManager = new MockChainManager({
|
|
118
|
+
supportedChains: [1, 130, 8453, 84532],
|
|
119
|
+
}) as unknown as ChainManager
|
|
120
|
+
const morpho = new MockLendProviderClass({}, undefined, chainManager)
|
|
121
|
+
const aave = new MockLendProviderClass({}, undefined, chainManager)
|
|
122
|
+
const namespace = new TestLendNamespace({ morpho, aave })
|
|
116
123
|
|
|
117
124
|
const chainIds = namespace.supportedChainIds()
|
|
118
125
|
|
|
@@ -25,18 +25,14 @@ import {
|
|
|
25
25
|
} from './addresses.js'
|
|
26
26
|
import { getATokenAddress, getReserve, getReserves } from './sdk.js'
|
|
27
27
|
|
|
28
|
-
/**
|
|
29
|
-
* Supported chain IDs for Aave lending
|
|
30
|
-
* @description Array of chain IDs where Aave V3 is available on Optimism Superchain
|
|
31
|
-
*/
|
|
32
|
-
export const SUPPORTED_CHAIN_IDS = getSupportedChainIds() as readonly number[]
|
|
33
|
-
|
|
34
28
|
/**
|
|
35
29
|
* Aave lending provider implementation
|
|
36
30
|
* @description Lending provider implementation using Aave V3 protocol
|
|
37
31
|
*/
|
|
38
32
|
export class AaveLendProvider extends LendProvider<LendProviderConfig> {
|
|
39
|
-
|
|
33
|
+
protocolSupportedChainIds(): number[] {
|
|
34
|
+
return getSupportedChainIds()
|
|
35
|
+
}
|
|
40
36
|
|
|
41
37
|
/**
|
|
42
38
|
* Create a new Aave lending provider
|
|
@@ -88,22 +88,31 @@ describe('AaveLendProvider', () => {
|
|
|
88
88
|
})
|
|
89
89
|
})
|
|
90
90
|
|
|
91
|
-
describe('
|
|
92
|
-
it('should return
|
|
93
|
-
const chainIds = provider.
|
|
91
|
+
describe('protocolSupportedChainIds', () => {
|
|
92
|
+
it('should return all Aave V3 deployment chains', () => {
|
|
93
|
+
const chainIds = provider.protocolSupportedChainIds()
|
|
94
94
|
|
|
95
|
-
expect(chainIds).toHaveLength(
|
|
95
|
+
expect(chainIds).toHaveLength(6)
|
|
96
96
|
expect(chainIds).toContain(10) // Optimism
|
|
97
97
|
expect(chainIds).toContain(8453) // Base
|
|
98
|
+
expect(chainIds).toContain(1868) // Soneium
|
|
99
|
+
expect(chainIds).toContain(57073) // Ink
|
|
98
100
|
expect(chainIds).toContain(11155420) // Optimism Sepolia
|
|
99
101
|
expect(chainIds).toContain(84532) // Base Sepolia
|
|
100
102
|
})
|
|
103
|
+
})
|
|
101
104
|
|
|
102
|
-
|
|
105
|
+
describe('supportedChainIds', () => {
|
|
106
|
+
it('should return only chains present in ActionsConfig', () => {
|
|
107
|
+
// mockChainManager is configured with supportedChains: [8453]
|
|
103
108
|
const chainIds = provider.supportedChainIds()
|
|
104
|
-
const uniqueIds = [...new Set(chainIds)]
|
|
105
109
|
|
|
106
|
-
expect(chainIds
|
|
110
|
+
expect(chainIds).toEqual([8453])
|
|
111
|
+
})
|
|
112
|
+
|
|
113
|
+
it('should return unique chain IDs', () => {
|
|
114
|
+
const chainIds = provider.supportedChainIds()
|
|
115
|
+
expect(chainIds.length).toBe(new Set(chainIds).size)
|
|
107
116
|
})
|
|
108
117
|
})
|
|
109
118
|
|
|
@@ -1,95 +1,113 @@
|
|
|
1
1
|
import type { Address } from 'viem'
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
base,
|
|
4
|
+
baseSepolia,
|
|
5
|
+
ink,
|
|
6
|
+
optimism,
|
|
7
|
+
optimismSepolia,
|
|
8
|
+
soneium,
|
|
9
|
+
} from 'viem/chains'
|
|
3
10
|
|
|
4
|
-
|
|
5
|
-
* Aave V3 Pool addresses for Optimism Superchain networks
|
|
6
|
-
* @description Hardcoded Pool contract addresses for each supported chain
|
|
7
|
-
*/
|
|
11
|
+
import type { SupportedChainId } from '@/constants/supportedChains.js'
|
|
8
12
|
|
|
9
13
|
/**
|
|
10
|
-
*
|
|
14
|
+
* Aave V3 contract addresses per chain
|
|
11
15
|
*/
|
|
12
|
-
export
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
export interface AaveAddresses {
|
|
17
|
+
pool: Address
|
|
18
|
+
wethGateway: Address
|
|
19
|
+
uiPoolDataProvider: Address
|
|
20
|
+
poolAddressesProvider: Address
|
|
21
|
+
}
|
|
16
22
|
|
|
17
23
|
/**
|
|
18
|
-
*
|
|
24
|
+
* Aave V3 contract addresses for OP Stack chains
|
|
25
|
+
* @see https://github.com/bgd-labs/aave-address-book
|
|
19
26
|
*/
|
|
20
|
-
|
|
21
|
-
[
|
|
22
|
-
|
|
23
|
-
|
|
27
|
+
const AAVE_ADDRESSES: Partial<Record<SupportedChainId, AaveAddresses>> = {
|
|
28
|
+
[optimism.id]: {
|
|
29
|
+
pool: '0x794a61358D6845594F94dc1DB02A252b5b4814aD',
|
|
30
|
+
wethGateway: '0x5f2508cAE9923b02316254026CD43d7902866725',
|
|
31
|
+
uiPoolDataProvider: '0x69FA688f1Dc47d4B5d8029D5a35FB7a548310654',
|
|
32
|
+
poolAddressesProvider: '0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb',
|
|
33
|
+
},
|
|
34
|
+
[base.id]: {
|
|
35
|
+
pool: '0xA238Dd80C259a72e81d7e4664a9801593F98d1c5',
|
|
36
|
+
wethGateway: '0xa0d9C1E9E48Ca30c8d8C3B5D69FF5dc1f6DFfC24',
|
|
37
|
+
uiPoolDataProvider: '0xd82a47fdebB5bf5329b09441C3DaB4b5df2153Ad',
|
|
38
|
+
poolAddressesProvider: '0xe20fCBdBfFC4Dd138cE8b2E6FBb6CB49777ad64D',
|
|
39
|
+
},
|
|
40
|
+
[soneium.id]: {
|
|
41
|
+
pool: '0xDd3d7A7d03D9fD9ef45f3E587287922eF65CA38B',
|
|
42
|
+
wethGateway: '0x6376D4df995f32f308f2d5049a7a320943023232',
|
|
43
|
+
uiPoolDataProvider: '0xc69299Ddd3a704F6954c8Ae1AD00e0892d77Aee4',
|
|
44
|
+
poolAddressesProvider: '0x82405D1a189bd6cE4667809C35B37fBE136A4c5B',
|
|
45
|
+
},
|
|
46
|
+
[ink.id]: {
|
|
47
|
+
pool: '0x2816cf15F6d2A220E789aA011D5EE4eB6c47FEbA',
|
|
48
|
+
wethGateway: '0xDe090EfCD6ef4b86792e2D84E55a5fa8d49D25D2',
|
|
49
|
+
uiPoolDataProvider: '0xF1485fb7DBFa5db0B368FeA808FD6ff945c36064',
|
|
50
|
+
poolAddressesProvider: '0x4172E6aAEC070ACB31aaCE343A58c93E4C70f44D',
|
|
51
|
+
},
|
|
52
|
+
[optimismSepolia.id]: {
|
|
53
|
+
pool: '0xb50201558b00496a145fe76f7424749556e326d8',
|
|
54
|
+
wethGateway: '0x589750BA8aF186cE5B55391B0b7148cAD43a1619',
|
|
55
|
+
uiPoolDataProvider: '0x86E2938daE289763D4e09a7e42c5cCcA62Cf9809',
|
|
56
|
+
poolAddressesProvider: '0x36616cf17557639614c1cdDb356b1B83fc0B2132',
|
|
57
|
+
},
|
|
58
|
+
[baseSepolia.id]: {
|
|
59
|
+
pool: '0x8bAB6d1b75f19e9eD9fCe8b9BD338844fF79aE27',
|
|
60
|
+
wethGateway: '0x0568130e794429D2eEBC4dafE18f25Ff1a1ed8b6',
|
|
61
|
+
uiPoolDataProvider: '0xBc9f5b7E248451CdD7cA54e717a2BFe1F32b566b',
|
|
62
|
+
poolAddressesProvider: '0xE4C23309117Aa30342BFaae6c95c6478e0A4Ad00',
|
|
63
|
+
},
|
|
64
|
+
}
|
|
24
65
|
|
|
25
66
|
/**
|
|
26
|
-
*
|
|
67
|
+
* Get all Aave addresses for a chain
|
|
27
68
|
*/
|
|
28
|
-
export
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
} as const
|
|
69
|
+
export function getAaveAddresses(chainId: number): AaveAddresses | undefined {
|
|
70
|
+
return AAVE_ADDRESSES[chainId as SupportedChainId]
|
|
71
|
+
}
|
|
32
72
|
|
|
33
73
|
/**
|
|
34
74
|
* Get Pool address for a given chain ID
|
|
35
|
-
* @param chainId - Chain ID
|
|
36
|
-
* @returns Pool address if supported, undefined otherwise
|
|
37
75
|
*/
|
|
38
76
|
export function getPoolAddress(chainId: number): Address | undefined {
|
|
39
|
-
return
|
|
77
|
+
return getAaveAddresses(chainId)?.pool
|
|
40
78
|
}
|
|
41
79
|
|
|
42
80
|
/**
|
|
43
|
-
*
|
|
44
|
-
* @param chainId - Chain ID to check
|
|
45
|
-
* @returns true if Aave V3 is deployed on this chain
|
|
81
|
+
* Get WETHGateway address for a given chain ID
|
|
46
82
|
*/
|
|
47
|
-
export function
|
|
48
|
-
return chainId
|
|
83
|
+
export function getWETHGatewayAddress(chainId: number): Address | undefined {
|
|
84
|
+
return getAaveAddresses(chainId)?.wethGateway
|
|
49
85
|
}
|
|
50
86
|
|
|
51
87
|
/**
|
|
52
88
|
* Get all supported chain IDs
|
|
53
|
-
* @returns Array of chain IDs with Aave V3 deployed
|
|
54
89
|
*/
|
|
55
90
|
export function getSupportedChainIds(): number[] {
|
|
56
|
-
return Object.keys(
|
|
91
|
+
return Object.keys(AAVE_ADDRESSES).map(Number)
|
|
57
92
|
}
|
|
58
93
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
94
|
+
export const POOL_ADDRESSES_MAINNET: Record<number, Address> = {
|
|
95
|
+
[optimism.id]: AAVE_ADDRESSES[optimism.id]!.pool,
|
|
96
|
+
[base.id]: AAVE_ADDRESSES[base.id]!.pool,
|
|
97
|
+
[soneium.id]: AAVE_ADDRESSES[soneium.id]!.pool,
|
|
98
|
+
[ink.id]: AAVE_ADDRESSES[ink.id]!.pool,
|
|
99
|
+
}
|
|
100
|
+
export const POOL_ADDRESSES_TESTNET: Record<number, Address> = {
|
|
101
|
+
[optimismSepolia.id]: AAVE_ADDRESSES[optimismSepolia.id]!.pool,
|
|
102
|
+
[baseSepolia.id]: AAVE_ADDRESSES[baseSepolia.id]!.pool,
|
|
103
|
+
}
|
|
67
104
|
export const WETH_GATEWAY_ADDRESSES_MAINNET: Record<number, Address> = {
|
|
68
|
-
[optimism.id]:
|
|
69
|
-
[base.id]:
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
* Testnet WETHGateway addresses
|
|
74
|
-
*/
|
|
105
|
+
[optimism.id]: AAVE_ADDRESSES[optimism.id]!.wethGateway,
|
|
106
|
+
[base.id]: AAVE_ADDRESSES[base.id]!.wethGateway,
|
|
107
|
+
[soneium.id]: AAVE_ADDRESSES[soneium.id]!.wethGateway,
|
|
108
|
+
[ink.id]: AAVE_ADDRESSES[ink.id]!.wethGateway,
|
|
109
|
+
}
|
|
75
110
|
export const WETH_GATEWAY_ADDRESSES_TESTNET: Record<number, Address> = {
|
|
76
|
-
[optimismSepolia.id]:
|
|
77
|
-
[baseSepolia.id]:
|
|
78
|
-
} as const
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* All WETHGateway addresses (mainnet + testnet)
|
|
82
|
-
*/
|
|
83
|
-
export const WETH_GATEWAY_ADDRESSES: Record<number, Address> = {
|
|
84
|
-
...WETH_GATEWAY_ADDRESSES_MAINNET,
|
|
85
|
-
...WETH_GATEWAY_ADDRESSES_TESTNET,
|
|
86
|
-
} as const
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Get WETHGateway address for a given chain ID
|
|
90
|
-
* @param chainId - Chain ID
|
|
91
|
-
* @returns WETHGateway address if supported, undefined otherwise
|
|
92
|
-
*/
|
|
93
|
-
export function getWETHGatewayAddress(chainId: number): Address | undefined {
|
|
94
|
-
return WETH_GATEWAY_ADDRESSES[chainId]
|
|
111
|
+
[optimismSepolia.id]: AAVE_ADDRESSES[optimismSepolia.id]!.wethGateway,
|
|
112
|
+
[baseSepolia.id]: AAVE_ADDRESSES[baseSepolia.id]!.wethGateway,
|
|
95
113
|
}
|