@account-kit/smart-contracts 4.0.0-alpha.0
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 +21 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/plugindefs/index.d.ts +3 -0
- package/dist/cjs/plugindefs/index.js +10 -0
- package/dist/cjs/plugindefs/index.js.map +1 -0
- package/dist/cjs/plugindefs/multi-owner/abi.d.ts +698 -0
- package/dist/cjs/plugindefs/multi-owner/abi.js +612 -0
- package/dist/cjs/plugindefs/multi-owner/abi.js.map +1 -0
- package/dist/cjs/plugindefs/multi-owner/config.d.ts +2 -0
- package/dist/cjs/plugindefs/multi-owner/config.js +32 -0
- package/dist/cjs/plugindefs/multi-owner/config.js.map +1 -0
- package/dist/cjs/plugindefs/multisig/abi.d.ts +791 -0
- package/dist/cjs/plugindefs/multisig/abi.js +1031 -0
- package/dist/cjs/plugindefs/multisig/abi.js.map +1 -0
- package/dist/cjs/plugindefs/multisig/config.d.ts +2 -0
- package/dist/cjs/plugindefs/multisig/config.js +30 -0
- package/dist/cjs/plugindefs/multisig/config.js.map +1 -0
- package/dist/cjs/plugindefs/session-key/abi.d.ts +1061 -0
- package/dist/cjs/plugindefs/session-key/abi.js +916 -0
- package/dist/cjs/plugindefs/session-key/abi.js.map +1 -0
- package/dist/cjs/plugindefs/session-key/config.d.ts +2 -0
- package/dist/cjs/plugindefs/session-key/config.js +43 -0
- package/dist/cjs/plugindefs/session-key/config.js.map +1 -0
- package/dist/cjs/plugindefs/types.d.ts +15 -0
- package/dist/cjs/plugindefs/types.js +3 -0
- package/dist/cjs/plugindefs/types.js.map +1 -0
- package/dist/cjs/src/index.d.ts +53 -0
- package/dist/cjs/src/index.js +105 -0
- package/dist/cjs/src/index.js.map +1 -0
- package/dist/cjs/src/light-account/abis/LightAccountAbi_v1.d.ts +532 -0
- package/dist/cjs/src/light-account/abis/LightAccountAbi_v1.js +382 -0
- package/dist/cjs/src/light-account/abis/LightAccountAbi_v1.js.map +1 -0
- package/dist/cjs/src/light-account/abis/LightAccountAbi_v2.d.ts +491 -0
- package/dist/cjs/src/light-account/abis/LightAccountAbi_v2.js +358 -0
- package/dist/cjs/src/light-account/abis/LightAccountAbi_v2.js.map +1 -0
- package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v1.d.ts +55 -0
- package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v1.js +78 -0
- package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v1.js.map +1 -0
- package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v2.d.ts +256 -0
- package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v2.js +213 -0
- package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v2.js.map +1 -0
- package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountAbi.d.ts +507 -0
- package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountAbi.js +375 -0
- package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountAbi.js.map +1 -0
- package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.d.ts +286 -0
- package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.js +232 -0
- package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.js.map +1 -0
- package/dist/cjs/src/light-account/accounts/account.d.ts +18 -0
- package/dist/cjs/src/light-account/accounts/account.js +78 -0
- package/dist/cjs/src/light-account/accounts/account.js.map +1 -0
- package/dist/cjs/src/light-account/accounts/base.d.ts +14 -0
- package/dist/cjs/src/light-account/accounts/base.js +143 -0
- package/dist/cjs/src/light-account/accounts/base.js.map +1 -0
- package/dist/cjs/src/light-account/accounts/multiOwner.d.ts +18 -0
- package/dist/cjs/src/light-account/accounts/multiOwner.js +81 -0
- package/dist/cjs/src/light-account/accounts/multiOwner.js.map +1 -0
- package/dist/cjs/src/light-account/actions/transferOwnership.d.ts +8 -0
- package/dist/cjs/src/light-account/actions/transferOwnership.js +27 -0
- package/dist/cjs/src/light-account/actions/transferOwnership.js.map +1 -0
- package/dist/cjs/src/light-account/actions/updateOwners.d.ts +9 -0
- package/dist/cjs/src/light-account/actions/updateOwners.js +27 -0
- package/dist/cjs/src/light-account/actions/updateOwners.js.map +1 -0
- package/dist/cjs/src/light-account/clients/alchemyClient.d.ts +6 -0
- package/dist/cjs/src/light-account/clients/alchemyClient.js +25 -0
- package/dist/cjs/src/light-account/clients/alchemyClient.js.map +1 -0
- package/dist/cjs/src/light-account/clients/client.d.ts +10 -0
- package/dist/cjs/src/light-account/clients/client.js +21 -0
- package/dist/cjs/src/light-account/clients/client.js.map +1 -0
- package/dist/cjs/src/light-account/clients/multiOwnerAlchemyClient.d.ts +6 -0
- package/dist/cjs/src/light-account/clients/multiOwnerAlchemyClient.js +25 -0
- package/dist/cjs/src/light-account/clients/multiOwnerAlchemyClient.js.map +1 -0
- package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.d.ts +10 -0
- package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.js +21 -0
- package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.js.map +1 -0
- package/dist/cjs/src/light-account/decorators/lightAccount.d.ts +8 -0
- package/dist/cjs/src/light-account/decorators/lightAccount.js +9 -0
- package/dist/cjs/src/light-account/decorators/lightAccount.js.map +1 -0
- package/dist/cjs/src/light-account/decorators/multiOwnerLightAccount.d.ts +8 -0
- package/dist/cjs/src/light-account/decorators/multiOwnerLightAccount.js +9 -0
- package/dist/cjs/src/light-account/decorators/multiOwnerLightAccount.js.map +1 -0
- package/dist/cjs/src/light-account/e2e-tests/constants.d.ts +6 -0
- package/dist/cjs/src/light-account/e2e-tests/constants.js +10 -0
- package/dist/cjs/src/light-account/e2e-tests/constants.js.map +1 -0
- package/dist/cjs/src/light-account/schema.d.ts +21 -0
- package/dist/cjs/src/light-account/schema.js +30 -0
- package/dist/cjs/src/light-account/schema.js.map +1 -0
- package/dist/cjs/src/light-account/types.d.ts +39 -0
- package/dist/cjs/src/light-account/types.js +3 -0
- package/dist/cjs/src/light-account/types.js.map +1 -0
- package/dist/cjs/src/light-account/utils.d.ts +12 -0
- package/dist/cjs/src/light-account/utils.js +127 -0
- package/dist/cjs/src/light-account/utils.js.map +1 -0
- package/dist/cjs/src/msca/abis/IAccountLoupe.d.ts +79 -0
- package/dist/cjs/src/msca/abis/IAccountLoupe.js +82 -0
- package/dist/cjs/src/msca/abis/IAccountLoupe.js.map +1 -0
- package/dist/cjs/src/msca/abis/IPlugin.d.ts +474 -0
- package/dist/cjs/src/msca/abis/IPlugin.js +400 -0
- package/dist/cjs/src/msca/abis/IPlugin.js.map +1 -0
- package/dist/cjs/src/msca/abis/IPluginManager.d.ts +101 -0
- package/dist/cjs/src/msca/abis/IPluginManager.js +109 -0
- package/dist/cjs/src/msca/abis/IPluginManager.js.map +1 -0
- package/dist/cjs/src/msca/abis/IStandardExecutor.d.ts +50 -0
- package/dist/cjs/src/msca/abis/IStandardExecutor.js +35 -0
- package/dist/cjs/src/msca/abis/IStandardExecutor.js.map +1 -0
- package/dist/cjs/src/msca/abis/MultiOwnerModularAccountFactory.d.ts +234 -0
- package/dist/cjs/src/msca/abis/MultiOwnerModularAccountFactory.js +194 -0
- package/dist/cjs/src/msca/abis/MultiOwnerModularAccountFactory.js.map +1 -0
- package/dist/cjs/src/msca/abis/MultisigModularAccountFactory.d.ts +246 -0
- package/dist/cjs/src/msca/abis/MultisigModularAccountFactory.js +320 -0
- package/dist/cjs/src/msca/abis/MultisigModularAccountFactory.js.map +1 -0
- package/dist/cjs/src/msca/abis/UpgradeableModularAccount.d.ts +880 -0
- package/dist/cjs/src/msca/abis/UpgradeableModularAccount.js +649 -0
- package/dist/cjs/src/msca/abis/UpgradeableModularAccount.js.map +1 -0
- package/dist/cjs/src/msca/account/multiOwnerAccount.d.ts +12 -0
- package/dist/cjs/src/msca/account/multiOwnerAccount.js +59 -0
- package/dist/cjs/src/msca/account/multiOwnerAccount.js.map +1 -0
- package/dist/cjs/src/msca/account/multisigAccount.d.ts +17 -0
- package/dist/cjs/src/msca/account/multisigAccount.js +70 -0
- package/dist/cjs/src/msca/account/multisigAccount.js.map +1 -0
- package/dist/cjs/src/msca/account/standardExecutor.d.ts +2 -0
- package/dist/cjs/src/msca/account/standardExecutor.js +28 -0
- package/dist/cjs/src/msca/account/standardExecutor.js.map +1 -0
- package/dist/cjs/src/msca/account-loupe/decorator.d.ts +16 -0
- package/dist/cjs/src/msca/account-loupe/decorator.js +66 -0
- package/dist/cjs/src/msca/account-loupe/decorator.js.map +1 -0
- package/dist/cjs/src/msca/account-loupe/types.d.ts +16 -0
- package/dist/cjs/src/msca/account-loupe/types.js +3 -0
- package/dist/cjs/src/msca/account-loupe/types.js.map +1 -0
- package/dist/cjs/src/msca/client/alchemyClient.d.ts +6 -0
- package/dist/cjs/src/msca/client/alchemyClient.js +28 -0
- package/dist/cjs/src/msca/client/alchemyClient.js.map +1 -0
- package/dist/cjs/src/msca/client/client.d.ts +17 -0
- package/dist/cjs/src/msca/client/client.js +49 -0
- package/dist/cjs/src/msca/client/client.js.map +1 -0
- package/dist/cjs/src/msca/client/multiSigAlchemyClient.d.ts +6 -0
- package/dist/cjs/src/msca/client/multiSigAlchemyClient.js +31 -0
- package/dist/cjs/src/msca/client/multiSigAlchemyClient.js.map +1 -0
- package/dist/cjs/src/msca/e2e-tests/constants.d.ts +3 -0
- package/dist/cjs/src/msca/e2e-tests/constants.js +7 -0
- package/dist/cjs/src/msca/e2e-tests/constants.js.map +1 -0
- package/dist/cjs/src/msca/errors.d.ts +17 -0
- package/dist/cjs/src/msca/errors.js +53 -0
- package/dist/cjs/src/msca/errors.js.map +1 -0
- package/dist/cjs/src/msca/plugin-manager/decorator.d.ts +11 -0
- package/dist/cjs/src/msca/plugin-manager/decorator.js +11 -0
- package/dist/cjs/src/msca/plugin-manager/decorator.js.map +1 -0
- package/dist/cjs/src/msca/plugin-manager/installPlugin.d.ts +11 -0
- package/dist/cjs/src/msca/plugin-manager/installPlugin.js +48 -0
- package/dist/cjs/src/msca/plugin-manager/installPlugin.js.map +1 -0
- package/dist/cjs/src/msca/plugin-manager/uninstallPlugin.d.ts +9 -0
- package/dist/cjs/src/msca/plugin-manager/uninstallPlugin.js +35 -0
- package/dist/cjs/src/msca/plugin-manager/uninstallPlugin.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multi-owner/extension.d.ts +13 -0
- package/dist/cjs/src/msca/plugins/multi-owner/extension.js +26 -0
- package/dist/cjs/src/msca/plugins/multi-owner/extension.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multi-owner/index.d.ts +3 -0
- package/dist/cjs/src/msca/plugins/multi-owner/index.js +9 -0
- package/dist/cjs/src/msca/plugins/multi-owner/index.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multi-owner/plugin.d.ts +793 -0
- package/dist/cjs/src/msca/plugins/multi-owner/plugin.js +695 -0
- package/dist/cjs/src/msca/plugins/multi-owner/plugin.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multi-owner/signer.d.ts +215 -0
- package/dist/cjs/src/msca/plugins/multi-owner/signer.js +47 -0
- package/dist/cjs/src/msca/plugins/multi-owner/signer.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multisig/actions/getThreshold.d.ts +4 -0
- package/dist/cjs/src/msca/plugins/multisig/actions/getThreshold.js +20 -0
- package/dist/cjs/src/msca/plugins/multisig/actions/getThreshold.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multisig/actions/isOwnerOf.d.ts +6 -0
- package/dist/cjs/src/msca/plugins/multisig/actions/isOwnerOf.js +15 -0
- package/dist/cjs/src/msca/plugins/multisig/actions/isOwnerOf.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.d.ts +4 -0
- package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.js +47 -0
- package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multisig/actions/readOwners.d.ts +4 -0
- package/dist/cjs/src/msca/plugins/multisig/actions/readOwners.js +15 -0
- package/dist/cjs/src/msca/plugins/multisig/actions/readOwners.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.d.ts +4 -0
- package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.js +54 -0
- package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multisig/extension.d.ts +17 -0
- package/dist/cjs/src/msca/plugins/multisig/extension.js +19 -0
- package/dist/cjs/src/msca/plugins/multisig/extension.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multisig/index.d.ts +12 -0
- package/dist/cjs/src/msca/plugins/multisig/index.js +27 -0
- package/dist/cjs/src/msca/plugins/multisig/index.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multisig/middleware.d.ts +3 -0
- package/dist/cjs/src/msca/plugins/multisig/middleware.js +97 -0
- package/dist/cjs/src/msca/plugins/multisig/middleware.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multisig/plugin.d.ts +892 -0
- package/dist/cjs/src/msca/plugins/multisig/plugin.js +740 -0
- package/dist/cjs/src/msca/plugins/multisig/plugin.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multisig/signer.d.ts +223 -0
- package/dist/cjs/src/msca/plugins/multisig/signer.js +57 -0
- package/dist/cjs/src/msca/plugins/multisig/signer.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multisig/types.d.ts +34 -0
- package/dist/cjs/src/msca/plugins/multisig/types.js +3 -0
- package/dist/cjs/src/msca/plugins/multisig/types.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.d.ts +9 -0
- package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.js +15 -0
- package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multisig/utils/formatSignatures.d.ts +2 -0
- package/dist/cjs/src/msca/plugins/multisig/utils/formatSignatures.js +42 -0
- package/dist/cjs/src/msca/plugins/multisig/utils/formatSignatures.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.d.ts +10 -0
- package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.js +13 -0
- package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multisig/utils/index.d.ts +4 -0
- package/dist/cjs/src/msca/plugins/multisig/utils/index.js +12 -0
- package/dist/cjs/src/msca/plugins/multisig/utils/index.js.map +1 -0
- package/dist/cjs/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts +15 -0
- package/dist/cjs/src/msca/plugins/multisig/utils/splitAggregatedSignature.js +74 -0
- package/dist/cjs/src/msca/plugins/multisig/utils/splitAggregatedSignature.js.map +1 -0
- package/dist/cjs/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.d.ts +117 -0
- package/dist/cjs/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.js +115 -0
- package/dist/cjs/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.js.map +1 -0
- package/dist/cjs/src/msca/plugins/session-key/debug-session-key-bytecode.d.ts +1 -0
- package/dist/cjs/src/msca/plugins/session-key/debug-session-key-bytecode.js +5 -0
- package/dist/cjs/src/msca/plugins/session-key/debug-session-key-bytecode.js.map +1 -0
- package/dist/cjs/src/msca/plugins/session-key/extension.d.ts +30 -0
- package/dist/cjs/src/msca/plugins/session-key/extension.js +156 -0
- package/dist/cjs/src/msca/plugins/session-key/extension.js.map +1 -0
- package/dist/cjs/src/msca/plugins/session-key/index.d.ts +3 -0
- package/dist/cjs/src/msca/plugins/session-key/index.js +8 -0
- package/dist/cjs/src/msca/plugins/session-key/index.js.map +1 -0
- package/dist/cjs/src/msca/plugins/session-key/permissions.d.ts +53 -0
- package/dist/cjs/src/msca/plugins/session-key/permissions.js +153 -0
- package/dist/cjs/src/msca/plugins/session-key/permissions.js.map +1 -0
- package/dist/cjs/src/msca/plugins/session-key/plugin.d.ts +1200 -0
- package/dist/cjs/src/msca/plugins/session-key/plugin.js +1044 -0
- package/dist/cjs/src/msca/plugins/session-key/plugin.js.map +1 -0
- package/dist/cjs/src/msca/plugins/session-key/signer.d.ts +233 -0
- package/dist/cjs/src/msca/plugins/session-key/signer.js +101 -0
- package/dist/cjs/src/msca/plugins/session-key/signer.js.map +1 -0
- package/dist/cjs/src/msca/plugins/session-key/utils.d.ts +9 -0
- package/dist/cjs/src/msca/plugins/session-key/utils.js +21 -0
- package/dist/cjs/src/msca/plugins/session-key/utils.js.map +1 -0
- package/dist/cjs/src/msca/plugins/types.d.ts +12 -0
- package/dist/cjs/src/msca/plugins/types.js +3 -0
- package/dist/cjs/src/msca/plugins/types.js.map +1 -0
- package/dist/cjs/src/msca/utils.d.ts +15 -0
- package/dist/cjs/src/msca/utils.js +98 -0
- package/dist/cjs/src/msca/utils.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/plugindefs/index.d.ts +3 -0
- package/dist/esm/plugindefs/index.js +4 -0
- package/dist/esm/plugindefs/index.js.map +1 -0
- package/dist/esm/plugindefs/multi-owner/abi.d.ts +698 -0
- package/dist/esm/plugindefs/multi-owner/abi.js +609 -0
- package/dist/esm/plugindefs/multi-owner/abi.js.map +1 -0
- package/dist/esm/plugindefs/multi-owner/config.d.ts +2 -0
- package/dist/esm/plugindefs/multi-owner/config.js +29 -0
- package/dist/esm/plugindefs/multi-owner/config.js.map +1 -0
- package/dist/esm/plugindefs/multisig/abi.d.ts +791 -0
- package/dist/esm/plugindefs/multisig/abi.js +1028 -0
- package/dist/esm/plugindefs/multisig/abi.js.map +1 -0
- package/dist/esm/plugindefs/multisig/config.d.ts +2 -0
- package/dist/esm/plugindefs/multisig/config.js +27 -0
- package/dist/esm/plugindefs/multisig/config.js.map +1 -0
- package/dist/esm/plugindefs/session-key/abi.d.ts +1061 -0
- package/dist/esm/plugindefs/session-key/abi.js +913 -0
- package/dist/esm/plugindefs/session-key/abi.js.map +1 -0
- package/dist/esm/plugindefs/session-key/config.d.ts +2 -0
- package/dist/esm/plugindefs/session-key/config.js +40 -0
- package/dist/esm/plugindefs/session-key/config.js.map +1 -0
- package/dist/esm/plugindefs/types.d.ts +15 -0
- package/dist/esm/plugindefs/types.js +2 -0
- package/dist/esm/plugindefs/types.js.map +1 -0
- package/dist/esm/src/index.d.ts +53 -0
- package/dist/esm/src/index.js +39 -0
- package/dist/esm/src/index.js.map +1 -0
- package/dist/esm/src/light-account/abis/LightAccountAbi_v1.d.ts +532 -0
- package/dist/esm/src/light-account/abis/LightAccountAbi_v1.js +379 -0
- package/dist/esm/src/light-account/abis/LightAccountAbi_v1.js.map +1 -0
- package/dist/esm/src/light-account/abis/LightAccountAbi_v2.d.ts +491 -0
- package/dist/esm/src/light-account/abis/LightAccountAbi_v2.js +355 -0
- package/dist/esm/src/light-account/abis/LightAccountAbi_v2.js.map +1 -0
- package/dist/esm/src/light-account/abis/LightAccountFactoryAbi_v1.d.ts +55 -0
- package/dist/esm/src/light-account/abis/LightAccountFactoryAbi_v1.js +75 -0
- package/dist/esm/src/light-account/abis/LightAccountFactoryAbi_v1.js.map +1 -0
- package/dist/esm/src/light-account/abis/LightAccountFactoryAbi_v2.d.ts +256 -0
- package/dist/esm/src/light-account/abis/LightAccountFactoryAbi_v2.js +210 -0
- package/dist/esm/src/light-account/abis/LightAccountFactoryAbi_v2.js.map +1 -0
- package/dist/esm/src/light-account/abis/MultiOwnerLightAccountAbi.d.ts +507 -0
- package/dist/esm/src/light-account/abis/MultiOwnerLightAccountAbi.js +372 -0
- package/dist/esm/src/light-account/abis/MultiOwnerLightAccountAbi.js.map +1 -0
- package/dist/esm/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.d.ts +286 -0
- package/dist/esm/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.js +229 -0
- package/dist/esm/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.js.map +1 -0
- package/dist/esm/src/light-account/accounts/account.d.ts +18 -0
- package/dist/esm/src/light-account/accounts/account.js +74 -0
- package/dist/esm/src/light-account/accounts/account.js.map +1 -0
- package/dist/esm/src/light-account/accounts/base.d.ts +14 -0
- package/dist/esm/src/light-account/accounts/base.js +139 -0
- package/dist/esm/src/light-account/accounts/base.js.map +1 -0
- package/dist/esm/src/light-account/accounts/multiOwner.d.ts +18 -0
- package/dist/esm/src/light-account/accounts/multiOwner.js +77 -0
- package/dist/esm/src/light-account/accounts/multiOwner.js.map +1 -0
- package/dist/esm/src/light-account/actions/transferOwnership.d.ts +8 -0
- package/dist/esm/src/light-account/actions/transferOwnership.js +23 -0
- package/dist/esm/src/light-account/actions/transferOwnership.js.map +1 -0
- package/dist/esm/src/light-account/actions/updateOwners.d.ts +9 -0
- package/dist/esm/src/light-account/actions/updateOwners.js +23 -0
- package/dist/esm/src/light-account/actions/updateOwners.js.map +1 -0
- package/dist/esm/src/light-account/clients/alchemyClient.d.ts +6 -0
- package/dist/esm/src/light-account/clients/alchemyClient.js +21 -0
- package/dist/esm/src/light-account/clients/alchemyClient.js.map +1 -0
- package/dist/esm/src/light-account/clients/client.d.ts +10 -0
- package/dist/esm/src/light-account/clients/client.js +18 -0
- package/dist/esm/src/light-account/clients/client.js.map +1 -0
- package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.d.ts +6 -0
- package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.js +21 -0
- package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.js.map +1 -0
- package/dist/esm/src/light-account/clients/multiOwnerLightAccount.d.ts +10 -0
- package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js +18 -0
- package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js.map +1 -0
- package/dist/esm/src/light-account/decorators/lightAccount.d.ts +8 -0
- package/dist/esm/src/light-account/decorators/lightAccount.js +5 -0
- package/dist/esm/src/light-account/decorators/lightAccount.js.map +1 -0
- package/dist/esm/src/light-account/decorators/multiOwnerLightAccount.d.ts +8 -0
- package/dist/esm/src/light-account/decorators/multiOwnerLightAccount.js +5 -0
- package/dist/esm/src/light-account/decorators/multiOwnerLightAccount.js.map +1 -0
- package/dist/esm/src/light-account/e2e-tests/constants.d.ts +6 -0
- package/dist/esm/src/light-account/e2e-tests/constants.js +7 -0
- package/dist/esm/src/light-account/e2e-tests/constants.js.map +1 -0
- package/dist/esm/src/light-account/schema.d.ts +21 -0
- package/dist/esm/src/light-account/schema.js +27 -0
- package/dist/esm/src/light-account/schema.js.map +1 -0
- package/dist/esm/src/light-account/types.d.ts +39 -0
- package/dist/esm/src/light-account/types.js +3 -0
- package/dist/esm/src/light-account/types.js.map +1 -0
- package/dist/esm/src/light-account/utils.d.ts +12 -0
- package/dist/esm/src/light-account/utils.js +120 -0
- package/dist/esm/src/light-account/utils.js.map +1 -0
- package/dist/esm/src/msca/abis/IAccountLoupe.d.ts +79 -0
- package/dist/esm/src/msca/abis/IAccountLoupe.js +79 -0
- package/dist/esm/src/msca/abis/IAccountLoupe.js.map +1 -0
- package/dist/esm/src/msca/abis/IPlugin.d.ts +474 -0
- package/dist/esm/src/msca/abis/IPlugin.js +397 -0
- package/dist/esm/src/msca/abis/IPlugin.js.map +1 -0
- package/dist/esm/src/msca/abis/IPluginManager.d.ts +101 -0
- package/dist/esm/src/msca/abis/IPluginManager.js +106 -0
- package/dist/esm/src/msca/abis/IPluginManager.js.map +1 -0
- package/dist/esm/src/msca/abis/IStandardExecutor.d.ts +50 -0
- package/dist/esm/src/msca/abis/IStandardExecutor.js +32 -0
- package/dist/esm/src/msca/abis/IStandardExecutor.js.map +1 -0
- package/dist/esm/src/msca/abis/MultiOwnerModularAccountFactory.d.ts +234 -0
- package/dist/esm/src/msca/abis/MultiOwnerModularAccountFactory.js +191 -0
- package/dist/esm/src/msca/abis/MultiOwnerModularAccountFactory.js.map +1 -0
- package/dist/esm/src/msca/abis/MultisigModularAccountFactory.d.ts +246 -0
- package/dist/esm/src/msca/abis/MultisigModularAccountFactory.js +317 -0
- package/dist/esm/src/msca/abis/MultisigModularAccountFactory.js.map +1 -0
- package/dist/esm/src/msca/abis/UpgradeableModularAccount.d.ts +880 -0
- package/dist/esm/src/msca/abis/UpgradeableModularAccount.js +646 -0
- package/dist/esm/src/msca/abis/UpgradeableModularAccount.js.map +1 -0
- package/dist/esm/src/msca/account/multiOwnerAccount.d.ts +12 -0
- package/dist/esm/src/msca/account/multiOwnerAccount.js +55 -0
- package/dist/esm/src/msca/account/multiOwnerAccount.js.map +1 -0
- package/dist/esm/src/msca/account/multisigAccount.d.ts +17 -0
- package/dist/esm/src/msca/account/multisigAccount.js +65 -0
- package/dist/esm/src/msca/account/multisigAccount.js.map +1 -0
- package/dist/esm/src/msca/account/standardExecutor.d.ts +2 -0
- package/dist/esm/src/msca/account/standardExecutor.js +25 -0
- package/dist/esm/src/msca/account/standardExecutor.js.map +1 -0
- package/dist/esm/src/msca/account-loupe/decorator.d.ts +16 -0
- package/dist/esm/src/msca/account-loupe/decorator.js +62 -0
- package/dist/esm/src/msca/account-loupe/decorator.js.map +1 -0
- package/dist/esm/src/msca/account-loupe/types.d.ts +16 -0
- package/dist/esm/src/msca/account-loupe/types.js +2 -0
- package/dist/esm/src/msca/account-loupe/types.js.map +1 -0
- package/dist/esm/src/msca/client/alchemyClient.d.ts +6 -0
- package/dist/esm/src/msca/client/alchemyClient.js +24 -0
- package/dist/esm/src/msca/client/alchemyClient.js.map +1 -0
- package/dist/esm/src/msca/client/client.d.ts +17 -0
- package/dist/esm/src/msca/client/client.js +45 -0
- package/dist/esm/src/msca/client/client.js.map +1 -0
- package/dist/esm/src/msca/client/multiSigAlchemyClient.d.ts +6 -0
- package/dist/esm/src/msca/client/multiSigAlchemyClient.js +27 -0
- package/dist/esm/src/msca/client/multiSigAlchemyClient.js.map +1 -0
- package/dist/esm/src/msca/e2e-tests/constants.d.ts +3 -0
- package/dist/esm/src/msca/e2e-tests/constants.js +4 -0
- package/dist/esm/src/msca/e2e-tests/constants.js.map +1 -0
- package/dist/esm/src/msca/errors.d.ts +17 -0
- package/dist/esm/src/msca/errors.js +46 -0
- package/dist/esm/src/msca/errors.js.map +1 -0
- package/dist/esm/src/msca/plugin-manager/decorator.d.ts +11 -0
- package/dist/esm/src/msca/plugin-manager/decorator.js +9 -0
- package/dist/esm/src/msca/plugin-manager/decorator.js.map +1 -0
- package/dist/esm/src/msca/plugin-manager/installPlugin.d.ts +11 -0
- package/dist/esm/src/msca/plugin-manager/installPlugin.js +43 -0
- package/dist/esm/src/msca/plugin-manager/installPlugin.js.map +1 -0
- package/dist/esm/src/msca/plugin-manager/uninstallPlugin.d.ts +9 -0
- package/dist/esm/src/msca/plugin-manager/uninstallPlugin.js +30 -0
- package/dist/esm/src/msca/plugin-manager/uninstallPlugin.js.map +1 -0
- package/dist/esm/src/msca/plugins/multi-owner/extension.d.ts +13 -0
- package/dist/esm/src/msca/plugins/multi-owner/extension.js +23 -0
- package/dist/esm/src/msca/plugins/multi-owner/extension.js.map +1 -0
- package/dist/esm/src/msca/plugins/multi-owner/index.d.ts +3 -0
- package/dist/esm/src/msca/plugins/multi-owner/index.js +3 -0
- package/dist/esm/src/msca/plugins/multi-owner/index.js.map +1 -0
- package/dist/esm/src/msca/plugins/multi-owner/plugin.d.ts +793 -0
- package/dist/esm/src/msca/plugins/multi-owner/plugin.js +691 -0
- package/dist/esm/src/msca/plugins/multi-owner/plugin.js.map +1 -0
- package/dist/esm/src/msca/plugins/multi-owner/signer.d.ts +215 -0
- package/dist/esm/src/msca/plugins/multi-owner/signer.js +43 -0
- package/dist/esm/src/msca/plugins/multi-owner/signer.js.map +1 -0
- package/dist/esm/src/msca/plugins/multisig/actions/getThreshold.d.ts +4 -0
- package/dist/esm/src/msca/plugins/multisig/actions/getThreshold.js +17 -0
- package/dist/esm/src/msca/plugins/multisig/actions/getThreshold.js.map +1 -0
- package/dist/esm/src/msca/plugins/multisig/actions/isOwnerOf.d.ts +6 -0
- package/dist/esm/src/msca/plugins/multisig/actions/isOwnerOf.js +12 -0
- package/dist/esm/src/msca/plugins/multisig/actions/isOwnerOf.js.map +1 -0
- package/dist/esm/src/msca/plugins/multisig/actions/proposeUserOperation.d.ts +4 -0
- package/dist/esm/src/msca/plugins/multisig/actions/proposeUserOperation.js +45 -0
- package/dist/esm/src/msca/plugins/multisig/actions/proposeUserOperation.js.map +1 -0
- package/dist/esm/src/msca/plugins/multisig/actions/readOwners.d.ts +4 -0
- package/dist/esm/src/msca/plugins/multisig/actions/readOwners.js +12 -0
- package/dist/esm/src/msca/plugins/multisig/actions/readOwners.js.map +1 -0
- package/dist/esm/src/msca/plugins/multisig/actions/signMultisigUserOperation.d.ts +4 -0
- package/dist/esm/src/msca/plugins/multisig/actions/signMultisigUserOperation.js +52 -0
- package/dist/esm/src/msca/plugins/multisig/actions/signMultisigUserOperation.js.map +1 -0
- package/dist/esm/src/msca/plugins/multisig/extension.d.ts +17 -0
- package/dist/esm/src/msca/plugins/multisig/extension.js +18 -0
- package/dist/esm/src/msca/plugins/multisig/extension.js.map +1 -0
- package/dist/esm/src/msca/plugins/multisig/index.d.ts +12 -0
- package/dist/esm/src/msca/plugins/multisig/index.js +11 -0
- package/dist/esm/src/msca/plugins/multisig/index.js.map +1 -0
- package/dist/esm/src/msca/plugins/multisig/middleware.d.ts +3 -0
- package/dist/esm/src/msca/plugins/multisig/middleware.js +94 -0
- package/dist/esm/src/msca/plugins/multisig/middleware.js.map +1 -0
- package/dist/esm/src/msca/plugins/multisig/plugin.d.ts +892 -0
- package/dist/esm/src/msca/plugins/multisig/plugin.js +736 -0
- package/dist/esm/src/msca/plugins/multisig/plugin.js.map +1 -0
- package/dist/esm/src/msca/plugins/multisig/signer.d.ts +223 -0
- package/dist/esm/src/msca/plugins/multisig/signer.js +53 -0
- package/dist/esm/src/msca/plugins/multisig/signer.js.map +1 -0
- package/dist/esm/src/msca/plugins/multisig/types.d.ts +34 -0
- package/dist/esm/src/msca/plugins/multisig/types.js +2 -0
- package/dist/esm/src/msca/plugins/multisig/types.js.map +1 -0
- package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.d.ts +9 -0
- package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.js +11 -0
- package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.js.map +1 -0
- package/dist/esm/src/msca/plugins/multisig/utils/formatSignatures.d.ts +2 -0
- package/dist/esm/src/msca/plugins/multisig/utils/formatSignatures.js +38 -0
- package/dist/esm/src/msca/plugins/multisig/utils/formatSignatures.js.map +1 -0
- package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.d.ts +10 -0
- package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.js +9 -0
- package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.js.map +1 -0
- package/dist/esm/src/msca/plugins/multisig/utils/index.d.ts +4 -0
- package/dist/esm/src/msca/plugins/multisig/utils/index.js +5 -0
- package/dist/esm/src/msca/plugins/multisig/utils/index.js.map +1 -0
- package/dist/esm/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts +15 -0
- package/dist/esm/src/msca/plugins/multisig/utils/splitAggregatedSignature.js +70 -0
- package/dist/esm/src/msca/plugins/multisig/utils/splitAggregatedSignature.js.map +1 -0
- package/dist/esm/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.d.ts +117 -0
- package/dist/esm/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.js +112 -0
- package/dist/esm/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.js.map +1 -0
- package/dist/esm/src/msca/plugins/session-key/debug-session-key-bytecode.d.ts +1 -0
- package/dist/esm/src/msca/plugins/session-key/debug-session-key-bytecode.js +2 -0
- package/dist/esm/src/msca/plugins/session-key/debug-session-key-bytecode.js.map +1 -0
- package/dist/esm/src/msca/plugins/session-key/extension.d.ts +30 -0
- package/dist/esm/src/msca/plugins/session-key/extension.js +129 -0
- package/dist/esm/src/msca/plugins/session-key/extension.js.map +1 -0
- package/dist/esm/src/msca/plugins/session-key/index.d.ts +3 -0
- package/dist/esm/src/msca/plugins/session-key/index.js +3 -0
- package/dist/esm/src/msca/plugins/session-key/index.js.map +1 -0
- package/dist/esm/src/msca/plugins/session-key/permissions.d.ts +53 -0
- package/dist/esm/src/msca/plugins/session-key/permissions.js +149 -0
- package/dist/esm/src/msca/plugins/session-key/permissions.js.map +1 -0
- package/dist/esm/src/msca/plugins/session-key/plugin.d.ts +1200 -0
- package/dist/esm/src/msca/plugins/session-key/plugin.js +1040 -0
- package/dist/esm/src/msca/plugins/session-key/plugin.js.map +1 -0
- package/dist/esm/src/msca/plugins/session-key/signer.d.ts +233 -0
- package/dist/esm/src/msca/plugins/session-key/signer.js +97 -0
- package/dist/esm/src/msca/plugins/session-key/signer.js.map +1 -0
- package/dist/esm/src/msca/plugins/session-key/utils.d.ts +9 -0
- package/dist/esm/src/msca/plugins/session-key/utils.js +17 -0
- package/dist/esm/src/msca/plugins/session-key/utils.js.map +1 -0
- package/dist/esm/src/msca/plugins/types.d.ts +12 -0
- package/dist/esm/src/msca/plugins/types.js +2 -0
- package/dist/esm/src/msca/plugins/types.js.map +1 -0
- package/dist/esm/src/msca/utils.d.ts +15 -0
- package/dist/esm/src/msca/utils.js +91 -0
- package/dist/esm/src/msca/utils.js.map +1 -0
- package/dist/types/plugindefs/index.d.ts +4 -0
- package/dist/types/plugindefs/index.d.ts.map +1 -0
- package/dist/types/plugindefs/multi-owner/abi.d.ts +699 -0
- package/dist/types/plugindefs/multi-owner/abi.d.ts.map +1 -0
- package/dist/types/plugindefs/multi-owner/config.d.ts +3 -0
- package/dist/types/plugindefs/multi-owner/config.d.ts.map +1 -0
- package/dist/types/plugindefs/multisig/abi.d.ts +792 -0
- package/dist/types/plugindefs/multisig/abi.d.ts.map +1 -0
- package/dist/types/plugindefs/multisig/config.d.ts +3 -0
- package/dist/types/plugindefs/multisig/config.d.ts.map +1 -0
- package/dist/types/plugindefs/session-key/abi.d.ts +1062 -0
- package/dist/types/plugindefs/session-key/abi.d.ts.map +1 -0
- package/dist/types/plugindefs/session-key/config.d.ts +3 -0
- package/dist/types/plugindefs/session-key/config.d.ts.map +1 -0
- package/dist/types/plugindefs/types.d.ts +16 -0
- package/dist/types/plugindefs/types.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +54 -0
- package/dist/types/src/index.d.ts.map +1 -0
- package/dist/types/src/light-account/abis/LightAccountAbi_v1.d.ts +533 -0
- package/dist/types/src/light-account/abis/LightAccountAbi_v1.d.ts.map +1 -0
- package/dist/types/src/light-account/abis/LightAccountAbi_v2.d.ts +492 -0
- package/dist/types/src/light-account/abis/LightAccountAbi_v2.d.ts.map +1 -0
- package/dist/types/src/light-account/abis/LightAccountFactoryAbi_v1.d.ts +56 -0
- package/dist/types/src/light-account/abis/LightAccountFactoryAbi_v1.d.ts.map +1 -0
- package/dist/types/src/light-account/abis/LightAccountFactoryAbi_v2.d.ts +257 -0
- package/dist/types/src/light-account/abis/LightAccountFactoryAbi_v2.d.ts.map +1 -0
- package/dist/types/src/light-account/abis/MultiOwnerLightAccountAbi.d.ts +508 -0
- package/dist/types/src/light-account/abis/MultiOwnerLightAccountAbi.d.ts.map +1 -0
- package/dist/types/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.d.ts +287 -0
- package/dist/types/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.d.ts.map +1 -0
- package/dist/types/src/light-account/accounts/account.d.ts +19 -0
- package/dist/types/src/light-account/accounts/account.d.ts.map +1 -0
- package/dist/types/src/light-account/accounts/base.d.ts +15 -0
- package/dist/types/src/light-account/accounts/base.d.ts.map +1 -0
- package/dist/types/src/light-account/accounts/multiOwner.d.ts +19 -0
- package/dist/types/src/light-account/accounts/multiOwner.d.ts.map +1 -0
- package/dist/types/src/light-account/actions/transferOwnership.d.ts +9 -0
- package/dist/types/src/light-account/actions/transferOwnership.d.ts.map +1 -0
- package/dist/types/src/light-account/actions/updateOwners.d.ts +10 -0
- package/dist/types/src/light-account/actions/updateOwners.d.ts.map +1 -0
- package/dist/types/src/light-account/clients/alchemyClient.d.ts +7 -0
- package/dist/types/src/light-account/clients/alchemyClient.d.ts.map +1 -0
- package/dist/types/src/light-account/clients/client.d.ts +11 -0
- package/dist/types/src/light-account/clients/client.d.ts.map +1 -0
- package/dist/types/src/light-account/clients/multiOwnerAlchemyClient.d.ts +7 -0
- package/dist/types/src/light-account/clients/multiOwnerAlchemyClient.d.ts.map +1 -0
- package/dist/types/src/light-account/clients/multiOwnerLightAccount.d.ts +11 -0
- package/dist/types/src/light-account/clients/multiOwnerLightAccount.d.ts.map +1 -0
- package/dist/types/src/light-account/decorators/lightAccount.d.ts +9 -0
- package/dist/types/src/light-account/decorators/lightAccount.d.ts.map +1 -0
- package/dist/types/src/light-account/decorators/multiOwnerLightAccount.d.ts +9 -0
- package/dist/types/src/light-account/decorators/multiOwnerLightAccount.d.ts.map +1 -0
- package/dist/types/src/light-account/e2e-tests/constants.d.ts +7 -0
- package/dist/types/src/light-account/e2e-tests/constants.d.ts.map +1 -0
- package/dist/types/src/light-account/schema.d.ts +22 -0
- package/dist/types/src/light-account/schema.d.ts.map +1 -0
- package/dist/types/src/light-account/types.d.ts +131 -0
- package/dist/types/src/light-account/types.d.ts.map +1 -0
- package/dist/types/src/light-account/utils.d.ts +79 -0
- package/dist/types/src/light-account/utils.d.ts.map +1 -0
- package/dist/types/src/msca/abis/IAccountLoupe.d.ts +80 -0
- package/dist/types/src/msca/abis/IAccountLoupe.d.ts.map +1 -0
- package/dist/types/src/msca/abis/IPlugin.d.ts +475 -0
- package/dist/types/src/msca/abis/IPlugin.d.ts.map +1 -0
- package/dist/types/src/msca/abis/IPluginManager.d.ts +102 -0
- package/dist/types/src/msca/abis/IPluginManager.d.ts.map +1 -0
- package/dist/types/src/msca/abis/IStandardExecutor.d.ts +51 -0
- package/dist/types/src/msca/abis/IStandardExecutor.d.ts.map +1 -0
- package/dist/types/src/msca/abis/MultiOwnerModularAccountFactory.d.ts +235 -0
- package/dist/types/src/msca/abis/MultiOwnerModularAccountFactory.d.ts.map +1 -0
- package/dist/types/src/msca/abis/MultisigModularAccountFactory.d.ts +247 -0
- package/dist/types/src/msca/abis/MultisigModularAccountFactory.d.ts.map +1 -0
- package/dist/types/src/msca/abis/UpgradeableModularAccount.d.ts +881 -0
- package/dist/types/src/msca/abis/UpgradeableModularAccount.d.ts.map +1 -0
- package/dist/types/src/msca/account/multiOwnerAccount.d.ts +13 -0
- package/dist/types/src/msca/account/multiOwnerAccount.d.ts.map +1 -0
- package/dist/types/src/msca/account/multisigAccount.d.ts +18 -0
- package/dist/types/src/msca/account/multisigAccount.d.ts.map +1 -0
- package/dist/types/src/msca/account/standardExecutor.d.ts +3 -0
- package/dist/types/src/msca/account/standardExecutor.d.ts.map +1 -0
- package/dist/types/src/msca/account-loupe/decorator.d.ts +17 -0
- package/dist/types/src/msca/account-loupe/decorator.d.ts.map +1 -0
- package/dist/types/src/msca/account-loupe/types.d.ts +17 -0
- package/dist/types/src/msca/account-loupe/types.d.ts.map +1 -0
- package/dist/types/src/msca/client/alchemyClient.d.ts +7 -0
- package/dist/types/src/msca/client/alchemyClient.d.ts.map +1 -0
- package/dist/types/src/msca/client/client.d.ts +18 -0
- package/dist/types/src/msca/client/client.d.ts.map +1 -0
- package/dist/types/src/msca/client/multiSigAlchemyClient.d.ts +7 -0
- package/dist/types/src/msca/client/multiSigAlchemyClient.d.ts.map +1 -0
- package/dist/types/src/msca/e2e-tests/constants.d.ts +4 -0
- package/dist/types/src/msca/e2e-tests/constants.d.ts.map +1 -0
- package/dist/types/src/msca/errors.d.ts +18 -0
- package/dist/types/src/msca/errors.d.ts.map +1 -0
- package/dist/types/src/msca/plugin-manager/decorator.d.ts +12 -0
- package/dist/types/src/msca/plugin-manager/decorator.d.ts.map +1 -0
- package/dist/types/src/msca/plugin-manager/installPlugin.d.ts +12 -0
- package/dist/types/src/msca/plugin-manager/installPlugin.d.ts.map +1 -0
- package/dist/types/src/msca/plugin-manager/uninstallPlugin.d.ts +10 -0
- package/dist/types/src/msca/plugin-manager/uninstallPlugin.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multi-owner/extension.d.ts +14 -0
- package/dist/types/src/msca/plugins/multi-owner/extension.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multi-owner/index.d.ts +4 -0
- package/dist/types/src/msca/plugins/multi-owner/index.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multi-owner/plugin.d.ts +794 -0
- package/dist/types/src/msca/plugins/multi-owner/plugin.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multi-owner/signer.d.ts +216 -0
- package/dist/types/src/msca/plugins/multi-owner/signer.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multisig/actions/getThreshold.d.ts +5 -0
- package/dist/types/src/msca/plugins/multisig/actions/getThreshold.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multisig/actions/isOwnerOf.d.ts +7 -0
- package/dist/types/src/msca/plugins/multisig/actions/isOwnerOf.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multisig/actions/proposeUserOperation.d.ts +5 -0
- package/dist/types/src/msca/plugins/multisig/actions/proposeUserOperation.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multisig/actions/readOwners.d.ts +5 -0
- package/dist/types/src/msca/plugins/multisig/actions/readOwners.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multisig/actions/signMultisigUserOperation.d.ts +5 -0
- package/dist/types/src/msca/plugins/multisig/actions/signMultisigUserOperation.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multisig/extension.d.ts +18 -0
- package/dist/types/src/msca/plugins/multisig/extension.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multisig/index.d.ts +13 -0
- package/dist/types/src/msca/plugins/multisig/index.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multisig/middleware.d.ts +16 -0
- package/dist/types/src/msca/plugins/multisig/middleware.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multisig/plugin.d.ts +893 -0
- package/dist/types/src/msca/plugins/multisig/plugin.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multisig/signer.d.ts +224 -0
- package/dist/types/src/msca/plugins/multisig/signer.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multisig/types.d.ts +35 -0
- package/dist/types/src/msca/plugins/multisig/types.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multisig/utils/combineSignatures.d.ts +10 -0
- package/dist/types/src/msca/plugins/multisig/utils/combineSignatures.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multisig/utils/formatSignatures.d.ts +13 -0
- package/dist/types/src/msca/plugins/multisig/utils/formatSignatures.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multisig/utils/getSignerType.d.ts +11 -0
- package/dist/types/src/msca/plugins/multisig/utils/getSignerType.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multisig/utils/index.d.ts +5 -0
- package/dist/types/src/msca/plugins/multisig/utils/index.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts +26 -0
- package/dist/types/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.d.ts +118 -0
- package/dist/types/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/session-key/debug-session-key-bytecode.d.ts +9 -0
- package/dist/types/src/msca/plugins/session-key/debug-session-key-bytecode.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/session-key/extension.d.ts +31 -0
- package/dist/types/src/msca/plugins/session-key/extension.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/session-key/index.d.ts +4 -0
- package/dist/types/src/msca/plugins/session-key/index.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/session-key/permissions.d.ts +54 -0
- package/dist/types/src/msca/plugins/session-key/permissions.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/session-key/plugin.d.ts +1201 -0
- package/dist/types/src/msca/plugins/session-key/plugin.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/session-key/signer.d.ts +244 -0
- package/dist/types/src/msca/plugins/session-key/signer.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/session-key/utils.d.ts +10 -0
- package/dist/types/src/msca/plugins/session-key/utils.d.ts.map +1 -0
- package/dist/types/src/msca/plugins/types.d.ts +13 -0
- package/dist/types/src/msca/plugins/types.d.ts.map +1 -0
- package/dist/types/src/msca/utils.d.ts +30 -0
- package/dist/types/src/msca/utils.d.ts.map +1 -0
- package/package.json +79 -0
- package/plugindefs/index.ts +3 -0
- package/plugindefs/multi-owner/abi.ts +608 -0
- package/plugindefs/multi-owner/config.ts +46 -0
- package/plugindefs/multisig/abi.ts +1027 -0
- package/plugindefs/multisig/config.ts +43 -0
- package/plugindefs/session-key/abi.ts +912 -0
- package/plugindefs/session-key/config.ts +59 -0
- package/plugindefs/types.ts +16 -0
- package/src/index.ts +117 -0
- package/src/light-account/abis/LightAccountAbi_v1.ts +378 -0
- package/src/light-account/abis/LightAccountAbi_v2.ts +354 -0
- package/src/light-account/abis/LightAccountFactoryAbi_v1.ts +74 -0
- package/src/light-account/abis/LightAccountFactoryAbi_v2.ts +209 -0
- package/src/light-account/abis/MultiOwnerLightAccountAbi.ts +371 -0
- package/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.ts +228 -0
- package/src/light-account/accounts/account.ts +198 -0
- package/src/light-account/accounts/base.ts +291 -0
- package/src/light-account/accounts/multiOwner.ts +204 -0
- package/src/light-account/actions/transferOwnership.ts +67 -0
- package/src/light-account/actions/updateOwners.ts +74 -0
- package/src/light-account/clients/alchemyClient.ts +64 -0
- package/src/light-account/clients/client.ts +69 -0
- package/src/light-account/clients/multiOwnerAlchemyClient.ts +68 -0
- package/src/light-account/clients/multiOwnerLightAccount.ts +75 -0
- package/src/light-account/decorators/lightAccount.ts +31 -0
- package/src/light-account/decorators/multiOwnerLightAccount.ts +31 -0
- package/src/light-account/e2e-tests/constants.ts +8 -0
- package/src/light-account/schema.ts +39 -0
- package/src/light-account/types.ts +210 -0
- package/src/light-account/utils.ts +339 -0
- package/src/msca/abis/IAccountLoupe.ts +78 -0
- package/src/msca/abis/IPlugin.ts +396 -0
- package/src/msca/abis/IPluginManager.ts +105 -0
- package/src/msca/abis/IStandardExecutor.ts +31 -0
- package/src/msca/abis/MultiOwnerModularAccountFactory.ts +190 -0
- package/src/msca/abis/MultisigModularAccountFactory.ts +316 -0
- package/src/msca/abis/UpgradeableModularAccount.ts +645 -0
- package/src/msca/account/multiOwnerAccount.ts +131 -0
- package/src/msca/account/multisigAccount.ts +146 -0
- package/src/msca/account/standardExecutor.ts +29 -0
- package/src/msca/account-loupe/decorator.ts +150 -0
- package/src/msca/account-loupe/types.ts +22 -0
- package/src/msca/client/alchemyClient.ts +80 -0
- package/src/msca/client/client.ts +158 -0
- package/src/msca/client/multiSigAlchemyClient.ts +109 -0
- package/src/msca/e2e-tests/constants.ts +3 -0
- package/src/msca/errors.ts +29 -0
- package/src/msca/plugin-manager/decorator.ts +41 -0
- package/src/msca/plugin-manager/installPlugin.ts +118 -0
- package/src/msca/plugin-manager/uninstallPlugin.ts +90 -0
- package/src/msca/plugins/multi-owner/extension.ts +80 -0
- package/src/msca/plugins/multi-owner/index.ts +6 -0
- package/src/msca/plugins/multi-owner/plugin.ts +899 -0
- package/src/msca/plugins/multi-owner/signer.ts +76 -0
- package/src/msca/plugins/multisig/actions/getThreshold.ts +37 -0
- package/src/msca/plugins/multisig/actions/isOwnerOf.ts +30 -0
- package/src/msca/plugins/multisig/actions/proposeUserOperation.ts +82 -0
- package/src/msca/plugins/multisig/actions/readOwners.ts +31 -0
- package/src/msca/plugins/multisig/actions/signMultisigUserOperation.ts +93 -0
- package/src/msca/plugins/multisig/extension.ts +100 -0
- package/src/msca/plugins/multisig/index.ts +21 -0
- package/src/msca/plugins/multisig/middleware.ts +167 -0
- package/src/msca/plugins/multisig/plugin.ts +941 -0
- package/src/msca/plugins/multisig/signer.ts +100 -0
- package/src/msca/plugins/multisig/types.ts +59 -0
- package/src/msca/plugins/multisig/utils/combineSignatures.ts +24 -0
- package/src/msca/plugins/multisig/utils/formatSignatures.ts +55 -0
- package/src/msca/plugins/multisig/utils/getSignerType.ts +46 -0
- package/src/msca/plugins/multisig/utils/index.ts +4 -0
- package/src/msca/plugins/multisig/utils/splitAggregatedSignature.ts +134 -0
- package/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.ts +111 -0
- package/src/msca/plugins/session-key/debug-session-key-bytecode.ts +9 -0
- package/src/msca/plugins/session-key/extension.ts +301 -0
- package/src/msca/plugins/session-key/index.ts +3 -0
- package/src/msca/plugins/session-key/permissions.ts +189 -0
- package/src/msca/plugins/session-key/plugin.ts +1320 -0
- package/src/msca/plugins/session-key/signer.ts +98 -0
- package/src/msca/plugins/session-key/utils.ts +40 -0
- package/src/msca/plugins/types.ts +21 -0
- package/src/msca/utils.ts +198 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { Address, BundlerClient, SmartAccountSigner } from "@aa-sdk/core";
|
|
2
|
+
import {
|
|
3
|
+
hashMessage,
|
|
4
|
+
hashTypedData,
|
|
5
|
+
type Hash,
|
|
6
|
+
type Hex,
|
|
7
|
+
type SignableMessage,
|
|
8
|
+
type Transport,
|
|
9
|
+
type TypedData,
|
|
10
|
+
type TypedDataDefinition,
|
|
11
|
+
} from "viem";
|
|
12
|
+
import { MultiOwnerPlugin, MultiOwnerPluginAbi } from "./plugin.js";
|
|
13
|
+
|
|
14
|
+
export const multiOwnerMessageSigner = <
|
|
15
|
+
TTransport extends Transport,
|
|
16
|
+
TSigner extends SmartAccountSigner
|
|
17
|
+
>(
|
|
18
|
+
client: BundlerClient<TTransport>,
|
|
19
|
+
accountAddress: Address,
|
|
20
|
+
signer: () => TSigner,
|
|
21
|
+
pluginAddress: Address = MultiOwnerPlugin.meta.addresses[client.chain.id]
|
|
22
|
+
) => {
|
|
23
|
+
const signWith712Wrapper = async (msg: Hash): Promise<`0x${string}`> => {
|
|
24
|
+
const [, name, version, chainId, verifyingContract, salt] =
|
|
25
|
+
await client.readContract({
|
|
26
|
+
abi: MultiOwnerPluginAbi,
|
|
27
|
+
address: pluginAddress,
|
|
28
|
+
functionName: "eip712Domain",
|
|
29
|
+
account: accountAddress,
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
return signer().signTypedData({
|
|
33
|
+
domain: {
|
|
34
|
+
chainId: Number(chainId),
|
|
35
|
+
name,
|
|
36
|
+
salt,
|
|
37
|
+
verifyingContract,
|
|
38
|
+
version,
|
|
39
|
+
},
|
|
40
|
+
types: {
|
|
41
|
+
AlchemyModularAccountMessage: [{ name: "message", type: "bytes" }],
|
|
42
|
+
},
|
|
43
|
+
message: {
|
|
44
|
+
message: msg,
|
|
45
|
+
},
|
|
46
|
+
primaryType: "AlchemyModularAccountMessage",
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
return {
|
|
51
|
+
getDummySignature: (): Hex => {
|
|
52
|
+
return "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c";
|
|
53
|
+
},
|
|
54
|
+
|
|
55
|
+
signUserOperationHash: (uoHash: `0x${string}`): Promise<`0x${string}`> => {
|
|
56
|
+
return signer().signMessage({ raw: uoHash });
|
|
57
|
+
},
|
|
58
|
+
|
|
59
|
+
signMessage({
|
|
60
|
+
message,
|
|
61
|
+
}: {
|
|
62
|
+
message: SignableMessage;
|
|
63
|
+
}): Promise<`0x${string}`> {
|
|
64
|
+
return signWith712Wrapper(hashMessage(message));
|
|
65
|
+
},
|
|
66
|
+
|
|
67
|
+
signTypedData: <
|
|
68
|
+
const typedData extends TypedData | Record<string, unknown>,
|
|
69
|
+
primaryType extends keyof typedData | "EIP712Domain" = keyof typedData
|
|
70
|
+
>(
|
|
71
|
+
typedDataDefinition: TypedDataDefinition<typedData, primaryType>
|
|
72
|
+
): Promise<Hex> => {
|
|
73
|
+
return signWith712Wrapper(hashTypedData(typedDataDefinition));
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AccountNotFoundError,
|
|
3
|
+
type GetAccountParameter,
|
|
4
|
+
type SmartContractAccount,
|
|
5
|
+
} from "@aa-sdk/core";
|
|
6
|
+
import { type Chain, type Client, type Transport } from "viem";
|
|
7
|
+
import { isMultisigModularAccount } from "../../../account/multisigAccount.js";
|
|
8
|
+
import type { GetPluginAddressParameter } from "../../types.js";
|
|
9
|
+
import { MultisigPlugin } from "../plugin.js";
|
|
10
|
+
import { MultisigAccountExpectedError } from "../../../errors.js";
|
|
11
|
+
|
|
12
|
+
export async function getThreshold<
|
|
13
|
+
TTransport extends Transport = Transport,
|
|
14
|
+
TChain extends Chain | undefined = Chain | undefined,
|
|
15
|
+
TAccount extends SmartContractAccount | undefined =
|
|
16
|
+
| SmartContractAccount
|
|
17
|
+
| undefined
|
|
18
|
+
>(
|
|
19
|
+
client: Client<TTransport, TChain, TAccount>,
|
|
20
|
+
args: GetPluginAddressParameter & GetAccountParameter<TAccount>
|
|
21
|
+
) {
|
|
22
|
+
const account = args.account ?? client.account;
|
|
23
|
+
if (!account) {
|
|
24
|
+
throw new AccountNotFoundError();
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (!isMultisigModularAccount(account)) {
|
|
28
|
+
throw new MultisigAccountExpectedError();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const [, threshold] = await MultisigPlugin.getContract(
|
|
32
|
+
client,
|
|
33
|
+
args.pluginAddress
|
|
34
|
+
).read.ownershipInfoOf([account.address]);
|
|
35
|
+
|
|
36
|
+
return threshold === 0n ? account.getLocalThreshold() : threshold;
|
|
37
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AccountNotFoundError,
|
|
3
|
+
type Address,
|
|
4
|
+
type GetAccountParameter,
|
|
5
|
+
type SmartContractAccount,
|
|
6
|
+
} from "@aa-sdk/core";
|
|
7
|
+
import { type Chain, type Client, type Transport } from "viem";
|
|
8
|
+
import type { GetPluginAddressParameter } from "../../types.js";
|
|
9
|
+
import { MultisigPlugin } from "../plugin.js";
|
|
10
|
+
|
|
11
|
+
export async function isOwnerOf<
|
|
12
|
+
TTransport extends Transport = Transport,
|
|
13
|
+
TChain extends Chain | undefined = Chain | undefined,
|
|
14
|
+
TAccount extends SmartContractAccount | undefined =
|
|
15
|
+
| SmartContractAccount
|
|
16
|
+
| undefined
|
|
17
|
+
>(
|
|
18
|
+
client: Client<TTransport, TChain, TAccount>,
|
|
19
|
+
args: { address: Address } & GetPluginAddressParameter &
|
|
20
|
+
GetAccountParameter<TAccount>
|
|
21
|
+
) {
|
|
22
|
+
const account = args.account ?? client.account;
|
|
23
|
+
if (!account) {
|
|
24
|
+
throw new AccountNotFoundError();
|
|
25
|
+
}
|
|
26
|
+
// TODO: check if the account actually has the plugin installed
|
|
27
|
+
// either via account loupe or checking if the supports interface call passes on the account
|
|
28
|
+
const contract = MultisigPlugin.getContract(client, args.pluginAddress);
|
|
29
|
+
return await contract.read.isOwnerOf([account.address, args.address]);
|
|
30
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AccountNotFoundError,
|
|
3
|
+
IncompatibleClientError,
|
|
4
|
+
isSmartAccountClient,
|
|
5
|
+
isSmartAccountWithSigner,
|
|
6
|
+
SmartAccountWithSignerRequiredError,
|
|
7
|
+
type GetEntryPointFromAccount,
|
|
8
|
+
type SendUserOperationParameters,
|
|
9
|
+
type SmartContractAccount,
|
|
10
|
+
type UserOperationOverrides,
|
|
11
|
+
} from "@aa-sdk/core";
|
|
12
|
+
import { type Chain, type Client, type Transport } from "viem";
|
|
13
|
+
import { splitAggregatedSignature } from "../index.js";
|
|
14
|
+
import { type ProposeUserOperationResult } from "../types.js";
|
|
15
|
+
|
|
16
|
+
export async function proposeUserOperation<
|
|
17
|
+
TTransport extends Transport = Transport,
|
|
18
|
+
TChain extends Chain | undefined = Chain | undefined,
|
|
19
|
+
TAccount extends SmartContractAccount | undefined =
|
|
20
|
+
| SmartContractAccount
|
|
21
|
+
| undefined,
|
|
22
|
+
TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>
|
|
23
|
+
>(
|
|
24
|
+
client: Client<TTransport, TChain, TAccount>,
|
|
25
|
+
{
|
|
26
|
+
uo,
|
|
27
|
+
account = client.account,
|
|
28
|
+
overrides: overrides_,
|
|
29
|
+
}: SendUserOperationParameters<TAccount, undefined>
|
|
30
|
+
): Promise<ProposeUserOperationResult> {
|
|
31
|
+
// these overrides allow us to set a high max fee and PVG upper bound
|
|
32
|
+
const overrides = {
|
|
33
|
+
maxFeePerGas: { multiplier: 3 },
|
|
34
|
+
maxPriorityFeePerGas: { multiplier: 2 },
|
|
35
|
+
preVerificationGas: { multiplier: 1000 },
|
|
36
|
+
...overrides_,
|
|
37
|
+
} as UserOperationOverrides<TEntryPointVersion>;
|
|
38
|
+
|
|
39
|
+
if (!account) {
|
|
40
|
+
throw new AccountNotFoundError();
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (!isSmartAccountClient(client)) {
|
|
44
|
+
throw new IncompatibleClientError(
|
|
45
|
+
"SmartAccountClient",
|
|
46
|
+
"proposeUserOperation",
|
|
47
|
+
client
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (!isSmartAccountWithSigner(account)) {
|
|
52
|
+
throw new SmartAccountWithSignerRequiredError();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const builtUo = await client.buildUserOperation({
|
|
56
|
+
account,
|
|
57
|
+
uo,
|
|
58
|
+
overrides,
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
const request = await client.signUserOperation({
|
|
62
|
+
uoStruct: builtUo,
|
|
63
|
+
account,
|
|
64
|
+
context: {
|
|
65
|
+
userOpSignatureType: "UPPERLIMIT",
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
const splitSignatures = await splitAggregatedSignature({
|
|
70
|
+
request,
|
|
71
|
+
aggregatedSignature: request.signature,
|
|
72
|
+
account,
|
|
73
|
+
// split works on the assumption that we have t - 1 signatures
|
|
74
|
+
threshold: 2,
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
return {
|
|
78
|
+
request,
|
|
79
|
+
signatureObj: splitSignatures.signatures[0],
|
|
80
|
+
aggregatedSignature: request.signature,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AccountNotFoundError,
|
|
3
|
+
type GetAccountParameter,
|
|
4
|
+
type SmartContractAccount,
|
|
5
|
+
} from "@aa-sdk/core";
|
|
6
|
+
import { type Chain, type Client, type Transport } from "viem";
|
|
7
|
+
import type { GetPluginAddressParameter } from "../../types.js";
|
|
8
|
+
import { MultisigPlugin } from "../plugin.js";
|
|
9
|
+
|
|
10
|
+
export async function readOwners<
|
|
11
|
+
TTransport extends Transport = Transport,
|
|
12
|
+
TChain extends Chain | undefined = Chain | undefined,
|
|
13
|
+
TAccount extends SmartContractAccount | undefined =
|
|
14
|
+
| SmartContractAccount
|
|
15
|
+
| undefined
|
|
16
|
+
>(
|
|
17
|
+
client: Client<TTransport, TChain, TAccount>,
|
|
18
|
+
args: GetPluginAddressParameter & GetAccountParameter<TAccount>
|
|
19
|
+
) {
|
|
20
|
+
const account = args?.account ?? client.account;
|
|
21
|
+
if (!account) {
|
|
22
|
+
throw new AccountNotFoundError();
|
|
23
|
+
}
|
|
24
|
+
// TODO: check if the account actually has the plugin installed
|
|
25
|
+
// either via account loupe or checking if the supports interface call passes on the account
|
|
26
|
+
const [owners] = await MultisigPlugin.getContract(
|
|
27
|
+
client,
|
|
28
|
+
args?.pluginAddress
|
|
29
|
+
).read.ownershipInfoOf([account.address]);
|
|
30
|
+
return owners;
|
|
31
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AccountNotFoundError,
|
|
3
|
+
IncompatibleClientError,
|
|
4
|
+
SmartAccountWithSignerRequiredError,
|
|
5
|
+
isSmartAccountClient,
|
|
6
|
+
isSmartAccountWithSigner,
|
|
7
|
+
type SmartContractAccount,
|
|
8
|
+
} from "@aa-sdk/core";
|
|
9
|
+
import { type Chain, type Client, type Transport } from "viem";
|
|
10
|
+
import { MultisigMissingSignatureError } from "../../../errors.js";
|
|
11
|
+
import { combineSignatures, splitAggregatedSignature } from "../index.js";
|
|
12
|
+
import {
|
|
13
|
+
type SignMultisigUserOperationParams,
|
|
14
|
+
type SignMultisigUserOperationResult,
|
|
15
|
+
} from "../types.js";
|
|
16
|
+
|
|
17
|
+
export async function signMultisigUserOperation<
|
|
18
|
+
TTransport extends Transport = Transport,
|
|
19
|
+
TChain extends Chain | undefined = Chain | undefined,
|
|
20
|
+
TAccount extends SmartContractAccount | undefined =
|
|
21
|
+
| SmartContractAccount
|
|
22
|
+
| undefined
|
|
23
|
+
>(
|
|
24
|
+
client: Client<TTransport, TChain, TAccount>,
|
|
25
|
+
params: SignMultisigUserOperationParams<TAccount>
|
|
26
|
+
): Promise<SignMultisigUserOperationResult> {
|
|
27
|
+
const { account = client.account, signatures, userOperationRequest } = params;
|
|
28
|
+
|
|
29
|
+
if (!account) {
|
|
30
|
+
throw new AccountNotFoundError();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (!isSmartAccountClient(client)) {
|
|
34
|
+
throw new IncompatibleClientError(
|
|
35
|
+
"SmartAccountClient",
|
|
36
|
+
"signMultisigUserOperation",
|
|
37
|
+
client
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (!isSmartAccountWithSigner(account)) {
|
|
42
|
+
throw new SmartAccountWithSignerRequiredError();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (!signatures.length) {
|
|
46
|
+
throw new MultisigMissingSignatureError();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const signerAddress = await account.getSigner().getAddress();
|
|
50
|
+
|
|
51
|
+
const signedRequest = await client.signUserOperation({
|
|
52
|
+
account,
|
|
53
|
+
uoStruct: userOperationRequest,
|
|
54
|
+
context: {
|
|
55
|
+
aggregatedSignature: combineSignatures({
|
|
56
|
+
signatures,
|
|
57
|
+
upperLimitMaxFeePerGas: userOperationRequest.maxFeePerGas,
|
|
58
|
+
upperLimitMaxPriorityFeePerGas:
|
|
59
|
+
userOperationRequest.maxPriorityFeePerGas,
|
|
60
|
+
upperLimitPvg: userOperationRequest.preVerificationGas,
|
|
61
|
+
usingMaxValues: false,
|
|
62
|
+
}),
|
|
63
|
+
signatures,
|
|
64
|
+
userOpSignatureType: "UPPERLIMIT",
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
const splitSignatures = await splitAggregatedSignature({
|
|
69
|
+
account,
|
|
70
|
+
request: signedRequest,
|
|
71
|
+
aggregatedSignature: signedRequest.signature,
|
|
72
|
+
// split works on the assumption that we have t - 1 signatures
|
|
73
|
+
// we have signatures.length + 1 signatures now, so we need sl + 1 + 1
|
|
74
|
+
threshold: signatures.length + 2,
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
const signatureObj = splitSignatures.signatures.find(
|
|
78
|
+
(x) => x.signer === signerAddress
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
if (!signatureObj) {
|
|
82
|
+
// TODO: strongly type this
|
|
83
|
+
throw new Error(
|
|
84
|
+
"INTERNAL ERROR: signature not found in split signatures, this is an internal bug please report"
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return {
|
|
89
|
+
signatureObj,
|
|
90
|
+
signature: signatureObj.signature,
|
|
91
|
+
aggregatedSignature: signedRequest.signature,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type GetAccountParameter,
|
|
3
|
+
type GetEntryPointFromAccount,
|
|
4
|
+
type IsUndefined,
|
|
5
|
+
type SendUserOperationParameters,
|
|
6
|
+
type SmartContractAccount,
|
|
7
|
+
} from "@aa-sdk/core";
|
|
8
|
+
import { type Address, type Chain, type Client, type Transport } from "viem";
|
|
9
|
+
import type { GetPluginAddressParameter } from "../types.js";
|
|
10
|
+
import { getThreshold } from "./actions/getThreshold.js";
|
|
11
|
+
import { isOwnerOf } from "./actions/isOwnerOf.js";
|
|
12
|
+
import { proposeUserOperation } from "./actions/proposeUserOperation.js";
|
|
13
|
+
import { readOwners } from "./actions/readOwners.js";
|
|
14
|
+
import { signMultisigUserOperation } from "./actions/signMultisigUserOperation.js";
|
|
15
|
+
import {
|
|
16
|
+
multisigPluginActions as multisigPluginActions_,
|
|
17
|
+
type MultisigPluginActions as MultisigPluginActions_,
|
|
18
|
+
} from "./plugin.js";
|
|
19
|
+
import {
|
|
20
|
+
type MultisigUserOperationContext,
|
|
21
|
+
type ProposeUserOperationResult,
|
|
22
|
+
type SignMultisigUserOperationParams,
|
|
23
|
+
type SignMultisigUserOperationResult,
|
|
24
|
+
} from "./types.js";
|
|
25
|
+
|
|
26
|
+
export type MultisigPluginActions<
|
|
27
|
+
TAccount extends SmartContractAccount | undefined =
|
|
28
|
+
| SmartContractAccount
|
|
29
|
+
| undefined
|
|
30
|
+
> = MultisigPluginActions_<TAccount, MultisigUserOperationContext> & {
|
|
31
|
+
readOwners: (
|
|
32
|
+
params: GetPluginAddressParameter & GetAccountParameter<TAccount>
|
|
33
|
+
) => Promise<ReadonlyArray<Address>>;
|
|
34
|
+
|
|
35
|
+
isOwnerOf: (
|
|
36
|
+
params: { address: Address } & GetPluginAddressParameter &
|
|
37
|
+
GetAccountParameter<TAccount>
|
|
38
|
+
) => Promise<boolean>;
|
|
39
|
+
|
|
40
|
+
getThreshold: (
|
|
41
|
+
params: GetPluginAddressParameter & GetAccountParameter<TAccount>
|
|
42
|
+
) => Promise<bigint>;
|
|
43
|
+
|
|
44
|
+
proposeUserOperation: (
|
|
45
|
+
params: SendUserOperationParameters<TAccount, undefined>
|
|
46
|
+
) => Promise<
|
|
47
|
+
ProposeUserOperationResult<TAccount, GetEntryPointFromAccount<TAccount>>
|
|
48
|
+
>;
|
|
49
|
+
|
|
50
|
+
signMultisigUserOperation: (
|
|
51
|
+
params: SignMultisigUserOperationParams<TAccount>
|
|
52
|
+
) => Promise<SignMultisigUserOperationResult>;
|
|
53
|
+
} & (IsUndefined<TAccount> extends false
|
|
54
|
+
? {
|
|
55
|
+
readOwners: (
|
|
56
|
+
params?: GetPluginAddressParameter & GetAccountParameter<TAccount>
|
|
57
|
+
) => Promise<ReadonlyArray<Address>>;
|
|
58
|
+
}
|
|
59
|
+
: {});
|
|
60
|
+
|
|
61
|
+
export const multisigPluginActions: <
|
|
62
|
+
TTransport extends Transport = Transport,
|
|
63
|
+
TChain extends Chain | undefined = Chain | undefined,
|
|
64
|
+
TAccount extends SmartContractAccount | undefined =
|
|
65
|
+
| SmartContractAccount
|
|
66
|
+
| undefined
|
|
67
|
+
>(
|
|
68
|
+
client: Client<TTransport, TChain, TAccount>
|
|
69
|
+
) => MultisigPluginActions<TAccount> = <
|
|
70
|
+
TTransport extends Transport = Transport,
|
|
71
|
+
TChain extends Chain | undefined = Chain | undefined,
|
|
72
|
+
TAccount extends SmartContractAccount | undefined =
|
|
73
|
+
| SmartContractAccount
|
|
74
|
+
| undefined
|
|
75
|
+
>(
|
|
76
|
+
client: Client<TTransport, TChain, TAccount>
|
|
77
|
+
) => ({
|
|
78
|
+
...multisigPluginActions_(client),
|
|
79
|
+
readOwners: (
|
|
80
|
+
args: GetPluginAddressParameter & GetAccountParameter<TAccount>
|
|
81
|
+
) => readOwners(client, args),
|
|
82
|
+
|
|
83
|
+
isOwnerOf: (
|
|
84
|
+
args: { address: Address } & GetPluginAddressParameter &
|
|
85
|
+
GetAccountParameter<TAccount>
|
|
86
|
+
) => isOwnerOf(client, args),
|
|
87
|
+
|
|
88
|
+
getThreshold: (
|
|
89
|
+
args: GetPluginAddressParameter & GetAccountParameter<TAccount>
|
|
90
|
+
) => getThreshold(client, args),
|
|
91
|
+
|
|
92
|
+
proposeUserOperation: (
|
|
93
|
+
args: SendUserOperationParameters<TAccount, undefined>
|
|
94
|
+
) => proposeUserOperation(client, args),
|
|
95
|
+
|
|
96
|
+
signMultisigUserOperation: (
|
|
97
|
+
params: SignMultisigUserOperationParams<TAccount>
|
|
98
|
+
): Promise<SignMultisigUserOperationResult> =>
|
|
99
|
+
signMultisigUserOperation(client, params),
|
|
100
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export { getThreshold } from "./actions/getThreshold.js";
|
|
2
|
+
export { isOwnerOf } from "./actions/isOwnerOf.js";
|
|
3
|
+
export { proposeUserOperation } from "./actions/proposeUserOperation.js";
|
|
4
|
+
export { readOwners } from "./actions/readOwners.js";
|
|
5
|
+
export { signMultisigUserOperation } from "./actions/signMultisigUserOperation.js";
|
|
6
|
+
export type * from "./extension.js";
|
|
7
|
+
export { multisigPluginActions } from "./extension.js";
|
|
8
|
+
export { multisigSignatureMiddleware } from "./middleware.js";
|
|
9
|
+
export {
|
|
10
|
+
MultisigPlugin,
|
|
11
|
+
MultisigPluginAbi,
|
|
12
|
+
MultisigPluginExecutionFunctionAbi,
|
|
13
|
+
} from "./plugin.js";
|
|
14
|
+
export type * from "./types.js";
|
|
15
|
+
export { type SignerType } from "./types.js";
|
|
16
|
+
export {
|
|
17
|
+
combineSignatures,
|
|
18
|
+
formatSignatures,
|
|
19
|
+
getSignerType,
|
|
20
|
+
splitAggregatedSignature,
|
|
21
|
+
} from "./utils/index.js";
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import {
|
|
2
|
+
InvalidUserOperationError,
|
|
3
|
+
SmartAccountWithSignerRequiredError,
|
|
4
|
+
deepHexlify,
|
|
5
|
+
isSmartAccountWithSigner,
|
|
6
|
+
isValidRequest,
|
|
7
|
+
resolveProperties,
|
|
8
|
+
type ClientMiddlewareFn,
|
|
9
|
+
type UserOperationRequest_v6,
|
|
10
|
+
type UserOperationRequest_v7,
|
|
11
|
+
} from "@aa-sdk/core";
|
|
12
|
+
import { type Hex } from "viem";
|
|
13
|
+
import { isMultisigModularAccount } from "../../account/multisigAccount.js";
|
|
14
|
+
import {
|
|
15
|
+
InvalidContextSignatureError,
|
|
16
|
+
MultisigAccountExpectedError,
|
|
17
|
+
} from "../../errors.js";
|
|
18
|
+
import {
|
|
19
|
+
combineSignatures,
|
|
20
|
+
getSignerType,
|
|
21
|
+
splitAggregatedSignature,
|
|
22
|
+
type MultisigUserOperationContext,
|
|
23
|
+
} from "./index.js";
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* A signer middleware to be used with Multisig Account Clients.
|
|
27
|
+
* This middleware handles correctly aggregating signatures passed through
|
|
28
|
+
* as context when sending UserOperations, proposing UserOperations, or adding signatures to a UserOperation.
|
|
29
|
+
*
|
|
30
|
+
* @param struct the user operation struct to be signed
|
|
31
|
+
* @param param the parameters to be passed to the middleware
|
|
32
|
+
* @param param.account the account to be used for signing
|
|
33
|
+
* @param param.client the smart account client that will be used for RPC requests
|
|
34
|
+
* @param param.context the context object containing the signatures to be aggregated {@link MultisigUserOperationContext}
|
|
35
|
+
* @returns a Promise containing a UserOperation with an aggregated signature in the `signature` field
|
|
36
|
+
*/
|
|
37
|
+
export const multisigSignatureMiddleware: ClientMiddlewareFn<
|
|
38
|
+
MultisigUserOperationContext
|
|
39
|
+
> = async (struct, { account, client, context }) => {
|
|
40
|
+
// if the signature is not present, this has to be UPPERLIMIT because it's likely a propose operation
|
|
41
|
+
if (
|
|
42
|
+
!context ||
|
|
43
|
+
(context.userOpSignatureType === "ACTUAL" &&
|
|
44
|
+
!context.signatures &&
|
|
45
|
+
!context.aggregatedSignature)
|
|
46
|
+
) {
|
|
47
|
+
throw new InvalidContextSignatureError();
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (!isSmartAccountWithSigner(account)) {
|
|
51
|
+
throw new SmartAccountWithSignerRequiredError();
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (!isMultisigModularAccount(account)) {
|
|
55
|
+
throw new MultisigAccountExpectedError();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const resolvedStruct = await resolveProperties(struct);
|
|
59
|
+
|
|
60
|
+
const request = deepHexlify(resolvedStruct);
|
|
61
|
+
if (!isValidRequest(request)) {
|
|
62
|
+
throw new InvalidUserOperationError(resolvedStruct);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const signature = await account.signUserOperationHash(
|
|
66
|
+
account.getEntryPoint().getUserOperationHash(request)
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
const signerType = await getSignerType({
|
|
70
|
+
client,
|
|
71
|
+
signature: signature,
|
|
72
|
+
signer: account.getSigner(),
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
// then this is a propose operation
|
|
76
|
+
if (
|
|
77
|
+
context.userOpSignatureType === "UPPERLIMIT" &&
|
|
78
|
+
context?.signatures?.length == null &&
|
|
79
|
+
context?.aggregatedSignature == null
|
|
80
|
+
) {
|
|
81
|
+
return {
|
|
82
|
+
...resolvedStruct,
|
|
83
|
+
signature: combineSignatures({
|
|
84
|
+
signatures: [
|
|
85
|
+
{
|
|
86
|
+
signature,
|
|
87
|
+
signer: await account.getSigner().getAddress(),
|
|
88
|
+
signerType,
|
|
89
|
+
userOpSigType: context.userOpSignatureType,
|
|
90
|
+
},
|
|
91
|
+
],
|
|
92
|
+
upperLimitMaxFeePerGas: request.maxFeePerGas,
|
|
93
|
+
upperLimitMaxPriorityFeePerGas: request.maxPriorityFeePerGas,
|
|
94
|
+
upperLimitPvg: request.preVerificationGas,
|
|
95
|
+
usingMaxValues: false,
|
|
96
|
+
}),
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
if (context.aggregatedSignature == null || context.signatures == null) {
|
|
101
|
+
throw new InvalidContextSignatureError();
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// otherwise this is a sign operation
|
|
105
|
+
const {
|
|
106
|
+
upperLimitPvg,
|
|
107
|
+
upperLimitMaxFeePerGas,
|
|
108
|
+
upperLimitMaxPriorityFeePerGas,
|
|
109
|
+
} = await splitAggregatedSignature({
|
|
110
|
+
aggregatedSignature: context.aggregatedSignature,
|
|
111
|
+
threshold: context.signatures.length + 1,
|
|
112
|
+
account,
|
|
113
|
+
request,
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
const finalSignature = combineSignatures({
|
|
117
|
+
signatures: context.signatures.concat({
|
|
118
|
+
userOpSigType: context.userOpSignatureType,
|
|
119
|
+
signerType,
|
|
120
|
+
signature,
|
|
121
|
+
signer: await account.getSigner().getAddress(),
|
|
122
|
+
}),
|
|
123
|
+
upperLimitPvg,
|
|
124
|
+
upperLimitMaxFeePerGas,
|
|
125
|
+
upperLimitMaxPriorityFeePerGas,
|
|
126
|
+
usingMaxValues: isUsingMaxValues(request, {
|
|
127
|
+
upperLimitPvg,
|
|
128
|
+
upperLimitMaxFeePerGas,
|
|
129
|
+
upperLimitMaxPriorityFeePerGas,
|
|
130
|
+
}),
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
return {
|
|
134
|
+
...resolvedStruct,
|
|
135
|
+
signature: finalSignature,
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
const isUsingMaxValues = (
|
|
140
|
+
request: UserOperationRequest_v6 | UserOperationRequest_v7,
|
|
141
|
+
upperLimits: {
|
|
142
|
+
upperLimitPvg: Hex;
|
|
143
|
+
upperLimitMaxFeePerGas: Hex;
|
|
144
|
+
upperLimitMaxPriorityFeePerGas: Hex;
|
|
145
|
+
}
|
|
146
|
+
): boolean => {
|
|
147
|
+
if (
|
|
148
|
+
BigInt(request.preVerificationGas) !== BigInt(upperLimits.upperLimitPvg)
|
|
149
|
+
) {
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
if (
|
|
154
|
+
BigInt(request.maxFeePerGas) !== BigInt(upperLimits.upperLimitMaxFeePerGas)
|
|
155
|
+
) {
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
if (
|
|
160
|
+
BigInt(request.maxPriorityFeePerGas) !==
|
|
161
|
+
BigInt(upperLimits.upperLimitMaxPriorityFeePerGas)
|
|
162
|
+
) {
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
return true;
|
|
167
|
+
};
|