@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,117 @@
|
|
|
1
|
+
import { isEthereumWallet } from '@dynamic-labs/ethereum';
|
|
2
|
+
import { createWalletClient } from 'viem';
|
|
3
|
+
import { toAccount } from 'viem/accounts';
|
|
4
|
+
import { unichain } from 'viem/chains';
|
|
5
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
6
|
+
import { MockChainManager } from '../../../../../../test/MockChainManager.js';
|
|
7
|
+
import { getRandomAddress } from '../../../../../../test/utils.js';
|
|
8
|
+
import { DynamicWallet } from '../DynamicWallet.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('@dynamic-labs/ethereum', () => ({
|
|
20
|
+
isEthereumWallet: vi.fn().mockReturnValue(true),
|
|
21
|
+
}));
|
|
22
|
+
const mockAddress = getRandomAddress();
|
|
23
|
+
const mockChainManager = new MockChainManager({
|
|
24
|
+
supportedChains: [unichain.id],
|
|
25
|
+
});
|
|
26
|
+
const mockLocalAccount = {
|
|
27
|
+
address: mockAddress,
|
|
28
|
+
signMessage: vi.fn(),
|
|
29
|
+
sign: vi.fn(),
|
|
30
|
+
signTransaction: vi.fn(),
|
|
31
|
+
signTypedData: vi.fn(),
|
|
32
|
+
};
|
|
33
|
+
function createMockDynamicWallet() {
|
|
34
|
+
const mockConnector = {
|
|
35
|
+
signRawMessage: vi.fn().mockResolvedValue('0xsigned'),
|
|
36
|
+
};
|
|
37
|
+
const mockWalletClient = {
|
|
38
|
+
account: { address: mockAddress },
|
|
39
|
+
signMessage: vi.fn(),
|
|
40
|
+
signTransaction: vi.fn(),
|
|
41
|
+
signTypedData: vi.fn(),
|
|
42
|
+
};
|
|
43
|
+
return {
|
|
44
|
+
connector: mockConnector,
|
|
45
|
+
getWalletClient: vi.fn().mockResolvedValue(mockWalletClient),
|
|
46
|
+
__mock: { connector: mockConnector, walletClient: mockWalletClient },
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
describe('DynamicWallet', () => {
|
|
50
|
+
it('should initialize signer and address from dynamic wallet', async () => {
|
|
51
|
+
const dynamic = createMockDynamicWallet();
|
|
52
|
+
vi.mocked(toAccount).mockReturnValue(mockLocalAccount);
|
|
53
|
+
const wallet = await DynamicWallet.create({
|
|
54
|
+
dynamicWallet: dynamic,
|
|
55
|
+
chainManager: mockChainManager,
|
|
56
|
+
});
|
|
57
|
+
expect(wallet.address).toBe(mockAddress);
|
|
58
|
+
expect(dynamic.getWalletClient).toHaveBeenCalled();
|
|
59
|
+
});
|
|
60
|
+
it('should wire toAccount signer to connector.signRawMessage with 0x trim', async () => {
|
|
61
|
+
const dynamic = createMockDynamicWallet();
|
|
62
|
+
vi.mocked(toAccount).mockReturnValue(mockLocalAccount);
|
|
63
|
+
await DynamicWallet.create({
|
|
64
|
+
dynamicWallet: dynamic,
|
|
65
|
+
chainManager: mockChainManager,
|
|
66
|
+
});
|
|
67
|
+
const calls = vi.mocked(toAccount).mock.calls;
|
|
68
|
+
const callArgs = calls[calls.length - 1][0];
|
|
69
|
+
expect(callArgs.address).toBe(dynamic.__mock.walletClient.account.address);
|
|
70
|
+
// Invoke the sign function and assert message formatting
|
|
71
|
+
await callArgs.sign({ hash: '0xdeadbeef' });
|
|
72
|
+
expect(dynamic.__mock.connector.signRawMessage).toHaveBeenCalledWith({
|
|
73
|
+
accountAddress: dynamic.__mock.walletClient.account.address,
|
|
74
|
+
message: 'deadbeef',
|
|
75
|
+
});
|
|
76
|
+
await callArgs.sign({ hash: 'cafebabe' });
|
|
77
|
+
expect(dynamic.__mock.connector.signRawMessage).toHaveBeenCalledWith({
|
|
78
|
+
accountAddress: dynamic.__mock.walletClient.account.address,
|
|
79
|
+
message: 'cafebabe',
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
it('should create a wallet client with correct configuration', async () => {
|
|
83
|
+
const dynamic = createMockDynamicWallet();
|
|
84
|
+
vi.mocked(toAccount).mockReturnValue(mockLocalAccount);
|
|
85
|
+
const wallet = await DynamicWallet.create({
|
|
86
|
+
dynamicWallet: dynamic,
|
|
87
|
+
chainManager: mockChainManager,
|
|
88
|
+
});
|
|
89
|
+
const mockWalletClient = {
|
|
90
|
+
account: mockLocalAccount,
|
|
91
|
+
address: mockAddress,
|
|
92
|
+
};
|
|
93
|
+
vi.mocked(createWalletClient).mockResolvedValue(mockWalletClient);
|
|
94
|
+
const walletClient = await wallet.walletClient(unichain.id);
|
|
95
|
+
expect(createWalletClient).toHaveBeenCalledOnce();
|
|
96
|
+
const args = vi.mocked(createWalletClient).mock.calls[0][0];
|
|
97
|
+
expect(args.account).toBe(mockLocalAccount);
|
|
98
|
+
expect(args.chain).toBe(mockChainManager.getChain(unichain.id));
|
|
99
|
+
expect(walletClient).toBe(mockWalletClient);
|
|
100
|
+
});
|
|
101
|
+
it('should throw if dynamic wallet is not EVM compatible', async () => {
|
|
102
|
+
const dynamic = createMockDynamicWallet();
|
|
103
|
+
// Force isEthereumWallet to return false for this test
|
|
104
|
+
vi.mocked(isEthereumWallet).mockReturnValueOnce(false);
|
|
105
|
+
try {
|
|
106
|
+
await DynamicWallet.create({
|
|
107
|
+
dynamicWallet: dynamic,
|
|
108
|
+
chainManager: mockChainManager,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
expect(err.message).toBe('Failed to initialize wallet');
|
|
113
|
+
expect(err.cause?.message).toBe('Wallet not connected or not EVM compatible');
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
//# sourceMappingURL=DynamicWallet.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicWallet.spec.js","sourceRoot":"","sources":["../../../../../../../src/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSigner.spec.d.ts","sourceRoot":"","sources":["../../../../../../../../src/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { isEthereumWallet } from '@dynamic-labs/ethereum';
|
|
2
|
+
import { toAccount } from 'viem/accounts';
|
|
3
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
4
|
+
import { getRandomAddress } from '../../../../../../../test/utils.js';
|
|
5
|
+
import { createSigner } from '../createSigner.js';
|
|
6
|
+
vi.mock('@dynamic-labs/ethereum', async () => ({
|
|
7
|
+
isEthereumWallet: vi.fn(),
|
|
8
|
+
}));
|
|
9
|
+
vi.mock('viem/accounts', async () => ({
|
|
10
|
+
// @ts-ignore - importActual returns unknown
|
|
11
|
+
...(await vi.importActual('viem/accounts')),
|
|
12
|
+
toAccount: vi.fn(),
|
|
13
|
+
}));
|
|
14
|
+
describe('createSigner (React Dynamic)', () => {
|
|
15
|
+
const mockAddress = getRandomAddress();
|
|
16
|
+
it('should create a LocalAccount with correct configuration', async () => {
|
|
17
|
+
const mockWalletClient = {
|
|
18
|
+
account: {
|
|
19
|
+
address: mockAddress,
|
|
20
|
+
},
|
|
21
|
+
signMessage: vi.fn(),
|
|
22
|
+
signTransaction: vi.fn(),
|
|
23
|
+
signTypedData: vi.fn(),
|
|
24
|
+
};
|
|
25
|
+
const mockConnector = {
|
|
26
|
+
signRawMessage: vi.fn(),
|
|
27
|
+
};
|
|
28
|
+
const mockWallet = {
|
|
29
|
+
getWalletClient: vi.fn().mockResolvedValue(mockWalletClient),
|
|
30
|
+
connector: mockConnector,
|
|
31
|
+
};
|
|
32
|
+
const mockLocalAccount = {
|
|
33
|
+
address: mockAddress,
|
|
34
|
+
sign: vi.fn(),
|
|
35
|
+
signMessage: vi.fn(),
|
|
36
|
+
signTransaction: vi.fn(),
|
|
37
|
+
signTypedData: vi.fn(),
|
|
38
|
+
};
|
|
39
|
+
vi.mocked(isEthereumWallet).mockReturnValue(true);
|
|
40
|
+
vi.mocked(toAccount).mockReturnValue(mockLocalAccount);
|
|
41
|
+
const signer = await createSigner({
|
|
42
|
+
wallet: mockWallet,
|
|
43
|
+
});
|
|
44
|
+
expect(isEthereumWallet).toHaveBeenCalledWith(mockWallet);
|
|
45
|
+
expect(mockWallet.getWalletClient).toHaveBeenCalled();
|
|
46
|
+
expect(toAccount).toHaveBeenCalledWith(expect.objectContaining({
|
|
47
|
+
address: mockAddress,
|
|
48
|
+
signMessage: mockWalletClient.signMessage,
|
|
49
|
+
signTransaction: mockWalletClient.signTransaction,
|
|
50
|
+
signTypedData: mockWalletClient.signTypedData,
|
|
51
|
+
}));
|
|
52
|
+
expect(signer).toBe(mockLocalAccount);
|
|
53
|
+
});
|
|
54
|
+
it('should throw error for non-Ethereum wallet', async () => {
|
|
55
|
+
const mockWallet = {};
|
|
56
|
+
vi.mocked(isEthereumWallet).mockReturnValue(false);
|
|
57
|
+
await expect(createSigner({
|
|
58
|
+
wallet: mockWallet,
|
|
59
|
+
})).rejects.toThrow('Wallet not connected or not EVM compatible');
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
//# sourceMappingURL=createSigner.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSigner.spec.js","sourceRoot":"","sources":["../../../../../../../../src/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { LocalAccount } from 'viem';
|
|
2
|
+
import type { DynamicHostedWalletToActionsWalletOptions } from '../../../../providers/hosted/types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Create a LocalAccount from a Dynamic wallet
|
|
5
|
+
* @description Converts the Dynamic wallet into a viem-compatible LocalAccount that can sign
|
|
6
|
+
* messages and transactions. The returned account uses Dynamic's signing infrastructure
|
|
7
|
+
* under the hood while providing a standard viem interface.
|
|
8
|
+
* @param params.dynamicWallet - Dynamic wallet instance
|
|
9
|
+
* @returns Promise resolving to a LocalAccount configured for signing operations
|
|
10
|
+
* @throws Error if wallet retrieval fails or signing operations are not supported
|
|
11
|
+
*/
|
|
12
|
+
export declare function createSigner(params: DynamicHostedWalletToActionsWalletOptions): Promise<LocalAccount>;
|
|
13
|
+
//# sourceMappingURL=createSigner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSigner.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallet/react/wallets/hosted/dynamic/utils/createSigner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAGxC,OAAO,KAAK,EAAE,yCAAyC,EAAE,MAAM,gDAAgD,CAAA;AAE/G;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,yCAAyC,GAChD,OAAO,CAAC,YAAY,CAAC,CAmBvB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { isEthereumWallet } from '@dynamic-labs/ethereum';
|
|
2
|
+
import { toAccount } from 'viem/accounts';
|
|
3
|
+
/**
|
|
4
|
+
* Create a LocalAccount from a Dynamic wallet
|
|
5
|
+
* @description Converts the Dynamic wallet into a viem-compatible LocalAccount that can sign
|
|
6
|
+
* messages and transactions. The returned account uses Dynamic's signing infrastructure
|
|
7
|
+
* under the hood while providing a standard viem interface.
|
|
8
|
+
* @param params.dynamicWallet - Dynamic wallet instance
|
|
9
|
+
* @returns Promise resolving to a LocalAccount configured for signing operations
|
|
10
|
+
* @throws Error if wallet retrieval fails or signing operations are not supported
|
|
11
|
+
*/
|
|
12
|
+
export async function createSigner(params) {
|
|
13
|
+
const { wallet } = params;
|
|
14
|
+
if (!isEthereumWallet(wallet)) {
|
|
15
|
+
throw new Error('Wallet not connected or not EVM compatible');
|
|
16
|
+
}
|
|
17
|
+
const walletClient = await wallet.getWalletClient();
|
|
18
|
+
const connector = wallet.connector;
|
|
19
|
+
return toAccount({
|
|
20
|
+
address: walletClient.account.address,
|
|
21
|
+
sign: ({ hash }) => {
|
|
22
|
+
return connector.signRawMessage({
|
|
23
|
+
accountAddress: walletClient.account.address,
|
|
24
|
+
message: hash.startsWith('0x') ? hash.slice(2) : hash,
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
signMessage: walletClient.signMessage,
|
|
28
|
+
signTransaction: walletClient.signTransaction,
|
|
29
|
+
signTypedData: walletClient.signTypedData,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=createSigner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSigner.js","sourceRoot":"","sources":["../../../../../../../src/wallet/react/wallets/hosted/dynamic/utils/createSigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAGzD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAIzC;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAiD;IAEjD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACzB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAC/D,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,CAAA;IACnD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAoC,CAAA;IAC7D,OAAO,SAAS,CAAC;QACf,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO;QACrC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YACjB,OAAO,SAAS,CAAC,cAAc,CAAC;gBAC9B,cAAc,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO;gBAC5C,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;aACtD,CAAC,CAAA;QACJ,CAAC;QACD,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,eAAe,EAAE,YAAY,CAAC,eAAe;QAC7C,aAAa,EAAE,YAAY,CAAC,aAAa;KAC1C,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ConnectedWallet } from '@privy-io/react-auth';
|
|
2
|
+
import type { Address, 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
|
+
address: Address;
|
|
12
|
+
signer: LocalAccount;
|
|
13
|
+
private readonly connectedWallet;
|
|
14
|
+
private constructor();
|
|
15
|
+
static create(params: {
|
|
16
|
+
chainManager: ChainManager;
|
|
17
|
+
connectedWallet: ConnectedWallet;
|
|
18
|
+
lendProvider?: LendProvider<LendConfig>;
|
|
19
|
+
}): Promise<PrivyWallet>;
|
|
20
|
+
/**
|
|
21
|
+
* Initialize the PrivyWallet by creating the signer account
|
|
22
|
+
*/
|
|
23
|
+
protected performInitialization(): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Create a LocalAccount from this Privy wallet
|
|
26
|
+
* @description Converts the Privy wallet into a viem-compatible LocalAccount that can sign
|
|
27
|
+
* messages and transactions. The returned account uses Privy's signing infrastructure
|
|
28
|
+
* under the hood while providing a standard viem interface.
|
|
29
|
+
* @returns Promise resolving to a LocalAccount configured for signing operations
|
|
30
|
+
* @throws Error if wallet retrieval fails or signing operations are not supported
|
|
31
|
+
*/
|
|
32
|
+
private createSigner;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=PrivyWallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrivyWallet.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/react/wallets/hosted/privy/PrivyWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,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,WAAY,SAAQ,SAAS;IACjC,OAAO,EAAG,OAAO,CAAA;IACjB,MAAM,EAAG,YAAY,CAAA;IAE5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IAEjD,OAAO;WASM,MAAM,CAAC,MAAM,EAAE;QAC1B,YAAY,EAAE,YAAY,CAAA;QAC1B,eAAe,EAAE,eAAe,CAAA;QAChC,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;KACxC,GAAG,OAAO,CAAC,WAAW,CAAC;IAUxB;;OAEG;cACa,qBAAqB;IAKrC;;;;;;;OAOG;YACW,YAAY;CAK3B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
constructor(chainManager, connectedWallet, lendProvider) {
|
|
9
|
+
super(chainManager, lendProvider);
|
|
10
|
+
this.connectedWallet = connectedWallet;
|
|
11
|
+
}
|
|
12
|
+
static async create(params) {
|
|
13
|
+
const wallet = new PrivyWallet(params.chainManager, params.connectedWallet, params.lendProvider);
|
|
14
|
+
await wallet.initialize();
|
|
15
|
+
return wallet;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Initialize the PrivyWallet by creating the signer account
|
|
19
|
+
*/
|
|
20
|
+
async performInitialization() {
|
|
21
|
+
this.signer = await this.createSigner();
|
|
22
|
+
this.address = this.signer.address;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Create a LocalAccount from this Privy wallet
|
|
26
|
+
* @description Converts the Privy wallet into a viem-compatible LocalAccount that can sign
|
|
27
|
+
* messages and transactions. The returned account uses Privy's signing infrastructure
|
|
28
|
+
* under the hood while providing a standard viem interface.
|
|
29
|
+
* @returns Promise resolving to a LocalAccount configured for signing operations
|
|
30
|
+
* @throws Error if wallet retrieval fails or signing operations are not supported
|
|
31
|
+
*/
|
|
32
|
+
async createSigner() {
|
|
33
|
+
return createSigner({
|
|
34
|
+
connectedWallet: this.connectedWallet,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=PrivyWallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrivyWallet.js","sourceRoot":"","sources":["../../../../../../src/wallet/react/wallets/hosted/privy/PrivyWallet.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAA;AAExF;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;IAMxC,YACE,YAA0B,EAC1B,eAAgC,EAChC,YAAuC;QAEvC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QACjC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IACxC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAInB;QACC,MAAM,MAAM,GAAG,IAAI,WAAW,CAC5B,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,eAAe,EACtB,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;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;IACpC,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,YAAY;QACxB,OAAO,YAAY,CAAC;YAClB,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ConnectedWallet } from '@privy-io/react-auth';
|
|
2
|
+
import type { ChainManager } from '../../../../../../services/ChainManager.js';
|
|
3
|
+
import type { Wallet } from '../../../../../core/wallets/abstract/Wallet.js';
|
|
4
|
+
/**
|
|
5
|
+
* Minimal mock for PrivyWallet used in React tests
|
|
6
|
+
* @description
|
|
7
|
+
* Provides a static `create` spy that returns a stubbed `Wallet`, avoiding
|
|
8
|
+
* browser-only dependencies. Use with `vi.mock` to replace the real module.
|
|
9
|
+
*/
|
|
10
|
+
export declare class PrivyWalletMock {
|
|
11
|
+
static readonly create: import("vitest").Mock<[_params: {
|
|
12
|
+
chainManager: ChainManager;
|
|
13
|
+
connectedWallet: ConnectedWallet;
|
|
14
|
+
}], Promise<Wallet>>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=PrivyWalletMock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrivyWalletMock.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallet/react/wallets/hosted/privy/__mocks__/PrivyWalletMock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAG3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAA;AAEtE;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,MAAM,CAAC,QAAQ,CAAC,MAAM;sBAEJ,YAAY;yBACT,eAAe;yBAInC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
var _a;
|
|
2
|
+
import { vi } from 'vitest';
|
|
3
|
+
/**
|
|
4
|
+
* Minimal mock for PrivyWallet used in React tests
|
|
5
|
+
* @description
|
|
6
|
+
* Provides a static `create` spy that returns a stubbed `Wallet`, avoiding
|
|
7
|
+
* browser-only dependencies. Use with `vi.mock` to replace the real module.
|
|
8
|
+
*/
|
|
9
|
+
export class PrivyWalletMock {
|
|
10
|
+
}
|
|
11
|
+
_a = PrivyWalletMock;
|
|
12
|
+
PrivyWalletMock.create = vi.fn(async (_params) => {
|
|
13
|
+
return {};
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=PrivyWalletMock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrivyWalletMock.js","sourceRoot":"","sources":["../../../../../../../src/wallet/react/wallets/hosted/privy/__mocks__/PrivyWalletMock.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAK3B;;;;;GAKG;AACH,MAAM,OAAO,eAAe;;;AACV,sBAAM,GAAG,EAAE,CAAC,EAAE,CAC5B,KAAK,EAAE,OAGN,EAAmB,EAAE;IACpB,OAAO,EAAuB,CAAA;AAChC,CAAC,CACF,AAPqB,CAOrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrivyWallet.spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { toViemAccount } from '@privy-io/react-auth';
|
|
2
|
+
import { createWalletClient } from 'viem';
|
|
3
|
+
import { toAccount } from 'viem/accounts';
|
|
4
|
+
import { unichain } from 'viem/chains';
|
|
5
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
6
|
+
import { MockChainManager } from '../../../../../../test/MockChainManager.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/react-auth', () => ({
|
|
20
|
+
toViemAccount: vi.fn(),
|
|
21
|
+
}));
|
|
22
|
+
describe('PrivyWallet (React)', () => {
|
|
23
|
+
beforeEach(() => {
|
|
24
|
+
vi.clearAllMocks();
|
|
25
|
+
});
|
|
26
|
+
const mockAddress = getRandomAddress();
|
|
27
|
+
const mockChainManager = new MockChainManager({
|
|
28
|
+
supportedChains: [unichain.id],
|
|
29
|
+
});
|
|
30
|
+
const mockLocalAccount = {
|
|
31
|
+
address: mockAddress,
|
|
32
|
+
signMessage: vi.fn(),
|
|
33
|
+
sign: vi.fn(),
|
|
34
|
+
signTransaction: vi.fn(),
|
|
35
|
+
signTypedData: vi.fn(),
|
|
36
|
+
};
|
|
37
|
+
it('initializes signer and address from Privy viem account', async () => {
|
|
38
|
+
vi.mocked(toAccount).mockReturnValue(mockLocalAccount);
|
|
39
|
+
const mockViemAccount = {
|
|
40
|
+
address: mockAddress,
|
|
41
|
+
sign: vi.fn(),
|
|
42
|
+
signMessage: vi.fn(),
|
|
43
|
+
signTransaction: vi.fn(),
|
|
44
|
+
signTypedData: vi.fn(),
|
|
45
|
+
};
|
|
46
|
+
vi.mocked(toViemAccount).mockResolvedValue(mockViemAccount);
|
|
47
|
+
const connectedWallet = {
|
|
48
|
+
__brand: 'privy-connected-wallet',
|
|
49
|
+
};
|
|
50
|
+
const wallet = await PrivyWallet.create({
|
|
51
|
+
connectedWallet: connectedWallet,
|
|
52
|
+
chainManager: mockChainManager,
|
|
53
|
+
});
|
|
54
|
+
expect(wallet.address).toBe(mockViemAccount.address);
|
|
55
|
+
expect(toViemAccount).toHaveBeenCalledWith({
|
|
56
|
+
wallet: connectedWallet,
|
|
57
|
+
});
|
|
58
|
+
expect(toAccount).toHaveBeenCalledWith({
|
|
59
|
+
address: mockAddress,
|
|
60
|
+
sign: mockViemAccount.sign,
|
|
61
|
+
signMessage: mockViemAccount.signMessage,
|
|
62
|
+
signTransaction: mockViemAccount.signTransaction,
|
|
63
|
+
signTypedData: mockViemAccount.signTypedData,
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
it('creates a WalletClient with correct configuration', async () => {
|
|
67
|
+
vi.mocked(toAccount).mockReturnValue(mockLocalAccount);
|
|
68
|
+
vi.mocked(toViemAccount).mockResolvedValue({
|
|
69
|
+
address: mockAddress,
|
|
70
|
+
sign: vi.fn(),
|
|
71
|
+
signMessage: vi.fn(),
|
|
72
|
+
signTransaction: vi.fn(),
|
|
73
|
+
signTypedData: vi.fn(),
|
|
74
|
+
});
|
|
75
|
+
const connectedWallet = {
|
|
76
|
+
__brand: 'privy-connected-wallet',
|
|
77
|
+
};
|
|
78
|
+
const wallet = await PrivyWallet.create({
|
|
79
|
+
connectedWallet: connectedWallet,
|
|
80
|
+
chainManager: mockChainManager,
|
|
81
|
+
});
|
|
82
|
+
const mockWalletClient = {
|
|
83
|
+
account: mockLocalAccount,
|
|
84
|
+
address: mockAddress,
|
|
85
|
+
};
|
|
86
|
+
vi.mocked(createWalletClient).mockResolvedValue(mockWalletClient);
|
|
87
|
+
const walletClient = await wallet.walletClient(unichain.id);
|
|
88
|
+
expect(createWalletClient).toHaveBeenCalledOnce();
|
|
89
|
+
const args = vi.mocked(createWalletClient).mock.calls[0][0];
|
|
90
|
+
expect(args.account).toBe(mockLocalAccount);
|
|
91
|
+
expect(args.chain).toBe(mockChainManager.getChain(unichain.id));
|
|
92
|
+
expect(walletClient).toBe(mockWalletClient);
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
//# sourceMappingURL=PrivyWallet.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrivyWallet.spec.js","sourceRoot":"","sources":["../../../../../../../src/wallet/react/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/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { toViemAccount } from '@privy-io/react-auth';
|
|
2
|
+
import { toAccount } from 'viem/accounts';
|
|
3
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
4
|
+
import { getRandomAddress } from '../../../../../../../test/utils.js';
|
|
5
|
+
import { createSigner } from '../createSigner.js';
|
|
6
|
+
vi.mock('@privy-io/react-auth', async () => ({
|
|
7
|
+
// @ts-ignore - importActual returns unknown
|
|
8
|
+
...(await vi.importActual('@privy-io/react-auth')),
|
|
9
|
+
toViemAccount: vi.fn(),
|
|
10
|
+
}));
|
|
11
|
+
vi.mock('viem/accounts', async () => ({
|
|
12
|
+
// @ts-ignore - importActual returns unknown
|
|
13
|
+
...(await vi.importActual('viem/accounts')),
|
|
14
|
+
toAccount: vi.fn(),
|
|
15
|
+
}));
|
|
16
|
+
describe('createSigner', () => {
|
|
17
|
+
const mockAddress = getRandomAddress();
|
|
18
|
+
it('should create a LocalAccount with correct configuration', async () => {
|
|
19
|
+
const mockConnectedWallet = {
|
|
20
|
+
address: mockAddress,
|
|
21
|
+
walletClientType: 'privy',
|
|
22
|
+
};
|
|
23
|
+
const mockPrivyViemAccount = {
|
|
24
|
+
address: mockAddress,
|
|
25
|
+
sign: vi.fn(),
|
|
26
|
+
signMessage: vi.fn(),
|
|
27
|
+
signTransaction: vi.fn(),
|
|
28
|
+
signTypedData: vi.fn(),
|
|
29
|
+
};
|
|
30
|
+
const mockLocalAccount = {
|
|
31
|
+
address: mockAddress,
|
|
32
|
+
sign: vi.fn(),
|
|
33
|
+
signMessage: vi.fn(),
|
|
34
|
+
signTransaction: vi.fn(),
|
|
35
|
+
signTypedData: vi.fn(),
|
|
36
|
+
};
|
|
37
|
+
vi.mocked(toViemAccount).mockResolvedValue(mockPrivyViemAccount);
|
|
38
|
+
vi.mocked(toAccount).mockReturnValue(mockLocalAccount);
|
|
39
|
+
const signer = await createSigner({
|
|
40
|
+
connectedWallet: mockConnectedWallet,
|
|
41
|
+
});
|
|
42
|
+
expect(toViemAccount).toHaveBeenCalledWith({
|
|
43
|
+
wallet: mockConnectedWallet,
|
|
44
|
+
});
|
|
45
|
+
expect(toAccount).toHaveBeenCalledWith({
|
|
46
|
+
address: mockPrivyViemAccount.address,
|
|
47
|
+
sign: mockPrivyViemAccount.sign,
|
|
48
|
+
signMessage: mockPrivyViemAccount.signMessage,
|
|
49
|
+
signTransaction: mockPrivyViemAccount.signTransaction,
|
|
50
|
+
signTypedData: mockPrivyViemAccount.signTypedData,
|
|
51
|
+
});
|
|
52
|
+
expect(signer).toBe(mockLocalAccount);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=createSigner.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSigner.spec.js","sourceRoot":"","sources":["../../../../../../../../src/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,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,2DAA2D,CAAA;AAExF,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC3C,4CAA4C;IAC5C,GAAG,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;IAClD,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;CACvB,CAAC,CAAC,CAAA;AAEH,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IACpC,4CAA4C;IAC5C,GAAG,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAC3C,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;CACnB,CAAC,CAAC,CAAA;AAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAA;IAEtC,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,mBAAmB,GAAG;YAC1B,OAAO,EAAE,WAAW;YACpB,gBAAgB,EAAE,OAAO;SACI,CAAA;QAE/B,MAAM,oBAAoB,GAAG;YAC3B,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YACb,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;YACpB,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;YACxB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;SACiC,CAAA;QAEzD,MAAM,gBAAgB,GAAG;YACvB,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YACb,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;YACpB,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;YACxB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;SACI,CAAA;QAE5B,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;QAChE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAA;QAEtD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,eAAe,EAAE,mBAAmB;SACrC,CAAC,CAAA;QAEF,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC;YACzC,MAAM,EAAE,mBAAmB;SAC5B,CAAC,CAAA;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC;YACrC,OAAO,EAAE,oBAAoB,CAAC,OAAO;YACrC,IAAI,EAAE,oBAAoB,CAAC,IAAI;YAC/B,WAAW,EAAE,oBAAoB,CAAC,WAAW;YAC7C,eAAe,EAAE,oBAAoB,CAAC,eAAe;YACrD,aAAa,EAAE,oBAAoB,CAAC,aAAa;SAClD,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { LocalAccount } from 'viem';
|
|
2
|
+
import type { 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.connectedWallet - Privy connected wallet
|
|
9
|
+
* @returns Promise resolving to a LocalAccount configured for signing operations
|
|
10
|
+
* @throws Error if wallet retrieval fails or signing operations are not supported
|
|
11
|
+
*/
|
|
12
|
+
export declare function createSigner(params: PrivyHostedWalletToActionsWalletOptions): Promise<LocalAccount>;
|
|
13
|
+
//# sourceMappingURL=createSigner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSigner.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallet/react/wallets/hosted/privy/utils/createSigner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,YAAY,EAAE,MAAM,MAAM,CAAA;AAGtD,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,gDAAgD,CAAA;AAE7G;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,uCAAuC,GAC9C,OAAO,CAAC,YAAY,CAAC,CAYvB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { toViemAccount } from '@privy-io/react-auth';
|
|
2
|
+
import { toAccount } from 'viem/accounts';
|
|
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.connectedWallet - Privy connected wallet
|
|
9
|
+
* @returns Promise resolving to a LocalAccount configured for signing operations
|
|
10
|
+
* @throws Error if wallet retrieval fails or signing operations are not supported
|
|
11
|
+
*/
|
|
12
|
+
export async function createSigner(params) {
|
|
13
|
+
const privyViemAccount = await toViemAccount({
|
|
14
|
+
wallet: params.connectedWallet,
|
|
15
|
+
});
|
|
16
|
+
return toAccount({
|
|
17
|
+
address: privyViemAccount.address,
|
|
18
|
+
sign: privyViemAccount.sign,
|
|
19
|
+
signMessage: privyViemAccount.signMessage,
|
|
20
|
+
signTransaction: privyViemAccount.signTransaction,
|
|
21
|
+
signTypedData: privyViemAccount.signTypedData,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=createSigner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSigner.js","sourceRoot":"","sources":["../../../../../../../src/wallet/react/wallets/hosted/privy/utils/createSigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAIzC;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAA+C;IAE/C,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC;QAC3C,MAAM,EAAE,MAAM,CAAC,eAAe;KAC/B,CAAC,CAAA;IACF,OAAO,SAAS,CAAC;QACf,OAAO,EAAE,gBAAgB,CAAC,OAAO;QACjC,IAAI,EAAE,gBAAgB,CAAC,IAAI;QAC3B,WAAW,EAAE,gBAAgB,CAAC,WAAW;QACzC,eAAe,EAAE,gBAAgB,CAAC,eAAe;QACjD,aAAa,EACX,gBAAgB,CAAC,aAA8C;KAClE,CAAC,CAAA;AACJ,CAAC"}
|