@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,6 +1,4 @@
|
|
|
1
1
|
import { HostedWalletProviderRegistry } from '@/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.js'
|
|
2
|
-
import { PrivyHostedWalletProvider } from '@/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js'
|
|
3
|
-
import { TurnkeyHostedWalletProvider } from '@/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js'
|
|
4
2
|
import type {
|
|
5
3
|
NodeHostedProviderInstanceMap,
|
|
6
4
|
NodeOptionsMap,
|
|
@@ -11,10 +9,8 @@ import type {
|
|
|
11
9
|
* Node hosted wallet provider registry
|
|
12
10
|
* @description
|
|
13
11
|
* Environment-scoped registry that binds Node/server provider keys to their
|
|
14
|
-
* factory implementations.
|
|
15
|
-
*
|
|
16
|
-
* pre-registers 'privy' and 'turnkey' providers and can be extended with
|
|
17
|
-
* additional providers via `register`.
|
|
12
|
+
* factory implementations. Provider code is loaded lazily via dynamic import()
|
|
13
|
+
* so that unused wallet SDKs are not included in the bundle.
|
|
18
14
|
*/
|
|
19
15
|
export class NodeHostedWalletProviderRegistry extends HostedWalletProviderRegistry<
|
|
20
16
|
NodeHostedProviderInstanceMap,
|
|
@@ -28,11 +24,17 @@ export class NodeHostedWalletProviderRegistry extends HostedWalletProviderRegist
|
|
|
28
24
|
validateOptions(options): options is NodeOptionsMap['privy'] {
|
|
29
25
|
return Boolean((options as NodeOptionsMap['privy'])?.privyClient)
|
|
30
26
|
},
|
|
31
|
-
create(
|
|
27
|
+
async create(
|
|
28
|
+
{ chainManager, lendProviders, swapProviders, supportedAssets },
|
|
29
|
+
options,
|
|
30
|
+
) {
|
|
31
|
+
const { PrivyHostedWalletProvider } =
|
|
32
|
+
await import('@/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js')
|
|
32
33
|
return new PrivyHostedWalletProvider({
|
|
33
34
|
privyClient: options.privyClient,
|
|
34
35
|
chainManager,
|
|
35
36
|
lendProviders,
|
|
37
|
+
swapProviders,
|
|
36
38
|
supportedAssets,
|
|
37
39
|
authorizationContext: options.authorizationContext,
|
|
38
40
|
})
|
|
@@ -45,11 +47,17 @@ export class NodeHostedWalletProviderRegistry extends HostedWalletProviderRegist
|
|
|
45
47
|
const o = options as NodeOptionsMap['turnkey']
|
|
46
48
|
return Boolean(o?.client)
|
|
47
49
|
},
|
|
48
|
-
create(
|
|
50
|
+
async create(
|
|
51
|
+
{ chainManager, lendProviders, swapProviders, supportedAssets },
|
|
52
|
+
options,
|
|
53
|
+
) {
|
|
54
|
+
const { TurnkeyHostedWalletProvider } =
|
|
55
|
+
await import('@/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js')
|
|
49
56
|
return new TurnkeyHostedWalletProvider(
|
|
50
57
|
options.client,
|
|
51
58
|
chainManager,
|
|
52
59
|
lendProviders,
|
|
60
|
+
swapProviders,
|
|
53
61
|
supportedAssets,
|
|
54
62
|
)
|
|
55
63
|
},
|
package/src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts
CHANGED
|
@@ -54,11 +54,11 @@ describe('NodeHostedWalletProviderRegistry', () => {
|
|
|
54
54
|
).toBe(false)
|
|
55
55
|
})
|
|
56
56
|
|
|
57
|
-
it('creates a PrivyHostedWalletProvider instance', () => {
|
|
57
|
+
it('creates a PrivyHostedWalletProvider instance', async () => {
|
|
58
58
|
const registry = new NodeHostedWalletProviderRegistry()
|
|
59
59
|
const factory = registry.getFactory('privy')
|
|
60
60
|
|
|
61
|
-
const provider = factory.create({ chainManager: mockChainManager }, {
|
|
61
|
+
const provider = await factory.create({ chainManager: mockChainManager }, {
|
|
62
62
|
privyClient: mockPrivyClient,
|
|
63
63
|
authorizationContext: getMockAuthorizationContext(),
|
|
64
64
|
} as NodeOptionsMap['privy'])
|
|
@@ -80,11 +80,11 @@ describe('NodeHostedWalletProviderRegistry', () => {
|
|
|
80
80
|
expect(factory.validateOptions?.({})).toBe(false)
|
|
81
81
|
})
|
|
82
82
|
|
|
83
|
-
it('creates a TurnkeyHostedWalletProvider instance', () => {
|
|
83
|
+
it('creates a TurnkeyHostedWalletProvider instance', async () => {
|
|
84
84
|
const registry = new NodeHostedWalletProviderRegistry()
|
|
85
85
|
const factory = registry.getFactory('turnkey')
|
|
86
86
|
|
|
87
|
-
const provider = factory.create(
|
|
87
|
+
const provider = await factory.create(
|
|
88
88
|
{ chainManager: mockChainManager },
|
|
89
89
|
{
|
|
90
90
|
client: mockTurnkeyClient,
|
|
@@ -3,10 +3,9 @@ import type { TurnkeyClient as TurnkeyHttpClient } from '@turnkey/http'
|
|
|
3
3
|
import type { TurnkeyServerClient } from '@turnkey/sdk-server'
|
|
4
4
|
import type { LocalAccount } from 'viem'
|
|
5
5
|
|
|
6
|
-
import type { LendProvider } from '@/lend/core/LendProvider.js'
|
|
7
6
|
import type { ChainManager } from '@/services/ChainManager.js'
|
|
8
|
-
import type { LendProviderConfig } from '@/types/actions.js'
|
|
9
7
|
import type { Asset } from '@/types/asset.js'
|
|
8
|
+
import type { LendProviders, SwapProviders } from '@/types/providers.js'
|
|
10
9
|
import { HostedWalletProvider } from '@/wallet/core/providers/hosted/abstract/HostedWalletProvider.js'
|
|
11
10
|
import type { Wallet } from '@/wallet/core/wallets/abstract/Wallet.js'
|
|
12
11
|
import type { NodeToActionsOptionsMap } from '@/wallet/node/providers/hosted/types/index.js'
|
|
@@ -29,6 +28,7 @@ export class TurnkeyHostedWalletProvider extends HostedWalletProvider<
|
|
|
29
28
|
* @param client - Turnkey client instance (HTTP, server, or core SDK base)
|
|
30
29
|
* @param chainManager - Chain manager used to resolve chains and RPC transports
|
|
31
30
|
* @param lendProviders - Optional lend providers for DeFi operations
|
|
31
|
+
* @param swapProviders - Optional swap providers for trading operations
|
|
32
32
|
* @param supportedAssets - Optional list of supported assets
|
|
33
33
|
*/
|
|
34
34
|
constructor(
|
|
@@ -37,13 +37,11 @@ export class TurnkeyHostedWalletProvider extends HostedWalletProvider<
|
|
|
37
37
|
| TurnkeyServerClient
|
|
38
38
|
| TurnkeySDKClientBase,
|
|
39
39
|
chainManager: ChainManager,
|
|
40
|
-
lendProviders?:
|
|
41
|
-
|
|
42
|
-
aave?: LendProvider<LendProviderConfig>
|
|
43
|
-
},
|
|
40
|
+
lendProviders?: LendProviders,
|
|
41
|
+
swapProviders?: SwapProviders,
|
|
44
42
|
supportedAssets?: Asset[],
|
|
45
43
|
) {
|
|
46
|
-
super(chainManager, lendProviders, supportedAssets)
|
|
44
|
+
super(chainManager, lendProviders, swapProviders, supportedAssets)
|
|
47
45
|
}
|
|
48
46
|
|
|
49
47
|
/**
|
|
@@ -65,6 +63,7 @@ export class TurnkeyHostedWalletProvider extends HostedWalletProvider<
|
|
|
65
63
|
ethereumAddress: params.ethereumAddress,
|
|
66
64
|
chainManager: this.chainManager,
|
|
67
65
|
lendProviders: this.lendProviders,
|
|
66
|
+
swapProviders: this.swapProviders,
|
|
68
67
|
supportedAssets: this.supportedAssets,
|
|
69
68
|
})
|
|
70
69
|
}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { AuthorizationContext, PrivyClient } from '@privy-io/node'
|
|
2
2
|
import { type Address, type LocalAccount } from 'viem'
|
|
3
3
|
|
|
4
|
-
import type { LendProvider } from '@/lend/core/LendProvider.js'
|
|
5
4
|
import type { ChainManager } from '@/services/ChainManager.js'
|
|
6
|
-
import type { LendProviderConfig } from '@/types/actions.js'
|
|
7
5
|
import type { Asset } from '@/types/asset.js'
|
|
6
|
+
import type { LendProviders, SwapProviders } from '@/types/providers.js'
|
|
8
7
|
import { EOAWallet } from '@/wallet/core/wallets/eoa/EOAWallet.js'
|
|
9
8
|
import { createSigner } from '@/wallet/node/wallets/hosted/privy/utils/createSigner.js'
|
|
10
9
|
|
|
@@ -26,6 +25,7 @@ export class PrivyWallet extends EOAWallet {
|
|
|
26
25
|
* @param address - Ethereum address of the wallet
|
|
27
26
|
* @param chainManager - Chain manager for multi-chain operations
|
|
28
27
|
* @param lendProviders - Optional lend providers for DeFi operations
|
|
28
|
+
* @param swapProviders - Optional swap providers for trading operations
|
|
29
29
|
* @param supportedAssets - Optional list of supported assets
|
|
30
30
|
*/
|
|
31
31
|
private constructor(
|
|
@@ -33,14 +33,12 @@ export class PrivyWallet extends EOAWallet {
|
|
|
33
33
|
walletId: string,
|
|
34
34
|
address: Address,
|
|
35
35
|
chainManager: ChainManager,
|
|
36
|
-
lendProviders?:
|
|
37
|
-
|
|
38
|
-
aave?: LendProvider<LendProviderConfig>
|
|
39
|
-
},
|
|
36
|
+
lendProviders?: LendProviders,
|
|
37
|
+
swapProviders?: SwapProviders,
|
|
40
38
|
supportedAssets?: Asset[],
|
|
41
39
|
authorizationContext?: AuthorizationContext,
|
|
42
40
|
) {
|
|
43
|
-
super(chainManager, lendProviders, supportedAssets)
|
|
41
|
+
super(chainManager, lendProviders, swapProviders, supportedAssets)
|
|
44
42
|
this.privyClient = privyClient
|
|
45
43
|
this.authorizationContext = authorizationContext
|
|
46
44
|
this.walletId = walletId
|
|
@@ -53,10 +51,8 @@ export class PrivyWallet extends EOAWallet {
|
|
|
53
51
|
walletId: string
|
|
54
52
|
address: Address
|
|
55
53
|
chainManager: ChainManager
|
|
56
|
-
lendProviders?:
|
|
57
|
-
|
|
58
|
-
aave?: LendProvider<LendProviderConfig>
|
|
59
|
-
}
|
|
54
|
+
lendProviders?: LendProviders
|
|
55
|
+
swapProviders?: SwapProviders
|
|
60
56
|
supportedAssets?: Asset[]
|
|
61
57
|
}): Promise<PrivyWallet> {
|
|
62
58
|
const wallet = new PrivyWallet(
|
|
@@ -65,6 +61,7 @@ export class PrivyWallet extends EOAWallet {
|
|
|
65
61
|
params.address,
|
|
66
62
|
params.chainManager,
|
|
67
63
|
params.lendProviders,
|
|
64
|
+
params.swapProviders,
|
|
68
65
|
params.supportedAssets,
|
|
69
66
|
params.authorizationContext,
|
|
70
67
|
)
|
|
@@ -3,10 +3,9 @@ import type { TurnkeyClient } from '@turnkey/http'
|
|
|
3
3
|
import type { TurnkeyServerClient } from '@turnkey/sdk-server'
|
|
4
4
|
import type { Address, LocalAccount } from 'viem'
|
|
5
5
|
|
|
6
|
-
import type { LendProvider } from '@/lend/core/LendProvider.js'
|
|
7
6
|
import type { ChainManager } from '@/services/ChainManager.js'
|
|
8
|
-
import type { LendProviderConfig } from '@/types/actions.js'
|
|
9
7
|
import type { Asset } from '@/types/asset.js'
|
|
8
|
+
import type { LendProviders, SwapProviders } from '@/types/providers.js'
|
|
10
9
|
import { EOAWallet } from '@/wallet/core/wallets/eoa/EOAWallet.js'
|
|
11
10
|
import { createSigner } from '@/wallet/node/wallets/hosted/turnkey/utils/createSigner.js'
|
|
12
11
|
|
|
@@ -46,10 +45,8 @@ export class TurnkeyWallet extends EOAWallet {
|
|
|
46
45
|
organizationId: string
|
|
47
46
|
signWith: string
|
|
48
47
|
ethereumAddress?: string
|
|
49
|
-
lendProviders?:
|
|
50
|
-
|
|
51
|
-
aave?: LendProvider<LendProviderConfig>
|
|
52
|
-
}
|
|
48
|
+
lendProviders?: LendProviders
|
|
49
|
+
swapProviders?: SwapProviders
|
|
53
50
|
supportedAssets?: Asset[]
|
|
54
51
|
}) {
|
|
55
52
|
const {
|
|
@@ -59,9 +56,10 @@ export class TurnkeyWallet extends EOAWallet {
|
|
|
59
56
|
signWith,
|
|
60
57
|
ethereumAddress,
|
|
61
58
|
lendProviders,
|
|
59
|
+
swapProviders,
|
|
62
60
|
supportedAssets,
|
|
63
61
|
} = params
|
|
64
|
-
super(chainManager, lendProviders, supportedAssets)
|
|
62
|
+
super(chainManager, lendProviders, swapProviders, supportedAssets)
|
|
65
63
|
this.client = client
|
|
66
64
|
this.organizationId = organizationId
|
|
67
65
|
this.signWith = signWith
|
|
@@ -74,10 +72,8 @@ export class TurnkeyWallet extends EOAWallet {
|
|
|
74
72
|
organizationId: string
|
|
75
73
|
signWith: string
|
|
76
74
|
ethereumAddress?: string
|
|
77
|
-
lendProviders?:
|
|
78
|
-
|
|
79
|
-
aave?: LendProvider<LendProviderConfig>
|
|
80
|
-
}
|
|
75
|
+
lendProviders?: LendProviders
|
|
76
|
+
swapProviders?: SwapProviders
|
|
81
77
|
supportedAssets?: Asset[]
|
|
82
78
|
}): Promise<TurnkeyWallet> {
|
|
83
79
|
const wallet = new TurnkeyWallet(params)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { LocalAccount } from 'viem'
|
|
2
2
|
|
|
3
|
-
import type { LendProvider } from '@/lend/core/LendProvider.js'
|
|
4
3
|
import type { ChainManager } from '@/services/ChainManager.js'
|
|
5
|
-
import type {
|
|
4
|
+
import type { Asset } from '@/types/asset.js'
|
|
5
|
+
import type { LendProviders, SwapProviders } from '@/types/providers.js'
|
|
6
6
|
import { HostedWalletProvider } from '@/wallet/core/providers/hosted/abstract/HostedWalletProvider.js'
|
|
7
7
|
import type { Wallet } from '@/wallet/core/wallets/abstract/Wallet.js'
|
|
8
8
|
import type { ReactToActionsOptionsMap } from '@/wallet/react/providers/hosted/types/index.js'
|
|
@@ -19,15 +19,17 @@ export class DynamicHostedWalletProvider extends HostedWalletProvider<
|
|
|
19
19
|
> {
|
|
20
20
|
/**
|
|
21
21
|
* Create a new Dynamic wallet provider
|
|
22
|
+
* @param chainManager Chain manager for RPC, chain info, and transports
|
|
23
|
+
* @param lendProviders Optional lend providers for DeFi operations
|
|
24
|
+
* @param swapProviders Optional swap providers for trading operations
|
|
22
25
|
*/
|
|
23
26
|
constructor(
|
|
24
27
|
chainManager: ChainManager,
|
|
25
|
-
lendProviders?:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
},
|
|
28
|
+
lendProviders?: LendProviders,
|
|
29
|
+
swapProviders?: SwapProviders,
|
|
30
|
+
supportedAssets?: Asset[],
|
|
29
31
|
) {
|
|
30
|
-
super(chainManager, lendProviders)
|
|
32
|
+
super(chainManager, lendProviders, swapProviders, supportedAssets)
|
|
31
33
|
}
|
|
32
34
|
|
|
33
35
|
async toActionsWallet(
|
|
@@ -37,6 +39,8 @@ export class DynamicHostedWalletProvider extends HostedWalletProvider<
|
|
|
37
39
|
dynamicWallet: params.wallet,
|
|
38
40
|
chainManager: this.chainManager,
|
|
39
41
|
lendProviders: this.lendProviders,
|
|
42
|
+
swapProviders: this.swapProviders,
|
|
43
|
+
supportedAssets: this.supportedAssets,
|
|
40
44
|
})
|
|
41
45
|
}
|
|
42
46
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { LocalAccount } from 'viem'
|
|
2
2
|
|
|
3
|
-
import type { LendProvider } from '@/lend/core/LendProvider.js'
|
|
4
3
|
import type { ChainManager } from '@/services/ChainManager.js'
|
|
5
|
-
import type {
|
|
4
|
+
import type { Asset } from '@/types/asset.js'
|
|
5
|
+
import type { LendProviders, SwapProviders } from '@/types/providers.js'
|
|
6
6
|
import { HostedWalletProvider } from '@/wallet/core/providers/hosted/abstract/HostedWalletProvider.js'
|
|
7
7
|
import type { Wallet } from '@/wallet/core/wallets/abstract/Wallet.js'
|
|
8
8
|
import type { ReactToActionsOptionsMap } from '@/wallet/react/providers/hosted/types/index.js'
|
|
@@ -19,15 +19,16 @@ export class PrivyHostedWalletProvider extends HostedWalletProvider<
|
|
|
19
19
|
/**
|
|
20
20
|
* Create a new Privy wallet provider
|
|
21
21
|
* @param chainManager Chain manager for RPC, chain info, and transports
|
|
22
|
+
* @param lendProviders Optional lend providers for DeFi operations
|
|
23
|
+
* @param swapProviders Optional swap providers for trading operations
|
|
22
24
|
*/
|
|
23
25
|
constructor(
|
|
24
26
|
chainManager: ChainManager,
|
|
25
|
-
lendProviders?:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
},
|
|
27
|
+
lendProviders?: LendProviders,
|
|
28
|
+
swapProviders?: SwapProviders,
|
|
29
|
+
supportedAssets?: Asset[],
|
|
29
30
|
) {
|
|
30
|
-
super(chainManager, lendProviders)
|
|
31
|
+
super(chainManager, lendProviders, swapProviders, supportedAssets)
|
|
31
32
|
}
|
|
32
33
|
|
|
33
34
|
async toActionsWallet(
|
|
@@ -38,6 +39,8 @@ export class PrivyHostedWalletProvider extends HostedWalletProvider<
|
|
|
38
39
|
chainManager: this.chainManager,
|
|
39
40
|
connectedWallet,
|
|
40
41
|
lendProviders: this.lendProviders,
|
|
42
|
+
swapProviders: this.swapProviders,
|
|
43
|
+
supportedAssets: this.supportedAssets,
|
|
41
44
|
})
|
|
42
45
|
return wallet
|
|
43
46
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { LocalAccount } from 'viem'
|
|
2
2
|
|
|
3
|
-
import type { LendProvider } from '@/lend/core/LendProvider.js'
|
|
4
3
|
import type { ChainManager } from '@/services/ChainManager.js'
|
|
5
|
-
import type {
|
|
4
|
+
import type { Asset } from '@/types/asset.js'
|
|
5
|
+
import type { LendProviders, SwapProviders } from '@/types/providers.js'
|
|
6
6
|
import { HostedWalletProvider } from '@/wallet/core/providers/hosted/abstract/HostedWalletProvider.js'
|
|
7
7
|
import type { Wallet } from '@/wallet/core/wallets/abstract/Wallet.js'
|
|
8
8
|
import type { ReactToActionsOptionsMap } from '@/wallet/react/providers/hosted/types/index.js'
|
|
@@ -22,18 +22,17 @@ export class TurnkeyHostedWalletProvider extends HostedWalletProvider<
|
|
|
22
22
|
> {
|
|
23
23
|
/**
|
|
24
24
|
* Create a new Turnkey wallet provider
|
|
25
|
-
* @param client - Turnkey browser client instance
|
|
26
|
-
* @param organizationId - Turnkey organization ID that owns the signing key
|
|
27
25
|
* @param chainManager - Chain manager used to resolve chains and RPC transports
|
|
26
|
+
* @param lendProviders - Optional lend providers for DeFi operations
|
|
27
|
+
* @param swapProviders - Optional swap providers for trading operations
|
|
28
28
|
*/
|
|
29
29
|
constructor(
|
|
30
30
|
chainManager: ChainManager,
|
|
31
|
-
lendProviders?:
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
},
|
|
31
|
+
lendProviders?: LendProviders,
|
|
32
|
+
swapProviders?: SwapProviders,
|
|
33
|
+
supportedAssets?: Asset[],
|
|
35
34
|
) {
|
|
36
|
-
super(chainManager, lendProviders)
|
|
35
|
+
super(chainManager, lendProviders, swapProviders, supportedAssets)
|
|
37
36
|
}
|
|
38
37
|
|
|
39
38
|
/**
|
|
@@ -58,6 +57,8 @@ export class TurnkeyHostedWalletProvider extends HostedWalletProvider<
|
|
|
58
57
|
ethereumAddress,
|
|
59
58
|
chainManager: this.chainManager,
|
|
60
59
|
lendProviders: this.lendProviders,
|
|
60
|
+
swapProviders: this.swapProviders,
|
|
61
|
+
supportedAssets: this.supportedAssets,
|
|
61
62
|
})
|
|
62
63
|
}
|
|
63
64
|
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { HostedWalletProviderRegistry } from '@/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.js'
|
|
2
|
-
import { DynamicHostedWalletProvider } from '@/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js'
|
|
3
|
-
import { PrivyHostedWalletProvider } from '@/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js'
|
|
4
|
-
import { TurnkeyHostedWalletProvider } from '@/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js'
|
|
5
2
|
import type {
|
|
6
3
|
ReactHostedProviderInstanceMap,
|
|
7
4
|
ReactOptionsMap,
|
|
@@ -12,10 +9,8 @@ import type {
|
|
|
12
9
|
* React hosted wallet provider registry
|
|
13
10
|
* @description
|
|
14
11
|
* Environment-scoped registry that binds React/browser provider keys to their
|
|
15
|
-
* factory implementations.
|
|
16
|
-
*
|
|
17
|
-
* pre-registers 'dynamic' and 'privy' providers and can be extended with
|
|
18
|
-
* additional providers via `register`.
|
|
12
|
+
* factory implementations. Provider code is loaded lazily via dynamic import()
|
|
13
|
+
* so that unused wallet SDKs are not included in the bundle.
|
|
19
14
|
*/
|
|
20
15
|
export class ReactHostedWalletProviderRegistry extends HostedWalletProviderRegistry<
|
|
21
16
|
ReactHostedProviderInstanceMap,
|
|
@@ -29,8 +24,18 @@ export class ReactHostedWalletProviderRegistry extends HostedWalletProviderRegis
|
|
|
29
24
|
validateOptions(_options): _options is ReactOptionsMap['dynamic'] {
|
|
30
25
|
return true
|
|
31
26
|
},
|
|
32
|
-
create(
|
|
33
|
-
|
|
27
|
+
async create(
|
|
28
|
+
{ chainManager, lendProviders, swapProviders, supportedAssets },
|
|
29
|
+
_options,
|
|
30
|
+
) {
|
|
31
|
+
const { DynamicHostedWalletProvider } =
|
|
32
|
+
await import('@/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js')
|
|
33
|
+
return new DynamicHostedWalletProvider(
|
|
34
|
+
chainManager,
|
|
35
|
+
lendProviders,
|
|
36
|
+
swapProviders,
|
|
37
|
+
supportedAssets,
|
|
38
|
+
)
|
|
34
39
|
},
|
|
35
40
|
})
|
|
36
41
|
|
|
@@ -39,8 +44,18 @@ export class ReactHostedWalletProviderRegistry extends HostedWalletProviderRegis
|
|
|
39
44
|
validateOptions(_options): _options is ReactOptionsMap['privy'] {
|
|
40
45
|
return true
|
|
41
46
|
},
|
|
42
|
-
create(
|
|
43
|
-
|
|
47
|
+
async create(
|
|
48
|
+
{ chainManager, lendProviders, swapProviders, supportedAssets },
|
|
49
|
+
_options,
|
|
50
|
+
) {
|
|
51
|
+
const { PrivyHostedWalletProvider } =
|
|
52
|
+
await import('@/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js')
|
|
53
|
+
return new PrivyHostedWalletProvider(
|
|
54
|
+
chainManager,
|
|
55
|
+
lendProviders,
|
|
56
|
+
swapProviders,
|
|
57
|
+
supportedAssets,
|
|
58
|
+
)
|
|
44
59
|
},
|
|
45
60
|
})
|
|
46
61
|
|
|
@@ -49,8 +64,18 @@ export class ReactHostedWalletProviderRegistry extends HostedWalletProviderRegis
|
|
|
49
64
|
validateOptions(_options): _options is ReactOptionsMap['turnkey'] {
|
|
50
65
|
return true
|
|
51
66
|
},
|
|
52
|
-
create(
|
|
53
|
-
|
|
67
|
+
async create(
|
|
68
|
+
{ chainManager, lendProviders, swapProviders, supportedAssets },
|
|
69
|
+
_options,
|
|
70
|
+
) {
|
|
71
|
+
const { TurnkeyHostedWalletProvider } =
|
|
72
|
+
await import('@/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js')
|
|
73
|
+
return new TurnkeyHostedWalletProvider(
|
|
74
|
+
chainManager,
|
|
75
|
+
lendProviders,
|
|
76
|
+
swapProviders,
|
|
77
|
+
supportedAssets,
|
|
78
|
+
)
|
|
54
79
|
},
|
|
55
80
|
})
|
|
56
81
|
}
|
package/src/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.ts
CHANGED
|
@@ -49,11 +49,11 @@ describe('ReactHostedWalletProviderRegistry', () => {
|
|
|
49
49
|
).toBe(true)
|
|
50
50
|
})
|
|
51
51
|
|
|
52
|
-
it('creates a DynamicHostedWalletProvider instance', () => {
|
|
52
|
+
it('creates a DynamicHostedWalletProvider instance', async () => {
|
|
53
53
|
const registry = new ReactHostedWalletProviderRegistry()
|
|
54
54
|
const factory = registry.getFactory('dynamic')
|
|
55
55
|
|
|
56
|
-
const provider = factory.create(
|
|
56
|
+
const provider = await factory.create(
|
|
57
57
|
{ chainManager: mockChainManager },
|
|
58
58
|
undefined as ReactOptionsMap['dynamic'],
|
|
59
59
|
)
|
|
@@ -71,11 +71,11 @@ describe('ReactHostedWalletProviderRegistry', () => {
|
|
|
71
71
|
).toBe(true)
|
|
72
72
|
})
|
|
73
73
|
|
|
74
|
-
it('creates a PrivyHostedWalletProvider instance', () => {
|
|
74
|
+
it('creates a PrivyHostedWalletProvider instance', async () => {
|
|
75
75
|
const registry = new ReactHostedWalletProviderRegistry()
|
|
76
76
|
const factory = registry.getFactory('privy')
|
|
77
77
|
|
|
78
|
-
const provider = factory.create(
|
|
78
|
+
const provider = await factory.create(
|
|
79
79
|
{ chainManager: mockChainManager },
|
|
80
80
|
undefined as ReactOptionsMap['privy'],
|
|
81
81
|
)
|
|
@@ -93,11 +93,11 @@ describe('ReactHostedWalletProviderRegistry', () => {
|
|
|
93
93
|
).toBe(true)
|
|
94
94
|
})
|
|
95
95
|
|
|
96
|
-
it('creates a TurnkeyHostedWalletProvider instance', () => {
|
|
96
|
+
it('creates a TurnkeyHostedWalletProvider instance', async () => {
|
|
97
97
|
const registry = new ReactHostedWalletProviderRegistry()
|
|
98
98
|
const factory = registry.getFactory('turnkey')
|
|
99
99
|
|
|
100
|
-
const provider = factory.create(
|
|
100
|
+
const provider = await factory.create(
|
|
101
101
|
{ chainManager: mockChainManager },
|
|
102
102
|
undefined as ReactOptionsMap['turnkey'],
|
|
103
103
|
)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type Address, type LocalAccount } from 'viem'
|
|
2
2
|
|
|
3
|
-
import type { LendProvider } from '@/lend/core/LendProvider.js'
|
|
4
3
|
import type { ChainManager } from '@/services/ChainManager.js'
|
|
5
|
-
import type {
|
|
4
|
+
import type { Asset } from '@/types/asset.js'
|
|
5
|
+
import type { LendProviders, SwapProviders } from '@/types/providers.js'
|
|
6
6
|
import { EOAWallet } from '@/wallet/core/wallets/eoa/EOAWallet.js'
|
|
7
7
|
import type { DynamicHostedWalletToActionsWalletOptions } from '@/wallet/react/providers/hosted/types/index.js'
|
|
8
8
|
import { createSigner } from '@/wallet/react/wallets/hosted/dynamic/utils/createSigner.js'
|
|
@@ -20,31 +20,33 @@ export class DynamicWallet extends EOAWallet {
|
|
|
20
20
|
* Create a new Dynamic wallet
|
|
21
21
|
* @param chainManager - Chain manager for RPC, chain info, and transports
|
|
22
22
|
* @param dynamicWallet - Dynamic Labs wallet instance (EVM)
|
|
23
|
+
* @param lendProviders - Optional lend providers for DeFi operations
|
|
24
|
+
* @param swapProviders - Optional swap providers for trading operations
|
|
23
25
|
*/
|
|
24
26
|
private constructor(
|
|
25
27
|
chainManager: ChainManager,
|
|
26
28
|
dynamicWallet: DynamicHostedWalletToActionsWalletOptions['wallet'],
|
|
27
|
-
lendProviders?:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
},
|
|
29
|
+
lendProviders?: LendProviders,
|
|
30
|
+
swapProviders?: SwapProviders,
|
|
31
|
+
supportedAssets?: Asset[],
|
|
31
32
|
) {
|
|
32
|
-
super(chainManager, lendProviders)
|
|
33
|
+
super(chainManager, lendProviders, swapProviders, supportedAssets)
|
|
33
34
|
this.dynamicWallet = dynamicWallet
|
|
34
35
|
}
|
|
35
36
|
|
|
36
37
|
static async create(params: {
|
|
37
38
|
dynamicWallet: DynamicHostedWalletToActionsWalletOptions['wallet']
|
|
38
39
|
chainManager: ChainManager
|
|
39
|
-
lendProviders?:
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
40
|
+
lendProviders?: LendProviders
|
|
41
|
+
swapProviders?: SwapProviders
|
|
42
|
+
supportedAssets?: Asset[]
|
|
43
43
|
}): Promise<DynamicWallet> {
|
|
44
44
|
const wallet = new DynamicWallet(
|
|
45
45
|
params.chainManager,
|
|
46
46
|
params.dynamicWallet,
|
|
47
47
|
params.lendProviders,
|
|
48
|
+
params.swapProviders,
|
|
49
|
+
params.supportedAssets,
|
|
48
50
|
)
|
|
49
51
|
await wallet.initialize()
|
|
50
52
|
return wallet
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { vi } from 'vitest'
|
|
2
2
|
|
|
3
|
-
import type { LendProvider } from '@/lend/core/LendProvider.js'
|
|
4
3
|
import type { ChainManager } from '@/services/ChainManager.js'
|
|
5
|
-
import type {
|
|
4
|
+
import type { LendProviders } from '@/types/providers.js'
|
|
6
5
|
import type { Wallet } from '@/wallet/core/wallets/abstract/Wallet.js'
|
|
7
6
|
import type { DynamicHostedWalletToActionsWalletOptions } from '@/wallet/react/providers/hosted/types/index.js'
|
|
8
7
|
|
|
@@ -17,10 +16,7 @@ export class DynamicWalletMock {
|
|
|
17
16
|
async (_params: {
|
|
18
17
|
chainManager: ChainManager
|
|
19
18
|
dynamicWallet: DynamicHostedWalletToActionsWalletOptions['wallet']
|
|
20
|
-
lendProviders?:
|
|
21
|
-
morpho?: LendProvider<LendProviderConfig>
|
|
22
|
-
aave?: LendProvider<LendProviderConfig>
|
|
23
|
-
}
|
|
19
|
+
lendProviders?: LendProviders
|
|
24
20
|
}): Promise<Wallet> => {
|
|
25
21
|
return {} as unknown as Wallet
|
|
26
22
|
},
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { ConnectedWallet } from '@privy-io/react-auth'
|
|
2
2
|
import type { Address, LocalAccount } from 'viem'
|
|
3
3
|
|
|
4
|
-
import type { LendProvider } from '@/lend/core/LendProvider.js'
|
|
5
4
|
import type { ChainManager } from '@/services/ChainManager.js'
|
|
6
|
-
import type {
|
|
5
|
+
import type { Asset } from '@/types/asset.js'
|
|
6
|
+
import type { LendProviders, SwapProviders } from '@/types/providers.js'
|
|
7
7
|
import { EOAWallet } from '@/wallet/core/wallets/eoa/EOAWallet.js'
|
|
8
8
|
import { createSigner } from '@/wallet/react/wallets/hosted/privy/utils/createSigner.js'
|
|
9
9
|
|
|
@@ -20,27 +20,27 @@ export class PrivyWallet extends EOAWallet {
|
|
|
20
20
|
private constructor(
|
|
21
21
|
chainManager: ChainManager,
|
|
22
22
|
connectedWallet: ConnectedWallet,
|
|
23
|
-
lendProviders?:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
},
|
|
23
|
+
lendProviders?: LendProviders,
|
|
24
|
+
swapProviders?: SwapProviders,
|
|
25
|
+
supportedAssets?: Asset[],
|
|
27
26
|
) {
|
|
28
|
-
super(chainManager, lendProviders)
|
|
27
|
+
super(chainManager, lendProviders, swapProviders, supportedAssets)
|
|
29
28
|
this.connectedWallet = connectedWallet
|
|
30
29
|
}
|
|
31
30
|
|
|
32
31
|
static async create(params: {
|
|
33
32
|
chainManager: ChainManager
|
|
34
33
|
connectedWallet: ConnectedWallet
|
|
35
|
-
lendProviders?:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
34
|
+
lendProviders?: LendProviders
|
|
35
|
+
swapProviders?: SwapProviders
|
|
36
|
+
supportedAssets?: Asset[]
|
|
39
37
|
}): Promise<PrivyWallet> {
|
|
40
38
|
const wallet = new PrivyWallet(
|
|
41
39
|
params.chainManager,
|
|
42
40
|
params.connectedWallet,
|
|
43
41
|
params.lendProviders,
|
|
42
|
+
params.swapProviders,
|
|
43
|
+
params.supportedAssets,
|
|
44
44
|
)
|
|
45
45
|
await wallet.initialize()
|
|
46
46
|
return wallet
|