@eth-optimism/actions-sdk 0.4.0 → 0.6.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/__tests__/actions.test.js +1 -1
- package/dist/__tests__/actions.test.js.map +1 -1
- package/dist/{lend → actions/lend}/__mocks__/MockLendProvider.d.ts +6 -6
- package/dist/actions/lend/__mocks__/MockLendProvider.d.ts.map +1 -0
- package/dist/{lend → actions/lend}/__mocks__/MockLendProvider.js +20 -7
- package/dist/actions/lend/__mocks__/MockLendProvider.js.map +1 -0
- package/dist/{lend → actions/lend}/__mocks__/MockMarkets.d.ts +1 -1
- package/dist/actions/lend/__mocks__/MockMarkets.d.ts.map +1 -0
- package/dist/{lend → actions/lend}/__mocks__/MockMarkets.js +1 -1
- package/dist/actions/lend/__mocks__/MockMarkets.js.map +1 -0
- package/dist/{lend → actions/lend}/__mocks__/mockLendTransaction.d.ts +2 -2
- package/dist/actions/lend/__mocks__/mockLendTransaction.d.ts.map +1 -0
- package/dist/{lend → actions/lend}/__mocks__/mockLendTransaction.js +1 -1
- package/dist/actions/lend/__mocks__/mockLendTransaction.js.map +1 -0
- package/dist/{lend → actions/lend}/core/LendProvider.d.ts +38 -22
- package/dist/actions/lend/core/LendProvider.d.ts.map +1 -0
- package/dist/{lend → actions/lend}/core/LendProvider.js +61 -22
- package/dist/actions/lend/core/LendProvider.js.map +1 -0
- package/dist/actions/lend/core/__tests__/LendProvider.test.d.ts.map +1 -0
- package/dist/{lend → actions/lend}/core/__tests__/LendProvider.test.js +57 -3
- package/dist/actions/lend/core/__tests__/LendProvider.test.js.map +1 -0
- package/dist/actions/lend/index.d.ts.map +1 -0
- package/dist/actions/lend/index.js.map +1 -0
- package/dist/actions/lend/namespaces/ActionsLendNamespace.d.ts.map +1 -0
- package/dist/actions/lend/namespaces/ActionsLendNamespace.js.map +1 -0
- package/dist/actions/lend/namespaces/BaseLendNamespace.d.ts +33 -0
- package/dist/actions/lend/namespaces/BaseLendNamespace.d.ts.map +1 -0
- package/dist/{lend → actions/lend}/namespaces/BaseLendNamespace.js +11 -24
- package/dist/actions/lend/namespaces/BaseLendNamespace.js.map +1 -0
- package/dist/{lend → actions/lend}/namespaces/WalletLendNamespace.d.ts +8 -11
- package/dist/actions/lend/namespaces/WalletLendNamespace.d.ts.map +1 -0
- package/dist/{lend → actions/lend}/namespaces/WalletLendNamespace.js +13 -15
- package/dist/actions/lend/namespaces/WalletLendNamespace.js.map +1 -0
- package/dist/actions/lend/namespaces/__tests__/ActionsLendNamespace.spec.d.ts.map +1 -0
- package/dist/{lend → actions/lend}/namespaces/__tests__/ActionsLendNamespace.spec.js +1 -1
- package/dist/actions/lend/namespaces/__tests__/ActionsLendNamespace.spec.js.map +1 -0
- package/dist/actions/lend/namespaces/__tests__/BaseLendNamespace.spec.d.ts.map +1 -0
- package/dist/{lend → actions/lend}/namespaces/__tests__/BaseLendNamespace.spec.js +2 -2
- package/dist/actions/lend/namespaces/__tests__/BaseLendNamespace.spec.js.map +1 -0
- package/dist/actions/lend/namespaces/__tests__/WalletLendNamespace.spec.d.ts.map +1 -0
- package/dist/{lend → actions/lend}/namespaces/__tests__/WalletLendNamespace.spec.js +5 -5
- package/dist/actions/lend/namespaces/__tests__/WalletLendNamespace.spec.js.map +1 -0
- package/dist/{lend → actions/lend}/providers/aave/AaveLendProvider.d.ts +18 -20
- package/dist/actions/lend/providers/aave/AaveLendProvider.d.ts.map +1 -0
- package/dist/{lend → actions/lend}/providers/aave/AaveLendProvider.js +56 -54
- package/dist/actions/lend/providers/aave/AaveLendProvider.js.map +1 -0
- package/dist/{lend → actions/lend}/providers/aave/__mocks__/mockReserve.d.ts +1 -1
- package/dist/actions/lend/providers/aave/__mocks__/mockReserve.d.ts.map +1 -0
- package/dist/actions/lend/providers/aave/__mocks__/mockReserve.js.map +1 -0
- package/dist/actions/lend/providers/aave/__tests__/AaveLendProvider.test.d.ts.map +1 -0
- package/dist/{lend → actions/lend}/providers/aave/__tests__/AaveLendProvider.test.js +4 -4
- package/dist/actions/lend/providers/aave/__tests__/AaveLendProvider.test.js.map +1 -0
- package/dist/actions/lend/providers/aave/abis/pool.d.ts.map +1 -0
- package/dist/actions/lend/providers/aave/abis/pool.js.map +1 -0
- package/dist/actions/lend/providers/aave/addresses.d.ts.map +1 -0
- package/dist/actions/lend/providers/aave/addresses.js.map +1 -0
- package/dist/{lend → actions/lend}/providers/aave/sdk.d.ts +4 -4
- package/dist/actions/lend/providers/aave/sdk.d.ts.map +1 -0
- package/dist/{lend → actions/lend}/providers/aave/sdk.js +10 -5
- package/dist/actions/lend/providers/aave/sdk.js.map +1 -0
- package/dist/{lend → actions/lend}/providers/morpho/MorphoLendProvider.d.ts +18 -14
- package/dist/actions/lend/providers/morpho/MorphoLendProvider.d.ts.map +1 -0
- package/dist/{lend → actions/lend}/providers/morpho/MorphoLendProvider.js +48 -44
- package/dist/actions/lend/providers/morpho/MorphoLendProvider.js.map +1 -0
- package/dist/actions/lend/providers/morpho/__mocks__/mockVault.d.ts.map +1 -0
- package/dist/actions/lend/providers/morpho/__mocks__/mockVault.js.map +1 -0
- package/dist/actions/lend/providers/morpho/__tests__/MorphoLendProvider.test.d.ts.map +1 -0
- package/dist/{lend → actions/lend}/providers/morpho/__tests__/MorphoLendProvider.test.js +58 -3
- package/dist/actions/lend/providers/morpho/__tests__/MorphoLendProvider.test.js.map +1 -0
- package/dist/actions/lend/providers/morpho/__tests__/api.test.d.ts.map +1 -0
- package/dist/{lend → actions/lend}/providers/morpho/__tests__/api.test.js +2 -2
- package/dist/actions/lend/providers/morpho/__tests__/api.test.js.map +1 -0
- package/dist/actions/lend/providers/morpho/__tests__/sdk.test.d.ts.map +1 -0
- package/dist/{lend → actions/lend}/providers/morpho/__tests__/sdk.test.js +1 -1
- package/dist/actions/lend/providers/morpho/__tests__/sdk.test.js.map +1 -0
- package/dist/actions/lend/providers/morpho/api.d.ts.map +1 -0
- package/dist/actions/lend/providers/morpho/api.js.map +1 -0
- package/dist/{lend → actions/lend}/providers/morpho/sdk.d.ts +4 -4
- package/dist/actions/lend/providers/morpho/sdk.d.ts.map +1 -0
- package/dist/{lend → actions/lend}/providers/morpho/sdk.js +18 -7
- package/dist/actions/lend/providers/morpho/sdk.js.map +1 -0
- package/dist/actions/lend/utils/markets.d.ts +26 -0
- package/dist/actions/lend/utils/markets.d.ts.map +1 -0
- package/dist/actions/lend/utils/markets.js +44 -0
- package/dist/actions/lend/utils/markets.js.map +1 -0
- package/dist/actions/shared/BaseNamespace.d.ts +29 -0
- package/dist/actions/shared/BaseNamespace.d.ts.map +1 -0
- package/dist/actions/shared/BaseNamespace.js +31 -0
- package/dist/actions/shared/BaseNamespace.js.map +1 -0
- package/dist/actions/shared/__tests__/BaseNamespace.spec.d.ts +2 -0
- package/dist/actions/shared/__tests__/BaseNamespace.spec.d.ts.map +1 -0
- package/dist/actions/shared/__tests__/BaseNamespace.spec.js +42 -0
- package/dist/actions/shared/__tests__/BaseNamespace.spec.js.map +1 -0
- package/dist/{lend/providers → actions/shared}/morpho/contracts.d.ts +1 -1
- package/dist/actions/shared/morpho/contracts.d.ts.map +1 -0
- package/dist/{lend/providers → actions/shared}/morpho/contracts.js.map +1 -1
- package/dist/{types/lend/contracts.d.ts → actions/shared/morpho/types.d.ts} +2 -2
- package/dist/actions/shared/morpho/types.d.ts.map +1 -0
- package/dist/actions/shared/morpho/types.js.map +1 -0
- package/dist/{swap → actions/swap}/__mocks__/MockSwapProvider.d.ts +7 -6
- package/dist/actions/swap/__mocks__/MockSwapProvider.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/__mocks__/MockSwapProvider.js +5 -2
- package/dist/actions/swap/__mocks__/MockSwapProvider.js.map +1 -0
- package/dist/{swap → actions/swap}/core/SwapProvider.d.ts +33 -18
- package/dist/actions/swap/core/SwapProvider.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/core/SwapProvider.js +59 -44
- package/dist/actions/swap/core/SwapProvider.js.map +1 -0
- package/dist/actions/swap/core/__tests__/SwapProvider.test.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/core/__tests__/SwapProvider.test.js +39 -0
- package/dist/actions/swap/core/__tests__/SwapProvider.test.js.map +1 -0
- package/dist/{swap → actions/swap}/core/markets.d.ts +3 -3
- package/dist/actions/swap/core/markets.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/core/markets.js +2 -1
- package/dist/actions/swap/core/markets.js.map +1 -0
- package/dist/actions/swap/index.d.ts.map +1 -0
- package/dist/actions/swap/index.js.map +1 -0
- package/dist/actions/swap/namespaces/ActionsSwapNamespace.d.ts.map +1 -0
- package/dist/actions/swap/namespaces/ActionsSwapNamespace.js.map +1 -0
- package/dist/{swap → actions/swap}/namespaces/BaseSwapNamespace.d.ts +27 -28
- package/dist/actions/swap/namespaces/BaseSwapNamespace.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/namespaces/BaseSwapNamespace.js +73 -69
- package/dist/actions/swap/namespaces/BaseSwapNamespace.js.map +1 -0
- package/dist/actions/swap/namespaces/WalletSwapNamespace.d.ts +56 -0
- package/dist/actions/swap/namespaces/WalletSwapNamespace.d.ts.map +1 -0
- package/dist/actions/swap/namespaces/WalletSwapNamespace.js +109 -0
- package/dist/actions/swap/namespaces/WalletSwapNamespace.js.map +1 -0
- package/dist/actions/swap/namespaces/__tests__/BaseSwapNamespace.spec.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/namespaces/__tests__/BaseSwapNamespace.spec.js +6 -6
- package/dist/actions/swap/namespaces/__tests__/BaseSwapNamespace.spec.js.map +1 -0
- package/dist/actions/swap/namespaces/__tests__/WalletSwapNamespace.spec.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/namespaces/__tests__/WalletSwapNamespace.spec.js +83 -19
- package/dist/actions/swap/namespaces/__tests__/WalletSwapNamespace.spec.js.map +1 -0
- package/dist/{swap → actions/swap}/providers/uniswap/UniswapSwapProvider.d.ts +9 -5
- package/dist/actions/swap/providers/uniswap/UniswapSwapProvider.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/providers/uniswap/UniswapSwapProvider.js +14 -5
- package/dist/actions/swap/providers/uniswap/UniswapSwapProvider.js.map +1 -0
- package/dist/actions/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/providers/uniswap/__tests__/UniswapSwapProvider.test.js +1 -1
- package/dist/actions/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js.map +1 -0
- package/dist/actions/swap/providers/uniswap/__tests__/sdk.test.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/providers/uniswap/__tests__/sdk.test.js +47 -1
- package/dist/actions/swap/providers/uniswap/__tests__/sdk.test.js.map +1 -0
- package/dist/actions/swap/providers/uniswap/abis.d.ts.map +1 -0
- package/dist/actions/swap/providers/uniswap/abis.js.map +1 -0
- package/dist/{swap → actions/swap}/providers/uniswap/addresses.d.ts +1 -1
- package/dist/actions/swap/providers/uniswap/addresses.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/providers/uniswap/addresses.js +6 -2
- package/dist/actions/swap/providers/uniswap/addresses.js.map +1 -0
- package/dist/{swap → actions/swap}/providers/uniswap/encoding.d.ts +3 -3
- package/dist/actions/swap/providers/uniswap/encoding.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/providers/uniswap/encoding.js +2 -2
- package/dist/actions/swap/providers/uniswap/encoding.js.map +1 -0
- package/dist/{swap → actions/swap}/providers/uniswap/markets.d.ts +3 -3
- package/dist/actions/swap/providers/uniswap/markets.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/providers/uniswap/markets.js +1 -1
- package/dist/actions/swap/providers/uniswap/markets.js.map +1 -0
- package/dist/{swap → actions/swap}/providers/uniswap/types.d.ts +1 -1
- package/dist/actions/swap/providers/uniswap/types.d.ts.map +1 -0
- package/dist/actions/swap/providers/uniswap/types.js.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/VelodromeSwapProvider.d.ts +10 -4
- package/dist/actions/swap/providers/velodrome/VelodromeSwapProvider.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/VelodromeSwapProvider.js +37 -11
- package/dist/actions/swap/providers/velodrome/VelodromeSwapProvider.js.map +1 -0
- package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts.map +1 -0
- package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js.map +1 -0
- package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js +7 -6
- package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js.map +1 -0
- package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.test.js +40 -4
- package/dist/actions/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.js.map +1 -0
- package/dist/actions/swap/providers/velodrome/__tests__/encoding.cl.test.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.cl.test.js +22 -1
- package/dist/actions/swap/providers/velodrome/__tests__/encoding.cl.test.js.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.helpers.d.ts +1 -1
- package/dist/actions/swap/providers/velodrome/__tests__/encoding.helpers.d.ts.map +1 -0
- package/dist/actions/swap/providers/velodrome/__tests__/encoding.helpers.js.map +1 -0
- package/dist/actions/swap/providers/velodrome/__tests__/encoding.v2.test.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.v2.test.js +25 -1
- package/dist/actions/swap/providers/velodrome/__tests__/encoding.v2.test.js.map +1 -0
- package/dist/actions/swap/providers/velodrome/abis.d.ts.map +1 -0
- package/dist/actions/swap/providers/velodrome/abis.js.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/addresses.d.ts +1 -1
- package/dist/actions/swap/providers/velodrome/addresses.d.ts.map +1 -0
- package/dist/actions/swap/providers/velodrome/addresses.js.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/config.d.ts +1 -1
- package/dist/actions/swap/providers/velodrome/config.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/config.js +5 -1
- package/dist/actions/swap/providers/velodrome/config.js.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/encoding/helpers.d.ts +3 -3
- package/dist/actions/swap/providers/velodrome/encoding/helpers.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/encoding/helpers.js +4 -3
- package/dist/actions/swap/providers/velodrome/encoding/helpers.js.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/encoding/index.d.ts +0 -1
- package/dist/actions/swap/providers/velodrome/encoding/index.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/encoding/index.js +0 -1
- package/dist/actions/swap/providers/velodrome/encoding/index.js.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/encoding/poolRouter.d.ts +3 -3
- package/dist/actions/swap/providers/velodrome/encoding/poolRouter.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/encoding/poolRouter.js +2 -1
- package/dist/actions/swap/providers/velodrome/encoding/poolRouter.js.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/encoding/routers/cl.d.ts +24 -3
- package/dist/actions/swap/providers/velodrome/encoding/routers/cl.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/encoding/routers/cl.js +22 -10
- package/dist/actions/swap/providers/velodrome/encoding/routers/cl.js.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/encoding/routers/v2.d.ts +23 -3
- package/dist/actions/swap/providers/velodrome/encoding/routers/v2.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/encoding/routers/v2.js +24 -13
- package/dist/actions/swap/providers/velodrome/encoding/routers/v2.js.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/markets.d.ts +3 -3
- package/dist/actions/swap/providers/velodrome/markets.d.ts.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/markets.js +4 -3
- package/dist/actions/swap/providers/velodrome/markets.js.map +1 -0
- package/dist/{swap → actions/swap}/providers/velodrome/types.d.ts +1 -1
- package/dist/actions/swap/providers/velodrome/types.d.ts.map +1 -0
- package/dist/actions/swap/providers/velodrome/types.js +2 -0
- package/dist/actions/swap/providers/velodrome/types.js.map +1 -0
- package/dist/actions.d.ts +12 -2
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +56 -22
- package/dist/actions.js.map +1 -1
- package/dist/core/error/__tests__/errors.test.d.ts +2 -0
- package/dist/core/error/__tests__/errors.test.d.ts.map +1 -0
- package/dist/core/error/__tests__/errors.test.js +195 -0
- package/dist/core/error/__tests__/errors.test.js.map +1 -0
- package/dist/core/error/errors.d.ts +131 -15
- package/dist/core/error/errors.d.ts.map +1 -1
- package/dist/core/error/errors.js +201 -17
- package/dist/core/error/errors.js.map +1 -1
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/services/ChainManager.d.ts +7 -0
- package/dist/services/ChainManager.d.ts.map +1 -1
- package/dist/services/ChainManager.js +35 -7
- package/dist/services/ChainManager.js.map +1 -1
- package/dist/services/__mocks__/MockChainManager.d.ts +1 -0
- package/dist/services/__mocks__/MockChainManager.d.ts.map +1 -1
- package/dist/services/__mocks__/MockChainManager.js +5 -0
- package/dist/services/__mocks__/MockChainManager.js.map +1 -1
- package/dist/services/__tests__/ChainManager.spec.d.ts.map +1 -0
- package/dist/services/{ChainManager.spec.js → __tests__/ChainManager.spec.js} +7 -7
- package/dist/services/__tests__/ChainManager.spec.js.map +1 -0
- package/dist/services/__tests__/tokenBalance.spec.d.ts.map +1 -0
- package/dist/services/{tokenBalance.spec.js → __tests__/tokenBalance.spec.js} +42 -5
- package/dist/services/__tests__/tokenBalance.spec.js.map +1 -0
- package/dist/services/nameservices/ens/EnsNamespace.d.ts +57 -0
- package/dist/services/nameservices/ens/EnsNamespace.d.ts.map +1 -0
- package/dist/services/nameservices/ens/EnsNamespace.js +158 -0
- package/dist/services/nameservices/ens/EnsNamespace.js.map +1 -0
- package/dist/services/nameservices/ens/__tests__/EnsNamespace.spec.d.ts +2 -0
- package/dist/services/nameservices/ens/__tests__/EnsNamespace.spec.d.ts.map +1 -0
- package/dist/services/nameservices/ens/__tests__/EnsNamespace.spec.js +144 -0
- package/dist/services/nameservices/ens/__tests__/EnsNamespace.spec.js.map +1 -0
- package/dist/services/nameservices/ens/__tests__/utils.spec.d.ts +2 -0
- package/dist/services/nameservices/ens/__tests__/utils.spec.d.ts.map +1 -0
- package/dist/services/nameservices/ens/__tests__/utils.spec.js +75 -0
- package/dist/services/nameservices/ens/__tests__/utils.spec.js.map +1 -0
- package/dist/services/nameservices/ens/errors.d.ts +24 -0
- package/dist/services/nameservices/ens/errors.d.ts.map +1 -0
- package/dist/services/nameservices/ens/errors.js +35 -0
- package/dist/services/nameservices/ens/errors.js.map +1 -0
- package/dist/services/nameservices/ens/index.d.ts +5 -0
- package/dist/services/nameservices/ens/index.d.ts.map +1 -0
- package/dist/services/nameservices/ens/index.js +5 -0
- package/dist/services/nameservices/ens/index.js.map +1 -0
- package/dist/services/nameservices/ens/types.d.ts +63 -0
- package/dist/services/nameservices/ens/types.d.ts.map +1 -0
- package/dist/services/nameservices/ens/types.js +14 -0
- package/dist/services/nameservices/ens/types.js.map +1 -0
- package/dist/services/nameservices/ens/utils.d.ts +25 -0
- package/dist/services/nameservices/ens/utils.d.ts.map +1 -0
- package/dist/services/nameservices/ens/utils.js +53 -0
- package/dist/services/nameservices/ens/utils.js.map +1 -0
- package/dist/services/tokenBalance.d.ts +8 -5
- package/dist/services/tokenBalance.d.ts.map +1 -1
- package/dist/services/tokenBalance.js +15 -8
- package/dist/services/tokenBalance.js.map +1 -1
- package/dist/types/actions.d.ts +69 -7
- package/dist/types/actions.d.ts.map +1 -1
- package/dist/types/asset.d.ts +7 -0
- package/dist/types/asset.d.ts.map +1 -1
- package/dist/types/common/FilterAssetChain.d.ts +13 -0
- package/dist/types/common/FilterAssetChain.d.ts.map +1 -0
- package/dist/types/common/FilterAssetChain.js +2 -0
- package/dist/types/common/FilterAssetChain.js.map +1 -0
- package/dist/types/common/TransactionOptions.d.ts +13 -0
- package/dist/types/common/TransactionOptions.d.ts.map +1 -0
- package/dist/types/common/TransactionOptions.js +2 -0
- package/dist/types/common/TransactionOptions.js.map +1 -0
- package/dist/types/common/index.d.ts +3 -0
- package/dist/types/common/index.d.ts.map +1 -0
- package/dist/types/common/index.js +3 -0
- package/dist/types/common/index.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/lend/base.d.ts +44 -34
- package/dist/types/lend/base.d.ts.map +1 -1
- package/dist/types/lend/base.js +3 -3
- package/dist/types/lend/base.js.map +1 -1
- package/dist/types/lend/index.d.ts +0 -1
- package/dist/types/lend/index.d.ts.map +1 -1
- package/dist/types/lend/index.js +0 -1
- package/dist/types/lend/index.js.map +1 -1
- package/dist/types/providers.d.ts +2 -2
- package/dist/types/providers.d.ts.map +1 -1
- package/dist/types/swap/base.d.ts +29 -16
- package/dist/types/swap/base.d.ts.map +1 -1
- package/dist/types/swap/base.js +3 -3
- package/dist/types/swap/base.js.map +1 -1
- package/dist/utils/__tests__/approve.test.d.ts.map +1 -0
- package/dist/utils/{approve.test.js → __tests__/approve.test.js} +40 -18
- package/dist/utils/__tests__/approve.test.js.map +1 -0
- package/dist/utils/__tests__/assets.test.d.ts.map +1 -0
- package/dist/utils/{assets.test.js → __tests__/assets.test.js} +2 -2
- package/dist/utils/__tests__/assets.test.js.map +1 -0
- package/dist/utils/__tests__/serializers.test.d.ts +2 -0
- package/dist/utils/__tests__/serializers.test.d.ts.map +1 -0
- package/dist/utils/__tests__/serializers.test.js +43 -0
- package/dist/utils/__tests__/serializers.test.js.map +1 -0
- package/dist/utils/__tests__/validateAddresses.test.d.ts.map +1 -0
- package/dist/utils/{validateAddresses.test.js → __tests__/validateAddresses.test.js} +10 -10
- package/dist/utils/__tests__/validateAddresses.test.js.map +1 -0
- package/dist/utils/abi/permit2.d.ts +48 -0
- package/dist/utils/abi/permit2.d.ts.map +1 -0
- package/dist/utils/abi/permit2.js +34 -0
- package/dist/utils/abi/permit2.js.map +1 -0
- package/dist/utils/approve.d.ts +26 -3
- package/dist/utils/approve.d.ts.map +1 -1
- package/dist/utils/approve.js +34 -37
- package/dist/utils/approve.js.map +1 -1
- package/dist/utils/assets.d.ts.map +1 -1
- package/dist/utils/assets.js +3 -2
- package/dist/utils/assets.js.map +1 -1
- package/dist/utils/serializers.d.ts +16 -0
- package/dist/utils/serializers.d.ts.map +1 -0
- package/dist/utils/serializers.js +18 -0
- package/dist/utils/serializers.js.map +1 -0
- package/dist/utils/validation.d.ts +13 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +38 -8
- package/dist/utils/validation.js.map +1 -1
- package/dist/wallet/core/error/errors.d.ts +21 -0
- package/dist/wallet/core/error/errors.d.ts.map +1 -0
- package/dist/wallet/core/error/errors.js +24 -0
- package/dist/wallet/core/error/errors.js.map +1 -0
- package/dist/wallet/core/namespace/WalletNamespace.d.ts +24 -8
- package/dist/wallet/core/namespace/WalletNamespace.d.ts.map +1 -1
- package/dist/wallet/core/namespace/WalletNamespace.js +48 -17
- package/dist/wallet/core/namespace/WalletNamespace.js.map +1 -1
- package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js +105 -10
- package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js.map +1 -1
- package/dist/wallet/core/providers/WalletProvider.d.ts +3 -2
- package/dist/wallet/core/providers/WalletProvider.d.ts.map +1 -1
- package/dist/wallet/core/providers/WalletProvider.js +8 -2
- package/dist/wallet/core/providers/WalletProvider.js.map +1 -1
- package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js +1 -1
- package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js.map +1 -1
- package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.d.ts.map +1 -1
- package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.js +2 -1
- package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.js.map +1 -1
- package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js +1 -1
- package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js.map +1 -1
- package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js +1 -1
- package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js.map +1 -1
- package/dist/wallet/core/utils/__tests__/executeTransactionBatch.spec.d.ts +2 -0
- package/dist/wallet/core/utils/__tests__/executeTransactionBatch.spec.d.ts.map +1 -0
- package/dist/wallet/core/utils/__tests__/executeTransactionBatch.spec.js +31 -0
- package/dist/wallet/core/utils/__tests__/executeTransactionBatch.spec.js.map +1 -0
- package/dist/wallet/core/utils/__tests__/retryOnStaleRead.spec.d.ts.map +1 -0
- package/dist/wallet/core/utils/__tests__/retryOnStaleRead.spec.js.map +1 -0
- package/dist/wallet/core/utils/executeTransactionBatch.d.ts +22 -0
- package/dist/wallet/core/utils/executeTransactionBatch.d.ts.map +1 -0
- package/dist/wallet/core/utils/executeTransactionBatch.js +26 -0
- package/dist/wallet/core/utils/executeTransactionBatch.js.map +1 -0
- package/dist/wallet/core/utils/retryOnStaleRead.d.ts.map +1 -0
- package/dist/wallet/core/utils/retryOnStaleRead.js.map +1 -0
- package/dist/wallet/core/wallets/abstract/Wallet.d.ts +8 -8
- package/dist/wallet/core/wallets/abstract/Wallet.d.ts.map +1 -1
- package/dist/wallet/core/wallets/abstract/Wallet.js +15 -12
- package/dist/wallet/core/wallets/abstract/Wallet.js.map +1 -1
- package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts +3 -3
- package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts.map +1 -1
- package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.js.map +1 -1
- package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js +28 -2
- package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js.map +1 -1
- package/dist/wallet/core/wallets/eoa/EOAWallet.d.ts +1 -1
- package/dist/wallet/core/wallets/eoa/EOAWallet.d.ts.map +1 -1
- package/dist/wallet/core/wallets/eoa/EOAWallet.js.map +1 -1
- package/dist/wallet/core/wallets/smart/abstract/SmartWallet.d.ts +1 -1
- package/dist/wallet/core/wallets/smart/abstract/SmartWallet.d.ts.map +1 -1
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts +1 -1
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts.map +1 -1
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js +2 -2
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js.map +1 -1
- package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js +1 -1
- package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js.map +1 -1
- package/dist/wallet/node/index.d.ts +1 -0
- package/dist/wallet/node/index.d.ts.map +1 -1
- package/dist/wallet/node/index.js +1 -0
- package/dist/wallet/node/index.js.map +1 -1
- package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +1 -1
- package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
- package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js +1 -1
- package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js.map +1 -1
- package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +1 -1
- package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
- package/dist/wallet/node/wallets/local/LocalWallet.d.ts +24 -0
- package/dist/wallet/node/wallets/local/LocalWallet.d.ts.map +1 -0
- package/dist/wallet/node/wallets/local/LocalWallet.js +21 -0
- package/dist/wallet/node/wallets/local/LocalWallet.js.map +1 -0
- package/dist/wallet/node/wallets/local/__tests__/LocalWallet.spec.d.ts +2 -0
- package/dist/wallet/node/wallets/local/__tests__/LocalWallet.spec.d.ts.map +1 -0
- package/dist/wallet/node/wallets/local/__tests__/LocalWallet.spec.js +51 -0
- package/dist/wallet/node/wallets/local/__tests__/LocalWallet.spec.js.map +1 -0
- package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js +1 -1
- package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js.map +1 -1
- package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +1 -1
- package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
- package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +1 -1
- package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
- package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js +1 -1
- package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/actions.test.ts +3 -1
- package/src/{lend → actions/lend}/__mocks__/MockLendProvider.ts +24 -9
- package/src/{lend → actions/lend}/__mocks__/mockLendTransaction.ts +2 -2
- package/src/{lend → actions/lend}/core/LendProvider.ts +123 -39
- package/src/{lend → actions/lend}/core/__tests__/LendProvider.test.ts +82 -3
- package/src/actions/lend/index.ts +3 -0
- package/src/{lend → actions/lend}/namespaces/BaseLendNamespace.ts +20 -37
- package/src/{lend → actions/lend}/namespaces/WalletLendNamespace.ts +15 -22
- package/src/{lend → actions/lend}/namespaces/__tests__/ActionsLendNamespace.spec.ts +3 -3
- package/src/{lend → actions/lend}/namespaces/__tests__/BaseLendNamespace.spec.ts +3 -3
- package/src/{lend → actions/lend}/namespaces/__tests__/WalletLendNamespace.spec.ts +6 -6
- package/src/{lend → actions/lend}/providers/aave/AaveLendProvider.ts +65 -73
- package/src/{lend → actions/lend}/providers/aave/__tests__/AaveLendProvider.test.ts +7 -7
- package/src/{lend → actions/lend}/providers/aave/sdk.ts +15 -9
- package/src/{lend → actions/lend}/providers/morpho/MorphoLendProvider.ts +67 -53
- package/src/{lend → actions/lend}/providers/morpho/__tests__/MorphoLendProvider.test.ts +79 -5
- package/src/{lend → actions/lend}/providers/morpho/__tests__/api.test.ts +3 -3
- package/src/{lend → actions/lend}/providers/morpho/__tests__/sdk.test.ts +2 -2
- package/src/{lend → actions/lend}/providers/morpho/sdk.ts +23 -12
- package/src/actions/lend/utils/markets.ts +62 -0
- package/src/actions/shared/BaseNamespace.ts +46 -0
- package/src/actions/shared/__tests__/BaseNamespace.spec.ts +58 -0
- package/src/{lend/providers → actions/shared}/morpho/contracts.ts +2 -2
- package/src/{swap → actions/swap}/__mocks__/MockSwapProvider.ts +6 -2
- package/src/{swap → actions/swap}/core/SwapProvider.ts +99 -65
- package/src/{swap → actions/swap}/core/__tests__/SwapProvider.test.ts +51 -1
- package/src/{swap → actions/swap}/core/markets.ts +2 -1
- package/src/actions/swap/index.ts +19 -0
- package/src/{swap → actions/swap}/namespaces/ActionsSwapNamespace.ts +1 -1
- package/src/{swap → actions/swap}/namespaces/BaseSwapNamespace.ts +127 -109
- package/src/actions/swap/namespaces/WalletSwapNamespace.ts +154 -0
- package/src/{swap → actions/swap}/namespaces/__tests__/BaseSwapNamespace.spec.ts +10 -6
- package/src/{swap → actions/swap}/namespaces/__tests__/WalletSwapNamespace.spec.ts +110 -22
- package/src/{swap → actions/swap}/providers/uniswap/UniswapSwapProvider.ts +37 -15
- package/src/{swap → actions/swap}/providers/uniswap/__tests__/UniswapSwapProvider.test.ts +2 -2
- package/src/{swap → actions/swap}/providers/uniswap/__tests__/sdk.test.ts +65 -3
- package/src/{swap → actions/swap}/providers/uniswap/addresses.ts +5 -1
- package/src/{swap → actions/swap}/providers/uniswap/encoding.ts +3 -3
- package/src/{swap → actions/swap}/providers/uniswap/markets.ts +2 -2
- package/src/{swap → actions/swap}/providers/velodrome/VelodromeSwapProvider.ts +74 -32
- package/src/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.ts +2 -2
- package/src/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.ts +8 -7
- package/src/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.test.ts +47 -5
- package/src/{swap → actions/swap}/providers/velodrome/__tests__/encoding.cl.test.ts +31 -2
- package/src/{swap → actions/swap}/providers/velodrome/__tests__/encoding.v2.test.ts +34 -3
- package/src/{swap → actions/swap}/providers/velodrome/config.ts +5 -1
- package/src/{swap → actions/swap}/providers/velodrome/encoding/helpers.ts +3 -2
- package/src/{swap → actions/swap}/providers/velodrome/encoding/index.ts +0 -1
- package/src/{swap → actions/swap}/providers/velodrome/encoding/poolRouter.ts +4 -3
- package/src/{swap → actions/swap}/providers/velodrome/encoding/routers/cl.ts +31 -23
- package/src/{swap → actions/swap}/providers/velodrome/encoding/routers/v2.ts +34 -27
- package/src/{swap → actions/swap}/providers/velodrome/markets.ts +4 -3
- package/src/actions.ts +82 -36
- package/src/core/error/__tests__/errors.test.ts +236 -0
- package/src/core/error/errors.ts +282 -22
- package/src/index.ts +25 -10
- package/src/services/ChainManager.ts +36 -9
- package/src/services/__mocks__/MockChainManager.ts +8 -0
- package/src/services/{ChainManager.spec.ts → __tests__/ChainManager.spec.ts} +6 -6
- package/src/services/{tokenBalance.spec.ts → __tests__/tokenBalance.spec.ts} +56 -1
- package/src/services/nameservices/ens/EnsNamespace.ts +210 -0
- package/src/services/nameservices/ens/__tests__/EnsNamespace.spec.ts +173 -0
- package/src/services/nameservices/ens/__tests__/utils.spec.ts +105 -0
- package/src/services/nameservices/ens/errors.ts +45 -0
- package/src/services/nameservices/ens/index.ts +17 -0
- package/src/services/nameservices/ens/types.ts +76 -0
- package/src/services/nameservices/ens/utils.ts +85 -0
- package/src/services/tokenBalance.ts +16 -7
- package/src/types/actions.ts +72 -7
- package/src/types/asset.ts +8 -0
- package/src/types/common/FilterAssetChain.ts +13 -0
- package/src/types/common/TransactionOptions.ts +12 -0
- package/src/types/common/index.ts +2 -0
- package/src/types/index.ts +1 -0
- package/src/types/lend/base.ts +48 -36
- package/src/types/lend/index.ts +0 -1
- package/src/types/providers.ts +2 -2
- package/src/types/swap/base.ts +29 -16
- package/src/utils/{approve.test.ts → __tests__/approve.test.ts} +51 -18
- package/src/utils/__tests__/serializers.test.ts +53 -0
- package/src/utils/{validateAddresses.test.ts → __tests__/validateAddresses.test.ts} +9 -9
- package/src/utils/abi/permit2.ts +33 -0
- package/src/utils/approve.ts +48 -37
- package/src/utils/assets.ts +6 -6
- package/src/utils/serializers.ts +21 -0
- package/src/utils/validation.ts +53 -15
- package/src/wallet/core/error/errors.ts +30 -0
- package/src/wallet/core/namespace/WalletNamespace.ts +82 -20
- package/src/wallet/core/namespace/__tests__/WalletNamespace.spec.ts +141 -16
- package/src/wallet/core/providers/WalletProvider.ts +12 -3
- package/src/wallet/core/providers/__tests__/WalletProvider.spec.ts +1 -1
- package/src/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.ts +2 -1
- package/src/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.ts +1 -1
- package/src/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.ts +1 -1
- package/src/wallet/core/utils/__tests__/executeTransactionBatch.spec.ts +42 -0
- package/src/{core → wallet/core}/utils/__tests__/retryOnStaleRead.spec.ts +1 -1
- package/src/wallet/core/utils/executeTransactionBatch.ts +37 -0
- package/src/wallet/core/wallets/abstract/Wallet.ts +19 -14
- package/src/wallet/core/wallets/abstract/__mocks__/TestWallet.ts +3 -3
- package/src/wallet/core/wallets/abstract/__tests__/Wallet.spec.ts +54 -3
- package/src/wallet/core/wallets/eoa/EOAWallet.ts +1 -1
- package/src/wallet/core/wallets/smart/abstract/SmartWallet.ts +1 -1
- package/src/wallet/core/wallets/smart/default/DefaultSmartWallet.ts +3 -3
- package/src/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.ts +1 -1
- package/src/wallet/node/index.ts +1 -0
- package/src/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +1 -1
- package/src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts +1 -1
- package/src/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +1 -1
- package/src/wallet/node/wallets/local/LocalWallet.ts +48 -0
- package/src/wallet/node/wallets/local/__tests__/LocalWallet.spec.ts +64 -0
- package/src/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.ts +1 -1
- package/src/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +1 -1
- package/src/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +1 -1
- package/src/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.ts +1 -1
- package/dist/core/asset/__mocks__/mockAsset.d.ts +0 -6
- package/dist/core/asset/__mocks__/mockAsset.d.ts.map +0 -1
- package/dist/core/asset/__mocks__/mockAsset.js +0 -12
- package/dist/core/asset/__mocks__/mockAsset.js.map +0 -1
- package/dist/core/utils/__tests__/retryOnStaleRead.spec.d.ts.map +0 -1
- package/dist/core/utils/__tests__/retryOnStaleRead.spec.js.map +0 -1
- package/dist/core/utils/retryOnStaleRead.d.ts.map +0 -1
- package/dist/core/utils/retryOnStaleRead.js.map +0 -1
- package/dist/lend/__mocks__/MockLendProvider.d.ts.map +0 -1
- package/dist/lend/__mocks__/MockLendProvider.js.map +0 -1
- package/dist/lend/__mocks__/MockMarkets.d.ts.map +0 -1
- package/dist/lend/__mocks__/MockMarkets.js.map +0 -1
- package/dist/lend/__mocks__/mockLendTransaction.d.ts.map +0 -1
- package/dist/lend/__mocks__/mockLendTransaction.js.map +0 -1
- package/dist/lend/core/LendProvider.d.ts.map +0 -1
- package/dist/lend/core/LendProvider.js.map +0 -1
- package/dist/lend/core/__tests__/LendProvider.test.d.ts.map +0 -1
- package/dist/lend/core/__tests__/LendProvider.test.js.map +0 -1
- package/dist/lend/index.d.ts.map +0 -1
- package/dist/lend/index.js.map +0 -1
- package/dist/lend/namespaces/ActionsLendNamespace.d.ts.map +0 -1
- package/dist/lend/namespaces/ActionsLendNamespace.js.map +0 -1
- package/dist/lend/namespaces/BaseLendNamespace.d.ts +0 -43
- package/dist/lend/namespaces/BaseLendNamespace.d.ts.map +0 -1
- package/dist/lend/namespaces/BaseLendNamespace.js.map +0 -1
- package/dist/lend/namespaces/WalletLendNamespace.d.ts.map +0 -1
- package/dist/lend/namespaces/WalletLendNamespace.js.map +0 -1
- package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.d.ts.map +0 -1
- package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js.map +0 -1
- package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.d.ts.map +0 -1
- package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js.map +0 -1
- package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.d.ts.map +0 -1
- package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js.map +0 -1
- package/dist/lend/providers/aave/AaveLendProvider.d.ts.map +0 -1
- package/dist/lend/providers/aave/AaveLendProvider.js.map +0 -1
- package/dist/lend/providers/aave/__mocks__/mockReserve.d.ts.map +0 -1
- package/dist/lend/providers/aave/__mocks__/mockReserve.js.map +0 -1
- package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.d.ts.map +0 -1
- package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js.map +0 -1
- package/dist/lend/providers/aave/abis/pool.d.ts.map +0 -1
- package/dist/lend/providers/aave/abis/pool.js.map +0 -1
- package/dist/lend/providers/aave/addresses.d.ts.map +0 -1
- package/dist/lend/providers/aave/addresses.js.map +0 -1
- package/dist/lend/providers/aave/sdk.d.ts.map +0 -1
- package/dist/lend/providers/aave/sdk.js.map +0 -1
- package/dist/lend/providers/morpho/MorphoLendProvider.d.ts.map +0 -1
- package/dist/lend/providers/morpho/MorphoLendProvider.js.map +0 -1
- package/dist/lend/providers/morpho/__mocks__/mockVault.d.ts.map +0 -1
- package/dist/lend/providers/morpho/__mocks__/mockVault.js.map +0 -1
- package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.d.ts.map +0 -1
- package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js.map +0 -1
- package/dist/lend/providers/morpho/__tests__/api.test.d.ts.map +0 -1
- package/dist/lend/providers/morpho/__tests__/api.test.js.map +0 -1
- package/dist/lend/providers/morpho/__tests__/sdk.test.d.ts.map +0 -1
- package/dist/lend/providers/morpho/__tests__/sdk.test.js.map +0 -1
- package/dist/lend/providers/morpho/api.d.ts.map +0 -1
- package/dist/lend/providers/morpho/api.js.map +0 -1
- package/dist/lend/providers/morpho/contracts.d.ts.map +0 -1
- package/dist/lend/providers/morpho/sdk.d.ts.map +0 -1
- package/dist/lend/providers/morpho/sdk.js.map +0 -1
- package/dist/services/ChainManager.spec.d.ts.map +0 -1
- package/dist/services/ChainManager.spec.js.map +0 -1
- package/dist/services/tokenBalance.spec.d.ts.map +0 -1
- package/dist/services/tokenBalance.spec.js.map +0 -1
- package/dist/swap/__mocks__/MockSwapProvider.d.ts.map +0 -1
- package/dist/swap/__mocks__/MockSwapProvider.js.map +0 -1
- package/dist/swap/core/SwapProvider.d.ts.map +0 -1
- package/dist/swap/core/SwapProvider.js.map +0 -1
- package/dist/swap/core/__tests__/SwapProvider.test.d.ts.map +0 -1
- package/dist/swap/core/__tests__/SwapProvider.test.js.map +0 -1
- package/dist/swap/core/markets.d.ts.map +0 -1
- package/dist/swap/core/markets.js.map +0 -1
- package/dist/swap/index.d.ts.map +0 -1
- package/dist/swap/index.js.map +0 -1
- package/dist/swap/namespaces/ActionsSwapNamespace.d.ts.map +0 -1
- package/dist/swap/namespaces/ActionsSwapNamespace.js.map +0 -1
- package/dist/swap/namespaces/BaseSwapNamespace.d.ts.map +0 -1
- package/dist/swap/namespaces/BaseSwapNamespace.js.map +0 -1
- package/dist/swap/namespaces/WalletSwapNamespace.d.ts +0 -34
- package/dist/swap/namespaces/WalletSwapNamespace.d.ts.map +0 -1
- package/dist/swap/namespaces/WalletSwapNamespace.js +0 -84
- package/dist/swap/namespaces/WalletSwapNamespace.js.map +0 -1
- package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.d.ts.map +0 -1
- package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js.map +0 -1
- package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.d.ts.map +0 -1
- package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js.map +0 -1
- package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts.map +0 -1
- package/dist/swap/providers/uniswap/UniswapSwapProvider.js.map +0 -1
- package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts.map +0 -1
- package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js.map +0 -1
- package/dist/swap/providers/uniswap/__tests__/sdk.test.d.ts.map +0 -1
- package/dist/swap/providers/uniswap/__tests__/sdk.test.js.map +0 -1
- package/dist/swap/providers/uniswap/abis.d.ts.map +0 -1
- package/dist/swap/providers/uniswap/abis.js.map +0 -1
- package/dist/swap/providers/uniswap/addresses.d.ts.map +0 -1
- package/dist/swap/providers/uniswap/addresses.js.map +0 -1
- package/dist/swap/providers/uniswap/encoding.d.ts.map +0 -1
- package/dist/swap/providers/uniswap/encoding.js.map +0 -1
- package/dist/swap/providers/uniswap/markets.d.ts.map +0 -1
- package/dist/swap/providers/uniswap/markets.js.map +0 -1
- package/dist/swap/providers/uniswap/types.d.ts.map +0 -1
- package/dist/swap/providers/uniswap/types.js.map +0 -1
- package/dist/swap/providers/velodrome/VelodromeSwapProvider.d.ts.map +0 -1
- package/dist/swap/providers/velodrome/VelodromeSwapProvider.js.map +0 -1
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts.map +0 -1
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js.map +0 -1
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts.map +0 -1
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js.map +0 -1
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts.map +0 -1
- package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.js.map +0 -1
- package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.d.ts.map +0 -1
- package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.js.map +0 -1
- package/dist/swap/providers/velodrome/__tests__/encoding.helpers.d.ts.map +0 -1
- package/dist/swap/providers/velodrome/__tests__/encoding.helpers.js.map +0 -1
- package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.d.ts.map +0 -1
- package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.js.map +0 -1
- package/dist/swap/providers/velodrome/abis.d.ts.map +0 -1
- package/dist/swap/providers/velodrome/abis.js.map +0 -1
- package/dist/swap/providers/velodrome/addresses.d.ts.map +0 -1
- package/dist/swap/providers/velodrome/addresses.js.map +0 -1
- package/dist/swap/providers/velodrome/config.d.ts.map +0 -1
- package/dist/swap/providers/velodrome/config.js.map +0 -1
- package/dist/swap/providers/velodrome/encoding/helpers.d.ts.map +0 -1
- package/dist/swap/providers/velodrome/encoding/helpers.js.map +0 -1
- package/dist/swap/providers/velodrome/encoding/index.d.ts.map +0 -1
- package/dist/swap/providers/velodrome/encoding/index.js.map +0 -1
- package/dist/swap/providers/velodrome/encoding/poolRouter.d.ts.map +0 -1
- package/dist/swap/providers/velodrome/encoding/poolRouter.js.map +0 -1
- package/dist/swap/providers/velodrome/encoding/routers/approval.d.ts +0 -15
- package/dist/swap/providers/velodrome/encoding/routers/approval.d.ts.map +0 -1
- package/dist/swap/providers/velodrome/encoding/routers/approval.js +0 -33
- package/dist/swap/providers/velodrome/encoding/routers/approval.js.map +0 -1
- package/dist/swap/providers/velodrome/encoding/routers/cl.d.ts.map +0 -1
- package/dist/swap/providers/velodrome/encoding/routers/cl.js.map +0 -1
- package/dist/swap/providers/velodrome/encoding/routers/v2.d.ts.map +0 -1
- package/dist/swap/providers/velodrome/encoding/routers/v2.js.map +0 -1
- package/dist/swap/providers/velodrome/markets.d.ts.map +0 -1
- package/dist/swap/providers/velodrome/markets.js.map +0 -1
- package/dist/swap/providers/velodrome/types.d.ts.map +0 -1
- package/dist/swap/providers/velodrome/types.js.map +0 -1
- package/dist/types/lend/contracts.d.ts.map +0 -1
- package/dist/types/lend/contracts.js +0 -2
- package/dist/types/lend/contracts.js.map +0 -1
- package/dist/utils/approve.test.d.ts.map +0 -1
- package/dist/utils/approve.test.js.map +0 -1
- package/dist/utils/assets.test.d.ts.map +0 -1
- package/dist/utils/assets.test.js.map +0 -1
- package/dist/utils/markets.d.ts +0 -17
- package/dist/utils/markets.d.ts.map +0 -1
- package/dist/utils/markets.js +0 -25
- package/dist/utils/markets.js.map +0 -1
- package/dist/utils/validateAddresses.test.d.ts.map +0 -1
- package/dist/utils/validateAddresses.test.js.map +0 -1
- package/src/core/asset/__mocks__/mockAsset.ts +0 -13
- package/src/lend/index.ts +0 -3
- package/src/swap/index.ts +0 -19
- package/src/swap/namespaces/WalletSwapNamespace.ts +0 -121
- package/src/swap/providers/velodrome/encoding/routers/approval.ts +0 -45
- package/src/utils/markets.ts +0 -35
- /package/dist/{lend → actions/lend}/core/__tests__/LendProvider.test.d.ts +0 -0
- /package/dist/{lend → actions/lend}/index.d.ts +0 -0
- /package/dist/{lend → actions/lend}/index.js +0 -0
- /package/dist/{lend → actions/lend}/namespaces/ActionsLendNamespace.d.ts +0 -0
- /package/dist/{lend → actions/lend}/namespaces/ActionsLendNamespace.js +0 -0
- /package/dist/{lend → actions/lend}/namespaces/__tests__/ActionsLendNamespace.spec.d.ts +0 -0
- /package/dist/{lend → actions/lend}/namespaces/__tests__/BaseLendNamespace.spec.d.ts +0 -0
- /package/dist/{lend → actions/lend}/namespaces/__tests__/WalletLendNamespace.spec.d.ts +0 -0
- /package/dist/{lend → actions/lend}/providers/aave/__mocks__/mockReserve.js +0 -0
- /package/dist/{lend → actions/lend}/providers/aave/__tests__/AaveLendProvider.test.d.ts +0 -0
- /package/dist/{lend → actions/lend}/providers/aave/abis/pool.d.ts +0 -0
- /package/dist/{lend → actions/lend}/providers/aave/abis/pool.js +0 -0
- /package/dist/{lend → actions/lend}/providers/aave/addresses.d.ts +0 -0
- /package/dist/{lend → actions/lend}/providers/aave/addresses.js +0 -0
- /package/dist/{lend → actions/lend}/providers/morpho/__mocks__/mockVault.d.ts +0 -0
- /package/dist/{lend → actions/lend}/providers/morpho/__mocks__/mockVault.js +0 -0
- /package/dist/{lend → actions/lend}/providers/morpho/__tests__/MorphoLendProvider.test.d.ts +0 -0
- /package/dist/{lend → actions/lend}/providers/morpho/__tests__/api.test.d.ts +0 -0
- /package/dist/{lend → actions/lend}/providers/morpho/__tests__/sdk.test.d.ts +0 -0
- /package/dist/{lend → actions/lend}/providers/morpho/api.d.ts +0 -0
- /package/dist/{lend → actions/lend}/providers/morpho/api.js +0 -0
- /package/dist/{lend/providers → actions/shared}/morpho/contracts.js +0 -0
- /package/dist/{swap/providers/uniswap → actions/shared/morpho}/types.js +0 -0
- /package/dist/{swap → actions/swap}/core/__tests__/SwapProvider.test.d.ts +0 -0
- /package/dist/{swap → actions/swap}/index.d.ts +0 -0
- /package/dist/{swap → actions/swap}/index.js +0 -0
- /package/dist/{swap → actions/swap}/namespaces/ActionsSwapNamespace.d.ts +0 -0
- /package/dist/{swap → actions/swap}/namespaces/ActionsSwapNamespace.js +0 -0
- /package/dist/{swap → actions/swap}/namespaces/__tests__/BaseSwapNamespace.spec.d.ts +0 -0
- /package/dist/{swap → actions/swap}/namespaces/__tests__/WalletSwapNamespace.spec.d.ts +0 -0
- /package/dist/{swap → actions/swap}/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts +0 -0
- /package/dist/{swap → actions/swap}/providers/uniswap/__tests__/sdk.test.d.ts +0 -0
- /package/dist/{swap → actions/swap}/providers/uniswap/abis.d.ts +0 -0
- /package/dist/{swap → actions/swap}/providers/uniswap/abis.js +0 -0
- /package/dist/{swap/providers/velodrome → actions/swap/providers/uniswap}/types.js +0 -0
- /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts +0 -0
- /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js +0 -0
- /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts +0 -0
- /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts +0 -0
- /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.cl.test.d.ts +0 -0
- /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.helpers.js +0 -0
- /package/dist/{swap → actions/swap}/providers/velodrome/__tests__/encoding.v2.test.d.ts +0 -0
- /package/dist/{swap → actions/swap}/providers/velodrome/abis.d.ts +0 -0
- /package/dist/{swap → actions/swap}/providers/velodrome/abis.js +0 -0
- /package/dist/{swap → actions/swap}/providers/velodrome/addresses.js +0 -0
- /package/dist/services/{ChainManager.spec.d.ts → __tests__/ChainManager.spec.d.ts} +0 -0
- /package/dist/services/{tokenBalance.spec.d.ts → __tests__/tokenBalance.spec.d.ts} +0 -0
- /package/dist/utils/{approve.test.d.ts → __tests__/approve.test.d.ts} +0 -0
- /package/dist/utils/{assets.test.d.ts → __tests__/assets.test.d.ts} +0 -0
- /package/dist/utils/{validateAddresses.test.d.ts → __tests__/validateAddresses.test.d.ts} +0 -0
- /package/dist/{core → wallet/core}/utils/__tests__/retryOnStaleRead.spec.d.ts +0 -0
- /package/dist/{core → wallet/core}/utils/__tests__/retryOnStaleRead.spec.js +0 -0
- /package/dist/{core → wallet/core}/utils/retryOnStaleRead.d.ts +0 -0
- /package/dist/{core → wallet/core}/utils/retryOnStaleRead.js +0 -0
- /package/src/{lend → actions/lend}/__mocks__/MockMarkets.ts +0 -0
- /package/src/{lend → actions/lend}/namespaces/ActionsLendNamespace.ts +0 -0
- /package/src/{lend → actions/lend}/providers/aave/__mocks__/mockReserve.ts +0 -0
- /package/src/{lend → actions/lend}/providers/aave/abis/pool.ts +0 -0
- /package/src/{lend → actions/lend}/providers/aave/addresses.ts +0 -0
- /package/src/{lend → actions/lend}/providers/morpho/__mocks__/mockVault.ts +0 -0
- /package/src/{lend → actions/lend}/providers/morpho/api.ts +0 -0
- /package/src/{types/lend/contracts.ts → actions/shared/morpho/types.ts} +0 -0
- /package/src/{swap → actions/swap}/providers/uniswap/abis.ts +0 -0
- /package/src/{swap → actions/swap}/providers/uniswap/types.ts +0 -0
- /package/src/{swap → actions/swap}/providers/velodrome/__tests__/encoding.helpers.ts +0 -0
- /package/src/{swap → actions/swap}/providers/velodrome/abis.ts +0 -0
- /package/src/{swap → actions/swap}/providers/velodrome/addresses.ts +0 -0
- /package/src/{swap → actions/swap}/providers/velodrome/types.ts +0 -0
- /package/src/utils/{assets.test.ts → __tests__/assets.test.ts} +0 -0
- /package/src/{core → wallet/core}/utils/retryOnStaleRead.ts +0 -0
package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactHostedWalletProviderRegistry.spec.js","sourceRoot":"","sources":["../../../../../../src/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ReactHostedWalletProviderRegistry.spec.js","sourceRoot":"","sources":["../../../../../../src/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
},
|
|
12
12
|
"type": "module",
|
|
13
13
|
"sideEffects": false,
|
|
14
|
-
"version": "0.
|
|
14
|
+
"version": "0.6.0",
|
|
15
15
|
"description": "TypeScript SDK for Actions",
|
|
16
16
|
"main": "dist/index.js",
|
|
17
17
|
"types": "dist/index.d.ts",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"@turnkey/viem": ">=0.14.1"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
|
-
"@types/node": "
|
|
72
|
+
"@types/node": "22.14.0",
|
|
73
73
|
"dotenv": "^16.4.5",
|
|
74
74
|
"eslint": "^9.31.0",
|
|
75
75
|
"prettier": "^3.0.0",
|
|
@@ -307,7 +307,9 @@ describe('Actions SDK', () => {
|
|
|
307
307
|
)
|
|
308
308
|
|
|
309
309
|
expect(actions['lendProviders']).toEqual({})
|
|
310
|
-
expect(() => actions.lend).toThrow(
|
|
310
|
+
expect(() => actions.lend).toThrow(
|
|
311
|
+
"A 'lend' provider is not configured",
|
|
312
|
+
)
|
|
311
313
|
})
|
|
312
314
|
})
|
|
313
315
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Address } from 'viem'
|
|
2
2
|
import { type MockedFunction, vi } from 'vitest'
|
|
3
3
|
|
|
4
|
-
import { LendProvider } from '@/lend/core/LendProvider.js'
|
|
4
|
+
import { LendProvider } from '@/actions/lend/core/LendProvider.js'
|
|
5
5
|
import { MockChainManager } from '@/services/__mocks__/MockChainManager.js'
|
|
6
6
|
import type { ChainManager } from '@/services/ChainManager.js'
|
|
7
7
|
import type { LendProviderConfig } from '@/types/actions.js'
|
|
@@ -15,6 +15,7 @@ import type {
|
|
|
15
15
|
LendMarket,
|
|
16
16
|
LendMarketId,
|
|
17
17
|
LendMarketPosition,
|
|
18
|
+
LendOpenPosition,
|
|
18
19
|
LendOpenPositionInternalParams,
|
|
19
20
|
LendOpenPositionParams,
|
|
20
21
|
LendTransaction,
|
|
@@ -52,7 +53,7 @@ export class MockLendProvider extends LendProvider<LendProviderConfig> {
|
|
|
52
53
|
>
|
|
53
54
|
public withdraw: MockedFunction<
|
|
54
55
|
(
|
|
55
|
-
|
|
56
|
+
assetAddress: Address,
|
|
56
57
|
amount: bigint,
|
|
57
58
|
chainId: number,
|
|
58
59
|
marketId?: string,
|
|
@@ -172,8 +173,22 @@ export class MockLendProvider extends LendProvider<LendProviderConfig> {
|
|
|
172
173
|
|
|
173
174
|
protected async _openPosition(
|
|
174
175
|
params: LendOpenPositionInternalParams,
|
|
175
|
-
): Promise<
|
|
176
|
-
|
|
176
|
+
): Promise<LendOpenPosition> {
|
|
177
|
+
const assetAddress = params.asset.address[params.marketId.chainId]
|
|
178
|
+
if (!assetAddress || assetAddress === 'native') {
|
|
179
|
+
throw new Error(`Asset not supported on chain ${params.marketId.chainId}`)
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
return {
|
|
183
|
+
spender: params.marketId.address,
|
|
184
|
+
assetAddress: assetAddress as Address,
|
|
185
|
+
transaction: {
|
|
186
|
+
to: params.marketId.address,
|
|
187
|
+
data: '0x6e553f65' as Address,
|
|
188
|
+
value: 0n,
|
|
189
|
+
},
|
|
190
|
+
apy: this.mockConfig.defaultApy,
|
|
191
|
+
}
|
|
177
192
|
}
|
|
178
193
|
|
|
179
194
|
protected async _getMarket(marketId: LendMarketId): Promise<LendMarket> {
|
|
@@ -224,7 +239,7 @@ export class MockLendProvider extends LendProvider<LendProviderConfig> {
|
|
|
224
239
|
|
|
225
240
|
return {
|
|
226
241
|
amount: amountWei,
|
|
227
|
-
|
|
242
|
+
assetAddress,
|
|
228
243
|
marketId: marketId.address,
|
|
229
244
|
apy: this.mockConfig.defaultApy,
|
|
230
245
|
transactionData: {
|
|
@@ -255,7 +270,7 @@ export class MockLendProvider extends LendProvider<LendProviderConfig> {
|
|
|
255
270
|
|
|
256
271
|
return {
|
|
257
272
|
amount: amountWei,
|
|
258
|
-
|
|
273
|
+
assetAddress,
|
|
259
274
|
marketId: marketId.address,
|
|
260
275
|
apy: this.mockConfig.defaultApy,
|
|
261
276
|
transactionData: {
|
|
@@ -349,7 +364,7 @@ export class MockLendProvider extends LendProvider<LendProviderConfig> {
|
|
|
349
364
|
|
|
350
365
|
return {
|
|
351
366
|
amount: BigInt(amount),
|
|
352
|
-
|
|
367
|
+
assetAddress,
|
|
353
368
|
marketId: marketId.address,
|
|
354
369
|
apy: 0,
|
|
355
370
|
transactionData: {
|
|
@@ -363,14 +378,14 @@ export class MockLendProvider extends LendProvider<LendProviderConfig> {
|
|
|
363
378
|
}
|
|
364
379
|
|
|
365
380
|
private async createMockWithdraw(
|
|
366
|
-
|
|
381
|
+
assetAddress: Address,
|
|
367
382
|
amount: bigint,
|
|
368
383
|
_chainId: number,
|
|
369
384
|
marketId?: string,
|
|
370
385
|
): Promise<LendTransaction> {
|
|
371
386
|
return {
|
|
372
387
|
amount,
|
|
373
|
-
|
|
388
|
+
assetAddress,
|
|
374
389
|
marketId: marketId || 'mock-market',
|
|
375
390
|
apy: 0,
|
|
376
391
|
transactionData: {
|
|
@@ -7,14 +7,14 @@ import type { LendTransaction, TransactionData } from '@/types/lend/index.js'
|
|
|
7
7
|
*/
|
|
8
8
|
export function createMockLendTransaction(params: {
|
|
9
9
|
amount: bigint
|
|
10
|
-
|
|
10
|
+
assetAddress: Address
|
|
11
11
|
marketId: Address
|
|
12
12
|
approval?: TransactionData
|
|
13
13
|
position: TransactionData
|
|
14
14
|
}): LendTransaction {
|
|
15
15
|
return {
|
|
16
16
|
amount: params.amount,
|
|
17
|
-
|
|
17
|
+
assetAddress: params.assetAddress,
|
|
18
18
|
marketId: params.marketId,
|
|
19
19
|
apy: 0.05,
|
|
20
20
|
transactionData: {
|
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
import type { Address } from 'viem'
|
|
2
2
|
import { parseUnits } from 'viem'
|
|
3
3
|
|
|
4
|
+
import { validateMarketAsset } from '@/actions/lend/utils/markets.js'
|
|
4
5
|
import type { SupportedChainId } from '@/constants/supportedChains.js'
|
|
5
6
|
import { ACTIONS_SUPPORTED_CHAIN_IDS } from '@/constants/supportedChains.js'
|
|
7
|
+
import {
|
|
8
|
+
AddressRequiredError,
|
|
9
|
+
AssetMetadataRequiredError,
|
|
10
|
+
MarketIdRequiredError,
|
|
11
|
+
MarketNotAllowedError,
|
|
12
|
+
} from '@/core/error/errors.js'
|
|
6
13
|
import type { ChainManager } from '@/services/ChainManager.js'
|
|
7
|
-
import type {
|
|
14
|
+
import type {
|
|
15
|
+
ApprovalMode,
|
|
16
|
+
LendProviderConfig,
|
|
17
|
+
LendSettings,
|
|
18
|
+
} from '@/types/actions.js'
|
|
8
19
|
import type { Asset } from '@/types/asset.js'
|
|
9
20
|
import type {
|
|
10
21
|
ClosePositionParams,
|
|
@@ -16,15 +27,27 @@ import type {
|
|
|
16
27
|
LendMarketConfig,
|
|
17
28
|
LendMarketId,
|
|
18
29
|
LendMarketPosition,
|
|
30
|
+
LendOpenPosition,
|
|
19
31
|
LendOpenPositionInternalParams,
|
|
20
32
|
LendOpenPositionParams,
|
|
21
33
|
LendTransaction,
|
|
22
34
|
TransactionData,
|
|
23
35
|
} from '@/types/lend/index.js'
|
|
24
|
-
import {
|
|
25
|
-
|
|
36
|
+
import {
|
|
37
|
+
buildErc20ApprovalTx,
|
|
38
|
+
resolveApprovalMode,
|
|
39
|
+
resolveErc20ApprovalAmount,
|
|
40
|
+
} from '@/utils/approve.js'
|
|
41
|
+
import { isNativeAsset } from '@/utils/assets.js'
|
|
26
42
|
import { validateChainSupported } from '@/utils/validation.js'
|
|
27
43
|
|
|
44
|
+
/** Inputs for the base class's ERC-20 lend approval helper. */
|
|
45
|
+
interface BuildLendApprovalParams {
|
|
46
|
+
position: LendOpenPosition
|
|
47
|
+
approvalMode: ApprovalMode
|
|
48
|
+
amountWei: bigint
|
|
49
|
+
}
|
|
50
|
+
|
|
28
51
|
/**
|
|
29
52
|
* Lending provider abstract class
|
|
30
53
|
* @description Base class for lending provider implementations
|
|
@@ -35,6 +58,9 @@ export abstract class LendProvider<
|
|
|
35
58
|
/** Lending provider configuration */
|
|
36
59
|
protected readonly _config: TConfig
|
|
37
60
|
|
|
61
|
+
/** Shared lend settings (defaults applied across all lend providers) */
|
|
62
|
+
protected readonly _settings: LendSettings
|
|
63
|
+
|
|
38
64
|
/** Chain manager for blockchain interactions */
|
|
39
65
|
protected readonly chainManager: ChainManager
|
|
40
66
|
|
|
@@ -42,9 +68,15 @@ export abstract class LendProvider<
|
|
|
42
68
|
* Create a new lending provider
|
|
43
69
|
* @param config - Provider-specific lending configuration
|
|
44
70
|
* @param chainManager - Chain manager for blockchain interactions
|
|
71
|
+
* @param settings - Shared lend settings applied across all providers
|
|
45
72
|
*/
|
|
46
|
-
protected constructor(
|
|
73
|
+
protected constructor(
|
|
74
|
+
config: TConfig,
|
|
75
|
+
chainManager: ChainManager,
|
|
76
|
+
settings?: LendSettings,
|
|
77
|
+
) {
|
|
47
78
|
this._config = config
|
|
79
|
+
this._settings = settings ?? {}
|
|
48
80
|
this.chainManager = chainManager
|
|
49
81
|
}
|
|
50
82
|
|
|
@@ -52,14 +84,6 @@ export abstract class LendProvider<
|
|
|
52
84
|
return this._config
|
|
53
85
|
}
|
|
54
86
|
|
|
55
|
-
/**
|
|
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
87
|
/**
|
|
64
88
|
* Effective supported chain IDs.
|
|
65
89
|
* @description Intersection of the protocol's supported chains,
|
|
@@ -67,12 +91,12 @@ export abstract class LendProvider<
|
|
|
67
91
|
* All validation in public methods uses this set.
|
|
68
92
|
* @returns Array of chain IDs usable through this provider instance
|
|
69
93
|
*/
|
|
70
|
-
supportedChainIds():
|
|
94
|
+
supportedChainIds(): SupportedChainId[] {
|
|
71
95
|
const configuredChains = this.chainManager.getSupportedChains()
|
|
72
96
|
return this.protocolSupportedChainIds().filter(
|
|
73
|
-
(id) =>
|
|
97
|
+
(id): id is SupportedChainId =>
|
|
74
98
|
(ACTIONS_SUPPORTED_CHAIN_IDS as readonly number[]).includes(id) &&
|
|
75
|
-
(configuredChains as number[]).includes(id),
|
|
99
|
+
(configuredChains as readonly number[]).includes(id),
|
|
76
100
|
)
|
|
77
101
|
}
|
|
78
102
|
|
|
@@ -86,7 +110,7 @@ export abstract class LendProvider<
|
|
|
86
110
|
*/
|
|
87
111
|
async openPosition(params: LendOpenPositionParams): Promise<LendTransaction> {
|
|
88
112
|
if (!params.walletAddress) {
|
|
89
|
-
throw new
|
|
113
|
+
throw new AddressRequiredError('walletAddress')
|
|
90
114
|
}
|
|
91
115
|
|
|
92
116
|
this.validateConfigSupported(params.marketId)
|
|
@@ -97,11 +121,36 @@ export abstract class LendProvider<
|
|
|
97
121
|
params.asset.metadata.decimals,
|
|
98
122
|
)
|
|
99
123
|
|
|
100
|
-
|
|
124
|
+
const position = await this._openPosition({
|
|
101
125
|
...params,
|
|
102
126
|
amountWei,
|
|
103
127
|
walletAddress: params.walletAddress,
|
|
104
128
|
})
|
|
129
|
+
|
|
130
|
+
// Native deposits send ETH inline as msg.value; no approval is needed.
|
|
131
|
+
// ERC-20 deposits resolve approval mode and build an approve(spender, amount) tx.
|
|
132
|
+
const approval = isNativeAsset(params.asset)
|
|
133
|
+
? undefined
|
|
134
|
+
: this.buildLendApproval({
|
|
135
|
+
position,
|
|
136
|
+
approvalMode: resolveApprovalMode(
|
|
137
|
+
params.approvalMode,
|
|
138
|
+
this._config.approvalMode,
|
|
139
|
+
this._settings.approvalMode,
|
|
140
|
+
),
|
|
141
|
+
amountWei,
|
|
142
|
+
})
|
|
143
|
+
|
|
144
|
+
return {
|
|
145
|
+
amount: amountWei,
|
|
146
|
+
assetAddress: position.assetAddress,
|
|
147
|
+
marketId: params.marketId.address,
|
|
148
|
+
apy: position.apy,
|
|
149
|
+
transactionData: {
|
|
150
|
+
...(approval ? { approval } : {}),
|
|
151
|
+
position: position.transaction,
|
|
152
|
+
},
|
|
153
|
+
}
|
|
105
154
|
}
|
|
106
155
|
|
|
107
156
|
/**
|
|
@@ -155,13 +204,13 @@ export abstract class LendProvider<
|
|
|
155
204
|
): Promise<LendMarketPosition> {
|
|
156
205
|
// For now, require marketId (asset-only and empty params not yet supported)
|
|
157
206
|
if (!marketId) {
|
|
158
|
-
throw new
|
|
159
|
-
'
|
|
207
|
+
throw new MarketIdRequiredError(
|
|
208
|
+
'Querying all positions or by asset is not yet supported.',
|
|
160
209
|
)
|
|
161
210
|
}
|
|
162
211
|
|
|
163
212
|
if (asset) {
|
|
164
|
-
throw new
|
|
213
|
+
throw new MarketIdRequiredError(
|
|
165
214
|
'Filtering by asset is not yet supported. Please provide only marketId.',
|
|
166
215
|
)
|
|
167
216
|
}
|
|
@@ -182,7 +231,7 @@ export abstract class LendProvider<
|
|
|
182
231
|
*/
|
|
183
232
|
async closePosition(params: ClosePositionParams): Promise<LendTransaction> {
|
|
184
233
|
if (!params.walletAddress) {
|
|
185
|
-
throw new
|
|
234
|
+
throw new AddressRequiredError('walletAddress')
|
|
186
235
|
}
|
|
187
236
|
|
|
188
237
|
this.validateConfigSupported(params.marketId)
|
|
@@ -198,7 +247,7 @@ export abstract class LendProvider<
|
|
|
198
247
|
|
|
199
248
|
const assetMetadata = params.asset?.metadata
|
|
200
249
|
if (!assetMetadata) {
|
|
201
|
-
throw new
|
|
250
|
+
throw new AssetMetadataRequiredError('decimal conversion')
|
|
202
251
|
}
|
|
203
252
|
|
|
204
253
|
// Convert human-readable amount to wei using the asset's decimals
|
|
@@ -222,7 +271,7 @@ export abstract class LendProvider<
|
|
|
222
271
|
* @returns true if chain is supported, false otherwise
|
|
223
272
|
*/
|
|
224
273
|
protected isChainSupported(chainId: number): boolean {
|
|
225
|
-
return this.supportedChainIds().includes(chainId)
|
|
274
|
+
return (this.supportedChainIds() as readonly number[]).includes(chainId)
|
|
226
275
|
}
|
|
227
276
|
|
|
228
277
|
/**
|
|
@@ -248,10 +297,46 @@ export abstract class LendProvider<
|
|
|
248
297
|
)
|
|
249
298
|
|
|
250
299
|
if (!foundMarket) {
|
|
300
|
+
throw new MarketNotAllowedError({
|
|
301
|
+
address: marketId.address,
|
|
302
|
+
chainId: marketId.chainId,
|
|
303
|
+
reason: 'Market is not in the market allowlist',
|
|
304
|
+
})
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* Build an ERC20 approval transaction
|
|
310
|
+
* @param tokenAddress - Address of the token to approve
|
|
311
|
+
* @param spender - Address to approve spending for
|
|
312
|
+
* @param amount - Amount to approve
|
|
313
|
+
* @returns Transaction data for the approval
|
|
314
|
+
*/
|
|
315
|
+
protected buildApprovalTx(
|
|
316
|
+
tokenAddress: Address,
|
|
317
|
+
spender: Address,
|
|
318
|
+
amount: bigint,
|
|
319
|
+
): TransactionData {
|
|
320
|
+
return buildErc20ApprovalTx(tokenAddress, spender, amount)
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
/**
|
|
324
|
+
* Build the approval transaction for an ERC-20 lend deposit. Caller is
|
|
325
|
+
* expected to skip this for native deposits.
|
|
326
|
+
* @throws if the provider's `_openPosition` result is missing `spender`
|
|
327
|
+
*/
|
|
328
|
+
private buildLendApproval(params: BuildLendApprovalParams): TransactionData {
|
|
329
|
+
const { position, approvalMode, amountWei } = params
|
|
330
|
+
if (!position.spender) {
|
|
251
331
|
throw new Error(
|
|
252
|
-
`
|
|
332
|
+
`LendOpenPosition.spender is required for ERC-20 deposits (assetAddress: ${position.assetAddress})`,
|
|
253
333
|
)
|
|
254
334
|
}
|
|
335
|
+
return buildErc20ApprovalTx(
|
|
336
|
+
position.assetAddress,
|
|
337
|
+
position.spender,
|
|
338
|
+
resolveErc20ApprovalAmount(approvalMode, amountWei),
|
|
339
|
+
)
|
|
255
340
|
}
|
|
256
341
|
|
|
257
342
|
/**
|
|
@@ -273,31 +358,30 @@ export abstract class LendProvider<
|
|
|
273
358
|
}
|
|
274
359
|
|
|
275
360
|
/**
|
|
276
|
-
*
|
|
277
|
-
* @param tokenAddress - Address of the token to approve
|
|
278
|
-
* @param spender - Address to approve spending for
|
|
279
|
-
* @param amount - Amount to approve
|
|
280
|
-
* @returns Transaction data for the approval
|
|
361
|
+
* Abstract methods that must be implemented by providers
|
|
281
362
|
*/
|
|
282
|
-
protected buildApprovalTx(
|
|
283
|
-
tokenAddress: Address,
|
|
284
|
-
spender: Address,
|
|
285
|
-
amount: bigint,
|
|
286
|
-
): TransactionData {
|
|
287
|
-
return buildErc20ApprovalTx(tokenAddress, spender, amount)
|
|
288
|
-
}
|
|
289
363
|
|
|
290
364
|
/**
|
|
291
|
-
*
|
|
365
|
+
* Chain IDs supported by the underlying protocol.
|
|
366
|
+
* @description Each provider implements this to declare the chains its protocol
|
|
367
|
+
* is deployed on, without any SDK-level or developer-config filtering.
|
|
368
|
+
* @returns Array of chain IDs the protocol natively supports
|
|
292
369
|
*/
|
|
370
|
+
abstract protocolSupportedChainIds(): number[]
|
|
293
371
|
|
|
294
372
|
/**
|
|
295
|
-
*
|
|
373
|
+
* Describe a deposit for opening a lending position. Providers describe
|
|
374
|
+
* **what** needs to happen (the spender that needs allowance + the deposit
|
|
375
|
+
* calldata + APY snapshot); the base class owns **how** the approval is
|
|
376
|
+
* built (amount sized via `approvalMode`, native deposits skipped, etc.).
|
|
377
|
+
*
|
|
378
|
+
* Return `spender: undefined` for native-asset deposits where value is sent
|
|
379
|
+
* inline as `msg.value` and no ERC-20 approval is required.
|
|
296
380
|
* @description Must be implemented by providers
|
|
297
381
|
*/
|
|
298
382
|
protected abstract _openPosition(
|
|
299
383
|
params: LendOpenPositionInternalParams,
|
|
300
|
-
): Promise<
|
|
384
|
+
): Promise<LendOpenPosition>
|
|
301
385
|
|
|
302
386
|
/**
|
|
303
387
|
* Provider implementation of getMarket method
|
|
@@ -2,8 +2,14 @@ import type { Address } from 'viem'
|
|
|
2
2
|
import { describe, expect, it } from 'vitest'
|
|
3
3
|
|
|
4
4
|
import { MockUSDCAsset } from '@/__mocks__/MockAssets.js'
|
|
5
|
-
import { MockLendProvider } from '@/lend/__mocks__/MockLendProvider.js'
|
|
6
|
-
import
|
|
5
|
+
import { MockLendProvider } from '@/actions/lend/__mocks__/MockLendProvider.js'
|
|
6
|
+
import { LendProvider } from '@/actions/lend/core/LendProvider.js'
|
|
7
|
+
import type {
|
|
8
|
+
LendMarketConfig,
|
|
9
|
+
LendMarketId,
|
|
10
|
+
LendOpenPositionParams,
|
|
11
|
+
LendTransaction,
|
|
12
|
+
} from '@/types/lend/index.js'
|
|
7
13
|
import { validateChainSupported } from '@/utils/validation.js'
|
|
8
14
|
|
|
9
15
|
// Test helper class that exposes protected validation methods as public
|
|
@@ -161,12 +167,85 @@ describe('LendProvider', () => {
|
|
|
161
167
|
})
|
|
162
168
|
|
|
163
169
|
expect(result.amount).toBe(1000000000n)
|
|
164
|
-
expect(result.
|
|
170
|
+
expect(result.assetAddress).toBe('0x123')
|
|
165
171
|
expect(result.marketId).toBe('0x1234')
|
|
166
172
|
expect(result.apy).toBe(0.05)
|
|
167
173
|
})
|
|
168
174
|
})
|
|
169
175
|
|
|
176
|
+
describe('approvalMode resolution', () => {
|
|
177
|
+
const mockAsset = {
|
|
178
|
+
address: {
|
|
179
|
+
84532: '0x1111111111111111111111111111111111111111' as Address,
|
|
180
|
+
},
|
|
181
|
+
metadata: { symbol: 'USDC', name: 'USD Coin', decimals: 6 },
|
|
182
|
+
type: 'erc20' as const,
|
|
183
|
+
}
|
|
184
|
+
const baseParams = {
|
|
185
|
+
amount: 1000,
|
|
186
|
+
asset: mockAsset,
|
|
187
|
+
marketId: {
|
|
188
|
+
address: '0x2222222222222222222222222222222222222222' as Address,
|
|
189
|
+
chainId: 84532,
|
|
190
|
+
} as LendMarketId,
|
|
191
|
+
walletAddress: '0x3333333333333333333333333333333333333333' as Address,
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// MockLendProvider replaces `openPosition` with a vi.fn() in its
|
|
195
|
+
// constructor. To exercise the real base-class flow (which builds the
|
|
196
|
+
// approval tx around `_openPosition`'s output), call through the prototype.
|
|
197
|
+
const callBaseOpenPosition = (
|
|
198
|
+
provider: MockLendProvider,
|
|
199
|
+
params: LendOpenPositionParams,
|
|
200
|
+
): Promise<LendTransaction> =>
|
|
201
|
+
LendProvider.prototype.openPosition.call(
|
|
202
|
+
provider,
|
|
203
|
+
params,
|
|
204
|
+
) as Promise<LendTransaction>
|
|
205
|
+
|
|
206
|
+
// Last 32 bytes of approve(spender, amount) hold `amount`.
|
|
207
|
+
const approvalAmountHex = (result: LendTransaction): string =>
|
|
208
|
+
(result.transactionData.approval?.data ?? '').slice(-64)
|
|
209
|
+
|
|
210
|
+
// 1000 USDC at 6 decimals = 1_000_000_000 = 0x3b9aca00
|
|
211
|
+
const EXACT_AMOUNT_HEX = '3b9aca00'
|
|
212
|
+
const MAX_UINT256_HEX = 'f'.repeat(64)
|
|
213
|
+
|
|
214
|
+
it('defaults to "exact" — approval encodes the required amount', async () => {
|
|
215
|
+
const provider = new MockLendProvider()
|
|
216
|
+
const result = await callBaseOpenPosition(provider, baseParams)
|
|
217
|
+
expect(approvalAmountHex(result).replace(/^0+/, '')).toBe(
|
|
218
|
+
EXACT_AMOUNT_HEX,
|
|
219
|
+
)
|
|
220
|
+
})
|
|
221
|
+
|
|
222
|
+
it('honours per-call "max" override — approval uses maxUint256', async () => {
|
|
223
|
+
const provider = new MockLendProvider()
|
|
224
|
+
const result = await callBaseOpenPosition(provider, {
|
|
225
|
+
...baseParams,
|
|
226
|
+
approvalMode: 'max',
|
|
227
|
+
})
|
|
228
|
+
expect(approvalAmountHex(result)).toBe(MAX_UINT256_HEX)
|
|
229
|
+
})
|
|
230
|
+
|
|
231
|
+
it('honours per-provider config approvalMode default', async () => {
|
|
232
|
+
const provider = new MockLendProvider({ approvalMode: 'max' })
|
|
233
|
+
const result = await callBaseOpenPosition(provider, baseParams)
|
|
234
|
+
expect(approvalAmountHex(result)).toBe(MAX_UINT256_HEX)
|
|
235
|
+
})
|
|
236
|
+
|
|
237
|
+
it('per-call override beats per-provider config', async () => {
|
|
238
|
+
const provider = new MockLendProvider({ approvalMode: 'max' })
|
|
239
|
+
const result = await callBaseOpenPosition(provider, {
|
|
240
|
+
...baseParams,
|
|
241
|
+
approvalMode: 'exact',
|
|
242
|
+
})
|
|
243
|
+
expect(approvalAmountHex(result).replace(/^0+/, '')).toBe(
|
|
244
|
+
EXACT_AMOUNT_HEX,
|
|
245
|
+
)
|
|
246
|
+
})
|
|
247
|
+
})
|
|
248
|
+
|
|
170
249
|
describe('supportedChainIds', () => {
|
|
171
250
|
it('should return array of supported chain IDs', () => {
|
|
172
251
|
const provider = new MockLendProvider()
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import
|
|
1
|
+
import type { LendProvider } from '@/actions/lend/core/LendProvider.js'
|
|
2
|
+
import { findMarketInAllowlist } from '@/actions/lend/utils/markets.js'
|
|
3
|
+
import { BaseNamespace } from '@/actions/shared/BaseNamespace.js'
|
|
4
|
+
import { ProviderNotConfiguredError } from '@/core/error/errors.js'
|
|
5
|
+
import type { LendProviderConfig } from '@/types/actions.js'
|
|
3
6
|
import type {
|
|
4
7
|
GetLendMarketParams,
|
|
5
8
|
GetLendMarketsParams,
|
|
@@ -10,13 +13,16 @@ import type { LendProviders } from '@/types/providers.js'
|
|
|
10
13
|
|
|
11
14
|
export type { LendProviders } from '@/types/providers.js'
|
|
12
15
|
|
|
16
|
+
type ConfiguredLendProvider = LendProvider<LendProviderConfig>
|
|
17
|
+
|
|
13
18
|
/**
|
|
14
19
|
* Base Lend Namespace
|
|
15
|
-
* @description Shared lending operations for Actions and Wallet namespaces
|
|
20
|
+
* @description Shared lending operations for Actions and Wallet namespaces.
|
|
16
21
|
*/
|
|
17
|
-
export abstract class BaseLendNamespace
|
|
18
|
-
|
|
19
|
-
|
|
22
|
+
export abstract class BaseLendNamespace extends BaseNamespace<
|
|
23
|
+
ConfiguredLendProvider,
|
|
24
|
+
LendProviders
|
|
25
|
+
> {
|
|
20
26
|
/**
|
|
21
27
|
* Get all markets across all configured providers
|
|
22
28
|
* @param params - Optional filtering parameters
|
|
@@ -39,27 +45,6 @@ export abstract class BaseLendNamespace {
|
|
|
39
45
|
return provider.getMarket(params)
|
|
40
46
|
}
|
|
41
47
|
|
|
42
|
-
/**
|
|
43
|
-
* Get supported chain IDs across all providers
|
|
44
|
-
* @returns Array of unique chain IDs supported by any provider
|
|
45
|
-
*/
|
|
46
|
-
supportedChainIds(): number[] {
|
|
47
|
-
const allChains = this.getAllProviders().flatMap((p) =>
|
|
48
|
-
p.supportedChainIds(),
|
|
49
|
-
)
|
|
50
|
-
return [...new Set(allChains)]
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Get all configured providers
|
|
55
|
-
* @returns Array of configured providers
|
|
56
|
-
*/
|
|
57
|
-
protected getAllProviders(): Array<MorphoLendProvider | AaveLendProvider> {
|
|
58
|
-
return [this.providers.morpho, this.providers.aave].filter(
|
|
59
|
-
Boolean,
|
|
60
|
-
) as Array<MorphoLendProvider | AaveLendProvider>
|
|
61
|
-
}
|
|
62
|
-
|
|
63
48
|
/**
|
|
64
49
|
* Route a market to the correct provider
|
|
65
50
|
* @param marketId - Market identifier to route
|
|
@@ -68,18 +53,16 @@ export abstract class BaseLendNamespace {
|
|
|
68
53
|
*/
|
|
69
54
|
protected getProviderForMarket(
|
|
70
55
|
marketId: LendMarketId,
|
|
71
|
-
):
|
|
56
|
+
): ConfiguredLendProvider {
|
|
72
57
|
for (const provider of this.getAllProviders()) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
m.chainId === marketId.chainId,
|
|
77
|
-
)
|
|
78
|
-
if (market) return provider
|
|
58
|
+
if (findMarketInAllowlist(provider.config.marketAllowlist, marketId)) {
|
|
59
|
+
return provider
|
|
60
|
+
}
|
|
79
61
|
}
|
|
80
62
|
|
|
81
|
-
throw new
|
|
82
|
-
|
|
83
|
-
|
|
63
|
+
throw new ProviderNotConfiguredError({
|
|
64
|
+
provider: marketId.address,
|
|
65
|
+
details: `No provider configured for market on chain ${marketId.chainId}`,
|
|
66
|
+
})
|
|
84
67
|
}
|
|
85
68
|
}
|