@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,43 @@
|
|
|
1
|
+
import type { PrivyClient } from '@privy-io/server-auth';
|
|
2
|
+
import { type Address, type LocalAccount } from 'viem';
|
|
3
|
+
import type { ChainManager } from '../../../../../services/ChainManager.js';
|
|
4
|
+
import type { LendConfig, LendProvider } from '../../../../../types/lend/index.js';
|
|
5
|
+
import { EOAWallet } from '../../../../core/wallets/eoa/EOAWallet.js';
|
|
6
|
+
/**
|
|
7
|
+
* Privy wallet implementation
|
|
8
|
+
* @description Wallet implementation using Privy service
|
|
9
|
+
*/
|
|
10
|
+
export declare class PrivyWallet extends EOAWallet {
|
|
11
|
+
walletId: string;
|
|
12
|
+
signer: LocalAccount;
|
|
13
|
+
readonly address: Address;
|
|
14
|
+
private privyClient;
|
|
15
|
+
/**
|
|
16
|
+
* Create a new Privy wallet provider
|
|
17
|
+
* @param appId - Privy application ID
|
|
18
|
+
* @param appSecret - Privy application secret
|
|
19
|
+
* @param actions - Actions instance for accessing configured providers
|
|
20
|
+
*/
|
|
21
|
+
private constructor();
|
|
22
|
+
static create(params: {
|
|
23
|
+
privyClient: PrivyClient;
|
|
24
|
+
walletId: string;
|
|
25
|
+
address: Address;
|
|
26
|
+
chainManager: ChainManager;
|
|
27
|
+
lendProvider?: LendProvider<LendConfig>;
|
|
28
|
+
}): Promise<PrivyWallet>;
|
|
29
|
+
/**
|
|
30
|
+
* Initialize the PrivyWallet by creating the signer account
|
|
31
|
+
*/
|
|
32
|
+
protected performInitialization(): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Create a LocalAccount from this Privy wallet
|
|
35
|
+
* @description Converts the Privy wallet into a viem-compatible LocalAccount that can sign
|
|
36
|
+
* messages and transactions. The returned account uses Privy's signing infrastructure
|
|
37
|
+
* under the hood while providing a standard viem interface.
|
|
38
|
+
* @returns Promise resolving to a LocalAccount configured for signing operations
|
|
39
|
+
* @throws Error if wallet retrieval fails or signing operations are not supported
|
|
40
|
+
*/
|
|
41
|
+
private createSigner;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=PrivyWallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrivyWallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/node/wallets/hosted/privy/PrivyWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAGlE;;;GAGG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAG,YAAY,CAAA;IAC5B,SAAgB,OAAO,EAAE,OAAO,CAAA;IAChC,OAAO,CAAC,WAAW,CAAa;IAEhC;;;;;OAKG;IACH,OAAO;WAaM,MAAM,CAAC,MAAM,EAAE;QAC1B,WAAW,EAAE,WAAW,CAAA;QACxB,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,OAAO,CAAA;QAChB,YAAY,EAAE,YAAY,CAAA;QAC1B,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;KACxC,GAAG,OAAO,CAAC,WAAW,CAAC;IAYxB;;OAEG;cACa,qBAAqB;IAIrC;;;;;;;OAOG;YACW,YAAY;CAO3B"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { EOAWallet } from '../../../../core/wallets/eoa/EOAWallet.js';
|
|
2
|
+
import { createSigner } from './utils/createSigner.js';
|
|
3
|
+
/**
|
|
4
|
+
* Privy wallet implementation
|
|
5
|
+
* @description Wallet implementation using Privy service
|
|
6
|
+
*/
|
|
7
|
+
export class PrivyWallet extends EOAWallet {
|
|
8
|
+
/**
|
|
9
|
+
* Create a new Privy wallet provider
|
|
10
|
+
* @param appId - Privy application ID
|
|
11
|
+
* @param appSecret - Privy application secret
|
|
12
|
+
* @param actions - Actions instance for accessing configured providers
|
|
13
|
+
*/
|
|
14
|
+
constructor(privyClient, walletId, address, chainManager, lendProvider) {
|
|
15
|
+
super(chainManager, lendProvider);
|
|
16
|
+
this.privyClient = privyClient;
|
|
17
|
+
this.walletId = walletId;
|
|
18
|
+
this.address = address;
|
|
19
|
+
}
|
|
20
|
+
static async create(params) {
|
|
21
|
+
const wallet = new PrivyWallet(params.privyClient, params.walletId, params.address, params.chainManager, params.lendProvider);
|
|
22
|
+
await wallet.initialize();
|
|
23
|
+
return wallet;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Initialize the PrivyWallet by creating the signer account
|
|
27
|
+
*/
|
|
28
|
+
async performInitialization() {
|
|
29
|
+
this.signer = await this.createSigner();
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Create a LocalAccount from this Privy wallet
|
|
33
|
+
* @description Converts the Privy wallet into a viem-compatible LocalAccount that can sign
|
|
34
|
+
* messages and transactions. The returned account uses Privy's signing infrastructure
|
|
35
|
+
* under the hood while providing a standard viem interface.
|
|
36
|
+
* @returns Promise resolving to a LocalAccount configured for signing operations
|
|
37
|
+
* @throws Error if wallet retrieval fails or signing operations are not supported
|
|
38
|
+
*/
|
|
39
|
+
async createSigner() {
|
|
40
|
+
return createSigner({
|
|
41
|
+
walletId: this.walletId,
|
|
42
|
+
address: this.address,
|
|
43
|
+
privyClient: this.privyClient,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=PrivyWallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrivyWallet.js","sourceRoot":"","sources":["../../../../../../src/wallet/node/wallets/hosted/privy/PrivyWallet.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,0DAA0D,CAAA;AAEvF;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;IAMxC;;;;;OAKG;IACH,YACE,WAAwB,EACxB,QAAgB,EAChB,OAAgB,EAChB,YAA0B,EAC1B,YAAuC;QAEvC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAMnB;QACC,MAAM,MAAM,GAAG,IAAI,WAAW,CAC5B,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,YAAY,CACpB,CAAA;QACD,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;QACzB,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,qBAAqB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;IACzC,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,YAAY;QACxB,OAAO,YAAY,CAAC;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrivyWallet.spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { createViemAccount } from '@privy-io/server-auth/viem';
|
|
2
|
+
import { createWalletClient, getAddress, } from 'viem';
|
|
3
|
+
import { unichain } from 'viem/chains';
|
|
4
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
5
|
+
import { MockChainManager } from '../../../../../../test/MockChainManager.js';
|
|
6
|
+
import { createMockPrivyClient } from '../../../../../../test/MockPrivyClient.js';
|
|
7
|
+
import { getRandomAddress } from '../../../../../../test/utils.js';
|
|
8
|
+
import { PrivyWallet } from '../PrivyWallet.js';
|
|
9
|
+
vi.mock('viem', async () => ({
|
|
10
|
+
// @ts-ignore - importActual returns unknown
|
|
11
|
+
...(await vi.importActual('viem')),
|
|
12
|
+
createWalletClient: vi.fn(),
|
|
13
|
+
}));
|
|
14
|
+
vi.mock('viem/accounts', async () => ({
|
|
15
|
+
// @ts-ignore - importActual returns unknown
|
|
16
|
+
...(await vi.importActual('viem/accounts')),
|
|
17
|
+
toAccount: vi.fn(),
|
|
18
|
+
}));
|
|
19
|
+
vi.mock('@privy-io/server-auth/viem', async () => ({
|
|
20
|
+
// @ts-ignore - importActual returns unknown
|
|
21
|
+
...(await vi.importActual('@privy-io/server-auth/viem')),
|
|
22
|
+
createViemAccount: vi.fn(),
|
|
23
|
+
}));
|
|
24
|
+
const mockAddress = getRandomAddress();
|
|
25
|
+
const mockPrivyClient = createMockPrivyClient('test-app-id', 'test-app-secret');
|
|
26
|
+
const mockChainManager = new MockChainManager({
|
|
27
|
+
supportedChains: [130], // Unichain
|
|
28
|
+
});
|
|
29
|
+
const mockLocalAccount = {
|
|
30
|
+
address: mockAddress,
|
|
31
|
+
signMessage: vi.fn(),
|
|
32
|
+
sign: vi.fn(),
|
|
33
|
+
signTransaction: vi.fn(),
|
|
34
|
+
signTypedData: vi.fn(),
|
|
35
|
+
};
|
|
36
|
+
describe('PrivyWallet', () => {
|
|
37
|
+
it('should return the correct wallet ID', async () => {
|
|
38
|
+
const createdWallet = await mockPrivyClient.walletApi.createWallet({
|
|
39
|
+
chainType: 'ethereum',
|
|
40
|
+
});
|
|
41
|
+
const wallet = await createAndInitPrivyWallet({
|
|
42
|
+
address: getAddress(createdWallet.address),
|
|
43
|
+
walletId: createdWallet.id,
|
|
44
|
+
});
|
|
45
|
+
expect(wallet.walletId).toBe(createdWallet.id);
|
|
46
|
+
});
|
|
47
|
+
it('should return the correct address', async () => {
|
|
48
|
+
const createdWallet = await mockPrivyClient.walletApi.createWallet({
|
|
49
|
+
chainType: 'ethereum',
|
|
50
|
+
});
|
|
51
|
+
const wallet = await createAndInitPrivyWallet({
|
|
52
|
+
address: getAddress(createdWallet.address),
|
|
53
|
+
walletId: createdWallet.id,
|
|
54
|
+
});
|
|
55
|
+
expect(wallet.address).toBe(createdWallet.address);
|
|
56
|
+
});
|
|
57
|
+
it('should create an account with correct configuration', async () => {
|
|
58
|
+
// Create a wallet using the mock client first
|
|
59
|
+
const createdWallet = await mockPrivyClient.walletApi.createWallet({
|
|
60
|
+
chainType: 'ethereum',
|
|
61
|
+
});
|
|
62
|
+
vi.mocked(createViemAccount).mockResolvedValue(mockLocalAccount);
|
|
63
|
+
const wallet = await createAndInitPrivyWallet({
|
|
64
|
+
address: getAddress(createdWallet.address),
|
|
65
|
+
walletId: createdWallet.id,
|
|
66
|
+
});
|
|
67
|
+
expect(createViemAccount).toHaveBeenCalledWith({
|
|
68
|
+
walletId: createdWallet.id,
|
|
69
|
+
address: createdWallet.address,
|
|
70
|
+
privy: mockPrivyClient,
|
|
71
|
+
});
|
|
72
|
+
expect(wallet.signer).toBe(mockLocalAccount);
|
|
73
|
+
});
|
|
74
|
+
it('should create a wallet client with correct configuration', async () => {
|
|
75
|
+
const createdWallet = await mockPrivyClient.walletApi.createWallet({
|
|
76
|
+
chainType: 'ethereum',
|
|
77
|
+
});
|
|
78
|
+
const wallet = await createAndInitPrivyWallet();
|
|
79
|
+
const mockWalletClient = {
|
|
80
|
+
account: mockLocalAccount,
|
|
81
|
+
address: createdWallet.address,
|
|
82
|
+
};
|
|
83
|
+
vi.mocked(createViemAccount).mockResolvedValue(mockLocalAccount);
|
|
84
|
+
vi.mocked(createWalletClient).mockResolvedValue(mockWalletClient);
|
|
85
|
+
const walletClient = await wallet.walletClient(unichain.id);
|
|
86
|
+
expect(createWalletClient).toHaveBeenCalledOnce();
|
|
87
|
+
const callArgs = vi.mocked(createWalletClient).mock.calls[0][0];
|
|
88
|
+
expect(callArgs.account).toBe(mockLocalAccount);
|
|
89
|
+
expect(callArgs.chain).toBe(mockChainManager.getChain(unichain.id));
|
|
90
|
+
expect(walletClient).toBe(mockWalletClient);
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
async function createAndInitPrivyWallet(params = {}) {
|
|
94
|
+
const { privyClient = mockPrivyClient, walletId, address, chainManager = mockChainManager, } = params;
|
|
95
|
+
const createdWallet = await privyClient.walletApi.createWallet({
|
|
96
|
+
chainType: 'ethereum',
|
|
97
|
+
});
|
|
98
|
+
return PrivyWallet.create({
|
|
99
|
+
privyClient,
|
|
100
|
+
walletId: walletId ?? createdWallet.id,
|
|
101
|
+
address: address ?? getAddress(createdWallet.address),
|
|
102
|
+
chainManager,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=PrivyWallet.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrivyWallet.spec.js","sourceRoot":"","sources":["../../../../../../../src/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSigner.spec.d.ts","sourceRoot":"","sources":["../../../../../../../../src/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createViemAccount } from '@privy-io/server-auth/viem';
|
|
2
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
3
|
+
import { createMockPrivyClient } from '../../../../../../../test/MockPrivyClient.js';
|
|
4
|
+
import { getRandomAddress } from '../../../../../../../test/utils.js';
|
|
5
|
+
import { createSigner } from '../createSigner.js';
|
|
6
|
+
vi.mock('@privy-io/server-auth/viem', async () => ({
|
|
7
|
+
// @ts-ignore - importActual returns unknown
|
|
8
|
+
...(await vi.importActual('@privy-io/server-auth/viem')),
|
|
9
|
+
createViemAccount: vi.fn(),
|
|
10
|
+
}));
|
|
11
|
+
describe('createSigner (Node Privy)', () => {
|
|
12
|
+
const mockAddress = getRandomAddress();
|
|
13
|
+
const mockPrivyClient = createMockPrivyClient('test-app-id', 'test-app-secret');
|
|
14
|
+
const mockLocalAccount = {
|
|
15
|
+
address: mockAddress,
|
|
16
|
+
signMessage: vi.fn(),
|
|
17
|
+
sign: vi.fn(),
|
|
18
|
+
signTransaction: vi.fn(),
|
|
19
|
+
signTypedData: vi.fn(),
|
|
20
|
+
};
|
|
21
|
+
it('should create a LocalAccount with correct configuration', async () => {
|
|
22
|
+
const createdWallet = await mockPrivyClient.walletApi.createWallet({
|
|
23
|
+
chainType: 'ethereum',
|
|
24
|
+
});
|
|
25
|
+
vi.mocked(createViemAccount).mockResolvedValue(mockLocalAccount);
|
|
26
|
+
const signer = await createSigner({
|
|
27
|
+
privyClient: mockPrivyClient,
|
|
28
|
+
walletId: createdWallet.id,
|
|
29
|
+
address: createdWallet.address,
|
|
30
|
+
});
|
|
31
|
+
expect(createViemAccount).toHaveBeenCalledWith({
|
|
32
|
+
walletId: createdWallet.id,
|
|
33
|
+
address: createdWallet.address,
|
|
34
|
+
privy: mockPrivyClient,
|
|
35
|
+
});
|
|
36
|
+
expect(signer).toBe(mockLocalAccount);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=createSigner.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSigner.spec.js","sourceRoot":"","sources":["../../../../../../../../src/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0DAA0D,CAAA;AAEvF,EAAE,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IACjD,4CAA4C;IAC5C,GAAG,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,4BAA4B,CAAC,CAAC;IACxD,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;CAC3B,CAAC,CAAC,CAAA;AAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAA;IACtC,MAAM,eAAe,GAAG,qBAAqB,CAC3C,aAAa,EACb,iBAAiB,CAClB,CAAA;IACD,MAAM,gBAAgB,GAAG;QACvB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;QACpB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;QACxB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;KACI,CAAA;IAE5B,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC;YACjE,SAAS,EAAE,UAAU;SACtB,CAAC,CAAA;QACF,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;QAEhE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,WAAW,EAAE,eAAe;YAC5B,QAAQ,EAAE,aAAa,CAAC,EAAE;YAC1B,OAAO,EAAE,aAAa,CAAC,OAAkB;SAC1C,CAAC,CAAA;QAEF,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC;YAC7C,QAAQ,EAAE,aAAa,CAAC,EAAE;YAC1B,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,KAAK,EAAE,eAAe;SACvB,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { LocalAccount } from 'viem';
|
|
2
|
+
import type { NodeOptionsMap, PrivyHostedWalletToActionsWalletOptions } from '../../../../providers/hosted/types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Create a LocalAccount from a Privy wallet
|
|
5
|
+
* @description Converts the Privy wallet into a viem-compatible LocalAccount that can sign
|
|
6
|
+
* messages and transactions. The returned account uses Privy's signing infrastructure
|
|
7
|
+
* under the hood while providing a standard viem interface.
|
|
8
|
+
* @param params.walletId - Privy wallet identifier
|
|
9
|
+
* @param params.address - Ethereum address of the wallet
|
|
10
|
+
* @param params.privyClient - Privy client instance
|
|
11
|
+
* @returns Promise resolving to a LocalAccount configured for signing operations
|
|
12
|
+
* @throws Error if wallet retrieval fails or signing operations are not supported
|
|
13
|
+
*/
|
|
14
|
+
export declare function createSigner(params: PrivyHostedWalletToActionsWalletOptions & NodeOptionsMap['privy']): Promise<LocalAccount>;
|
|
15
|
+
//# sourceMappingURL=createSigner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSigner.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallet/node/wallets/hosted/privy/utils/createSigner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAExC,OAAO,KAAK,EACV,cAAc,EACd,uCAAuC,EACxC,MAAM,+CAA+C,CAAA;AAEtD;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,uCAAuC,GAAG,cAAc,CAAC,OAAO,CAAC,GACxE,OAAO,CAAC,YAAY,CAAC,CASvB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createViemAccount } from '@privy-io/server-auth/viem';
|
|
2
|
+
/**
|
|
3
|
+
* Create a LocalAccount from a Privy wallet
|
|
4
|
+
* @description Converts the Privy wallet into a viem-compatible LocalAccount that can sign
|
|
5
|
+
* messages and transactions. The returned account uses Privy's signing infrastructure
|
|
6
|
+
* under the hood while providing a standard viem interface.
|
|
7
|
+
* @param params.walletId - Privy wallet identifier
|
|
8
|
+
* @param params.address - Ethereum address of the wallet
|
|
9
|
+
* @param params.privyClient - Privy client instance
|
|
10
|
+
* @returns Promise resolving to a LocalAccount configured for signing operations
|
|
11
|
+
* @throws Error if wallet retrieval fails or signing operations are not supported
|
|
12
|
+
*/
|
|
13
|
+
export async function createSigner(params) {
|
|
14
|
+
const { walletId, address, privyClient } = params;
|
|
15
|
+
const account = await createViemAccount({
|
|
16
|
+
walletId,
|
|
17
|
+
address,
|
|
18
|
+
// TODO: Fix this type error
|
|
19
|
+
privy: privyClient,
|
|
20
|
+
});
|
|
21
|
+
return account;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=createSigner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSigner.js","sourceRoot":"","sources":["../../../../../../../src/wallet/node/wallets/hosted/privy/utils/createSigner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAQ9D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAyE;IAEzE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAAA;IACjD,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC;QACtC,QAAQ;QACR,OAAO;QACP,4BAA4B;QAC5B,KAAK,EAAE,WAA0D;KAClE,CAAC,CAAA;IACF,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { TurnkeySDKClientBase } from '@turnkey/core';
|
|
2
|
+
import type { TurnkeyClient } from '@turnkey/http';
|
|
3
|
+
import type { TurnkeyServerClient } from '@turnkey/sdk-server';
|
|
4
|
+
import type { Address, LocalAccount } from 'viem';
|
|
5
|
+
import type { ChainManager } from '../../../../../services/ChainManager.js';
|
|
6
|
+
import type { LendConfig, LendProvider } from '../../../../../types/lend/index.js';
|
|
7
|
+
import { EOAWallet } from '../../../../core/wallets/eoa/EOAWallet.js';
|
|
8
|
+
/**
|
|
9
|
+
* Turnkey wallet implementation
|
|
10
|
+
* @description Wallet implementation using Turnkey service
|
|
11
|
+
*/
|
|
12
|
+
export declare class TurnkeyWallet extends EOAWallet {
|
|
13
|
+
address: Address;
|
|
14
|
+
signer: LocalAccount;
|
|
15
|
+
/**
|
|
16
|
+
* Turnkey client instance (HTTP, server, or core SDK base)
|
|
17
|
+
*/
|
|
18
|
+
private readonly client;
|
|
19
|
+
/**
|
|
20
|
+
* Turnkey organization ID that owns the signing key
|
|
21
|
+
*/
|
|
22
|
+
private readonly organizationId;
|
|
23
|
+
/**
|
|
24
|
+
* This can be a wallet account address, private key address, or private key ID.
|
|
25
|
+
*/
|
|
26
|
+
private readonly signWith;
|
|
27
|
+
/**
|
|
28
|
+
* Ethereum address to use for this account, in the case that a private key ID is used to sign.
|
|
29
|
+
* If left undefined, `createAccount` will fetch it from the Turnkey API.
|
|
30
|
+
* We recommend setting this if you're using a passkey client, so that your users are not prompted for a passkey signature just to fetch their address.
|
|
31
|
+
* You may leave this undefined if using an API key client.
|
|
32
|
+
*/
|
|
33
|
+
private readonly ethereumAddress?;
|
|
34
|
+
private constructor();
|
|
35
|
+
static create(params: {
|
|
36
|
+
chainManager: ChainManager;
|
|
37
|
+
client: TurnkeyClient | TurnkeyServerClient | TurnkeySDKClientBase;
|
|
38
|
+
organizationId: string;
|
|
39
|
+
signWith: string;
|
|
40
|
+
ethereumAddress?: string;
|
|
41
|
+
lendProvider?: LendProvider<LendConfig>;
|
|
42
|
+
}): Promise<TurnkeyWallet>;
|
|
43
|
+
protected performInitialization(): Promise<void>;
|
|
44
|
+
private createSigner;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=TurnkeyWallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TurnkeyWallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAGlE;;;GAGG;AACH,qBAAa,aAAc,SAAQ,SAAS;IACnC,OAAO,EAAG,OAAO,CAAA;IACjB,MAAM,EAAG,YAAY,CAAA;IAC5B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGC;IACxB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAQ;IAEzC,OAAO;WAuBM,MAAM,CAAC,MAAM,EAAE;QAC1B,YAAY,EAAE,YAAY,CAAA;QAC1B,MAAM,EAAE,aAAa,GAAG,mBAAmB,GAAG,oBAAoB,CAAA;QAClE,cAAc,EAAE,MAAM,CAAA;QACtB,QAAQ,EAAE,MAAM,CAAA;QAChB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;KACxC,GAAG,OAAO,CAAC,aAAa,CAAC;cAMV,qBAAqB;YAKvB,YAAY;CAQ3B"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { EOAWallet } from '../../../../core/wallets/eoa/EOAWallet.js';
|
|
2
|
+
import { createSigner } from './utils/createSigner.js';
|
|
3
|
+
/**
|
|
4
|
+
* Turnkey wallet implementation
|
|
5
|
+
* @description Wallet implementation using Turnkey service
|
|
6
|
+
*/
|
|
7
|
+
export class TurnkeyWallet extends EOAWallet {
|
|
8
|
+
constructor(params) {
|
|
9
|
+
const { chainManager, client, organizationId, signWith, ethereumAddress, lendProvider, } = params;
|
|
10
|
+
super(chainManager, lendProvider);
|
|
11
|
+
this.client = client;
|
|
12
|
+
this.organizationId = organizationId;
|
|
13
|
+
this.signWith = signWith;
|
|
14
|
+
this.ethereumAddress = ethereumAddress;
|
|
15
|
+
}
|
|
16
|
+
static async create(params) {
|
|
17
|
+
const wallet = new TurnkeyWallet(params);
|
|
18
|
+
await wallet.initialize();
|
|
19
|
+
return wallet;
|
|
20
|
+
}
|
|
21
|
+
async performInitialization() {
|
|
22
|
+
this.signer = await this.createSigner();
|
|
23
|
+
this.address = this.signer.address;
|
|
24
|
+
}
|
|
25
|
+
async createSigner() {
|
|
26
|
+
return createSigner({
|
|
27
|
+
client: this.client,
|
|
28
|
+
organizationId: this.organizationId,
|
|
29
|
+
signWith: this.signWith,
|
|
30
|
+
ethereumAddress: this.ethereumAddress,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=TurnkeyWallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TurnkeyWallet.js","sourceRoot":"","sources":["../../../../../../src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,4DAA4D,CAAA;AAEzF;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IA0B1C,YAAoB,MAOnB;QACC,MAAM,EACJ,YAAY,EACZ,MAAM,EACN,cAAc,EACd,QAAQ,EACR,eAAe,EACf,YAAY,GACb,GAAG,MAAM,CAAA;QACV,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IACxC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAOnB;QACC,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;QACzB,OAAO,MAAM,CAAA;IACf,CAAC;IAES,KAAK,CAAC,qBAAqB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;IACpC,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,OAAO,YAAY,CAAC;YAClB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TurnkeyWallet.spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { createAccount } from '@turnkey/viem';
|
|
2
|
+
import { createWalletClient } from 'viem';
|
|
3
|
+
import { unichain } from 'viem/chains';
|
|
4
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
5
|
+
import { MockChainManager } from '../../../../../../test/MockChainManager.js';
|
|
6
|
+
import { getRandomAddress } from '../../../../../../test/utils.js';
|
|
7
|
+
import { TurnkeyWallet } from '../TurnkeyWallet.js';
|
|
8
|
+
vi.mock('viem', async () => ({
|
|
9
|
+
// @ts-ignore - importActual returns unknown
|
|
10
|
+
...(await vi.importActual('viem')),
|
|
11
|
+
createWalletClient: vi.fn(),
|
|
12
|
+
}));
|
|
13
|
+
vi.mock('@turnkey/viem', async () => ({
|
|
14
|
+
createAccount: vi.fn(),
|
|
15
|
+
}));
|
|
16
|
+
const mockAddress = getRandomAddress();
|
|
17
|
+
const mockChainManager = new MockChainManager({
|
|
18
|
+
supportedChains: [unichain.id],
|
|
19
|
+
});
|
|
20
|
+
function createMockTurnkeyClient() {
|
|
21
|
+
return {
|
|
22
|
+
// minimal shape for typing; createAccount uses this via @turnkey/viem
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
describe('TurnkeyWallet', () => {
|
|
26
|
+
beforeEach(() => {
|
|
27
|
+
vi.clearAllMocks();
|
|
28
|
+
});
|
|
29
|
+
it('should initialize signer and address from Turnkey account', async () => {
|
|
30
|
+
const mockLocalAccount = { address: mockAddress };
|
|
31
|
+
vi.mocked(createAccount).mockResolvedValue(mockLocalAccount);
|
|
32
|
+
const wallet = await TurnkeyWallet.create({
|
|
33
|
+
client: createMockTurnkeyClient(),
|
|
34
|
+
organizationId: 'org_123',
|
|
35
|
+
signWith: 'key_abc',
|
|
36
|
+
chainManager: mockChainManager,
|
|
37
|
+
});
|
|
38
|
+
expect(wallet.address).toBe(mockAddress);
|
|
39
|
+
expect(wallet.signer).toBe(mockLocalAccount);
|
|
40
|
+
expect(createAccount).toHaveBeenCalledOnce();
|
|
41
|
+
const args = vi.mocked(createAccount).mock.calls[0][0];
|
|
42
|
+
expect(args.client).toEqual(createMockTurnkeyClient());
|
|
43
|
+
expect(args.organizationId).toBe('org_123');
|
|
44
|
+
expect(args.signWith).toBe('key_abc');
|
|
45
|
+
expect(args.ethereumAddress).toBeUndefined();
|
|
46
|
+
});
|
|
47
|
+
it('takes ethereumAddress', async () => {
|
|
48
|
+
const mockLocalAccount = { address: mockAddress };
|
|
49
|
+
vi.mocked(createAccount).mockResolvedValue(mockLocalAccount);
|
|
50
|
+
await TurnkeyWallet.create({
|
|
51
|
+
client: createMockTurnkeyClient(),
|
|
52
|
+
organizationId: 'org_123',
|
|
53
|
+
signWith: 'key_abc',
|
|
54
|
+
ethereumAddress: '0x123',
|
|
55
|
+
chainManager: mockChainManager,
|
|
56
|
+
});
|
|
57
|
+
const args = vi.mocked(createAccount).mock.calls[0][0];
|
|
58
|
+
expect(args.ethereumAddress).toBe('0x123');
|
|
59
|
+
});
|
|
60
|
+
it('should create a wallet client with correct configuration', async () => {
|
|
61
|
+
const mockLocalAccount = { address: mockAddress };
|
|
62
|
+
vi.mocked(createAccount).mockResolvedValue(mockLocalAccount);
|
|
63
|
+
const wallet = await TurnkeyWallet.create({
|
|
64
|
+
client: createMockTurnkeyClient(),
|
|
65
|
+
organizationId: 'org_123',
|
|
66
|
+
signWith: 'key_abc',
|
|
67
|
+
chainManager: mockChainManager,
|
|
68
|
+
});
|
|
69
|
+
const mockWalletClient = {
|
|
70
|
+
account: mockLocalAccount,
|
|
71
|
+
address: mockAddress,
|
|
72
|
+
};
|
|
73
|
+
vi.mocked(createWalletClient).mockResolvedValue(mockWalletClient);
|
|
74
|
+
const walletClient = await wallet.walletClient(unichain.id);
|
|
75
|
+
expect(createWalletClient).toHaveBeenCalledOnce();
|
|
76
|
+
const args = vi.mocked(createWalletClient).mock.calls[0][0];
|
|
77
|
+
expect(args.account).toBe(mockLocalAccount);
|
|
78
|
+
expect(args.chain).toBe(mockChainManager.getChain(unichain.id));
|
|
79
|
+
expect(walletClient).toBe(mockWalletClient);
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
//# sourceMappingURL=TurnkeyWallet.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TurnkeyWallet.spec.js","sourceRoot":"","sources":["../../../../../../../src/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSigner.spec.d.ts","sourceRoot":"","sources":["../../../../../../../../src/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { createAccount } from '@turnkey/viem';
|
|
2
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
3
|
+
import { getRandomAddress } from '../../../../../../../test/utils.js';
|
|
4
|
+
import { createSigner } from '../createSigner.js';
|
|
5
|
+
vi.mock('@turnkey/viem', async () => ({
|
|
6
|
+
createAccount: vi.fn(),
|
|
7
|
+
}));
|
|
8
|
+
function createMockTurnkeyClient() {
|
|
9
|
+
return {
|
|
10
|
+
// minimal shape for typing; createAccount uses this via @turnkey/viem
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
describe('createSigner (Node Turnkey)', () => {
|
|
14
|
+
const mockAddress = getRandomAddress();
|
|
15
|
+
it('should create a LocalAccount with correct configuration', async () => {
|
|
16
|
+
const mockLocalAccount = {
|
|
17
|
+
address: mockAddress,
|
|
18
|
+
signMessage: vi.fn(),
|
|
19
|
+
sign: vi.fn(),
|
|
20
|
+
signTransaction: vi.fn(),
|
|
21
|
+
signTypedData: vi.fn(),
|
|
22
|
+
};
|
|
23
|
+
vi.mocked(createAccount).mockResolvedValue(mockLocalAccount);
|
|
24
|
+
const client = createMockTurnkeyClient();
|
|
25
|
+
const signer = await createSigner({
|
|
26
|
+
client,
|
|
27
|
+
organizationId: 'org_123',
|
|
28
|
+
signWith: 'key_abc',
|
|
29
|
+
});
|
|
30
|
+
expect(createAccount).toHaveBeenCalledWith({
|
|
31
|
+
client,
|
|
32
|
+
organizationId: 'org_123',
|
|
33
|
+
signWith: 'key_abc',
|
|
34
|
+
ethereumAddress: undefined,
|
|
35
|
+
});
|
|
36
|
+
expect(signer).toBe(mockLocalAccount);
|
|
37
|
+
});
|
|
38
|
+
it('should pass ethereumAddress when provided', async () => {
|
|
39
|
+
const mockLocalAccount = {
|
|
40
|
+
address: mockAddress,
|
|
41
|
+
type: 'local',
|
|
42
|
+
};
|
|
43
|
+
vi.mocked(createAccount).mockResolvedValue(mockLocalAccount);
|
|
44
|
+
const client = createMockTurnkeyClient();
|
|
45
|
+
const ethereumAddress = getRandomAddress();
|
|
46
|
+
const signer = await createSigner({
|
|
47
|
+
client,
|
|
48
|
+
organizationId: 'org_123',
|
|
49
|
+
signWith: 'key_abc',
|
|
50
|
+
ethereumAddress,
|
|
51
|
+
});
|
|
52
|
+
expect(createAccount).toHaveBeenCalledWith({
|
|
53
|
+
client,
|
|
54
|
+
organizationId: 'org_123',
|
|
55
|
+
signWith: 'key_abc',
|
|
56
|
+
ethereumAddress,
|
|
57
|
+
});
|
|
58
|
+
expect(signer).toBe(mockLocalAccount);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=createSigner.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSigner.spec.js","sourceRoot":"","sources":["../../../../../../../../src/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,4DAA4D,CAAA;AAEzF,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IACpC,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;CACvB,CAAC,CAAC,CAAA;AAEH,SAAS,uBAAuB;IAI9B,OAAO;IACL,sEAAsE;KACvC,CAAA;AACnC,CAAC;AAED,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAA;IAEtC,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,gBAAgB,GAAG;YACvB,OAAO,EAAE,WAAW;YACpB,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;YACpB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YACb,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;YACxB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;SACI,CAAA;QAC5B,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;QAE5D,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,MAAM;YACN,cAAc,EAAE,SAAS;YACzB,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAA;QAEF,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC;YACzC,MAAM;YACN,cAAc,EAAE,SAAS;YACzB,QAAQ,EAAE,SAAS;YACnB,eAAe,EAAE,SAAS;SAC3B,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,gBAAgB,GAAG;YACvB,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,OAAO;SACa,CAAA;QAC5B,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;QAE5D,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAA;QACxC,MAAM,eAAe,GAAG,gBAAgB,EAAE,CAAA;QAC1C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,MAAM;YACN,cAAc,EAAE,SAAS;YACzB,QAAQ,EAAE,SAAS;YACnB,eAAe;SAChB,CAAC,CAAA;QAEF,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC;YACzC,MAAM;YACN,cAAc,EAAE,SAAS;YACzB,QAAQ,EAAE,SAAS;YACnB,eAAe;SAChB,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { LocalAccount } from 'viem';
|
|
2
|
+
import type { NodeOptionsMap, TurnkeyHostedWalletToActionsWalletOptions } from '../../../../providers/hosted/types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Create a viem LocalAccount instance backed by Turnkey
|
|
5
|
+
* @description Wraps the Turnkey SDK's `createAccount` to produce a signing
|
|
6
|
+
* account compatible with viem. Under the hood, this uses the provided
|
|
7
|
+
* `client`, `organizationId`, and `signWith` to authenticate signing requests
|
|
8
|
+
* with Turnkey. If `ethereumAddress` is supplied, it's used directly;
|
|
9
|
+
* otherwise the SDK fetches it from the Turnkey API.
|
|
10
|
+
* @param params.client - Turnkey client instance
|
|
11
|
+
* @param params.organizationId - Turnkey organization ID that owns the signing key
|
|
12
|
+
* @param params.signWith - Wallet account address, private key address, or private key ID
|
|
13
|
+
* @param params.ethereumAddress - Ethereum address to use for this account, in the case that a private key ID is used to sign.
|
|
14
|
+
* @returns Promise resolving to a viem `LocalAccount` with Turnkey as the signer backend
|
|
15
|
+
*/
|
|
16
|
+
export declare function createSigner(params: TurnkeyHostedWalletToActionsWalletOptions & NodeOptionsMap['turnkey']): Promise<LocalAccount>;
|
|
17
|
+
//# sourceMappingURL=createSigner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSigner.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallet/node/wallets/hosted/turnkey/utils/createSigner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAExC,OAAO,KAAK,EACV,cAAc,EACd,yCAAyC,EAC1C,MAAM,+CAA+C,CAAA;AAEtD;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,yCAAyC,GAAG,cAAc,CAAC,SAAS,CAAC,GAC5E,OAAO,CAAC,YAAY,CAAC,CAQvB"}
|