@eth-optimism/actions-sdk 0.0.2
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,80 @@
|
|
|
1
|
+
import { getAddress } from 'viem';
|
|
2
|
+
import { unichain } from 'viem/chains';
|
|
3
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
4
|
+
import { MockChainManager } from '../../../../../../test/MockChainManager.js';
|
|
5
|
+
import { createMockPrivyClient } from '../../../../../../test/MockPrivyClient.js';
|
|
6
|
+
import { getRandomAddress } from '../../../../../../test/utils.js';
|
|
7
|
+
import { Wallet } from '../../../../../core/wallets/abstract/Wallet.js';
|
|
8
|
+
import { PrivyHostedWalletProvider } from '../PrivyHostedWalletProvider.js';
|
|
9
|
+
import { PrivyWallet } from '../../../../wallets/hosted/privy/PrivyWallet.js';
|
|
10
|
+
describe('PrivyHostedWalletProvider', () => {
|
|
11
|
+
const mockChainManager = new MockChainManager({
|
|
12
|
+
supportedChains: [unichain.id],
|
|
13
|
+
});
|
|
14
|
+
describe('toActionsWallet', () => {
|
|
15
|
+
it('toActionsWallet creates an ActionsWallet with correct address and signer', async () => {
|
|
16
|
+
const privy = createMockPrivyClient('app', 'secret');
|
|
17
|
+
const provider = new PrivyHostedWalletProvider(privy, mockChainManager);
|
|
18
|
+
const hostedWallet = await privy.walletApi.createWallet({
|
|
19
|
+
chainType: 'ethereum',
|
|
20
|
+
});
|
|
21
|
+
const actionsWallet = await provider.toActionsWallet({
|
|
22
|
+
walletId: hostedWallet.id,
|
|
23
|
+
address: hostedWallet.address,
|
|
24
|
+
});
|
|
25
|
+
expect(actionsWallet).toBeInstanceOf(Wallet);
|
|
26
|
+
expect(actionsWallet.address).toBe(hostedWallet.address);
|
|
27
|
+
expect(actionsWallet.signer.address).toBe(hostedWallet.address);
|
|
28
|
+
});
|
|
29
|
+
it('forwards params to PrivyWallet.create', async () => {
|
|
30
|
+
const privy = createMockPrivyClient('app', 'secret');
|
|
31
|
+
const provider = new PrivyHostedWalletProvider(privy, mockChainManager);
|
|
32
|
+
const spy = vi.spyOn(PrivyWallet, 'create');
|
|
33
|
+
const id = 'mock-wallet-123';
|
|
34
|
+
const addr = getRandomAddress().toLowerCase();
|
|
35
|
+
await provider.toActionsWallet({ walletId: id, address: addr });
|
|
36
|
+
expect(spy).toHaveBeenCalledWith(expect.objectContaining({
|
|
37
|
+
privyClient: privy,
|
|
38
|
+
walletId: id,
|
|
39
|
+
address: getAddress(addr),
|
|
40
|
+
chainManager: mockChainManager,
|
|
41
|
+
}));
|
|
42
|
+
});
|
|
43
|
+
it('throws on invalid address', async () => {
|
|
44
|
+
const privy = createMockPrivyClient('app', 'secret');
|
|
45
|
+
const provider = new PrivyHostedWalletProvider(privy, mockChainManager);
|
|
46
|
+
await expect(provider.toActionsWallet({ walletId: 'id', address: '0x123' })).rejects.toBeTruthy();
|
|
47
|
+
});
|
|
48
|
+
it('forwards lendProvider when provided to constructor', async () => {
|
|
49
|
+
const privy = createMockPrivyClient('app', 'secret');
|
|
50
|
+
const mockLendProvider = {};
|
|
51
|
+
const provider = new PrivyHostedWalletProvider(privy, mockChainManager, mockLendProvider);
|
|
52
|
+
const spy = vi.spyOn(PrivyWallet, 'create');
|
|
53
|
+
const id = 'mock-wallet-123';
|
|
54
|
+
const addr = getRandomAddress().toLowerCase();
|
|
55
|
+
await provider.toActionsWallet({
|
|
56
|
+
walletId: id,
|
|
57
|
+
address: addr,
|
|
58
|
+
});
|
|
59
|
+
expect(spy).toHaveBeenCalledWith(expect.objectContaining({
|
|
60
|
+
lendProvider: mockLendProvider,
|
|
61
|
+
}));
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
describe('createSigner', () => {
|
|
65
|
+
it('should create a LocalAccount with correct address', async () => {
|
|
66
|
+
const privy = createMockPrivyClient('app', 'secret');
|
|
67
|
+
const provider = new PrivyHostedWalletProvider(privy, mockChainManager);
|
|
68
|
+
const hostedWallet = await privy.walletApi.createWallet({
|
|
69
|
+
chainType: 'ethereum',
|
|
70
|
+
});
|
|
71
|
+
const signer = await provider.createSigner({
|
|
72
|
+
walletId: hostedWallet.id,
|
|
73
|
+
address: hostedWallet.address,
|
|
74
|
+
});
|
|
75
|
+
expect(signer.address).toBe(hostedWallet.address);
|
|
76
|
+
expect(signer.type).toBe('local');
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
//# sourceMappingURL=PrivyHostedWalletProvider.spec.js.map
|
package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrivyHostedWalletProvider.spec.js","sourceRoot":"","sources":["../../../../../../../src/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { HostedWalletProviderRegistry } from '../../../../core/providers/hosted/registry/HostedWalletProviderRegistry.js';
|
|
2
|
+
import type { NodeHostedProviderInstanceMap, NodeOptionsMap, NodeProviderTypes } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Node hosted wallet provider registry
|
|
5
|
+
* @description
|
|
6
|
+
* Environment-scoped registry that binds Node/server provider keys to their
|
|
7
|
+
* factory implementations. This ensures browser-only hosted providers are
|
|
8
|
+
* discoverable at runtime without importing Node-only code. The registry
|
|
9
|
+
* pre-registers 'privy' and 'turnkey' providers and can be extended with
|
|
10
|
+
* additional providers via `register`.
|
|
11
|
+
*/
|
|
12
|
+
export declare class NodeHostedWalletProviderRegistry extends HostedWalletProviderRegistry<NodeHostedProviderInstanceMap, NodeOptionsMap, NodeProviderTypes> {
|
|
13
|
+
constructor();
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=NodeHostedWalletProviderRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeHostedWalletProviderRegistry.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yEAAyE,CAAA;AAGtH,OAAO,KAAK,EACV,6BAA6B,EAC7B,cAAc,EACd,iBAAiB,EAClB,MAAM,+CAA+C,CAAA;AAEtD;;;;;;;;GAQG;AACH,qBAAa,gCAAiC,SAAQ,4BAA4B,CAChF,6BAA6B,EAC7B,cAAc,EACd,iBAAiB,CAClB;;CAgCA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { HostedWalletProviderRegistry } from '../../../../core/providers/hosted/registry/HostedWalletProviderRegistry.js';
|
|
2
|
+
import { PrivyHostedWalletProvider } from '../privy/PrivyHostedWalletProvider.js';
|
|
3
|
+
import { TurnkeyHostedWalletProvider } from '../turnkey/TurnkeyHostedWalletProvider.js';
|
|
4
|
+
/**
|
|
5
|
+
* Node hosted wallet provider registry
|
|
6
|
+
* @description
|
|
7
|
+
* Environment-scoped registry that binds Node/server provider keys to their
|
|
8
|
+
* factory implementations. This ensures browser-only hosted providers are
|
|
9
|
+
* discoverable at runtime without importing Node-only code. The registry
|
|
10
|
+
* pre-registers 'privy' and 'turnkey' providers and can be extended with
|
|
11
|
+
* additional providers via `register`.
|
|
12
|
+
*/
|
|
13
|
+
export class NodeHostedWalletProviderRegistry extends HostedWalletProviderRegistry {
|
|
14
|
+
constructor() {
|
|
15
|
+
super();
|
|
16
|
+
this.register({
|
|
17
|
+
type: 'privy',
|
|
18
|
+
validateOptions(options) {
|
|
19
|
+
return Boolean(options?.privyClient);
|
|
20
|
+
},
|
|
21
|
+
create({ chainManager, lendProvider }, options) {
|
|
22
|
+
return new PrivyHostedWalletProvider(options.privyClient, chainManager, lendProvider);
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
this.register({
|
|
26
|
+
type: 'turnkey',
|
|
27
|
+
validateOptions(options) {
|
|
28
|
+
const o = options;
|
|
29
|
+
return Boolean(o?.client);
|
|
30
|
+
},
|
|
31
|
+
create({ chainManager, lendProvider }, options) {
|
|
32
|
+
return new TurnkeyHostedWalletProvider(options.client, chainManager, lendProvider);
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=NodeHostedWalletProviderRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeHostedWalletProviderRegistry.js","sourceRoot":"","sources":["../../../../../../src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yEAAyE,CAAA;AACtH,OAAO,EAAE,yBAAyB,EAAE,MAAM,mEAAmE,CAAA;AAC7G,OAAO,EAAE,2BAA2B,EAAE,MAAM,uEAAuE,CAAA;AAOnH;;;;;;;;GAQG;AACH,MAAM,OAAO,gCAAiC,SAAQ,4BAIrD;IACC;QACE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,QAAQ,CAAU;YACrB,IAAI,EAAE,OAAO;YACb,eAAe,CAAC,OAAO;gBACrB,OAAO,OAAO,CAAE,OAAmC,EAAE,WAAW,CAAC,CAAA;YACnE,CAAC;YACD,MAAM,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,OAAO;gBAC5C,OAAO,IAAI,yBAAyB,CAClC,OAAO,CAAC,WAAW,EACnB,YAAY,EACZ,YAAY,CACb,CAAA;YACH,CAAC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAY;YACvB,IAAI,EAAE,SAAS;YACf,eAAe,CAAC,OAAO;gBACrB,MAAM,CAAC,GAAG,OAAoC,CAAA;gBAC9C,OAAO,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;YAC3B,CAAC;YACD,MAAM,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,OAAO;gBAC5C,OAAO,IAAI,2BAA2B,CACpC,OAAO,CAAC,MAAM,EACd,YAAY,EACZ,YAAY,CACb,CAAA;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeHostedWalletProviderRegistry.spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { unichain } from 'viem/chains';
|
|
2
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
3
|
+
import { MockChainManager } from '../../../../../../test/MockChainManager.js';
|
|
4
|
+
import { createMockPrivyClient } from '../../../../../../test/MockPrivyClient.js';
|
|
5
|
+
import { PrivyHostedWalletProvider } from '../../privy/PrivyHostedWalletProvider.js';
|
|
6
|
+
import { NodeHostedWalletProviderRegistry } from '../NodeHostedWalletProviderRegistry.js';
|
|
7
|
+
import { TurnkeyHostedWalletProvider } from '../../turnkey/TurnkeyHostedWalletProvider.js';
|
|
8
|
+
describe('NodeHostedWalletProviderRegistry', () => {
|
|
9
|
+
const mockChainManager = new MockChainManager({
|
|
10
|
+
supportedChains: [unichain.id],
|
|
11
|
+
});
|
|
12
|
+
let mockPrivyClient;
|
|
13
|
+
const mockTurnkeyClient = {};
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
mockPrivyClient = createMockPrivyClient('test-app-id', 'test-app-secret');
|
|
16
|
+
});
|
|
17
|
+
afterEach(() => {
|
|
18
|
+
vi.clearAllMocks();
|
|
19
|
+
});
|
|
20
|
+
it('returns privy factory and validates options', () => {
|
|
21
|
+
const registry = new NodeHostedWalletProviderRegistry();
|
|
22
|
+
const factory = registry.getFactory('privy');
|
|
23
|
+
expect(factory.type).toBe('privy');
|
|
24
|
+
expect(factory.validateOptions?.({
|
|
25
|
+
privyClient: mockPrivyClient,
|
|
26
|
+
})).toBe(true);
|
|
27
|
+
// Invalid shape should not pass validation
|
|
28
|
+
expect(factory.validateOptions?.({})).toBe(false);
|
|
29
|
+
});
|
|
30
|
+
it('creates a PrivyHostedWalletProvider instance', () => {
|
|
31
|
+
const registry = new NodeHostedWalletProviderRegistry();
|
|
32
|
+
const factory = registry.getFactory('privy');
|
|
33
|
+
const provider = factory.create({ chainManager: mockChainManager }, {
|
|
34
|
+
privyClient: mockPrivyClient,
|
|
35
|
+
});
|
|
36
|
+
expect(provider).toBeInstanceOf(PrivyHostedWalletProvider);
|
|
37
|
+
});
|
|
38
|
+
it('returns turnkey factory and validates options', () => {
|
|
39
|
+
const registry = new NodeHostedWalletProviderRegistry();
|
|
40
|
+
const factory = registry.getFactory('turnkey');
|
|
41
|
+
expect(factory.type).toBe('turnkey');
|
|
42
|
+
expect(factory.validateOptions?.({
|
|
43
|
+
client: mockTurnkeyClient,
|
|
44
|
+
})).toBe(true);
|
|
45
|
+
// Invalid shape should not pass validation
|
|
46
|
+
expect(factory.validateOptions?.({})).toBe(false);
|
|
47
|
+
});
|
|
48
|
+
it('creates a TurnkeyHostedWalletProvider instance', () => {
|
|
49
|
+
const registry = new NodeHostedWalletProviderRegistry();
|
|
50
|
+
const factory = registry.getFactory('turnkey');
|
|
51
|
+
const provider = factory.create({ chainManager: mockChainManager }, {
|
|
52
|
+
client: mockTurnkeyClient,
|
|
53
|
+
});
|
|
54
|
+
expect(provider).toBeInstanceOf(TurnkeyHostedWalletProvider);
|
|
55
|
+
});
|
|
56
|
+
it('throws for unknown provider type', () => {
|
|
57
|
+
const registry = new NodeHostedWalletProviderRegistry();
|
|
58
|
+
// @ts-expect-error: testing runtime error for unknown type
|
|
59
|
+
expect(() => registry.getFactory('unknown')).toThrow('Unknown hosted wallet provider: unknown');
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
//# sourceMappingURL=NodeHostedWalletProviderRegistry.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeHostedWalletProviderRegistry.spec.js","sourceRoot":"","sources":["../../../../../../../src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { TurnkeySDKClientBase } from '@turnkey/core';
|
|
2
|
+
import type { TurnkeyClient as TurnkeyHttpClient } from '@turnkey/http';
|
|
3
|
+
import type { TurnkeyServerClient } from '@turnkey/sdk-server';
|
|
4
|
+
import type { LocalAccount } from 'viem';
|
|
5
|
+
import type { ChainManager } from '../../../../../services/ChainManager.js';
|
|
6
|
+
import type { LendConfig, LendProvider } from '../../../../../types/lend/index.js';
|
|
7
|
+
import { HostedWalletProvider } from '../../../../core/providers/hosted/abstract/HostedWalletProvider.js';
|
|
8
|
+
import type { Wallet } from '../../../../core/wallets/abstract/Wallet.js';
|
|
9
|
+
import type { NodeToActionsOptionsMap } from '../types/index.js';
|
|
10
|
+
/**
|
|
11
|
+
* Turnkey wallet provider implementation
|
|
12
|
+
* @description Hosted wallet provider that wraps Turnkey's signing infrastructure
|
|
13
|
+
* and exposes an Actions-compatible wallet. This provider is intended for Node
|
|
14
|
+
* environments where the Turnkey client (HTTP, server, or core SDK) and
|
|
15
|
+
* organization context are provided at construction time.
|
|
16
|
+
*/
|
|
17
|
+
export declare class TurnkeyHostedWalletProvider extends HostedWalletProvider<'turnkey', NodeToActionsOptionsMap> {
|
|
18
|
+
private readonly client;
|
|
19
|
+
/**
|
|
20
|
+
* Create a new Turnkey wallet provider
|
|
21
|
+
* @param client - Turnkey client instance (HTTP, server, or core SDK base)
|
|
22
|
+
* @param chainManager - Chain manager used to resolve chains and RPC transports
|
|
23
|
+
*/
|
|
24
|
+
constructor(client: TurnkeyHttpClient | TurnkeyServerClient | TurnkeySDKClientBase, chainManager: ChainManager, lendProvider?: LendProvider<LendConfig>);
|
|
25
|
+
/**
|
|
26
|
+
* Convert a Turnkey hosted wallet context into an Actions wallet
|
|
27
|
+
* @description Creates a `TurnkeyWallet` configured with the provider's Turnkey
|
|
28
|
+
* client and organization.
|
|
29
|
+
* @param params - Options for creating the Actions wallet from Turnkey context
|
|
30
|
+
* @param params.signWith - Wallet account address, private key address, or private key ID
|
|
31
|
+
* @param params.ethereumAddress - Ethereum address to use for this account, in the case that a private key ID is used to sign.
|
|
32
|
+
* @returns Promise resolving to an Actions-compatible wallet instance
|
|
33
|
+
*/
|
|
34
|
+
toActionsWallet(params: NodeToActionsOptionsMap['turnkey']): Promise<Wallet>;
|
|
35
|
+
/**
|
|
36
|
+
* Create a viem LocalAccount signer from Turnkey credentials
|
|
37
|
+
* @description Produces a signing account backed by Turnkey without wrapping
|
|
38
|
+
* it in a full Actions wallet. This is useful when you need to pass the signer
|
|
39
|
+
* into an Actions smart wallet as a signer, for lower-level viem operations, or
|
|
40
|
+
* for passing to other libraries that accept a viem `LocalAccount`.
|
|
41
|
+
* @param params - Turnkey configuration for the signer
|
|
42
|
+
* @param params.client - Turnkey client instance
|
|
43
|
+
* @param params.organizationId - Turnkey organization ID that owns the signing key
|
|
44
|
+
* @param params.signWith - Wallet account address, private key address, or private key ID
|
|
45
|
+
* @param params.ethereumAddress - Optional Ethereum address (recommended for passkey clients to avoid extra prompts)
|
|
46
|
+
* @returns Promise resolving to a viem `LocalAccount` with Turnkey as the signer backend
|
|
47
|
+
*/
|
|
48
|
+
createSigner(params: NodeToActionsOptionsMap['turnkey']): Promise<LocalAccount>;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=TurnkeyHostedWalletProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TurnkeyHostedWalletProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAExC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AACtG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAA;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAA;AAI5F;;;;;;GAMG;AACH,qBAAa,2BAA4B,SAAQ,oBAAoB,CACnE,SAAS,EACT,uBAAuB,CACxB;IAOG,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzB;;;;OAIG;gBAEgB,MAAM,EACnB,iBAAiB,GACjB,mBAAmB,GACnB,oBAAoB,EACxB,YAAY,EAAE,YAAY,EAC1B,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC;IAKzC;;;;;;;;OAQG;IACG,eAAe,CACnB,MAAM,EAAE,uBAAuB,CAAC,SAAS,CAAC,GACzC,OAAO,CAAC,MAAM,CAAC;IAWlB;;;;;;;;;;;;OAYG;IACG,YAAY,CAChB,MAAM,EAAE,uBAAuB,CAAC,SAAS,CAAC,GACzC,OAAO,CAAC,YAAY,CAAC;CAMzB"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { HostedWalletProvider } from '../../../../core/providers/hosted/abstract/HostedWalletProvider.js';
|
|
2
|
+
import { TurnkeyWallet } from '../../../wallets/hosted/turnkey/TurnkeyWallet.js';
|
|
3
|
+
import { createSigner } from '../../../wallets/hosted/turnkey/utils/createSigner.js';
|
|
4
|
+
/**
|
|
5
|
+
* Turnkey wallet provider implementation
|
|
6
|
+
* @description Hosted wallet provider that wraps Turnkey's signing infrastructure
|
|
7
|
+
* and exposes an Actions-compatible wallet. This provider is intended for Node
|
|
8
|
+
* environments where the Turnkey client (HTTP, server, or core SDK) and
|
|
9
|
+
* organization context are provided at construction time.
|
|
10
|
+
*/
|
|
11
|
+
export class TurnkeyHostedWalletProvider extends HostedWalletProvider {
|
|
12
|
+
/**
|
|
13
|
+
* Create a new Turnkey wallet provider
|
|
14
|
+
* @param client - Turnkey client instance (HTTP, server, or core SDK base)
|
|
15
|
+
* @param chainManager - Chain manager used to resolve chains and RPC transports
|
|
16
|
+
*/
|
|
17
|
+
constructor(client, chainManager, lendProvider) {
|
|
18
|
+
super(chainManager, lendProvider);
|
|
19
|
+
this.client = client;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Convert a Turnkey hosted wallet context into an Actions wallet
|
|
23
|
+
* @description Creates a `TurnkeyWallet` configured with the provider's Turnkey
|
|
24
|
+
* client and organization.
|
|
25
|
+
* @param params - Options for creating the Actions wallet from Turnkey context
|
|
26
|
+
* @param params.signWith - Wallet account address, private key address, or private key ID
|
|
27
|
+
* @param params.ethereumAddress - Ethereum address to use for this account, in the case that a private key ID is used to sign.
|
|
28
|
+
* @returns Promise resolving to an Actions-compatible wallet instance
|
|
29
|
+
*/
|
|
30
|
+
async toActionsWallet(params) {
|
|
31
|
+
return TurnkeyWallet.create({
|
|
32
|
+
client: this.client,
|
|
33
|
+
organizationId: params.organizationId,
|
|
34
|
+
signWith: params.signWith,
|
|
35
|
+
ethereumAddress: params.ethereumAddress,
|
|
36
|
+
chainManager: this.chainManager,
|
|
37
|
+
lendProvider: this.lendProvider,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Create a viem LocalAccount signer from Turnkey credentials
|
|
42
|
+
* @description Produces a signing account backed by Turnkey without wrapping
|
|
43
|
+
* it in a full Actions wallet. This is useful when you need to pass the signer
|
|
44
|
+
* into an Actions smart wallet as a signer, for lower-level viem operations, or
|
|
45
|
+
* for passing to other libraries that accept a viem `LocalAccount`.
|
|
46
|
+
* @param params - Turnkey configuration for the signer
|
|
47
|
+
* @param params.client - Turnkey client instance
|
|
48
|
+
* @param params.organizationId - Turnkey organization ID that owns the signing key
|
|
49
|
+
* @param params.signWith - Wallet account address, private key address, or private key ID
|
|
50
|
+
* @param params.ethereumAddress - Optional Ethereum address (recommended for passkey clients to avoid extra prompts)
|
|
51
|
+
* @returns Promise resolving to a viem `LocalAccount` with Turnkey as the signer backend
|
|
52
|
+
*/
|
|
53
|
+
async createSigner(params) {
|
|
54
|
+
return createSigner({
|
|
55
|
+
...params,
|
|
56
|
+
client: this.client,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=TurnkeyHostedWalletProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TurnkeyHostedWalletProvider.js","sourceRoot":"","sources":["../../../../../../src/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AAGtG,OAAO,EAAE,aAAa,EAAE,MAAM,uDAAuD,CAAA;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,4DAA4D,CAAA;AAEzF;;;;;;GAMG;AACH,MAAM,OAAO,2BAA4B,SAAQ,oBAGhD;IACC;;;;OAIG;IACH,YACmB,MAGO,EACxB,YAA0B,EAC1B,YAAuC;QAEvC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QAPhB,WAAM,GAAN,MAAM,CAGC;IAK1B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,eAAe,CACnB,MAA0C;QAE1C,OAAO,aAAa,CAAC,MAAM,CAAC;YAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,YAAY,CAChB,MAA0C;QAE1C,OAAO,YAAY,CAAC;YAClB,GAAG,MAAM;YACT,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TurnkeyHostedWalletProvider.spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts"],"names":[],"mappings":""}
|
package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { unichain } from 'viem/chains';
|
|
2
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
3
|
+
import { MockChainManager } from '../../../../../../test/MockChainManager.js';
|
|
4
|
+
import { TurnkeyHostedWalletProvider } from '../TurnkeyHostedWalletProvider.js';
|
|
5
|
+
import { TurnkeyWallet } from '../../../../wallets/hosted/turnkey/TurnkeyWallet.js';
|
|
6
|
+
import * as createSignerUtil from '../../../../wallets/hosted/turnkey/utils/createSigner.js';
|
|
7
|
+
describe('TurnkeyHostedWalletProvider', () => {
|
|
8
|
+
const mockChainManager = new MockChainManager({
|
|
9
|
+
supportedChains: [unichain.id],
|
|
10
|
+
});
|
|
11
|
+
describe('toActionsWallet', () => {
|
|
12
|
+
it('forwards params to TurnkeyWallet.create', async () => {
|
|
13
|
+
const turnkeyClient = {};
|
|
14
|
+
const provider = new TurnkeyHostedWalletProvider(turnkeyClient, mockChainManager);
|
|
15
|
+
const spyTurnkeyWalletCreate = vi
|
|
16
|
+
.spyOn(TurnkeyWallet, 'create')
|
|
17
|
+
.mockResolvedValueOnce({
|
|
18
|
+
address: '0xabc',
|
|
19
|
+
});
|
|
20
|
+
await provider.toActionsWallet({
|
|
21
|
+
organizationId: 'org_123',
|
|
22
|
+
signWith: 'key_abc',
|
|
23
|
+
});
|
|
24
|
+
expect(spyTurnkeyWalletCreate).toHaveBeenCalledWith(expect.objectContaining({
|
|
25
|
+
client: turnkeyClient,
|
|
26
|
+
organizationId: 'org_123',
|
|
27
|
+
signWith: 'key_abc',
|
|
28
|
+
ethereumAddress: undefined,
|
|
29
|
+
chainManager: mockChainManager,
|
|
30
|
+
}));
|
|
31
|
+
});
|
|
32
|
+
it('forwards ethereumAddress when provided', async () => {
|
|
33
|
+
const turnkeyClient = {};
|
|
34
|
+
const provider = new TurnkeyHostedWalletProvider(turnkeyClient, mockChainManager);
|
|
35
|
+
const spyTurnkeyWalletCreate = vi
|
|
36
|
+
.spyOn(TurnkeyWallet, 'create')
|
|
37
|
+
.mockResolvedValueOnce({
|
|
38
|
+
address: '0xabc',
|
|
39
|
+
});
|
|
40
|
+
await provider.toActionsWallet({
|
|
41
|
+
organizationId: 'org_123',
|
|
42
|
+
signWith: 'key_abc',
|
|
43
|
+
ethereumAddress: '0x123',
|
|
44
|
+
});
|
|
45
|
+
expect(spyTurnkeyWalletCreate).toHaveBeenCalledWith(expect.objectContaining({
|
|
46
|
+
client: turnkeyClient,
|
|
47
|
+
organizationId: 'org_123',
|
|
48
|
+
signWith: 'key_abc',
|
|
49
|
+
ethereumAddress: '0x123',
|
|
50
|
+
chainManager: mockChainManager,
|
|
51
|
+
}));
|
|
52
|
+
});
|
|
53
|
+
it('returns the created TurnkeyWallet instance', async () => {
|
|
54
|
+
const turnkeyClient = {};
|
|
55
|
+
const provider = new TurnkeyHostedWalletProvider(turnkeyClient, mockChainManager);
|
|
56
|
+
const fakeWallet = {
|
|
57
|
+
address: '0xabc',
|
|
58
|
+
};
|
|
59
|
+
vi.spyOn(TurnkeyWallet, 'create').mockResolvedValueOnce(fakeWallet);
|
|
60
|
+
const actionsWallet = await provider.toActionsWallet({
|
|
61
|
+
organizationId: 'org_123',
|
|
62
|
+
signWith: 'key_abc',
|
|
63
|
+
});
|
|
64
|
+
expect(actionsWallet).toBe(fakeWallet);
|
|
65
|
+
});
|
|
66
|
+
it('forwards lendProvider when provided to constructor', async () => {
|
|
67
|
+
const turnkeyClient = {};
|
|
68
|
+
const mockLendProvider = {};
|
|
69
|
+
const provider = new TurnkeyHostedWalletProvider(turnkeyClient, mockChainManager, mockLendProvider);
|
|
70
|
+
const spyTurnkeyWalletCreate = vi
|
|
71
|
+
.spyOn(TurnkeyWallet, 'create')
|
|
72
|
+
.mockResolvedValueOnce({
|
|
73
|
+
address: '0xabc',
|
|
74
|
+
});
|
|
75
|
+
await provider.toActionsWallet({
|
|
76
|
+
organizationId: 'org_123',
|
|
77
|
+
signWith: 'key_abc',
|
|
78
|
+
});
|
|
79
|
+
expect(spyTurnkeyWalletCreate).toHaveBeenCalledWith(expect.objectContaining({
|
|
80
|
+
lendProvider: mockLendProvider,
|
|
81
|
+
}));
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
describe('createSigner', () => {
|
|
85
|
+
it('should delegate to createSigner utility with correct params', async () => {
|
|
86
|
+
const turnkeyClient = {};
|
|
87
|
+
const provider = new TurnkeyHostedWalletProvider(turnkeyClient, mockChainManager);
|
|
88
|
+
const mockSigner = {
|
|
89
|
+
address: '0xabc',
|
|
90
|
+
type: 'local',
|
|
91
|
+
};
|
|
92
|
+
const createSignerSpy = vi
|
|
93
|
+
.spyOn(createSignerUtil, 'createSigner')
|
|
94
|
+
.mockResolvedValueOnce(mockSigner);
|
|
95
|
+
const params = {
|
|
96
|
+
organizationId: 'org_123',
|
|
97
|
+
signWith: 'key_abc',
|
|
98
|
+
};
|
|
99
|
+
const signer = await provider.createSigner(params);
|
|
100
|
+
expect(createSignerSpy).toHaveBeenCalledWith({
|
|
101
|
+
client: turnkeyClient,
|
|
102
|
+
organizationId: 'org_123',
|
|
103
|
+
signWith: 'key_abc',
|
|
104
|
+
});
|
|
105
|
+
expect(signer).toBe(mockSigner);
|
|
106
|
+
});
|
|
107
|
+
it('should forward ethereumAddress when provided', async () => {
|
|
108
|
+
const turnkeyClient = {};
|
|
109
|
+
const provider = new TurnkeyHostedWalletProvider(turnkeyClient, mockChainManager);
|
|
110
|
+
const mockSigner = {
|
|
111
|
+
address: '0x123',
|
|
112
|
+
type: 'local',
|
|
113
|
+
};
|
|
114
|
+
const createSignerSpy = vi
|
|
115
|
+
.spyOn(createSignerUtil, 'createSigner')
|
|
116
|
+
.mockResolvedValueOnce(mockSigner);
|
|
117
|
+
const params = {
|
|
118
|
+
organizationId: 'org_123',
|
|
119
|
+
signWith: 'key_abc',
|
|
120
|
+
ethereumAddress: '0x123',
|
|
121
|
+
};
|
|
122
|
+
await provider.createSigner(params);
|
|
123
|
+
expect(createSignerSpy).toHaveBeenCalledWith({
|
|
124
|
+
client: turnkeyClient,
|
|
125
|
+
organizationId: 'org_123',
|
|
126
|
+
signWith: 'key_abc',
|
|
127
|
+
ethereumAddress: '0x123',
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
//# sourceMappingURL=TurnkeyHostedWalletProvider.spec.js.map
|
package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TurnkeyHostedWalletProvider.spec.js","sourceRoot":"","sources":["../../../../../../../src/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { PrivyClient } from '@privy-io/server-auth';
|
|
2
|
+
import type { TurnkeySDKClientBase } from '@turnkey/core';
|
|
3
|
+
import type { TurnkeyClient as TurnkeyHttpClient } from '@turnkey/http';
|
|
4
|
+
import type { TurnkeyServerClient } from '@turnkey/sdk-server';
|
|
5
|
+
import type { Address } from 'viem';
|
|
6
|
+
import type { HostedWalletProvidersSchema } from '../../../../core/providers/hosted/types/index.js';
|
|
7
|
+
import type { PrivyHostedWalletProvider } from '../privy/PrivyHostedWalletProvider.js';
|
|
8
|
+
import type { TurnkeyHostedWalletProvider } from '../turnkey/TurnkeyHostedWalletProvider.js';
|
|
9
|
+
/**
|
|
10
|
+
* Node provider type keys
|
|
11
|
+
* @description
|
|
12
|
+
* Narrow union of provider identifiers supported in the Node environment.
|
|
13
|
+
* Uses an intersection of the keys from each map to guarantee that all maps
|
|
14
|
+
* stay in sync (options, instances, and toActions options) at compile time.
|
|
15
|
+
*/
|
|
16
|
+
export type NodeProviderTypes = keyof NodeOptionsMap & keyof NodeHostedProviderInstanceMap & keyof NodeToActionsOptionsMap;
|
|
17
|
+
/**
|
|
18
|
+
* Configuration options per Node hosted wallet provider
|
|
19
|
+
* @description
|
|
20
|
+
* Strongly-typed configuration inputs passed to each provider factory when
|
|
21
|
+
* creating a hosted wallet provider for Node.
|
|
22
|
+
*/
|
|
23
|
+
export interface NodeOptionsMap {
|
|
24
|
+
/**
|
|
25
|
+
* Privy provider configuration
|
|
26
|
+
* @property privyClient Server-side Privy client instance used to query/create wallets
|
|
27
|
+
*/
|
|
28
|
+
privy: {
|
|
29
|
+
privyClient: PrivyClient;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Turnkey provider configuration
|
|
33
|
+
* @property client Turnkey SDK/HTTP client used to sign and manage keys
|
|
34
|
+
* @property organizationId Turnkey organization identifier that owns the key material
|
|
35
|
+
*/
|
|
36
|
+
turnkey: {
|
|
37
|
+
client: TurnkeyHttpClient | TurnkeyServerClient | TurnkeySDKClientBase;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Options for converting a Turnkey hosted wallet to an Actions wallet
|
|
42
|
+
* @description Parameters for converting a hosted wallet to an Actions wallet
|
|
43
|
+
* @property signWith This can be a wallet account address, private key address, or private key ID.
|
|
44
|
+
* @property ethereumAddress Ethereum address to use for this account, in the case that a private key ID is used to sign.
|
|
45
|
+
* If left undefined, `createAccount` will fetch it from the Turnkey API. We recommend setting this if you're using a passkey
|
|
46
|
+
* client, so that your users are not prompted for a passkey signature just to fetch their address. You may leave this
|
|
47
|
+
* undefined if using an API key client.
|
|
48
|
+
*/
|
|
49
|
+
export type TurnkeyHostedWalletToActionsWalletOptions = {
|
|
50
|
+
organizationId: string;
|
|
51
|
+
signWith: string;
|
|
52
|
+
ethereumAddress?: string;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Options for converting a Privy hosted wallet to an Actions wallet
|
|
56
|
+
* @description Parameters for converting a hosted wallet to an Actions wallet
|
|
57
|
+
* @property walletId Privy wallet identifier
|
|
58
|
+
* @property address Ethereum address of the wallet
|
|
59
|
+
*/
|
|
60
|
+
export type PrivyHostedWalletToActionsWalletOptions = {
|
|
61
|
+
walletId: string;
|
|
62
|
+
address: Address;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Node environment hosted wallet registry.
|
|
66
|
+
* Registers server-safe providers for use in Node.
|
|
67
|
+
*/
|
|
68
|
+
export type NodeHostedProviderInstanceMap = {
|
|
69
|
+
privy: PrivyHostedWalletProvider;
|
|
70
|
+
turnkey: TurnkeyHostedWalletProvider;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Parameters required to convert each hosted wallet to an Actions wallet (Node)
|
|
74
|
+
* @description
|
|
75
|
+
* Provider-specific, caller-supplied data needed by `toActionsWallet`.
|
|
76
|
+
*/
|
|
77
|
+
export type NodeToActionsOptionsMap = {
|
|
78
|
+
privy: PrivyHostedWalletToActionsWalletOptions;
|
|
79
|
+
turnkey: TurnkeyHostedWalletToActionsWalletOptions;
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Complete Node hosted wallet providers schema
|
|
83
|
+
* @description
|
|
84
|
+
* Bundles provider type keys, concrete provider instances, creation configs,
|
|
85
|
+
* and `toActionsWallet` parameter types for the Node environment.
|
|
86
|
+
* This schema is used to type `Actions` and its registries without widening
|
|
87
|
+
* to generic `string` keys.
|
|
88
|
+
*/
|
|
89
|
+
export type NodeHostedWalletProvidersSchema = HostedWalletProvidersSchema<NodeProviderTypes, NodeHostedProviderInstanceMap, NodeOptionsMap, NodeToActionsOptionsMap>;
|
|
90
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/node/providers/hosted/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAA;AAChG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mEAAmE,CAAA;AAClH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uEAAuE,CAAA;AAExH;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,cAAc,GAClD,MAAM,6BAA6B,GACnC,MAAM,uBAAuB,CAAA;AAE/B;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,KAAK,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE,CAAA;IACnC;;;;OAIG;IACH,OAAO,EAAE;QACP,MAAM,EAAE,iBAAiB,GAAG,mBAAmB,GAAG,oBAAoB,CAAA;KACvE,CAAA;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,yCAAyC,GAAG;IACtD,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,uCAAuC,GAAG;IACpD,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,yBAAyB,CAAA;IAChC,OAAO,EAAE,2BAA2B,CAAA;CACrC,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,uCAAuC,CAAA;IAC9C,OAAO,EAAE,yCAAyC,CAAA;CACnD,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,+BAA+B,GAAG,2BAA2B,CACvE,iBAAiB,EACjB,6BAA6B,EAC7B,cAAc,EACd,uBAAuB,CACxB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/wallet/node/providers/hosted/types/index.ts"],"names":[],"mappings":""}
|