@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,109 @@
|
|
|
1
|
+
import { createPublicClient, http, pad } from 'viem';
|
|
2
|
+
import { readContract } from 'viem/actions';
|
|
3
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
4
|
+
import { findSignerIndexOnChain } from '../findSignerIndexOnChain.js';
|
|
5
|
+
const client = createPublicClient({
|
|
6
|
+
transport: http('http://localhost:8545'),
|
|
7
|
+
});
|
|
8
|
+
vi.mock('viem/actions', () => ({
|
|
9
|
+
readContract: vi.fn(),
|
|
10
|
+
getCode: vi.fn(),
|
|
11
|
+
}));
|
|
12
|
+
describe('findSignerIndexOnChain', () => {
|
|
13
|
+
it('returns correct index when owner found', async () => {
|
|
14
|
+
const mockReadContract = vi
|
|
15
|
+
.fn()
|
|
16
|
+
.mockResolvedValueOnce(BigInt(3)) // ownerCount
|
|
17
|
+
.mockResolvedValueOnce('0x00000000000000000000000046440ECd6746f7612809eFED388347d476369f6D') // owner at index 2
|
|
18
|
+
.mockResolvedValueOnce('0x000000000000000000000000d9Ec1a8603125732c1ee35147619BbFA769A062b') // owner at index 1
|
|
19
|
+
.mockResolvedValueOnce('0x0000000000000000000000007838d2724FC686813CAf81d4429beff1110c739a') // owner at index 0
|
|
20
|
+
;
|
|
21
|
+
readContract.mockImplementation(mockReadContract);
|
|
22
|
+
const result = await findSignerIndexOnChain({
|
|
23
|
+
address: '0xe6c7D51b0d5ECC217BE74019447aeac4580Afb54',
|
|
24
|
+
client,
|
|
25
|
+
signerPublicKey: '0x7838d2724FC686813CAf81d4429beff1110c739a',
|
|
26
|
+
});
|
|
27
|
+
expect(result).toBe(0);
|
|
28
|
+
expect(mockReadContract).toHaveBeenCalledTimes(4);
|
|
29
|
+
});
|
|
30
|
+
it('only calls readContract as needed', async () => {
|
|
31
|
+
const mockReadContract = vi
|
|
32
|
+
.fn()
|
|
33
|
+
.mockResolvedValueOnce(BigInt(3)) // nextOwnerIndex
|
|
34
|
+
.mockResolvedValueOnce('0x00000000000000000000000046440ECd6746f7612809eFED388347d476369f6D') // owner at index 2
|
|
35
|
+
.mockResolvedValueOnce('0x000000000000000000000000d9Ec1a8603125732c1ee35147619BbFA769A062b') // owner at index 1
|
|
36
|
+
.mockResolvedValueOnce('0x0000000000000000000000007838d2724FC686813CAf81d4429beff1110c739a') // owner at index 0
|
|
37
|
+
;
|
|
38
|
+
readContract.mockImplementation(mockReadContract);
|
|
39
|
+
const result = await findSignerIndexOnChain({
|
|
40
|
+
address: '0xe6c7D51b0d5ECC217BE74019447aeac4580Afb54',
|
|
41
|
+
client,
|
|
42
|
+
signerPublicKey: '0x46440ECd6746f7612809eFED388347d476369f6D',
|
|
43
|
+
});
|
|
44
|
+
expect(result).toBe(2);
|
|
45
|
+
expect(mockReadContract).toHaveBeenCalledTimes(2);
|
|
46
|
+
});
|
|
47
|
+
it('handles 64 byte public keys', async () => {
|
|
48
|
+
const mockReadContract = vi
|
|
49
|
+
.fn()
|
|
50
|
+
.mockResolvedValueOnce(BigInt(2)) // nextOwnerIndex
|
|
51
|
+
.mockResolvedValueOnce('0xe7575170745fe55d7a26190c6d5504743496c49498b129d2b3660da3697e81d4daebb2496f89aa4a05f1705e1d5d316153211c198f80d3100b51489bf4963f47') // owner at index 1
|
|
52
|
+
.mockResolvedValueOnce('0x0000000000000000000000007838d2724FC686813CAf81d4429beff1110c739a') // owner at index 0
|
|
53
|
+
;
|
|
54
|
+
readContract.mockImplementation(mockReadContract);
|
|
55
|
+
const webAuthnSigner = {
|
|
56
|
+
type: 'webAuthn',
|
|
57
|
+
publicKey: '0xe7575170745fe55d7a26190c6d5504743496c49498b129d2b3660da3697e81d4daebb2496f89aa4a05f1705e1d5d316153211c198f80d3100b51489bf4963f47',
|
|
58
|
+
};
|
|
59
|
+
const result = await findSignerIndexOnChain({
|
|
60
|
+
address: '0xe6c7D51b0d5ECC217BE74019447aeac4580Afb54',
|
|
61
|
+
client,
|
|
62
|
+
signerPublicKey: webAuthnSigner.publicKey,
|
|
63
|
+
});
|
|
64
|
+
expect(result).toBe(1);
|
|
65
|
+
expect(mockReadContract).toHaveBeenCalledTimes(2);
|
|
66
|
+
});
|
|
67
|
+
it('is case insensitive when matching signers', async () => {
|
|
68
|
+
const mockReadContract = vi
|
|
69
|
+
.fn()
|
|
70
|
+
.mockResolvedValueOnce(BigInt(2)) // nextOwnerIndex
|
|
71
|
+
.mockResolvedValueOnce(pad('0xAAA')) // owner at index 1
|
|
72
|
+
.mockResolvedValueOnce(pad('0xBBB')) // owner at index 0
|
|
73
|
+
;
|
|
74
|
+
readContract.mockImplementation(mockReadContract);
|
|
75
|
+
const result = await findSignerIndexOnChain({
|
|
76
|
+
address: '0xabc',
|
|
77
|
+
client,
|
|
78
|
+
signerPublicKey: pad('0xaaa'),
|
|
79
|
+
});
|
|
80
|
+
expect(result).toBe(1);
|
|
81
|
+
});
|
|
82
|
+
it('returns -1 when signer not found', async () => {
|
|
83
|
+
const mockReadContract = vi
|
|
84
|
+
.fn()
|
|
85
|
+
.mockResolvedValueOnce(BigInt(2)) // nextOwnerIndex
|
|
86
|
+
.mockResolvedValueOnce(pad('0xaaa')) // owner at index 1
|
|
87
|
+
.mockResolvedValueOnce(pad('0xbbb')) // owner at index 0
|
|
88
|
+
;
|
|
89
|
+
readContract.mockImplementation(mockReadContract);
|
|
90
|
+
const result = await findSignerIndexOnChain({
|
|
91
|
+
address: '0xabc',
|
|
92
|
+
client,
|
|
93
|
+
signerPublicKey: '0xccc',
|
|
94
|
+
});
|
|
95
|
+
expect(result).toBe(-1);
|
|
96
|
+
});
|
|
97
|
+
it('handles empty signer list', async () => {
|
|
98
|
+
const mockReadContract = vi.fn().mockResolvedValueOnce(BigInt(0)) // nextOwnerIndex
|
|
99
|
+
;
|
|
100
|
+
readContract.mockImplementation(mockReadContract);
|
|
101
|
+
const result = await findSignerIndexOnChain({
|
|
102
|
+
address: '0xabc',
|
|
103
|
+
client,
|
|
104
|
+
signerPublicKey: '0xccc',
|
|
105
|
+
});
|
|
106
|
+
expect(result).toBe(-1);
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
//# sourceMappingURL=findSignerIndexOnChain.spec.js.map
|
package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerIndexOnChain.spec.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findSignerIndexOnChain.spec.js","sourceRoot":"","sources":["../../../../../../../../src/wallet/core/wallets/smart/default/utils/__tests__/findSignerIndexOnChain.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qEAAqE,CAAA;AAE5G,MAAM,MAAM,GAAG,kBAAkB,CAAC;IAChC,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC;CACzC,CAAC,CAAA;AAEF,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;IACrB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;CACjB,CAAC,CAAC,CAAA;AAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,gBAAgB,GAAG,EAAE;aACxB,EAAE,EAAE;aACJ,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa;aAC9C,qBAAqB,CACpB,oEAAoE,CACrE,CAAC,mBAAmB;aACpB,qBAAqB,CACpB,oEAAoE,CACrE,CAAC,mBAAmB;aACpB,qBAAqB,CACpB,oEAAoE,CACrE,CAAC,mBAAmB;SAEtB;QAAC,YAAqB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;QAE5D,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC;YAC1C,OAAO,EAAE,4CAA4C;YACrD,MAAM;YACN,eAAe,EAAE,4CAA4C;SAC9D,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,MAAM,CAAC,gBAAgB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,gBAAgB,GAAG,EAAE;aACxB,EAAE,EAAE;aACJ,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;aAClD,qBAAqB,CACpB,oEAAoE,CACrE,CAAC,mBAAmB;aACpB,qBAAqB,CACpB,oEAAoE,CACrE,CAAC,mBAAmB;aACpB,qBAAqB,CACpB,oEAAoE,CACrE,CAAC,mBAAmB;SAEtB;QAAC,YAAqB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;QAE5D,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC;YAC1C,OAAO,EAAE,4CAA4C;YACrD,MAAM;YACN,eAAe,EAAE,4CAA4C;SAC9D,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,MAAM,CAAC,gBAAgB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,gBAAgB,GAAG,EAAE;aACxB,EAAE,EAAE;aACJ,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;aAClD,qBAAqB,CACpB,oIAAoI,CACrI,CAAC,mBAAmB;aACpB,qBAAqB,CACpB,oEAAoE,CACrE,CAAC,mBAAmB;SAEtB;QAAC,YAAqB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;QAE5D,MAAM,cAAc,GAAG;YACrB,IAAI,EAAE,UAAU;YAChB,SAAS,EACP,oIAAoI;SACzG,CAAA;QAE/B,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC;YAC1C,OAAO,EAAE,4CAA4C;YACrD,MAAM;YACN,eAAe,EAAE,cAAc,CAAC,SAAS;SAC1C,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,MAAM,CAAC,gBAAgB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,gBAAgB,GAAG,EAAE;aACxB,EAAE,EAAE;aACJ,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;aAClD,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;aACvD,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;SAEzD;QAAC,YAAqB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;QAE5D,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC;YAC1C,OAAO,EAAE,OAAO;YAChB,MAAM;YACN,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,gBAAgB,GAAG,EAAE;aACxB,EAAE,EAAE;aACJ,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;aAClD,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;aACvD,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;SAEzD;QAAC,YAAqB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;QAE5D,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC;YAC1C,OAAO,EAAE,OAAO;YAChB,MAAM;YACN,eAAe,EAAE,OAAO;SACzB,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,gBAAgB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;SAElF;QAAC,YAAqB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;QAE5D,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC;YAC1C,OAAO,EAAE,OAAO;YAChB,MAAM;YACN,eAAe,EAAE,OAAO;SACzB,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatPublicKey.spec.d.ts","sourceRoot":"","sources":["../../../../../../../../src/wallet/core/wallets/smart/default/utils/__tests__/formatPublicKey.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { pad } from 'viem';
|
|
2
|
+
import { describe, expect, it } from 'vitest';
|
|
3
|
+
import { formatPublicKey } from '../formatPublicKey.js';
|
|
4
|
+
describe('formatPublicKey', () => {
|
|
5
|
+
it('pads EOA address to 32 bytes', () => {
|
|
6
|
+
const eoa = '0x7838d2724FC686813CAf81d4429beff1110c739a';
|
|
7
|
+
const result = formatPublicKey(eoa);
|
|
8
|
+
expect(result).toBe(pad(eoa));
|
|
9
|
+
// 32 bytes = 64 hex chars after 0x
|
|
10
|
+
expect(result.length).toBe(66);
|
|
11
|
+
});
|
|
12
|
+
it('returns WebAuthn publicKey as-is', () => {
|
|
13
|
+
const publicKey64Bytes = '0xe7575170745fe55d7a26190c6d5504743496c49498b129d2b3660da3697e81d4daebb2496f89aa4a05f1705e1d5d316153211c198f80d3100b51489bf4963f47';
|
|
14
|
+
const webAuthn = {
|
|
15
|
+
type: 'webAuthn',
|
|
16
|
+
publicKey: publicKey64Bytes,
|
|
17
|
+
};
|
|
18
|
+
const result = formatPublicKey(webAuthn.publicKey);
|
|
19
|
+
expect(result).toBe(publicKey64Bytes);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=formatPublicKey.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatPublicKey.spec.js","sourceRoot":"","sources":["../../../../../../../../src/wallet/core/wallets/smart/default/utils/__tests__/formatPublicKey.spec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,8DAA8D,CAAA;AAE9F,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,GAAG,GAAY,4CAA4C,CAAA;QACjE,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;QACnC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAC7B,mCAAmC;QACnC,MAAM,CAAE,MAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,gBAAgB,GACpB,oIAAoI,CAAA;QACtI,MAAM,QAAQ,GAAoB;YAChC,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,gBAAgB;SACE,CAAA;QAE/B,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QAClD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/dist/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSignerPublicKey.spec.d.ts","sourceRoot":"","sources":["../../../../../../../../src/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { getRandomAddress } from '../../../../../../../test/utils.js';
|
|
3
|
+
import { getSignerPublicKey } from '../getSignerPublicKey.js';
|
|
4
|
+
describe('getSignerPublicKey', () => {
|
|
5
|
+
it('returns the address itself when signer is a plain address string', () => {
|
|
6
|
+
const address = getRandomAddress();
|
|
7
|
+
const result = getSignerPublicKey(address);
|
|
8
|
+
expect(result).toBe(address);
|
|
9
|
+
});
|
|
10
|
+
it('returns the address when signer is a LocalAccount', () => {
|
|
11
|
+
const address = getRandomAddress();
|
|
12
|
+
const localAccount = {
|
|
13
|
+
address,
|
|
14
|
+
type: 'local',
|
|
15
|
+
publicKey: '0xaabbccdd',
|
|
16
|
+
};
|
|
17
|
+
const result = getSignerPublicKey(localAccount);
|
|
18
|
+
expect(result).toBe(address);
|
|
19
|
+
});
|
|
20
|
+
it('returns the publicKey when signer is a WebAuthnAccount', () => {
|
|
21
|
+
const publicKey = '0xe7575170745fe55d7a26190c6d5504743496c49498b129d2b3660da3697e81d4daebb2496f89aa4a05f1705e1d5d316153211c198f80d3100b51489bf4963f47';
|
|
22
|
+
const webAuthnAccount = {
|
|
23
|
+
type: 'webAuthn',
|
|
24
|
+
publicKey,
|
|
25
|
+
id: 'test-id',
|
|
26
|
+
};
|
|
27
|
+
const result = getSignerPublicKey(webAuthnAccount);
|
|
28
|
+
expect(result).toBe(publicKey);
|
|
29
|
+
});
|
|
30
|
+
it('throws error for invalid signer type', () => {
|
|
31
|
+
const invalidSigner = {
|
|
32
|
+
type: 'unknown',
|
|
33
|
+
address: '0x1234567890123456789012345678901234567890',
|
|
34
|
+
};
|
|
35
|
+
expect(() => getSignerPublicKey(invalidSigner)).toThrow('invalid signer type');
|
|
36
|
+
});
|
|
37
|
+
it('handles different address formats correctly', () => {
|
|
38
|
+
const checksummedAddress = '0x7838d2724FC686813CAf81d4429beff1110c739a';
|
|
39
|
+
const lowercaseAddress = '0x7838d2724fc686813caf81d4429beff1110c739a';
|
|
40
|
+
expect(getSignerPublicKey(checksummedAddress)).toBe(checksummedAddress);
|
|
41
|
+
expect(getSignerPublicKey(lowercaseAddress)).toBe(lowercaseAddress);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=getSignerPublicKey.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSignerPublicKey.spec.js","sourceRoot":"","sources":["../../../../../../../../src/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAA;AAEpG,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;QAClC,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;QAClC,MAAM,YAAY,GAAiB;YACjC,OAAO;YACP,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,YAAmB;SACJ,CAAA;QAE5B,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAA;QAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,SAAS,GACb,oIAAoI,CAAA;QACtI,MAAM,eAAe,GAAoB;YACvC,IAAI,EAAE,UAAU;YAChB,SAAS;YACT,EAAE,EAAE,SAAS;SACgB,CAAA;QAE/B,MAAM,MAAM,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAA;QAClD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,aAAa,GAAG;YACpB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,4CAAuD;SACtC,CAAA;QAE5B,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CACrD,qBAAqB,CACtB,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,kBAAkB,GACtB,4CAA4C,CAAA;QAC9C,MAAM,gBAAgB,GACpB,4CAA4C,CAAA;QAE9C,MAAM,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QACvE,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACrE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type LocalAccount } from 'viem';
|
|
2
|
+
import type { Signer } from '../../abstract/types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Find the index of a signer in the signers array
|
|
5
|
+
* @description Searches through the signers array to find the index where the signer matches.
|
|
6
|
+
* We only support signer type of LocalAccount for now.
|
|
7
|
+
* @param signers - Array of wallet signers (addresses, LocalAccounts, or WebAuthn accounts)
|
|
8
|
+
* @param signer - The signer to find in the signers array
|
|
9
|
+
* @returns The index of the signer in the signers array
|
|
10
|
+
*/
|
|
11
|
+
export declare function findSignerInArray(signers: Signer[], signer: LocalAccount): number;
|
|
12
|
+
//# sourceMappingURL=findSignerInArray.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findSignerInArray.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallet/core/wallets/smart/default/utils/findSignerInArray.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,MAAM,CAAA;AAEpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qDAAqD,CAAA;AAEjF;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,YAAY,GACnB,MAAM,CAcR"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { getAddress } from 'viem';
|
|
2
|
+
/**
|
|
3
|
+
* Find the index of a signer in the signers array
|
|
4
|
+
* @description Searches through the signers array to find the index where the signer matches.
|
|
5
|
+
* We only support signer type of LocalAccount for now.
|
|
6
|
+
* @param signers - Array of wallet signers (addresses, LocalAccounts, or WebAuthn accounts)
|
|
7
|
+
* @param signer - The signer to find in the signers array
|
|
8
|
+
* @returns The index of the signer in the signers array
|
|
9
|
+
*/
|
|
10
|
+
export function findSignerInArray(signers, signer) {
|
|
11
|
+
return signers.findIndex((signerEntry) => {
|
|
12
|
+
// we only support signer type of LocalAccount for now
|
|
13
|
+
if (typeof signerEntry === 'string') {
|
|
14
|
+
// EOA address comparison
|
|
15
|
+
return getAddress(signerEntry) === getAddress(signer.address);
|
|
16
|
+
}
|
|
17
|
+
if (signerEntry.type === 'local') {
|
|
18
|
+
return getAddress(signerEntry.address) === getAddress(signer.address);
|
|
19
|
+
}
|
|
20
|
+
return false;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=findSignerInArray.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findSignerInArray.js","sourceRoot":"","sources":["../../../../../../../src/wallet/core/wallets/smart/default/utils/findSignerInArray.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAqB,MAAM,MAAM,CAAA;AAIpD;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAiB,EACjB,MAAoB;IAEpB,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE;QACvC,sDAAsD;QACtD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpC,yBAAyB;YACzB,OAAO,UAAU,CAAC,WAAW,CAAC,KAAK,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/D,CAAC;QAED,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACvE,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Client, Hex } from 'viem';
|
|
2
|
+
type FindSignerIndexOnChainParams = {
|
|
3
|
+
/**
|
|
4
|
+
* The address of the account to get the owner index for
|
|
5
|
+
*/
|
|
6
|
+
address: `0x${string}`;
|
|
7
|
+
/**
|
|
8
|
+
* The client to use to get the code and read the contract
|
|
9
|
+
*/
|
|
10
|
+
client: Client;
|
|
11
|
+
/**
|
|
12
|
+
* The public key of the owner
|
|
13
|
+
*/
|
|
14
|
+
signerPublicKey: Hex;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Find the index of a signer in a smart wallet
|
|
18
|
+
* @description Iterates over the wallet's owner slots from highest to lowest index
|
|
19
|
+
* (using the contract's `nextOwnerIndex` and `ownerAtIndex`) to locate the provided signer.
|
|
20
|
+
* The signer may be an EOA address or a WebAuthn account; in both cases it is normalized via
|
|
21
|
+
* {@link formatPublicKey} to the 32-byte form used by the contract for comparisons.
|
|
22
|
+
* Returns the owner's index if found, otherwise -1.
|
|
23
|
+
* @param address - Address of the smart wallet contract to inspect
|
|
24
|
+
* @param client - Public client used to perform contract reads
|
|
25
|
+
* @param signerPublicKey - Signer public key to search for (EOA `Address` or `WebAuthnAccount`)
|
|
26
|
+
* @returns Promise that resolves to the 0-based signer index, or -1 if not found
|
|
27
|
+
*/
|
|
28
|
+
export declare function findSignerIndexOnChain({ address, client, signerPublicKey, }: FindSignerIndexOnChainParams): Promise<number>;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=findSignerIndexOnChain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findSignerIndexOnChain.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallet/core/wallets/smart/default/utils/findSignerIndexOnChain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAMvC,KAAK,4BAA4B,GAAG;IAClC;;OAEG;IACH,OAAO,EAAE,KAAK,MAAM,EAAE,CAAA;IACtB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,eAAe,EAAE,GAAG,CAAA;CACrB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAAC,EAC3C,OAAO,EACP,MAAM,EACN,eAAe,GAChB,EAAE,4BAA4B,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BhD"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { readContract } from 'viem/actions';
|
|
2
|
+
import { smartWalletAbi } from '../constants/index.js';
|
|
3
|
+
import { formatPublicKey } from './formatPublicKey.js';
|
|
4
|
+
/**
|
|
5
|
+
* Find the index of a signer in a smart wallet
|
|
6
|
+
* @description Iterates over the wallet's owner slots from highest to lowest index
|
|
7
|
+
* (using the contract's `nextOwnerIndex` and `ownerAtIndex`) to locate the provided signer.
|
|
8
|
+
* The signer may be an EOA address or a WebAuthn account; in both cases it is normalized via
|
|
9
|
+
* {@link formatPublicKey} to the 32-byte form used by the contract for comparisons.
|
|
10
|
+
* Returns the owner's index if found, otherwise -1.
|
|
11
|
+
* @param address - Address of the smart wallet contract to inspect
|
|
12
|
+
* @param client - Public client used to perform contract reads
|
|
13
|
+
* @param signerPublicKey - Signer public key to search for (EOA `Address` or `WebAuthnAccount`)
|
|
14
|
+
* @returns Promise that resolves to the 0-based signer index, or -1 if not found
|
|
15
|
+
*/
|
|
16
|
+
export async function findSignerIndexOnChain({ address, client, signerPublicKey, }) {
|
|
17
|
+
const nextOwnerIndex = await readContract(client, {
|
|
18
|
+
address,
|
|
19
|
+
abi: smartWalletAbi,
|
|
20
|
+
functionName: 'nextOwnerIndex',
|
|
21
|
+
});
|
|
22
|
+
const formattedSignerPublicKey = formatPublicKey(signerPublicKey);
|
|
23
|
+
// Iterate from highest index down and return early when found
|
|
24
|
+
for (let i = Number(nextOwnerIndex) - 1; i >= 0; i--) {
|
|
25
|
+
const signerAtIndex = await readContract(client, {
|
|
26
|
+
address,
|
|
27
|
+
abi: smartWalletAbi,
|
|
28
|
+
functionName: 'ownerAtIndex',
|
|
29
|
+
args: [BigInt(i)],
|
|
30
|
+
});
|
|
31
|
+
// Skip empty slots (deleted owners)
|
|
32
|
+
if (!signerAtIndex || signerAtIndex === '0x')
|
|
33
|
+
continue;
|
|
34
|
+
if (signerAtIndex.toLowerCase() === formattedSignerPublicKey.toLowerCase()) {
|
|
35
|
+
return i;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return -1;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=findSignerIndexOnChain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findSignerIndexOnChain.js","sourceRoot":"","sources":["../../../../../../../src/wallet/core/wallets/smart/default/utils/findSignerIndexOnChain.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAA;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,8DAA8D,CAAA;AAiB9F;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAC3C,OAAO,EACP,MAAM,EACN,eAAe,GACc;IAC7B,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;QAChD,OAAO;QACP,GAAG,EAAE,cAAc;QACnB,YAAY,EAAE,gBAAgB;KAC/B,CAAC,CAAA;IACF,MAAM,wBAAwB,GAAG,eAAe,CAAC,eAAe,CAAC,CAAA;IAEjE,8DAA8D;IAC9D,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;YAC/C,OAAO;YACP,GAAG,EAAE,cAAc;YACnB,YAAY,EAAE,cAAc;YAC5B,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAClB,CAAC,CAAA;QAEF,oCAAoC;QACpC,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,IAAI;YAAE,SAAQ;QAEtD,IACE,aAAa,CAAC,WAAW,EAAE,KAAK,wBAAwB,CAAC,WAAW,EAAE,EACtE,CAAC;YACD,OAAO,CAAC,CAAA;QACV,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAC,CAAA;AACX,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Address, Hex } from 'viem';
|
|
2
|
+
/**
|
|
3
|
+
* Formats 20 byte addresses to 32 byte public keys. Contract uses 32 byte keys for owners.
|
|
4
|
+
* @param publicKey - The public key to format
|
|
5
|
+
* @returns The formatted public key
|
|
6
|
+
*/
|
|
7
|
+
export declare function formatPublicKey(publicKey: Hex | Address): Hex;
|
|
8
|
+
//# sourceMappingURL=formatPublicKey.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatPublicKey.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallet/core/wallets/smart/default/utils/formatPublicKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAGxC;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,GAAG,GAAG,CAK7D"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { isAddress, pad } from 'viem';
|
|
2
|
+
/**
|
|
3
|
+
* Formats 20 byte addresses to 32 byte public keys. Contract uses 32 byte keys for owners.
|
|
4
|
+
* @param publicKey - The public key to format
|
|
5
|
+
* @returns The formatted public key
|
|
6
|
+
*/
|
|
7
|
+
export function formatPublicKey(publicKey) {
|
|
8
|
+
if (isAddress(publicKey)) {
|
|
9
|
+
return pad(publicKey);
|
|
10
|
+
}
|
|
11
|
+
return publicKey;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=formatPublicKey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatPublicKey.js","sourceRoot":"","sources":["../../../../../../../src/wallet/core/wallets/smart/default/utils/formatPublicKey.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAErC;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,SAAwB;IACtD,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,SAAS,CAAC,CAAA;IACvB,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Hex } from 'viem';
|
|
2
|
+
import type { Signer } from '../../abstract/types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Extracts the public key or identifier from a smart wallet signer.
|
|
5
|
+
*
|
|
6
|
+
* Returns the appropriate public identifier for each signer type:
|
|
7
|
+
* - Address: returns the address itself
|
|
8
|
+
* - LocalAccount: returns the account's address
|
|
9
|
+
* - WebAuthnAccount: returns the P256 public key
|
|
10
|
+
*/
|
|
11
|
+
export declare function getSignerPublicKey(signer: Signer): Hex;
|
|
12
|
+
//# sourceMappingURL=getSignerPublicKey.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSignerPublicKey.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallet/core/wallets/smart/default/utils/getSignerPublicKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAE/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qDAAqD,CAAA;AAEjF;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAKtD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extracts the public key or identifier from a smart wallet signer.
|
|
3
|
+
*
|
|
4
|
+
* Returns the appropriate public identifier for each signer type:
|
|
5
|
+
* - Address: returns the address itself
|
|
6
|
+
* - LocalAccount: returns the account's address
|
|
7
|
+
* - WebAuthnAccount: returns the P256 public key
|
|
8
|
+
*/
|
|
9
|
+
export function getSignerPublicKey(signer) {
|
|
10
|
+
if (typeof signer === 'string')
|
|
11
|
+
return signer;
|
|
12
|
+
if (signer.type === 'webAuthn')
|
|
13
|
+
return signer.publicKey;
|
|
14
|
+
if (signer.type === 'local')
|
|
15
|
+
return signer.address;
|
|
16
|
+
throw new Error('invalid signer type');
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=getSignerPublicKey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSignerPublicKey.js","sourceRoot":"","sources":["../../../../../../../src/wallet/core/wallets/smart/default/utils/getSignerPublicKey.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAA;IAC7C,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC,SAAS,CAAA;IACvD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC,OAAO,CAAA;IAClD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;AACxC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { WaitForUserOperationReceiptReturnType } from 'viem/account-abstraction';
|
|
2
|
+
import type { SupportedChainId } from '../../../../../constants/supportedChains.js';
|
|
3
|
+
export declare class SmartWalletDeploymentError extends Error {
|
|
4
|
+
chainId: SupportedChainId;
|
|
5
|
+
receipt?: WaitForUserOperationReceiptReturnType;
|
|
6
|
+
constructor(message: string, chainId: SupportedChainId, receipt?: WaitForUserOperationReceiptReturnType);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/core/wallets/smart/error/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,0BAA0B,CAAA;AAErF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEtE,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,OAAO,EAAE,gBAAgB,CAAA;IACzB,OAAO,CAAC,EAAE,qCAAqC,CAAA;gBAE7C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,qCAAqC;CAOlD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../../src/wallet/core/wallets/smart/error/errors.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAGnD,YACE,OAAe,EACf,OAAyB,EACzB,OAA+C;QAE/C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAA;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;CACF"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { PrivyHostedWalletProvider } from './providers/hosted/privy/PrivyHostedWalletProvider.js';
|
|
2
|
+
export type { NodeHostedWalletProvidersSchema, NodeOptionsMap, NodeProviderTypes, } from './providers/hosted/types/index.js';
|
|
3
|
+
export { PrivyWallet } from './wallets/hosted/privy/PrivyWallet.js';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wallet/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mEAAmE,CAAA;AAC7G,YAAY,EACV,+BAA+B,EAC/B,cAAc,EACd,iBAAiB,GAClB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wallet/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mEAAmE,CAAA;AAM7G,OAAO,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { PrivyClient } from '@privy-io/server-auth';
|
|
2
|
+
import type { LocalAccount } from 'viem';
|
|
3
|
+
import type { ChainManager } from '../../../../../services/ChainManager.js';
|
|
4
|
+
import type { LendConfig, LendProvider } from '../../../../../types/lend/index.js';
|
|
5
|
+
import { HostedWalletProvider } from '../../../../core/providers/hosted/abstract/HostedWalletProvider.js';
|
|
6
|
+
import type { Wallet } from '../../../../core/wallets/abstract/Wallet.js';
|
|
7
|
+
import type { NodeToActionsOptionsMap, PrivyHostedWalletToActionsWalletOptions } from '../types/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Privy wallet provider implementation
|
|
10
|
+
* @description Wallet provider implementation using Privy service
|
|
11
|
+
*/
|
|
12
|
+
export declare class PrivyHostedWalletProvider extends HostedWalletProvider<'privy', NodeToActionsOptionsMap> {
|
|
13
|
+
private readonly privyClient;
|
|
14
|
+
/**
|
|
15
|
+
* Create a new Privy wallet provider
|
|
16
|
+
* @param privyClient - Privy client instance
|
|
17
|
+
*/
|
|
18
|
+
constructor(privyClient: PrivyClient, chainManager: ChainManager, lendProvider?: LendProvider<LendConfig>);
|
|
19
|
+
toActionsWallet(params: PrivyHostedWalletToActionsWalletOptions): Promise<Wallet>;
|
|
20
|
+
/**
|
|
21
|
+
* Create a LocalAccount from this Privy wallet
|
|
22
|
+
* @description Converts the Privy wallet into a viem-compatible LocalAccount that can sign
|
|
23
|
+
* messages and transactions. The returned account uses Privy's signing infrastructure
|
|
24
|
+
* under the hood while providing a standard viem interface.
|
|
25
|
+
* @param params - Privy configuration for the signer
|
|
26
|
+
* @param params.privyClient - Privy client instance
|
|
27
|
+
* @param params.walletId - Privy wallet identifier
|
|
28
|
+
* @param params.address - Ethereum address of the wallet
|
|
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
|
+
createSigner(params: NodeToActionsOptionsMap['privy']): Promise<LocalAccount>;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=PrivyHostedWalletProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrivyHostedWalletProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAGxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AACtG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAA;AACtE,OAAO,KAAK,EACV,uBAAuB,EACvB,uCAAuC,EACxC,MAAM,+CAA+C,CAAA;AAItD;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,oBAAoB,CACjE,OAAO,EACP,uBAAuB,CACxB;IAMG,OAAO,CAAC,QAAQ,CAAC,WAAW;IAL9B;;;OAGG;gBAEgB,WAAW,EAAE,WAAW,EACzC,YAAY,EAAE,YAAY,EAC1B,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC;IAKnC,eAAe,CACnB,MAAM,EAAE,uCAAuC,GAC9C,OAAO,CAAC,MAAM,CAAC;IAUlB;;;;;;;;;;;OAWG;IACG,YAAY,CAChB,MAAM,EAAE,uBAAuB,CAAC,OAAO,CAAC,GACvC,OAAO,CAAC,YAAY,CAAC;CAGzB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { getAddress } from 'viem';
|
|
2
|
+
import { HostedWalletProvider } from '../../../../core/providers/hosted/abstract/HostedWalletProvider.js';
|
|
3
|
+
import { PrivyWallet } from '../../../wallets/hosted/privy/PrivyWallet.js';
|
|
4
|
+
import { createSigner } from '../../../wallets/hosted/privy/utils/createSigner.js';
|
|
5
|
+
/**
|
|
6
|
+
* Privy wallet provider implementation
|
|
7
|
+
* @description Wallet provider implementation using Privy service
|
|
8
|
+
*/
|
|
9
|
+
export class PrivyHostedWalletProvider extends HostedWalletProvider {
|
|
10
|
+
/**
|
|
11
|
+
* Create a new Privy wallet provider
|
|
12
|
+
* @param privyClient - Privy client instance
|
|
13
|
+
*/
|
|
14
|
+
constructor(privyClient, chainManager, lendProvider) {
|
|
15
|
+
super(chainManager, lendProvider);
|
|
16
|
+
this.privyClient = privyClient;
|
|
17
|
+
}
|
|
18
|
+
async toActionsWallet(params) {
|
|
19
|
+
return PrivyWallet.create({
|
|
20
|
+
privyClient: this.privyClient,
|
|
21
|
+
walletId: params.walletId,
|
|
22
|
+
address: getAddress(params.address),
|
|
23
|
+
chainManager: this.chainManager,
|
|
24
|
+
lendProvider: this.lendProvider,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Create a LocalAccount from this Privy wallet
|
|
29
|
+
* @description Converts the Privy wallet into a viem-compatible LocalAccount that can sign
|
|
30
|
+
* messages and transactions. The returned account uses Privy's signing infrastructure
|
|
31
|
+
* under the hood while providing a standard viem interface.
|
|
32
|
+
* @param params - Privy configuration for the signer
|
|
33
|
+
* @param params.privyClient - Privy client instance
|
|
34
|
+
* @param params.walletId - Privy wallet identifier
|
|
35
|
+
* @param params.address - Ethereum address of the wallet
|
|
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(params) {
|
|
40
|
+
return createSigner({ ...params, privyClient: this.privyClient });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=PrivyHostedWalletProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrivyHostedWalletProvider.js","sourceRoot":"","sources":["../../../../../../src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAIjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AAMtG,OAAO,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,0DAA0D,CAAA;AAEvF;;;GAGG;AACH,MAAM,OAAO,yBAA0B,SAAQ,oBAG9C;IACC;;;OAGG;IACH,YACmB,WAAwB,EACzC,YAA0B,EAC1B,YAAuC;QAEvC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QAJhB,gBAAW,GAAX,WAAW,CAAa;IAK3C,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAA+C;QAE/C,OAAO,WAAW,CAAC,MAAM,CAAC;YACxB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,YAAY,CAChB,MAAwC;QAExC,OAAO,YAAY,CAAC,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IACnE,CAAC;CACF"}
|
package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrivyHostedWalletProvider.spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts"],"names":[],"mappings":""}
|