@eth-optimism/actions-sdk 0.0.0-main-20251009211102
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/LICENSE +22 -0
- package/README.md +106 -0
- package/dist/actions.d.ts +58 -0
- package/dist/actions.d.ts.map +1 -0
- package/dist/actions.js +88 -0
- package/dist/actions.js.map +1 -0
- package/dist/actions.test.d.ts +2 -0
- package/dist/actions.test.d.ts.map +1 -0
- package/dist/actions.test.js +620 -0
- package/dist/actions.test.js.map +1 -0
- package/dist/constants/assets.d.ts +3 -0
- package/dist/constants/assets.d.ts.map +1 -0
- package/dist/constants/assets.js +16 -0
- package/dist/constants/assets.js.map +1 -0
- package/dist/constants/config.d.ts +10 -0
- package/dist/constants/config.d.ts.map +1 -0
- package/dist/constants/config.js +10 -0
- package/dist/constants/config.js.map +1 -0
- package/dist/constants/supportedChains.d.ts +3 -0
- package/dist/constants/supportedChains.d.ts.map +1 -0
- package/dist/constants/supportedChains.js +8 -0
- package/dist/constants/supportedChains.js.map +1 -0
- package/dist/core/asset/__mocks__/mockAsset.d.ts +6 -0
- package/dist/core/asset/__mocks__/mockAsset.d.ts.map +1 -0
- package/dist/core/asset/__mocks__/mockAsset.js +12 -0
- package/dist/core/asset/__mocks__/mockAsset.js.map +1 -0
- package/dist/core/error/errors.d.ts +19 -0
- package/dist/core/error/errors.d.ts.map +1 -0
- package/dist/core/error/errors.js +22 -0
- package/dist/core/error/errors.js.map +1 -0
- package/dist/core/utils/__tests__/retryOnStaleRead.spec.d.ts +2 -0
- package/dist/core/utils/__tests__/retryOnStaleRead.spec.d.ts.map +1 -0
- package/dist/core/utils/__tests__/retryOnStaleRead.spec.js +41 -0
- package/dist/core/utils/__tests__/retryOnStaleRead.spec.js.map +1 -0
- package/dist/core/utils/retryOnStaleRead.d.ts +14 -0
- package/dist/core/utils/retryOnStaleRead.d.ts.map +1 -0
- package/dist/core/utils/retryOnStaleRead.js +29 -0
- package/dist/core/utils/retryOnStaleRead.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/index.node.d.ts +5 -0
- package/dist/index.node.d.ts.map +1 -0
- package/dist/index.node.js +4 -0
- package/dist/index.node.js.map +1 -0
- package/dist/index.react.d.ts +5 -0
- package/dist/index.react.d.ts.map +1 -0
- package/dist/index.react.js +4 -0
- package/dist/index.react.js.map +1 -0
- package/dist/lend/__mocks__/mockLendTransaction.d.ts +22 -0
- package/dist/lend/__mocks__/mockLendTransaction.d.ts.map +1 -0
- package/dist/lend/__mocks__/mockLendTransaction.js +32 -0
- package/dist/lend/__mocks__/mockLendTransaction.js.map +1 -0
- package/dist/lend/core/LendProvider.d.ts +122 -0
- package/dist/lend/core/LendProvider.d.ts.map +1 -0
- package/dist/lend/core/LendProvider.js +183 -0
- package/dist/lend/core/LendProvider.js.map +1 -0
- package/dist/lend/core/__tests__/LendProvider.test.d.ts +2 -0
- package/dist/lend/core/__tests__/LendProvider.test.d.ts.map +1 -0
- package/dist/lend/core/__tests__/LendProvider.test.js +247 -0
- package/dist/lend/core/__tests__/LendProvider.test.js.map +1 -0
- package/dist/lend/index.d.ts +3 -0
- package/dist/lend/index.d.ts.map +1 -0
- package/dist/lend/index.js +3 -0
- package/dist/lend/index.js.map +1 -0
- package/dist/lend/namespaces/ActionsLendNamespace.d.ts +15 -0
- package/dist/lend/namespaces/ActionsLendNamespace.d.ts.map +1 -0
- package/dist/lend/namespaces/ActionsLendNamespace.js +17 -0
- package/dist/lend/namespaces/ActionsLendNamespace.js.map +1 -0
- package/dist/lend/namespaces/WalletLendNamespace.d.ts +36 -0
- package/dist/lend/namespaces/WalletLendNamespace.d.ts.map +1 -0
- package/dist/lend/namespaces/WalletLendNamespace.js +68 -0
- package/dist/lend/namespaces/WalletLendNamespace.js.map +1 -0
- package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.d.ts +2 -0
- package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.d.ts.map +1 -0
- package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js +41 -0
- package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js.map +1 -0
- package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.d.ts +2 -0
- package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.d.ts.map +1 -0
- package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js +188 -0
- package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js.map +1 -0
- package/dist/lend/providers/morpho/MorphoLendProvider.d.ts +55 -0
- package/dist/lend/providers/morpho/MorphoLendProvider.d.ts.map +1 -0
- package/dist/lend/providers/morpho/MorphoLendProvider.js +193 -0
- package/dist/lend/providers/morpho/MorphoLendProvider.js.map +1 -0
- package/dist/lend/providers/morpho/__mocks__/mockVault.d.ts +21 -0
- package/dist/lend/providers/morpho/__mocks__/mockVault.d.ts.map +1 -0
- package/dist/lend/providers/morpho/__mocks__/mockVault.js +27 -0
- package/dist/lend/providers/morpho/__mocks__/mockVault.js.map +1 -0
- package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.d.ts +2 -0
- package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.d.ts.map +1 -0
- package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js +259 -0
- package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js.map +1 -0
- package/dist/lend/providers/morpho/__tests__/api.test.d.ts +2 -0
- package/dist/lend/providers/morpho/__tests__/api.test.d.ts.map +1 -0
- package/dist/lend/providers/morpho/__tests__/api.test.js +66 -0
- package/dist/lend/providers/morpho/__tests__/api.test.js.map +1 -0
- package/dist/lend/providers/morpho/__tests__/sdk.test.d.ts +2 -0
- package/dist/lend/providers/morpho/__tests__/sdk.test.d.ts.map +1 -0
- package/dist/lend/providers/morpho/__tests__/sdk.test.js +332 -0
- package/dist/lend/providers/morpho/__tests__/sdk.test.js.map +1 -0
- package/dist/lend/providers/morpho/api.d.ts +14 -0
- package/dist/lend/providers/morpho/api.d.ts.map +1 -0
- package/dist/lend/providers/morpho/api.js +76 -0
- package/dist/lend/providers/morpho/api.js.map +1 -0
- package/dist/lend/providers/morpho/sdk.d.ts +61 -0
- package/dist/lend/providers/morpho/sdk.d.ts.map +1 -0
- package/dist/lend/providers/morpho/sdk.js +300 -0
- package/dist/lend/providers/morpho/sdk.js.map +1 -0
- package/dist/nodeActionsFactory.d.ts +19 -0
- package/dist/nodeActionsFactory.d.ts.map +1 -0
- package/dist/nodeActionsFactory.js +17 -0
- package/dist/nodeActionsFactory.js.map +1 -0
- package/dist/reactActionsFactory.d.ts +19 -0
- package/dist/reactActionsFactory.d.ts.map +1 -0
- package/dist/reactActionsFactory.js +17 -0
- package/dist/reactActionsFactory.js.map +1 -0
- package/dist/services/ChainManager.d.ts +90 -0
- package/dist/services/ChainManager.d.ts.map +1 -0
- package/dist/services/ChainManager.js +183 -0
- package/dist/services/ChainManager.js.map +1 -0
- package/dist/services/ChainManager.spec.d.ts +2 -0
- package/dist/services/ChainManager.spec.d.ts.map +1 -0
- package/dist/services/ChainManager.spec.js +260 -0
- package/dist/services/ChainManager.spec.js.map +1 -0
- package/dist/services/tokenBalance.d.ts +15 -0
- package/dist/services/tokenBalance.d.ts.map +1 -0
- package/dist/services/tokenBalance.js +82 -0
- package/dist/services/tokenBalance.js.map +1 -0
- package/dist/services/tokenBalance.spec.d.ts +2 -0
- package/dist/services/tokenBalance.spec.d.ts.map +1 -0
- package/dist/services/tokenBalance.spec.js +73 -0
- package/dist/services/tokenBalance.spec.js.map +1 -0
- package/dist/supported/tokens.d.ts +25 -0
- package/dist/supported/tokens.d.ts.map +1 -0
- package/dist/supported/tokens.js +88 -0
- package/dist/supported/tokens.js.map +1 -0
- package/dist/test/MockAssets.d.ts +10 -0
- package/dist/test/MockAssets.d.ts.map +1 -0
- package/dist/test/MockAssets.js +29 -0
- package/dist/test/MockAssets.js.map +1 -0
- package/dist/test/MockChainManager.d.ts +31 -0
- package/dist/test/MockChainManager.d.ts.map +1 -0
- package/dist/test/MockChainManager.js +92 -0
- package/dist/test/MockChainManager.js.map +1 -0
- package/dist/test/MockLendProvider.d.ts +68 -0
- package/dist/test/MockLendProvider.d.ts.map +1 -0
- package/dist/test/MockLendProvider.js +258 -0
- package/dist/test/MockLendProvider.js.map +1 -0
- package/dist/test/MockMarkets.d.ts +15 -0
- package/dist/test/MockMarkets.d.ts.map +1 -0
- package/dist/test/MockMarkets.js +26 -0
- package/dist/test/MockMarkets.js.map +1 -0
- package/dist/test/MockPrivyClient.d.ts +66 -0
- package/dist/test/MockPrivyClient.d.ts.map +1 -0
- package/dist/test/MockPrivyClient.js +93 -0
- package/dist/test/MockPrivyClient.js.map +1 -0
- package/dist/test/utils.d.ts +2 -0
- package/dist/test/utils.d.ts.map +1 -0
- package/dist/test/utils.js +5 -0
- package/dist/test/utils.js.map +1 -0
- package/dist/types/actions.d.ts +69 -0
- package/dist/types/actions.d.ts.map +1 -0
- package/dist/types/actions.js +2 -0
- package/dist/types/actions.js.map +1 -0
- package/dist/types/asset.d.ts +32 -0
- package/dist/types/asset.d.ts.map +1 -0
- package/dist/types/asset.js +2 -0
- package/dist/types/asset.js.map +1 -0
- package/dist/types/chain.d.ts +26 -0
- package/dist/types/chain.d.ts.map +1 -0
- package/dist/types/chain.js +2 -0
- package/dist/types/chain.js.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/lend/base.d.ts +370 -0
- package/dist/types/lend/base.d.ts.map +1 -0
- package/dist/types/lend/base.js +4 -0
- package/dist/types/lend/base.js.map +1 -0
- package/dist/types/lend/index.d.ts +3 -0
- package/dist/types/lend/index.d.ts.map +1 -0
- package/dist/types/lend/index.js +3 -0
- package/dist/types/lend/index.js.map +1 -0
- package/dist/types/lend/morpho.d.ts +7 -0
- package/dist/types/lend/morpho.d.ts.map +1 -0
- package/dist/types/lend/morpho.js +6 -0
- package/dist/types/lend/morpho.js.map +1 -0
- package/dist/types/wallet.d.ts +26 -0
- package/dist/types/wallet.d.ts.map +1 -0
- package/dist/types/wallet.js +2 -0
- package/dist/types/wallet.js.map +1 -0
- package/dist/utils/assets.d.ts +33 -0
- package/dist/utils/assets.d.ts.map +1 -0
- package/dist/utils/assets.js +53 -0
- package/dist/utils/assets.js.map +1 -0
- package/dist/utils/assets.test.d.ts +2 -0
- package/dist/utils/assets.test.d.ts.map +1 -0
- package/dist/utils/assets.test.js +24 -0
- package/dist/utils/assets.test.js.map +1 -0
- package/dist/utils/markets.d.ts +17 -0
- package/dist/utils/markets.d.ts.map +1 -0
- package/dist/utils/markets.js +25 -0
- package/dist/utils/markets.js.map +1 -0
- package/dist/utils/test.d.ts +117 -0
- package/dist/utils/test.d.ts.map +1 -0
- package/dist/utils/test.js +265 -0
- package/dist/utils/test.js.map +1 -0
- package/dist/wallet/core/namespace/WalletNamespace.d.ts +84 -0
- package/dist/wallet/core/namespace/WalletNamespace.d.ts.map +1 -0
- package/dist/wallet/core/namespace/WalletNamespace.js +89 -0
- package/dist/wallet/core/namespace/WalletNamespace.js.map +1 -0
- package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.d.ts +2 -0
- package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.d.ts.map +1 -0
- package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js +249 -0
- package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js.map +1 -0
- package/dist/wallet/core/providers/WalletProvider.d.ts +63 -0
- package/dist/wallet/core/providers/WalletProvider.d.ts.map +1 -0
- package/dist/wallet/core/providers/WalletProvider.js +85 -0
- package/dist/wallet/core/providers/WalletProvider.js.map +1 -0
- package/dist/wallet/core/providers/__tests__/WalletProvider.spec.d.ts +2 -0
- package/dist/wallet/core/providers/__tests__/WalletProvider.spec.d.ts.map +1 -0
- package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js +246 -0
- package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js.map +1 -0
- package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts +33 -0
- package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts.map +1 -0
- package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js +13 -0
- package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js.map +1 -0
- package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.d.ts +20 -0
- package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.d.ts.map +1 -0
- package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.js +29 -0
- package/dist/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.js.map +1 -0
- package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.d.ts +2 -0
- package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.d.ts.map +1 -0
- package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js +52 -0
- package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js.map +1 -0
- package/dist/wallet/core/providers/hosted/types/index.d.ts +70 -0
- package/dist/wallet/core/providers/hosted/types/index.d.ts.map +1 -0
- package/dist/wallet/core/providers/hosted/types/index.js +2 -0
- package/dist/wallet/core/providers/hosted/types/index.js.map +1 -0
- package/dist/wallet/core/providers/smart/abstract/SmartWalletProvider.d.ts +61 -0
- package/dist/wallet/core/providers/smart/abstract/SmartWalletProvider.d.ts.map +1 -0
- package/dist/wallet/core/providers/smart/abstract/SmartWalletProvider.js +7 -0
- package/dist/wallet/core/providers/smart/abstract/SmartWalletProvider.js.map +1 -0
- package/dist/wallet/core/providers/smart/abstract/types/index.d.ts +16 -0
- package/dist/wallet/core/providers/smart/abstract/types/index.d.ts.map +1 -0
- package/dist/wallet/core/providers/smart/abstract/types/index.js +2 -0
- package/dist/wallet/core/providers/smart/abstract/types/index.js.map +1 -0
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts +77 -0
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts.map +1 -0
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js +125 -0
- package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js.map +1 -0
- package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.d.ts +2 -0
- package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.d.ts.map +1 -0
- package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js +325 -0
- package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js.map +1 -0
- package/dist/wallet/core/wallets/abstract/Wallet.d.ts +96 -0
- package/dist/wallet/core/wallets/abstract/Wallet.d.ts.map +1 -0
- package/dist/wallet/core/wallets/abstract/Wallet.js +81 -0
- package/dist/wallet/core/wallets/abstract/Wallet.js.map +1 -0
- package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts +15 -0
- package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts.map +1 -0
- package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.js +18 -0
- package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.js.map +1 -0
- package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.d.ts +2 -0
- package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.d.ts.map +1 -0
- package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js +44 -0
- package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js.map +1 -0
- package/dist/wallet/core/wallets/abstract/types/index.d.ts +30 -0
- package/dist/wallet/core/wallets/abstract/types/index.d.ts.map +1 -0
- package/dist/wallet/core/wallets/abstract/types/index.js +2 -0
- package/dist/wallet/core/wallets/abstract/types/index.js.map +1 -0
- package/dist/wallet/core/wallets/eoa/EOAWallet.d.ts +44 -0
- package/dist/wallet/core/wallets/eoa/EOAWallet.d.ts.map +1 -0
- package/dist/wallet/core/wallets/eoa/EOAWallet.js +67 -0
- package/dist/wallet/core/wallets/eoa/EOAWallet.js.map +1 -0
- package/dist/wallet/core/wallets/eoa/__mocks__/EOAWallet.d.ts +28 -0
- package/dist/wallet/core/wallets/eoa/__mocks__/EOAWallet.d.ts.map +1 -0
- package/dist/wallet/core/wallets/eoa/__mocks__/EOAWallet.js +51 -0
- package/dist/wallet/core/wallets/eoa/__mocks__/EOAWallet.js.map +1 -0
- package/dist/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.d.ts +2 -0
- package/dist/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.d.ts.map +1 -0
- package/dist/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.js +191 -0
- package/dist/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.js.map +1 -0
- package/dist/wallet/core/wallets/smart/abstract/SmartWallet.d.ts +69 -0
- package/dist/wallet/core/wallets/smart/abstract/SmartWallet.d.ts.map +1 -0
- package/dist/wallet/core/wallets/smart/abstract/SmartWallet.js +8 -0
- package/dist/wallet/core/wallets/smart/abstract/SmartWallet.js.map +1 -0
- package/dist/wallet/core/wallets/smart/abstract/__mocks__/SmartWallet.d.ts +43 -0
- package/dist/wallet/core/wallets/smart/abstract/__mocks__/SmartWallet.d.ts.map +1 -0
- package/dist/wallet/core/wallets/smart/abstract/__mocks__/SmartWallet.js +67 -0
- package/dist/wallet/core/wallets/smart/abstract/__mocks__/SmartWallet.js.map +1 -0
- package/dist/wallet/core/wallets/smart/abstract/types/index.d.ts +19 -0
- package/dist/wallet/core/wallets/smart/abstract/types/index.d.ts.map +1 -0
- package/dist/wallet/core/wallets/smart/abstract/types/index.js +2 -0
- package/dist/wallet/core/wallets/smart/abstract/types/index.js.map +1 -0
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts +191 -0
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts.map +1 -0
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js +436 -0
- package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js.map +1 -0
- package/dist/wallet/core/wallets/smart/default/__mocks__/DefaultSmartWallet.d.ts +40 -0
- package/dist/wallet/core/wallets/smart/default/__mocks__/DefaultSmartWallet.d.ts.map +1 -0
- package/dist/wallet/core/wallets/smart/default/__mocks__/DefaultSmartWallet.js +72 -0
- package/dist/wallet/core/wallets/smart/default/__mocks__/DefaultSmartWallet.js.map +1 -0
- package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.d.ts +2 -0
- package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.d.ts.map +1 -0
- package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js +561 -0
- package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js.map +1 -0
- package/dist/wallet/core/wallets/smart/default/constants/index.d.ts +719 -0
- package/dist/wallet/core/wallets/smart/default/constants/index.d.ts.map +1 -0
- package/dist/wallet/core/wallets/smart/default/constants/index.js +480 -0
- package/dist/wallet/core/wallets/smart/default/constants/index.js.map +1 -0
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.d.ts +2 -0
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.d.ts.map +1 -0
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.js +52 -0
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.js.map +1 -0
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerIndexOnChain.spec.d.ts +2 -0
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerIndexOnChain.spec.d.ts.map +1 -0
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerIndexOnChain.spec.js +109 -0
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerIndexOnChain.spec.js.map +1 -0
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/formatPublicKey.spec.d.ts +2 -0
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/formatPublicKey.spec.d.ts.map +1 -0
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/formatPublicKey.spec.js +22 -0
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/formatPublicKey.spec.js.map +1 -0
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.d.ts +2 -0
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.d.ts.map +1 -0
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.js +44 -0
- package/dist/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.js.map +1 -0
- package/dist/wallet/core/wallets/smart/default/utils/findSignerInArray.d.ts +12 -0
- package/dist/wallet/core/wallets/smart/default/utils/findSignerInArray.d.ts.map +1 -0
- package/dist/wallet/core/wallets/smart/default/utils/findSignerInArray.js +23 -0
- package/dist/wallet/core/wallets/smart/default/utils/findSignerInArray.js.map +1 -0
- package/dist/wallet/core/wallets/smart/default/utils/findSignerIndexOnChain.d.ts +30 -0
- package/dist/wallet/core/wallets/smart/default/utils/findSignerIndexOnChain.d.ts.map +1 -0
- package/dist/wallet/core/wallets/smart/default/utils/findSignerIndexOnChain.js +40 -0
- package/dist/wallet/core/wallets/smart/default/utils/findSignerIndexOnChain.js.map +1 -0
- package/dist/wallet/core/wallets/smart/default/utils/formatPublicKey.d.ts +8 -0
- package/dist/wallet/core/wallets/smart/default/utils/formatPublicKey.d.ts.map +1 -0
- package/dist/wallet/core/wallets/smart/default/utils/formatPublicKey.js +13 -0
- package/dist/wallet/core/wallets/smart/default/utils/formatPublicKey.js.map +1 -0
- package/dist/wallet/core/wallets/smart/default/utils/getSignerPublicKey.d.ts +12 -0
- package/dist/wallet/core/wallets/smart/default/utils/getSignerPublicKey.d.ts.map +1 -0
- package/dist/wallet/core/wallets/smart/default/utils/getSignerPublicKey.js +18 -0
- package/dist/wallet/core/wallets/smart/default/utils/getSignerPublicKey.js.map +1 -0
- package/dist/wallet/core/wallets/smart/error/errors.d.ts +8 -0
- package/dist/wallet/core/wallets/smart/error/errors.d.ts.map +1 -0
- package/dist/wallet/core/wallets/smart/error/errors.js +9 -0
- package/dist/wallet/core/wallets/smart/error/errors.js.map +1 -0
- package/dist/wallet/node/index.d.ts +4 -0
- package/dist/wallet/node/index.d.ts.map +1 -0
- package/dist/wallet/node/index.js +3 -0
- package/dist/wallet/node/index.js.map +1 -0
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +34 -0
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -0
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js +43 -0
- package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -0
- package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.d.ts +2 -0
- package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.d.ts.map +1 -0
- package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +80 -0
- package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -0
- package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts +15 -0
- package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts.map +1 -0
- package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js +37 -0
- package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js.map +1 -0
- package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.d.ts +2 -0
- package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.d.ts.map +1 -0
- package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js +62 -0
- package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js.map +1 -0
- package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +50 -0
- package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -0
- package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +60 -0
- package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -0
- package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.d.ts +2 -0
- package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.d.ts.map +1 -0
- package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +132 -0
- package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -0
- package/dist/wallet/node/providers/hosted/types/index.d.ts +90 -0
- package/dist/wallet/node/providers/hosted/types/index.d.ts.map +1 -0
- package/dist/wallet/node/providers/hosted/types/index.js +2 -0
- package/dist/wallet/node/providers/hosted/types/index.js.map +1 -0
- package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts +43 -0
- package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -0
- package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js +47 -0
- package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js.map +1 -0
- package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.d.ts +2 -0
- package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.d.ts.map +1 -0
- package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.js +105 -0
- package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.js.map +1 -0
- package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.d.ts +2 -0
- package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.d.ts.map +1 -0
- package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.js +39 -0
- package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.js.map +1 -0
- package/dist/wallet/node/wallets/hosted/privy/utils/createSigner.d.ts +15 -0
- package/dist/wallet/node/wallets/hosted/privy/utils/createSigner.d.ts.map +1 -0
- package/dist/wallet/node/wallets/hosted/privy/utils/createSigner.js +23 -0
- package/dist/wallet/node/wallets/hosted/privy/utils/createSigner.js.map +1 -0
- package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts +46 -0
- package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -0
- package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js +34 -0
- package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -0
- package/dist/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.d.ts +2 -0
- package/dist/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.d.ts.map +1 -0
- package/dist/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js +82 -0
- package/dist/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js.map +1 -0
- package/dist/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.d.ts +2 -0
- package/dist/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.d.ts.map +1 -0
- package/dist/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js +61 -0
- package/dist/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js.map +1 -0
- package/dist/wallet/node/wallets/hosted/turnkey/utils/createSigner.d.ts +17 -0
- package/dist/wallet/node/wallets/hosted/turnkey/utils/createSigner.d.ts.map +1 -0
- package/dist/wallet/node/wallets/hosted/turnkey/utils/createSigner.js +24 -0
- package/dist/wallet/node/wallets/hosted/turnkey/utils/createSigner.js.map +1 -0
- package/dist/wallet/react/index.d.ts +3 -0
- package/dist/wallet/react/index.d.ts.map +1 -0
- package/dist/wallet/react/index.js +2 -0
- package/dist/wallet/react/index.js.map +1 -0
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts +29 -0
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts.map +1 -0
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js +36 -0
- package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js.map +1 -0
- package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.d.ts +33 -0
- package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.d.ts.map +1 -0
- package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.js +30 -0
- package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.js.map +1 -0
- package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.d.ts +2 -0
- package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.d.ts.map +1 -0
- package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js +79 -0
- package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js.map +1 -0
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +29 -0
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -0
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js +38 -0
- package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -0
- package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.d.ts +33 -0
- package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.d.ts.map +1 -0
- package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.js +29 -0
- package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.js.map +1 -0
- package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.d.ts +2 -0
- package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.d.ts.map +1 -0
- package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +79 -0
- package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -0
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +49 -0
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -0
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +60 -0
- package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -0
- package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.d.ts +2 -0
- package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.d.ts.map +1 -0
- package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +110 -0
- package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -0
- package/dist/wallet/react/providers/hosted/types/index.d.ts +86 -0
- package/dist/wallet/react/providers/hosted/types/index.d.ts.map +1 -0
- package/dist/wallet/react/providers/hosted/types/index.js +2 -0
- package/dist/wallet/react/providers/hosted/types/index.js.map +1 -0
- package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.d.ts +15 -0
- package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.d.ts.map +1 -0
- package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js +46 -0
- package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js.map +1 -0
- package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.d.ts +2 -0
- package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.d.ts.map +1 -0
- package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js +68 -0
- package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js.map +1 -0
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts +39 -0
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts.map +1 -0
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js +43 -0
- package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js.map +1 -0
- package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.d.ts +16 -0
- package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.d.ts.map +1 -0
- package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.js +15 -0
- package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.js.map +1 -0
- package/dist/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.d.ts +2 -0
- package/dist/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.d.ts.map +1 -0
- package/dist/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.js +117 -0
- package/dist/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.js.map +1 -0
- package/dist/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.d.ts +2 -0
- package/dist/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.d.ts.map +1 -0
- package/dist/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.js +62 -0
- package/dist/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.js.map +1 -0
- package/dist/wallet/react/wallets/hosted/dynamic/utils/createSigner.d.ts +13 -0
- package/dist/wallet/react/wallets/hosted/dynamic/utils/createSigner.d.ts.map +1 -0
- package/dist/wallet/react/wallets/hosted/dynamic/utils/createSigner.js +32 -0
- package/dist/wallet/react/wallets/hosted/dynamic/utils/createSigner.js.map +1 -0
- package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts +34 -0
- package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -0
- package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js +38 -0
- package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js.map +1 -0
- package/dist/wallet/react/wallets/hosted/privy/__mocks__/PrivyWalletMock.d.ts +16 -0
- package/dist/wallet/react/wallets/hosted/privy/__mocks__/PrivyWalletMock.d.ts.map +1 -0
- package/dist/wallet/react/wallets/hosted/privy/__mocks__/PrivyWalletMock.js +15 -0
- package/dist/wallet/react/wallets/hosted/privy/__mocks__/PrivyWalletMock.js.map +1 -0
- package/dist/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.d.ts +2 -0
- package/dist/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.d.ts.map +1 -0
- package/dist/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.js +95 -0
- package/dist/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.js.map +1 -0
- package/dist/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.d.ts +2 -0
- package/dist/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.d.ts.map +1 -0
- package/dist/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.js +55 -0
- package/dist/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.js.map +1 -0
- package/dist/wallet/react/wallets/hosted/privy/utils/createSigner.d.ts +13 -0
- package/dist/wallet/react/wallets/hosted/privy/utils/createSigner.d.ts.map +1 -0
- package/dist/wallet/react/wallets/hosted/privy/utils/createSigner.js +24 -0
- package/dist/wallet/react/wallets/hosted/privy/utils/createSigner.js.map +1 -0
- package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts +53 -0
- package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -0
- package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js +43 -0
- package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -0
- package/dist/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.d.ts +2 -0
- package/dist/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.d.ts.map +1 -0
- package/dist/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js +82 -0
- package/dist/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js.map +1 -0
- package/dist/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.d.ts +2 -0
- package/dist/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.d.ts.map +1 -0
- package/dist/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js +61 -0
- package/dist/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js.map +1 -0
- package/dist/wallet/react/wallets/hosted/turnkey/utils/createSigner.d.ts +17 -0
- package/dist/wallet/react/wallets/hosted/turnkey/utils/createSigner.d.ts.map +1 -0
- package/dist/wallet/react/wallets/hosted/turnkey/utils/createSigner.js +24 -0
- package/dist/wallet/react/wallets/hosted/turnkey/utils/createSigner.js.map +1 -0
- package/package.json +86 -0
- package/src/actions.test.ts +885 -0
- package/src/actions.ts +190 -0
- package/src/constants/assets.ts +20 -0
- package/src/constants/config.ts +9 -0
- package/src/constants/supportedChains.ts +10 -0
- package/src/core/asset/__mocks__/mockAsset.ts +13 -0
- package/src/core/error/errors.ts +27 -0
- package/src/core/utils/__tests__/retryOnStaleRead.spec.ts +56 -0
- package/src/core/utils/retryOnStaleRead.ts +39 -0
- package/src/index.node.ts +4 -0
- package/src/index.react.ts +4 -0
- package/src/index.ts +35 -0
- package/src/lend/__mocks__/mockLendTransaction.ts +47 -0
- package/src/lend/core/LendProvider.ts +311 -0
- package/src/lend/core/__tests__/LendProvider.test.ts +305 -0
- package/src/lend/index.ts +2 -0
- package/src/lend/namespaces/ActionsLendNamespace.ts +26 -0
- package/src/lend/namespaces/WalletLendNamespace.ts +116 -0
- package/src/lend/namespaces/__tests__/ActionsLendNamespace.spec.ts +58 -0
- package/src/lend/namespaces/__tests__/WalletLendNamespace.spec.ts +223 -0
- package/src/lend/providers/morpho/MorphoLendProvider.ts +258 -0
- package/src/lend/providers/morpho/__mocks__/mockVault.ts +28 -0
- package/src/lend/providers/morpho/__tests__/MorphoLendProvider.test.ts +356 -0
- package/src/lend/providers/morpho/__tests__/api.test.ts +104 -0
- package/src/lend/providers/morpho/__tests__/sdk.test.ts +366 -0
- package/src/lend/providers/morpho/api.ts +86 -0
- package/src/lend/providers/morpho/sdk.ts +418 -0
- package/src/nodeActionsFactory.ts +37 -0
- package/src/reactActionsFactory.ts +37 -0
- package/src/services/ChainManager.spec.ts +332 -0
- package/src/services/ChainManager.ts +237 -0
- package/src/services/tokenBalance.spec.ts +93 -0
- package/src/services/tokenBalance.ts +122 -0
- package/src/supported/tokens.ts +103 -0
- package/src/test/MockAssets.ts +33 -0
- package/src/test/MockChainManager.ts +138 -0
- package/src/test/MockLendProvider.ts +397 -0
- package/src/test/MockMarkets.ts +32 -0
- package/src/test/MockPrivyClient.ts +118 -0
- package/src/test/utils.ts +5 -0
- package/src/types/actions.ts +80 -0
- package/src/types/asset.ts +34 -0
- package/src/types/chain.ts +30 -0
- package/src/types/index.ts +5 -0
- package/src/types/lend/base.ts +415 -0
- package/src/types/lend/index.ts +2 -0
- package/src/types/lend/morpho.ts +16 -0
- package/src/types/wallet.ts +28 -0
- package/src/utils/assets.test.ts +28 -0
- package/src/utils/assets.ts +71 -0
- package/src/utils/markets.ts +35 -0
- package/src/utils/test.ts +379 -0
- package/src/wallet/core/namespace/WalletNamespace.ts +125 -0
- package/src/wallet/core/namespace/__tests__/WalletNamespace.spec.ts +398 -0
- package/src/wallet/core/providers/WalletProvider.ts +123 -0
- package/src/wallet/core/providers/__tests__/WalletProvider.spec.ts +374 -0
- package/src/wallet/core/providers/hosted/abstract/HostedWalletProvider.ts +45 -0
- package/src/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.ts +46 -0
- package/src/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.ts +77 -0
- package/src/wallet/core/providers/hosted/types/index.ts +76 -0
- package/src/wallet/core/providers/smart/abstract/SmartWalletProvider.ts +64 -0
- package/src/wallet/core/providers/smart/abstract/types/index.ts +17 -0
- package/src/wallet/core/providers/smart/default/DefaultSmartWalletProvider.ts +175 -0
- package/src/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.ts +467 -0
- package/src/wallet/core/wallets/abstract/Wallet.ts +149 -0
- package/src/wallet/core/wallets/abstract/__mocks__/TestWallet.ts +40 -0
- package/src/wallet/core/wallets/abstract/__tests__/Wallet.spec.ts +61 -0
- package/src/wallet/core/wallets/abstract/types/index.ts +42 -0
- package/src/wallet/core/wallets/eoa/EOAWallet.ts +96 -0
- package/src/wallet/core/wallets/eoa/__mocks__/EOAWallet.ts +112 -0
- package/src/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.ts +299 -0
- package/src/wallet/core/wallets/smart/abstract/SmartWallet.ts +93 -0
- package/src/wallet/core/wallets/smart/abstract/__mocks__/SmartWallet.ts +161 -0
- package/src/wallet/core/wallets/smart/abstract/types/index.ts +19 -0
- package/src/wallet/core/wallets/smart/default/DefaultSmartWallet.ts +598 -0
- package/src/wallet/core/wallets/smart/default/__mocks__/DefaultSmartWallet.ts +172 -0
- package/src/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.ts +781 -0
- package/src/wallet/core/wallets/smart/default/constants/index.ts +482 -0
- package/src/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.ts +68 -0
- package/src/wallet/core/wallets/smart/default/utils/__tests__/findSignerIndexOnChain.spec.ts +147 -0
- package/src/wallet/core/wallets/smart/default/utils/__tests__/formatPublicKey.spec.ts +28 -0
- package/src/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.ts +60 -0
- package/src/wallet/core/wallets/smart/default/utils/findSignerInArray.ts +30 -0
- package/src/wallet/core/wallets/smart/default/utils/findSignerIndexOnChain.ts +66 -0
- package/src/wallet/core/wallets/smart/default/utils/formatPublicKey.ts +14 -0
- package/src/wallet/core/wallets/smart/default/utils/getSignerPublicKey.ts +18 -0
- package/src/wallet/core/wallets/smart/error/errors.ts +18 -0
- package/src/wallet/node/index.ts +7 -0
- package/src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts +65 -0
- package/src/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +112 -0
- package/src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts +55 -0
- package/src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts +89 -0
- package/src/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +84 -0
- package/src/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +182 -0
- package/src/wallet/node/providers/hosted/types/index.ts +102 -0
- package/src/wallet/node/wallets/hosted/privy/PrivyWallet.ts +78 -0
- package/src/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts +142 -0
- package/src/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts +48 -0
- package/src/wallet/node/wallets/hosted/privy/utils/createSigner.ts +32 -0
- package/src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts +90 -0
- package/src/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.ts +104 -0
- package/src/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.ts +77 -0
- package/src/wallet/node/wallets/hosted/turnkey/utils/createSigner.ts +32 -0
- package/src/wallet/react/index.ts +5 -0
- package/src/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.ts +54 -0
- package/src/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.ts +57 -0
- package/src/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.ts +105 -0
- package/src/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.ts +56 -0
- package/src/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.ts +56 -0
- package/src/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +103 -0
- package/src/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +78 -0
- package/src/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +142 -0
- package/src/wallet/react/providers/hosted/types/index.ts +100 -0
- package/src/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.ts +57 -0
- package/src/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.ts +117 -0
- package/src/wallet/react/wallets/hosted/dynamic/DynamicWallet.ts +67 -0
- package/src/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.ts +22 -0
- package/src/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.ts +148 -0
- package/src/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.ts +82 -0
- package/src/wallet/react/wallets/hosted/dynamic/utils/createSigner.ts +38 -0
- package/src/wallet/react/wallets/hosted/privy/PrivyWallet.ts +63 -0
- package/src/wallet/react/wallets/hosted/privy/__mocks__/PrivyWalletMock.ts +22 -0
- package/src/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts +109 -0
- package/src/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts +66 -0
- package/src/wallet/react/wallets/hosted/privy/utils/createSigner.ts +30 -0
- package/src/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.ts +94 -0
- package/src/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.ts +99 -0
- package/src/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.ts +72 -0
- package/src/wallet/react/wallets/hosted/turnkey/utils/createSigner.ts +29 -0
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import { getAddress } from 'viem';
|
|
2
|
+
import { unichain } from 'viem/chains';
|
|
3
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
4
|
+
import { MockChainManager } from '../../../../test/MockChainManager.js';
|
|
5
|
+
import { createMockLendProvider } from '../../../../test/MockLendProvider.js';
|
|
6
|
+
import { createMockPrivyClient } from '../../../../test/MockPrivyClient.js';
|
|
7
|
+
import { getRandomAddress } from '../../../../test/utils.js';
|
|
8
|
+
import { WalletNamespace } from '../WalletNamespace.js';
|
|
9
|
+
import { DefaultSmartWalletProvider } from '../../providers/smart/default/DefaultSmartWalletProvider.js';
|
|
10
|
+
import { WalletProvider } from '../../providers/WalletProvider.js';
|
|
11
|
+
import { Wallet } from '../../wallets/abstract/Wallet.js';
|
|
12
|
+
import { DefaultSmartWallet } from '../../wallets/smart/default/DefaultSmartWallet.js';
|
|
13
|
+
import { PrivyHostedWalletProvider } from '../../../node/providers/hosted/privy/PrivyHostedWalletProvider.js';
|
|
14
|
+
import { SmartWalletDeploymentError } from '../../wallets/smart/error/errors.js';
|
|
15
|
+
const mockChainManager = new MockChainManager({
|
|
16
|
+
supportedChains: [unichain.id],
|
|
17
|
+
});
|
|
18
|
+
const mockLendProvider = createMockLendProvider();
|
|
19
|
+
describe('WalletNamespace', () => {
|
|
20
|
+
let mockPrivyClient;
|
|
21
|
+
beforeEach(() => {
|
|
22
|
+
mockPrivyClient = createMockPrivyClient('test-app-id', 'test-app-secret');
|
|
23
|
+
});
|
|
24
|
+
afterEach(() => {
|
|
25
|
+
vi.clearAllMocks();
|
|
26
|
+
});
|
|
27
|
+
describe('hostedWalletProvider', () => {
|
|
28
|
+
it('should provide access to hosted wallet provider', () => {
|
|
29
|
+
const hostedWalletProvider = new PrivyHostedWalletProvider(mockPrivyClient, mockChainManager);
|
|
30
|
+
const smartWalletProvider = new DefaultSmartWalletProvider(mockChainManager, mockLendProvider);
|
|
31
|
+
const walletProvider = new WalletProvider(hostedWalletProvider, smartWalletProvider);
|
|
32
|
+
const walletNamespace = new WalletNamespace(walletProvider);
|
|
33
|
+
expect(walletNamespace.hostedWalletProvider).toBe(hostedWalletProvider);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
describe('smartWalletProvider', () => {
|
|
37
|
+
it('should provide access to smart wallet provider', () => {
|
|
38
|
+
const mockPrivyClient = createMockPrivyClient('test-app-id', 'test-app-secret');
|
|
39
|
+
const hostedWalletProvider = new PrivyHostedWalletProvider(mockPrivyClient, mockChainManager);
|
|
40
|
+
const smartWalletProvider = new DefaultSmartWalletProvider(mockChainManager, mockLendProvider);
|
|
41
|
+
const walletProvider = new WalletProvider(hostedWalletProvider, smartWalletProvider);
|
|
42
|
+
const walletNamespace = new WalletNamespace(walletProvider);
|
|
43
|
+
expect(walletNamespace.smartWalletProvider).toBe(smartWalletProvider);
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
describe('createSmartWallet', () => {
|
|
47
|
+
it('should create a smart wallet and return deployment result', async () => {
|
|
48
|
+
const hostedWalletProvider = new PrivyHostedWalletProvider(mockPrivyClient, mockChainManager);
|
|
49
|
+
const smartWalletProvider = new DefaultSmartWalletProvider(mockChainManager, mockLendProvider);
|
|
50
|
+
const walletProvider = new WalletProvider(hostedWalletProvider, smartWalletProvider);
|
|
51
|
+
const createSmartWalletSpy = vi.spyOn(walletProvider, 'createSmartWallet');
|
|
52
|
+
const walletNamespace = new WalletNamespace(walletProvider);
|
|
53
|
+
// Create a hosted wallet to use as signer
|
|
54
|
+
const privyWallet = await mockPrivyClient.walletApi.createWallet({
|
|
55
|
+
chainType: 'ethereum',
|
|
56
|
+
});
|
|
57
|
+
const hostedWallet = await walletProvider.hostedWalletProvider.toActionsWallet({
|
|
58
|
+
walletId: privyWallet.id,
|
|
59
|
+
address: getAddress(privyWallet.address),
|
|
60
|
+
});
|
|
61
|
+
const signers = [getRandomAddress(), hostedWallet.address];
|
|
62
|
+
const nonce = BigInt(123);
|
|
63
|
+
const result = await walletNamespace.createSmartWallet({
|
|
64
|
+
signers,
|
|
65
|
+
signer: hostedWallet.signer,
|
|
66
|
+
nonce,
|
|
67
|
+
});
|
|
68
|
+
expect(result.wallet).toBeInstanceOf(DefaultSmartWallet);
|
|
69
|
+
expect(createSmartWalletSpy).toHaveBeenCalledWith({
|
|
70
|
+
signers,
|
|
71
|
+
signer: hostedWallet.signer,
|
|
72
|
+
nonce,
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
it('should report deployment successes and failures', async () => {
|
|
76
|
+
const hostedWalletProvider = new PrivyHostedWalletProvider(mockPrivyClient, mockChainManager);
|
|
77
|
+
const smartWalletProvider = new DefaultSmartWalletProvider(mockChainManager, mockLendProvider);
|
|
78
|
+
const walletProvider = new WalletProvider(hostedWalletProvider, smartWalletProvider);
|
|
79
|
+
const walletNamespace = new WalletNamespace(walletProvider);
|
|
80
|
+
// Create a hosted wallet to use as signer
|
|
81
|
+
const privyWallet = await mockPrivyClient.walletApi.createWallet({
|
|
82
|
+
chainType: 'ethereum',
|
|
83
|
+
});
|
|
84
|
+
const hostedWallet = await walletProvider.hostedWalletProvider.toActionsWallet({
|
|
85
|
+
walletId: privyWallet.id,
|
|
86
|
+
address: getAddress(privyWallet.address),
|
|
87
|
+
});
|
|
88
|
+
const signers = [getRandomAddress(), hostedWallet.address];
|
|
89
|
+
const nonce = BigInt(456);
|
|
90
|
+
const deploymentChainIds = [130];
|
|
91
|
+
// Mock the provider's createSmartWallet to return successes and failures
|
|
92
|
+
const createSmartWalletSpy = vi.spyOn(walletProvider, 'createSmartWallet');
|
|
93
|
+
const mockWallet = {};
|
|
94
|
+
createSmartWalletSpy.mockResolvedValueOnce({
|
|
95
|
+
wallet: mockWallet,
|
|
96
|
+
deployments: [
|
|
97
|
+
{ chainId: 130, receipt: undefined, success: true },
|
|
98
|
+
{
|
|
99
|
+
chainId: 8453,
|
|
100
|
+
error: new SmartWalletDeploymentError('Deployment failed on chain 8453', 8453),
|
|
101
|
+
success: false,
|
|
102
|
+
},
|
|
103
|
+
],
|
|
104
|
+
});
|
|
105
|
+
const result = await walletNamespace.createSmartWallet({
|
|
106
|
+
signers,
|
|
107
|
+
signer: hostedWallet.signer,
|
|
108
|
+
nonce,
|
|
109
|
+
deploymentChainIds,
|
|
110
|
+
});
|
|
111
|
+
// Verify it was called with correct params
|
|
112
|
+
expect(createSmartWalletSpy).toHaveBeenCalledWith({
|
|
113
|
+
signers,
|
|
114
|
+
signer: hostedWallet.signer,
|
|
115
|
+
nonce,
|
|
116
|
+
deploymentChainIds,
|
|
117
|
+
});
|
|
118
|
+
// Verify we have successes and failures
|
|
119
|
+
expect(result).toEqual({
|
|
120
|
+
wallet: mockWallet,
|
|
121
|
+
deployments: [
|
|
122
|
+
{ chainId: 130, receipt: undefined, success: true },
|
|
123
|
+
{
|
|
124
|
+
chainId: 8453,
|
|
125
|
+
error: new SmartWalletDeploymentError('Deployment failed on chain 8453', 8453),
|
|
126
|
+
success: false,
|
|
127
|
+
},
|
|
128
|
+
],
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
describe('getSmartWallet', () => {
|
|
133
|
+
it('should get a smart wallet with provided signer', async () => {
|
|
134
|
+
const mockPrivyClient = createMockPrivyClient('test-app-id', 'test-app-secret');
|
|
135
|
+
const hostedWalletProvider = new PrivyHostedWalletProvider(mockPrivyClient, mockChainManager);
|
|
136
|
+
const smartWalletProvider = new DefaultSmartWalletProvider(mockChainManager, mockLendProvider);
|
|
137
|
+
const walletProvider = new WalletProvider(hostedWalletProvider, smartWalletProvider);
|
|
138
|
+
const getSmartWalletSpy = vi.spyOn(walletProvider, 'getSmartWallet');
|
|
139
|
+
const walletNamespace = new WalletNamespace(walletProvider);
|
|
140
|
+
const privyWallet = await mockPrivyClient.walletApi.createWallet({
|
|
141
|
+
chainType: 'ethereum',
|
|
142
|
+
});
|
|
143
|
+
const hostedWallet = await walletProvider.hostedWalletProvider.toActionsWallet({
|
|
144
|
+
walletId: privyWallet.id,
|
|
145
|
+
address: getAddress(privyWallet.address),
|
|
146
|
+
});
|
|
147
|
+
const deploymentSigners = [hostedWallet.address, getRandomAddress()];
|
|
148
|
+
const nonce = BigInt(789);
|
|
149
|
+
const params = {
|
|
150
|
+
signer: hostedWallet.signer,
|
|
151
|
+
deploymentSigners,
|
|
152
|
+
signers: [hostedWallet.signer.address],
|
|
153
|
+
nonce,
|
|
154
|
+
};
|
|
155
|
+
const smartWallet = await walletNamespace.getSmartWallet(params);
|
|
156
|
+
expect(smartWallet).toBeInstanceOf(DefaultSmartWallet);
|
|
157
|
+
expect(getSmartWalletSpy).toHaveBeenCalledWith(params);
|
|
158
|
+
});
|
|
159
|
+
it('should throw error when getting smart wallet without required parameters', async () => {
|
|
160
|
+
const mockPrivyClient = createMockPrivyClient('test-app-id', 'test-app-secret');
|
|
161
|
+
const hostedWalletProvider = new PrivyHostedWalletProvider(mockPrivyClient, mockChainManager);
|
|
162
|
+
const smartWalletProvider = new DefaultSmartWalletProvider(mockChainManager, mockLendProvider);
|
|
163
|
+
const walletProvider = new WalletProvider(hostedWalletProvider, smartWalletProvider);
|
|
164
|
+
const walletNamespace = new WalletNamespace(walletProvider);
|
|
165
|
+
const privyWallet = await mockPrivyClient.walletApi.createWallet({
|
|
166
|
+
chainType: 'ethereum',
|
|
167
|
+
});
|
|
168
|
+
const hostedWallet = await walletProvider.hostedWalletProvider.toActionsWallet({
|
|
169
|
+
walletId: privyWallet.id,
|
|
170
|
+
address: getAddress(privyWallet.address),
|
|
171
|
+
});
|
|
172
|
+
await expect(walletNamespace.getSmartWallet({
|
|
173
|
+
signer: hostedWallet.signer,
|
|
174
|
+
signers: [hostedWallet.signer.address],
|
|
175
|
+
// Missing both walletAddress and deploymentSigners
|
|
176
|
+
})).rejects.toThrow('Either walletAddress or deploymentSigners array must be provided to locate the smart wallet');
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
describe('hostedWalletToActionsWallet', () => {
|
|
180
|
+
it('should convert a hosted wallet to an Actions wallet', async () => {
|
|
181
|
+
const hostedWalletProvider = new PrivyHostedWalletProvider(mockPrivyClient, mockChainManager);
|
|
182
|
+
const smartWalletProvider = new DefaultSmartWalletProvider(mockChainManager, mockLendProvider);
|
|
183
|
+
const walletProvider = new WalletProvider(hostedWalletProvider, smartWalletProvider);
|
|
184
|
+
const walletNamespace = new WalletNamespace(walletProvider);
|
|
185
|
+
const privyWallet = await mockPrivyClient.walletApi.createWallet({
|
|
186
|
+
chainType: 'ethereum',
|
|
187
|
+
});
|
|
188
|
+
const hostedWallet = await walletProvider.hostedWalletProvider.toActionsWallet({
|
|
189
|
+
walletId: privyWallet.id,
|
|
190
|
+
address: getAddress(privyWallet.address),
|
|
191
|
+
});
|
|
192
|
+
const toActionsWalletSpy = vi.spyOn(walletProvider.hostedWalletProvider, 'toActionsWallet');
|
|
193
|
+
const actionsWallet = await walletNamespace.hostedWalletToActionsWallet({
|
|
194
|
+
walletId: privyWallet.id,
|
|
195
|
+
address: privyWallet.address,
|
|
196
|
+
});
|
|
197
|
+
expect(toActionsWalletSpy).toHaveBeenCalledWith({
|
|
198
|
+
walletId: privyWallet.id,
|
|
199
|
+
address: privyWallet.address,
|
|
200
|
+
});
|
|
201
|
+
expect(actionsWallet).toBeInstanceOf(Wallet);
|
|
202
|
+
expect(actionsWallet.signer.address).toBe(hostedWallet.signer.address);
|
|
203
|
+
expect(actionsWallet.address).toBe(hostedWallet.address);
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
describe('createSigner', () => {
|
|
207
|
+
it('should delegate to hosted wallet provider createSigner', async () => {
|
|
208
|
+
const hostedWalletProvider = new PrivyHostedWalletProvider(mockPrivyClient, mockChainManager);
|
|
209
|
+
const smartWalletProvider = new DefaultSmartWalletProvider(mockChainManager, mockLendProvider);
|
|
210
|
+
const walletProvider = new WalletProvider(hostedWalletProvider, smartWalletProvider);
|
|
211
|
+
const createSignerSpy = vi.spyOn(walletProvider, 'createSigner');
|
|
212
|
+
const walletNamespace = new WalletNamespace(walletProvider);
|
|
213
|
+
const privyWallet = await mockPrivyClient.walletApi.createWallet({
|
|
214
|
+
chainType: 'ethereum',
|
|
215
|
+
});
|
|
216
|
+
const params = {
|
|
217
|
+
walletId: privyWallet.id,
|
|
218
|
+
address: getAddress(privyWallet.address),
|
|
219
|
+
};
|
|
220
|
+
const signer = await walletNamespace.createSigner(params);
|
|
221
|
+
expect(createSignerSpy).toHaveBeenCalledWith(params);
|
|
222
|
+
expect(signer.address).toBe(privyWallet.address);
|
|
223
|
+
expect(signer.type).toBe('local');
|
|
224
|
+
});
|
|
225
|
+
it('should return a LocalAccount that can be used as a smart wallet signer', async () => {
|
|
226
|
+
const hostedWalletProvider = new PrivyHostedWalletProvider(mockPrivyClient, mockChainManager);
|
|
227
|
+
const smartWalletProvider = new DefaultSmartWalletProvider(mockChainManager, mockLendProvider);
|
|
228
|
+
const walletProvider = new WalletProvider(hostedWalletProvider, smartWalletProvider);
|
|
229
|
+
const walletNamespace = new WalletNamespace(walletProvider);
|
|
230
|
+
const privyWallet = await mockPrivyClient.walletApi.createWallet({
|
|
231
|
+
chainType: 'ethereum',
|
|
232
|
+
});
|
|
233
|
+
const signer = await walletNamespace.createSigner({
|
|
234
|
+
walletId: privyWallet.id,
|
|
235
|
+
address: getAddress(privyWallet.address),
|
|
236
|
+
});
|
|
237
|
+
// Use the signer to create a smart wallet
|
|
238
|
+
const signers = [signer.address, getRandomAddress()];
|
|
239
|
+
const { wallet: smartWallet } = await walletNamespace.createSmartWallet({
|
|
240
|
+
signers,
|
|
241
|
+
signer,
|
|
242
|
+
nonce: 0n,
|
|
243
|
+
});
|
|
244
|
+
expect(smartWallet).toBeInstanceOf(DefaultSmartWallet);
|
|
245
|
+
expect(smartWallet.signer).toBe(signer);
|
|
246
|
+
});
|
|
247
|
+
});
|
|
248
|
+
});
|
|
249
|
+
//# sourceMappingURL=WalletNamespace.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletNamespace.spec.js","sourceRoot":"","sources":["../../../../../src/wallet/core/namespace/__tests__/WalletNamespace.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { type LocalAccount } from 'viem';
|
|
2
|
+
import type { CreateSmartWalletOptions, GetSmartWalletOptions } from '../../../types/wallet.js';
|
|
3
|
+
import type { HostedWalletProvider } from './hosted/abstract/HostedWalletProvider.js';
|
|
4
|
+
import type { SmartWalletProvider } from './smart/abstract/SmartWalletProvider.js';
|
|
5
|
+
import type { SmartWalletCreationResult } from './smart/abstract/types/index.js';
|
|
6
|
+
import type { Wallet } from '../wallets/abstract/Wallet.js';
|
|
7
|
+
import type { SmartWallet } from '../wallets/smart/abstract/SmartWallet.js';
|
|
8
|
+
/**
|
|
9
|
+
* Unified Wallet Provider
|
|
10
|
+
* @description Main wallet provider that combines hosted wallet and smart wallet functionality.
|
|
11
|
+
* Provides a unified interface for all wallet operations while supporting pluggable providers.
|
|
12
|
+
*/
|
|
13
|
+
export declare class WalletProvider<THostedProviderType extends string, TToActionsMap extends Record<THostedProviderType, unknown>, H extends HostedWalletProvider<THostedProviderType, TToActionsMap>, S extends SmartWalletProvider = SmartWalletProvider> {
|
|
14
|
+
readonly hostedWalletProvider: H;
|
|
15
|
+
readonly smartWalletProvider: S;
|
|
16
|
+
constructor(hostedWalletProvider: H, smartWalletProvider: S);
|
|
17
|
+
/**
|
|
18
|
+
* Create a new smart wallet
|
|
19
|
+
* @description Creates a smart wallet and attempts to deploy it across all supported chains.
|
|
20
|
+
* The wallet address is deterministically calculated from signers and nonce. The signer must
|
|
21
|
+
* be included in the signers array. Deployment failures on individual chains do not prevent
|
|
22
|
+
* wallet creation - they are reported in the result.
|
|
23
|
+
* @param params - Smart wallet creation parameters
|
|
24
|
+
* @param params.signers - Array of signers for the smart wallet
|
|
25
|
+
* @param params.signer - Local account used for signing transactions (must be in signers array)
|
|
26
|
+
* @param params.nonce - Optional nonce for smart wallet address generation (defaults to 0)
|
|
27
|
+
* @param params.deploymentChainIds - Optional chain IDs to deploy the wallet to.
|
|
28
|
+
* If not provided, the wallet will be deployed to all supported chains.
|
|
29
|
+
* @returns Promise resolving to deployment result containing:
|
|
30
|
+
* - `wallet`: The created SmartWallet instance
|
|
31
|
+
* - `deployments`: Array of deployment results with chainId, receipt, success flag, and error
|
|
32
|
+
* @throws Error if signer is not included in the signers array
|
|
33
|
+
*/
|
|
34
|
+
createSmartWallet(params: CreateSmartWalletOptions): Promise<SmartWalletCreationResult<SmartWallet>>;
|
|
35
|
+
hostedWalletToActionsWallet(params: TToActionsMap[THostedProviderType]): Promise<Wallet>;
|
|
36
|
+
/**
|
|
37
|
+
* Create a viem LocalAccount signer from the hosted wallet
|
|
38
|
+
* @description Produces a signing account backed by the hosted wallet without wrapping
|
|
39
|
+
* it in a full Actions wallet. This is useful when you need to pass the signer
|
|
40
|
+
* into an Actions smart wallet as a signer, for lower-level viem operations, or
|
|
41
|
+
* for passing to other libraries that accept a viem `LocalAccount`.
|
|
42
|
+
* @param params - Configuration for the signer
|
|
43
|
+
* @returns Promise resolving to a viem `LocalAccount` with the hosted wallet as the signer backend
|
|
44
|
+
*/
|
|
45
|
+
createSigner(params: TToActionsMap[THostedProviderType]): Promise<LocalAccount>;
|
|
46
|
+
/**
|
|
47
|
+
* Get an existing smart wallet with a provided signer
|
|
48
|
+
* @description Retrieves a smart wallet using a directly provided signer. This is useful when
|
|
49
|
+
* you already have a LocalAccount signer and want to access an existing smart wallet without
|
|
50
|
+
* going through the hosted wallet provider. Use this instead of getSmartWalletWithHostedSigner
|
|
51
|
+
* when you have direct control over the signer.
|
|
52
|
+
* @param signer - Local account to use for signing transactions on the smart wallet
|
|
53
|
+
* @param getWalletParams - Wallet retrieval parameters
|
|
54
|
+
* @param getWalletParams.deploymentSigners - Array of original deployment signers for smart wallet address calculation. Required if walletAddress not provided. Must match the exact signers array used during wallet deployment.
|
|
55
|
+
* @param getWalletParams.walletAddress - Optional explicit smart wallet address (skips address calculation)
|
|
56
|
+
* @param getWalletParams.nonce - Optional nonce used during smart wallet creation
|
|
57
|
+
* @param getWalletParams.signer - Local account to use for signing transactions on the smart wallet
|
|
58
|
+
* @returns Promise resolving to the smart wallet instance with the provided signer
|
|
59
|
+
* @throws Error if neither walletAddress nor deploymentOwners provided
|
|
60
|
+
*/
|
|
61
|
+
getSmartWallet(params: GetSmartWalletOptions): Promise<SmartWallet>;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=WalletProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletProvider.d.ts","sourceRoot":"","sources":["../../../../src/wallet/core/providers/WalletProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAA;AAExC,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AAC3G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAA;AACxG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAA;AACtG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAA;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAA;AAEtF;;;;GAIG;AACH,qBAAa,cAAc,CACzB,mBAAmB,SAAS,MAAM,EAClC,aAAa,SAAS,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,EAC1D,CAAC,SAAS,oBAAoB,CAAC,mBAAmB,EAAE,aAAa,CAAC,EAClE,CAAC,SAAS,mBAAmB,GAAG,mBAAmB;aAGjC,oBAAoB,EAAE,CAAC;aACvB,mBAAmB,EAAE,CAAC;gBADtB,oBAAoB,EAAE,CAAC,EACvB,mBAAmB,EAAE,CAAC;IAGxC;;;;;;;;;;;;;;;;OAgBG;IACG,iBAAiB,CACrB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;IAI5C,2BAA2B,CAC/B,MAAM,EAAE,aAAa,CAAC,mBAAmB,CAAC,GACzC,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;;;;OAQG;IACG,YAAY,CAChB,MAAM,EAAE,aAAa,CAAC,mBAAmB,CAAC,GACzC,OAAO,CAAC,YAAY,CAAC;IAIxB;;;;;;;;;;;;;;OAcG;IACG,cAAc,CAAC,MAAM,EAAE,qBAAqB;CAmCnD"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified Wallet Provider
|
|
3
|
+
* @description Main wallet provider that combines hosted wallet and smart wallet functionality.
|
|
4
|
+
* Provides a unified interface for all wallet operations while supporting pluggable providers.
|
|
5
|
+
*/
|
|
6
|
+
export class WalletProvider {
|
|
7
|
+
constructor(hostedWalletProvider, smartWalletProvider) {
|
|
8
|
+
this.hostedWalletProvider = hostedWalletProvider;
|
|
9
|
+
this.smartWalletProvider = smartWalletProvider;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Create a new smart wallet
|
|
13
|
+
* @description Creates a smart wallet and attempts to deploy it across all supported chains.
|
|
14
|
+
* The wallet address is deterministically calculated from signers and nonce. The signer must
|
|
15
|
+
* be included in the signers array. Deployment failures on individual chains do not prevent
|
|
16
|
+
* wallet creation - they are reported in the result.
|
|
17
|
+
* @param params - Smart wallet creation parameters
|
|
18
|
+
* @param params.signers - Array of signers for the smart wallet
|
|
19
|
+
* @param params.signer - Local account used for signing transactions (must be in signers array)
|
|
20
|
+
* @param params.nonce - Optional nonce for smart wallet address generation (defaults to 0)
|
|
21
|
+
* @param params.deploymentChainIds - Optional chain IDs to deploy the wallet to.
|
|
22
|
+
* If not provided, the wallet will be deployed to all supported chains.
|
|
23
|
+
* @returns Promise resolving to deployment result containing:
|
|
24
|
+
* - `wallet`: The created SmartWallet instance
|
|
25
|
+
* - `deployments`: Array of deployment results with chainId, receipt, success flag, and error
|
|
26
|
+
* @throws Error if signer is not included in the signers array
|
|
27
|
+
*/
|
|
28
|
+
async createSmartWallet(params) {
|
|
29
|
+
return this.smartWalletProvider.createWallet({ ...params });
|
|
30
|
+
}
|
|
31
|
+
async hostedWalletToActionsWallet(params) {
|
|
32
|
+
return this.hostedWalletProvider.toActionsWallet(params);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Create a viem LocalAccount signer from the hosted wallet
|
|
36
|
+
* @description Produces a signing account backed by the hosted wallet without wrapping
|
|
37
|
+
* it in a full Actions wallet. This is useful when you need to pass the signer
|
|
38
|
+
* into an Actions smart wallet as a signer, for lower-level viem operations, or
|
|
39
|
+
* for passing to other libraries that accept a viem `LocalAccount`.
|
|
40
|
+
* @param params - Configuration for the signer
|
|
41
|
+
* @returns Promise resolving to a viem `LocalAccount` with the hosted wallet as the signer backend
|
|
42
|
+
*/
|
|
43
|
+
async createSigner(params) {
|
|
44
|
+
return this.hostedWalletProvider.createSigner(params);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Get an existing smart wallet with a provided signer
|
|
48
|
+
* @description Retrieves a smart wallet using a directly provided signer. This is useful when
|
|
49
|
+
* you already have a LocalAccount signer and want to access an existing smart wallet without
|
|
50
|
+
* going through the hosted wallet provider. Use this instead of getSmartWalletWithHostedSigner
|
|
51
|
+
* when you have direct control over the signer.
|
|
52
|
+
* @param signer - Local account to use for signing transactions on the smart wallet
|
|
53
|
+
* @param getWalletParams - Wallet retrieval parameters
|
|
54
|
+
* @param getWalletParams.deploymentSigners - Array of original deployment signers for smart wallet address calculation. Required if walletAddress not provided. Must match the exact signers array used during wallet deployment.
|
|
55
|
+
* @param getWalletParams.walletAddress - Optional explicit smart wallet address (skips address calculation)
|
|
56
|
+
* @param getWalletParams.nonce - Optional nonce used during smart wallet creation
|
|
57
|
+
* @param getWalletParams.signer - Local account to use for signing transactions on the smart wallet
|
|
58
|
+
* @returns Promise resolving to the smart wallet instance with the provided signer
|
|
59
|
+
* @throws Error if neither walletAddress nor deploymentOwners provided
|
|
60
|
+
*/
|
|
61
|
+
async getSmartWallet(params) {
|
|
62
|
+
const { signer, deploymentSigners, signers, walletAddress: walletAddressParam, nonce, } = params;
|
|
63
|
+
if (!walletAddressParam && !deploymentSigners) {
|
|
64
|
+
try {
|
|
65
|
+
throw new Error('Either walletAddress or deploymentSigners array must be provided to locate the smart wallet');
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
console.error(error);
|
|
69
|
+
throw new Error('Either walletAddress or deploymentSigners array must be provided to locate the smart wallet');
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const walletAddress = walletAddressParam ||
|
|
73
|
+
(await this.smartWalletProvider.getWalletAddress({
|
|
74
|
+
// Safe to use ! since we validated above
|
|
75
|
+
signers: deploymentSigners,
|
|
76
|
+
nonce,
|
|
77
|
+
}));
|
|
78
|
+
return this.smartWalletProvider.getWallet({
|
|
79
|
+
walletAddress,
|
|
80
|
+
signer,
|
|
81
|
+
signers,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=WalletProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletProvider.js","sourceRoot":"","sources":["../../../../src/wallet/core/providers/WalletProvider.ts"],"names":[],"mappings":"AAYA;;;;GAIG;AACH,MAAM,OAAO,cAAc;IAMzB,YACkB,oBAAuB,EACvB,mBAAsB;QADtB,yBAAoB,GAApB,oBAAoB,CAAG;QACvB,wBAAmB,GAAnB,mBAAmB,CAAG;IACrC,CAAC;IAEJ;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,iBAAiB,CACrB,MAAgC;QAEhC,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;IAC7D,CAAC;IAED,KAAK,CAAC,2BAA2B,CAC/B,MAA0C;QAE1C,OAAO,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IAC1D,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,YAAY,CAChB,MAA0C;QAE1C,OAAO,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IACvD,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,cAAc,CAAC,MAA6B;QAChD,MAAM,EACJ,MAAM,EACN,iBAAiB,EACjB,OAAO,EACP,aAAa,EAAE,kBAAkB,EACjC,KAAK,GACN,GAAG,MAAM,CAAA;QAEV,IAAI,CAAC,kBAAkB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAA;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBACpB,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAA;YACH,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GACjB,kBAAkB;YAClB,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;gBAC/C,yCAAyC;gBACzC,OAAO,EAAE,iBAAkB;gBAC3B,KAAK;aACN,CAAC,CAAC,CAAA;QACL,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC;YACxC,aAAa;YACb,MAAM;YACN,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletProvider.spec.d.ts","sourceRoot":"","sources":["../../../../../src/wallet/core/providers/__tests__/WalletProvider.spec.ts"],"names":[],"mappings":""}
|