@account-kit/smart-contracts 4.0.0-alpha.0 → 4.0.0-alpha.10
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/dist/cjs/plugindefs/multi-owner/config.js +16 -17
- package/dist/cjs/plugindefs/multi-owner/config.js.map +1 -1
- package/dist/cjs/plugindefs/multisig/config.js +15 -15
- package/dist/cjs/plugindefs/multisig/config.js.map +1 -1
- package/dist/cjs/plugindefs/session-key/config.js +17 -17
- package/dist/cjs/plugindefs/session-key/config.js.map +1 -1
- package/dist/cjs/src/index.d.ts +4 -4
- package/dist/cjs/src/index.js +17 -17
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/light-account/accounts/account.d.ts +5 -6
- package/dist/cjs/src/light-account/accounts/account.js +4 -3
- package/dist/cjs/src/light-account/accounts/account.js.map +1 -1
- package/dist/cjs/src/light-account/accounts/base.d.ts +7 -6
- package/dist/cjs/src/light-account/accounts/base.js +8 -8
- package/dist/cjs/src/light-account/accounts/base.js.map +1 -1
- package/dist/cjs/src/light-account/accounts/multiOwner.d.ts +5 -5
- package/dist/cjs/src/light-account/accounts/multiOwner.js +5 -6
- package/dist/cjs/src/light-account/accounts/multiOwner.js.map +1 -1
- package/dist/cjs/src/light-account/actions/transferOwnership.d.ts +1 -1
- package/dist/cjs/src/light-account/actions/transferOwnership.js +2 -1
- package/dist/cjs/src/light-account/actions/transferOwnership.js.map +1 -1
- package/dist/cjs/src/light-account/actions/updateOwners.js.map +1 -1
- package/dist/cjs/src/light-account/clients/alchemyClient.d.ts +1 -1
- package/dist/cjs/src/light-account/clients/alchemyClient.js.map +1 -1
- package/dist/cjs/src/light-account/clients/client.js +2 -1
- package/dist/cjs/src/light-account/clients/client.js.map +1 -1
- package/dist/cjs/src/light-account/clients/multiOwnerAlchemyClient.d.ts +2 -2
- package/dist/cjs/src/light-account/clients/multiOwnerAlchemyClient.js.map +1 -1
- package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.js +2 -1
- package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.js.map +1 -1
- package/dist/cjs/src/light-account/decorators/lightAccount.js.map +1 -1
- package/dist/cjs/src/light-account/decorators/multiOwnerLightAccount.js.map +1 -1
- package/dist/cjs/src/light-account/types.d.ts +23 -31
- package/dist/cjs/src/light-account/types.js.map +1 -1
- package/dist/cjs/src/light-account/utils.d.ts +7 -9
- package/dist/cjs/src/light-account/utils.js +63 -82
- package/dist/cjs/src/light-account/utils.js.map +1 -1
- package/dist/cjs/src/msca/account/multiOwnerAccount.js +2 -1
- package/dist/cjs/src/msca/account/multiOwnerAccount.js.map +1 -1
- package/dist/cjs/src/msca/account/multisigAccount.js +4 -3
- package/dist/cjs/src/msca/account/multisigAccount.js.map +1 -1
- package/dist/cjs/src/msca/account-loupe/decorator.js.map +1 -1
- package/dist/cjs/src/msca/client/alchemyClient.d.ts +1 -1
- package/dist/cjs/src/msca/client/alchemyClient.js.map +1 -1
- package/dist/cjs/src/msca/client/client.js.map +1 -1
- package/dist/cjs/src/msca/client/multiSigAlchemyClient.d.ts +1 -1
- package/dist/cjs/src/msca/client/multiSigAlchemyClient.js +1 -1
- package/dist/cjs/src/msca/client/multiSigAlchemyClient.js.map +1 -1
- package/dist/cjs/src/msca/errors.js.map +1 -1
- package/dist/cjs/src/msca/plugin-manager/decorator.d.ts +1 -1
- package/dist/cjs/src/msca/plugin-manager/decorator.js +6 -4
- package/dist/cjs/src/msca/plugin-manager/decorator.js.map +1 -1
- package/dist/cjs/src/msca/plugin-manager/installPlugin.js.map +1 -1
- package/dist/cjs/src/msca/plugins/multi-owner/extension.js.map +1 -1
- package/dist/cjs/src/msca/plugins/multi-owner/index.d.ts +1 -1
- package/dist/cjs/src/msca/plugins/multi-owner/index.js +2 -1
- package/dist/cjs/src/msca/plugins/multi-owner/index.js.map +1 -1
- package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.js +2 -2
- package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.js.map +1 -1
- package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.js +1 -1
- package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.js.map +1 -1
- package/dist/cjs/src/msca/plugins/multisig/extension.js.map +1 -1
- package/dist/cjs/src/msca/plugins/multisig/index.d.ts +1 -8
- package/dist/cjs/src/msca/plugins/multisig/index.js +1 -16
- package/dist/cjs/src/msca/plugins/multisig/index.js.map +1 -1
- package/dist/cjs/src/msca/plugins/multisig/middleware.d.ts +1 -1
- package/dist/cjs/src/msca/plugins/multisig/middleware.js +1 -1
- package/dist/cjs/src/msca/plugins/multisig/middleware.js.map +1 -1
- package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.d.ts +3 -2
- package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.js +2 -2
- package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.js.map +1 -1
- package/dist/cjs/src/msca/plugins/multisig/utils/formatSignatures.js.map +1 -1
- package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.d.ts +2 -2
- package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.js.map +1 -1
- package/dist/cjs/src/msca/plugins/multisig/utils/index.d.ts +4 -0
- package/dist/cjs/src/msca/plugins/multisig/utils/index.js.map +1 -1
- package/dist/cjs/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts +3 -2
- package/dist/cjs/src/msca/plugins/multisig/utils/splitAggregatedSignature.js.map +1 -1
- package/dist/cjs/src/msca/plugins/session-key/extension.js.map +1 -1
- package/dist/cjs/src/msca/plugins/session-key/index.d.ts +1 -1
- package/dist/cjs/src/msca/plugins/session-key/index.js +3 -1
- package/dist/cjs/src/msca/plugins/session-key/index.js.map +1 -1
- package/dist/cjs/src/msca/plugins/session-key/permissions.js.map +1 -1
- package/dist/cjs/src/msca/plugins/session-key/signer.js.map +1 -1
- package/dist/cjs/src/msca/plugins/session-key/utils.d.ts +4 -2
- package/dist/cjs/src/msca/plugins/session-key/utils.js +3 -2
- package/dist/cjs/src/msca/plugins/session-key/utils.js.map +1 -1
- package/dist/cjs/src/msca/utils.d.ts +6 -4
- package/dist/cjs/src/msca/utils.js +11 -10
- package/dist/cjs/src/msca/utils.js.map +1 -1
- package/dist/esm/plugindefs/multi-owner/config.js +1 -2
- package/dist/esm/plugindefs/multi-owner/config.js.map +1 -1
- package/dist/esm/plugindefs/multisig/config.js +1 -1
- package/dist/esm/plugindefs/multisig/config.js.map +1 -1
- package/dist/esm/plugindefs/session-key/config.js +1 -1
- package/dist/esm/plugindefs/session-key/config.js.map +1 -1
- package/dist/esm/src/index.d.ts +4 -4
- package/dist/esm/src/index.js +3 -3
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/light-account/accounts/account.d.ts +5 -6
- package/dist/esm/src/light-account/accounts/account.js +5 -4
- package/dist/esm/src/light-account/accounts/account.js.map +1 -1
- package/dist/esm/src/light-account/accounts/base.d.ts +7 -6
- package/dist/esm/src/light-account/accounts/base.js +8 -8
- package/dist/esm/src/light-account/accounts/base.js.map +1 -1
- package/dist/esm/src/light-account/accounts/multiOwner.d.ts +5 -5
- package/dist/esm/src/light-account/accounts/multiOwner.js +6 -7
- package/dist/esm/src/light-account/accounts/multiOwner.js.map +1 -1
- package/dist/esm/src/light-account/actions/transferOwnership.d.ts +1 -1
- package/dist/esm/src/light-account/actions/transferOwnership.js +2 -1
- package/dist/esm/src/light-account/actions/transferOwnership.js.map +1 -1
- package/dist/esm/src/light-account/actions/updateOwners.js.map +1 -1
- package/dist/esm/src/light-account/clients/alchemyClient.d.ts +1 -1
- package/dist/esm/src/light-account/clients/alchemyClient.js.map +1 -1
- package/dist/esm/src/light-account/clients/client.js +2 -1
- package/dist/esm/src/light-account/clients/client.js.map +1 -1
- package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.d.ts +2 -2
- package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.js.map +1 -1
- package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js +2 -1
- package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js.map +1 -1
- package/dist/esm/src/light-account/decorators/lightAccount.js.map +1 -1
- package/dist/esm/src/light-account/decorators/multiOwnerLightAccount.js.map +1 -1
- package/dist/esm/src/light-account/types.d.ts +23 -31
- package/dist/esm/src/light-account/types.js.map +1 -1
- package/dist/esm/src/light-account/utils.d.ts +7 -9
- package/dist/esm/src/light-account/utils.js +60 -79
- package/dist/esm/src/light-account/utils.js.map +1 -1
- package/dist/esm/src/msca/account/multiOwnerAccount.js +2 -1
- package/dist/esm/src/msca/account/multiOwnerAccount.js.map +1 -1
- package/dist/esm/src/msca/account/multisigAccount.js +4 -3
- package/dist/esm/src/msca/account/multisigAccount.js.map +1 -1
- package/dist/esm/src/msca/account-loupe/decorator.js.map +1 -1
- package/dist/esm/src/msca/client/alchemyClient.d.ts +1 -1
- package/dist/esm/src/msca/client/alchemyClient.js.map +1 -1
- package/dist/esm/src/msca/client/client.js.map +1 -1
- package/dist/esm/src/msca/client/multiSigAlchemyClient.d.ts +1 -1
- package/dist/esm/src/msca/client/multiSigAlchemyClient.js +1 -1
- package/dist/esm/src/msca/client/multiSigAlchemyClient.js.map +1 -1
- package/dist/esm/src/msca/errors.js.map +1 -1
- package/dist/esm/src/msca/plugin-manager/decorator.d.ts +1 -1
- package/dist/esm/src/msca/plugin-manager/decorator.js +6 -4
- package/dist/esm/src/msca/plugin-manager/decorator.js.map +1 -1
- package/dist/esm/src/msca/plugin-manager/installPlugin.js.map +1 -1
- package/dist/esm/src/msca/plugins/multi-owner/extension.js.map +1 -1
- package/dist/esm/src/msca/plugins/multi-owner/index.d.ts +1 -1
- package/dist/esm/src/msca/plugins/multi-owner/index.js +1 -1
- package/dist/esm/src/msca/plugins/multi-owner/index.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/actions/proposeUserOperation.js +1 -1
- package/dist/esm/src/msca/plugins/multisig/actions/proposeUserOperation.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/actions/signMultisigUserOperation.js +1 -1
- package/dist/esm/src/msca/plugins/multisig/actions/signMultisigUserOperation.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/extension.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/index.d.ts +1 -8
- package/dist/esm/src/msca/plugins/multisig/index.js +0 -7
- package/dist/esm/src/msca/plugins/multisig/index.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/middleware.d.ts +1 -1
- package/dist/esm/src/msca/plugins/multisig/middleware.js +2 -1
- package/dist/esm/src/msca/plugins/multisig/middleware.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.d.ts +3 -2
- package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.js +2 -2
- package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/utils/formatSignatures.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.d.ts +2 -2
- package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/utils/index.d.ts +4 -0
- package/dist/esm/src/msca/plugins/multisig/utils/index.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts +3 -2
- package/dist/esm/src/msca/plugins/multisig/utils/splitAggregatedSignature.js.map +1 -1
- package/dist/esm/src/msca/plugins/session-key/extension.js.map +1 -1
- package/dist/esm/src/msca/plugins/session-key/index.d.ts +1 -1
- package/dist/esm/src/msca/plugins/session-key/index.js +1 -1
- package/dist/esm/src/msca/plugins/session-key/index.js.map +1 -1
- package/dist/esm/src/msca/plugins/session-key/permissions.js.map +1 -1
- package/dist/esm/src/msca/plugins/session-key/signer.js.map +1 -1
- package/dist/esm/src/msca/plugins/session-key/utils.d.ts +4 -2
- package/dist/esm/src/msca/plugins/session-key/utils.js +3 -2
- package/dist/esm/src/msca/plugins/session-key/utils.js.map +1 -1
- package/dist/esm/src/msca/utils.d.ts +6 -4
- package/dist/esm/src/msca/utils.js +2 -1
- package/dist/esm/src/msca/utils.js.map +1 -1
- package/dist/types/plugindefs/multi-owner/config.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +4 -4
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/light-account/accounts/account.d.ts +5 -6
- package/dist/types/src/light-account/accounts/account.d.ts.map +1 -1
- package/dist/types/src/light-account/accounts/base.d.ts +7 -6
- package/dist/types/src/light-account/accounts/base.d.ts.map +1 -1
- package/dist/types/src/light-account/accounts/multiOwner.d.ts +5 -5
- package/dist/types/src/light-account/accounts/multiOwner.d.ts.map +1 -1
- package/dist/types/src/light-account/actions/transferOwnership.d.ts +26 -1
- package/dist/types/src/light-account/actions/transferOwnership.d.ts.map +1 -1
- package/dist/types/src/light-account/actions/updateOwners.d.ts +24 -0
- package/dist/types/src/light-account/actions/updateOwners.d.ts.map +1 -1
- package/dist/types/src/light-account/clients/alchemyClient.d.ts +1 -1
- package/dist/types/src/light-account/clients/alchemyClient.d.ts.map +1 -1
- package/dist/types/src/light-account/clients/multiOwnerAlchemyClient.d.ts +2 -2
- package/dist/types/src/light-account/clients/multiOwnerAlchemyClient.d.ts.map +1 -1
- package/dist/types/src/light-account/decorators/lightAccount.d.ts +19 -0
- package/dist/types/src/light-account/decorators/lightAccount.d.ts.map +1 -1
- package/dist/types/src/light-account/decorators/multiOwnerLightAccount.d.ts +19 -0
- package/dist/types/src/light-account/decorators/multiOwnerLightAccount.d.ts.map +1 -1
- package/dist/types/src/light-account/types.d.ts +23 -118
- package/dist/types/src/light-account/types.d.ts.map +1 -1
- package/dist/types/src/light-account/utils.d.ts +22 -44
- package/dist/types/src/light-account/utils.d.ts.map +1 -1
- package/dist/types/src/msca/account/multisigAccount.d.ts.map +1 -1
- package/dist/types/src/msca/account-loupe/decorator.d.ts +15 -0
- package/dist/types/src/msca/account-loupe/decorator.d.ts.map +1 -1
- package/dist/types/src/msca/client/alchemyClient.d.ts +1 -1
- package/dist/types/src/msca/client/alchemyClient.d.ts.map +1 -1
- package/dist/types/src/msca/client/client.d.ts.map +1 -1
- package/dist/types/src/msca/client/multiSigAlchemyClient.d.ts +1 -1
- package/dist/types/src/msca/client/multiSigAlchemyClient.d.ts.map +1 -1
- package/dist/types/src/msca/errors.d.ts +12 -0
- package/dist/types/src/msca/errors.d.ts.map +1 -1
- package/dist/types/src/msca/plugin-manager/decorator.d.ts +16 -1
- package/dist/types/src/msca/plugin-manager/decorator.d.ts.map +1 -1
- package/dist/types/src/msca/plugin-manager/installPlugin.d.ts +21 -0
- package/dist/types/src/msca/plugin-manager/installPlugin.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multi-owner/extension.d.ts +15 -0
- package/dist/types/src/msca/plugins/multi-owner/extension.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multi-owner/index.d.ts +1 -1
- package/dist/types/src/msca/plugins/multi-owner/index.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multisig/actions/proposeUserOperation.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multisig/actions/signMultisigUserOperation.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multisig/extension.d.ts +13 -0
- package/dist/types/src/msca/plugins/multisig/extension.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multisig/index.d.ts +1 -8
- package/dist/types/src/msca/plugins/multisig/index.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multisig/middleware.d.ts +7 -7
- package/dist/types/src/msca/plugins/multisig/middleware.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multisig/utils/combineSignatures.d.ts +28 -2
- package/dist/types/src/msca/plugins/multisig/utils/combineSignatures.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multisig/utils/formatSignatures.d.ts +3 -3
- package/dist/types/src/msca/plugins/multisig/utils/getSignerType.d.ts +21 -2
- package/dist/types/src/msca/plugins/multisig/utils/getSignerType.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multisig/utils/index.d.ts +4 -0
- package/dist/types/src/msca/plugins/multisig/utils/index.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts +13 -12
- package/dist/types/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/session-key/extension.d.ts +13 -0
- package/dist/types/src/msca/plugins/session-key/extension.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/session-key/index.d.ts +1 -1
- package/dist/types/src/msca/plugins/session-key/index.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/session-key/permissions.d.ts +150 -1
- package/dist/types/src/msca/plugins/session-key/permissions.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/session-key/signer.d.ts +72 -2
- package/dist/types/src/msca/plugins/session-key/signer.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/session-key/utils.d.ts +22 -2
- package/dist/types/src/msca/plugins/session-key/utils.d.ts.map +1 -1
- package/dist/types/src/msca/utils.d.ts +48 -10
- package/dist/types/src/msca/utils.d.ts.map +1 -1
- package/package.json +7 -6
- package/plugindefs/multi-owner/config.ts +1 -2
- package/plugindefs/multisig/config.ts +1 -1
- package/plugindefs/session-key/config.ts +1 -1
- package/src/index.ts +3 -4
- package/src/light-account/accounts/account.ts +46 -48
- package/src/light-account/accounts/base.ts +39 -68
- package/src/light-account/accounts/multiOwner.ts +55 -48
- package/src/light-account/actions/transferOwnership.ts +28 -5
- package/src/light-account/actions/updateOwners.ts +24 -0
- package/src/light-account/clients/alchemyClient.ts +21 -1
- package/src/light-account/clients/client.ts +27 -6
- package/src/light-account/clients/multiOwnerAlchemyClient.ts +22 -2
- package/src/light-account/clients/multiOwnerLightAccount.ts +27 -6
- package/src/light-account/decorators/lightAccount.ts +19 -0
- package/src/light-account/decorators/multiOwnerLightAccount.ts +19 -0
- package/src/light-account/types.ts +31 -188
- package/src/light-account/utils.ts +99 -231
- package/src/msca/account/multiOwnerAccount.ts +36 -11
- package/src/msca/account/multisigAccount.ts +40 -14
- package/src/msca/account-loupe/decorator.ts +15 -0
- package/src/msca/client/alchemyClient.ts +21 -1
- package/src/msca/client/client.ts +46 -0
- package/src/msca/client/multiSigAlchemyClient.ts +26 -4
- package/src/msca/errors.ts +12 -0
- package/src/msca/plugin-manager/decorator.ts +22 -5
- package/src/msca/plugin-manager/installPlugin.ts +21 -0
- package/src/msca/plugins/multi-owner/extension.ts +15 -0
- package/src/msca/plugins/multi-owner/index.ts +3 -0
- package/src/msca/plugins/multisig/actions/proposeUserOperation.ts +1 -1
- package/src/msca/plugins/multisig/actions/signMultisigUserOperation.ts +1 -1
- package/src/msca/plugins/multisig/extension.ts +13 -0
- package/src/msca/plugins/multisig/index.ts +1 -12
- package/src/msca/plugins/multisig/middleware.ts +8 -8
- package/src/msca/plugins/multisig/utils/combineSignatures.ts +36 -9
- package/src/msca/plugins/multisig/utils/formatSignatures.ts +3 -3
- package/src/msca/plugins/multisig/utils/getSignerType.ts +23 -4
- package/src/msca/plugins/multisig/utils/index.ts +4 -0
- package/src/msca/plugins/multisig/utils/splitAggregatedSignature.ts +15 -12
- package/src/msca/plugins/session-key/extension.ts +13 -0
- package/src/msca/plugins/session-key/index.ts +7 -1
- package/src/msca/plugins/session-key/permissions.ts +150 -1
- package/src/msca/plugins/session-key/signer.ts +72 -3
- package/src/msca/plugins/session-key/utils.ts +33 -12
- package/src/msca/utils.ts +78 -21
- package/dist/cjs/src/light-account/schema.d.ts +0 -21
- package/dist/cjs/src/light-account/schema.js +0 -30
- package/dist/cjs/src/light-account/schema.js.map +0 -1
- package/dist/esm/src/light-account/schema.d.ts +0 -21
- package/dist/esm/src/light-account/schema.js +0 -27
- package/dist/esm/src/light-account/schema.js.map +0 -1
- package/dist/types/src/light-account/schema.d.ts +0 -22
- package/dist/types/src/light-account/schema.d.ts.map +0 -1
- package/src/light-account/schema.ts +0 -39
|
@@ -17,12 +17,12 @@ import {
|
|
|
17
17
|
import { MultiOwnerLightAccountAbi } from "../abis/MultiOwnerLightAccountAbi.js";
|
|
18
18
|
import { MultiOwnerLightAccountFactoryAbi } from "../abis/MultiOwnerLightAccountFactoryAbi.js";
|
|
19
19
|
import type {
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
LightAccountEntryPointVersion,
|
|
21
|
+
LightAccountVersion,
|
|
22
22
|
} from "../types.js";
|
|
23
23
|
import {
|
|
24
|
-
AccountVersionRegistry,
|
|
25
24
|
defaultLightAccountVersion,
|
|
25
|
+
getDefaultMultiOwnerLightAccountFactoryAddress,
|
|
26
26
|
} from "../utils.js";
|
|
27
27
|
import {
|
|
28
28
|
createLightAccountBase,
|
|
@@ -32,19 +32,11 @@ import {
|
|
|
32
32
|
|
|
33
33
|
export type MultiOwnerLightAccount<
|
|
34
34
|
TSigner extends SmartAccountSigner = SmartAccountSigner,
|
|
35
|
-
TLightAccountVersion extends
|
|
36
|
-
TEntryPointVersion extends GetEntryPointForLightAccountVersion<
|
|
37
|
-
"MultiOwnerLightAccount",
|
|
38
|
-
TLightAccountVersion
|
|
39
|
-
> = GetEntryPointForLightAccountVersion<
|
|
40
|
-
"MultiOwnerLightAccount",
|
|
41
|
-
TLightAccountVersion
|
|
42
|
-
>
|
|
35
|
+
TLightAccountVersion extends LightAccountVersion<"MultiOwnerLightAccount"> = LightAccountVersion<"MultiOwnerLightAccount">
|
|
43
36
|
> = LightAccountBase<
|
|
44
37
|
TSigner,
|
|
45
38
|
"MultiOwnerLightAccount",
|
|
46
|
-
TLightAccountVersion
|
|
47
|
-
TEntryPointVersion
|
|
39
|
+
TLightAccountVersion
|
|
48
40
|
> & {
|
|
49
41
|
encodeUpdateOwners: (
|
|
50
42
|
ownersToAdd: Address[],
|
|
@@ -56,69 +48,82 @@ export type MultiOwnerLightAccount<
|
|
|
56
48
|
export type CreateMultiOwnerLightAccountParams<
|
|
57
49
|
TTransport extends Transport = Transport,
|
|
58
50
|
TSigner extends SmartAccountSigner = SmartAccountSigner,
|
|
59
|
-
TLightAccountVersion extends
|
|
60
|
-
TEntryPointVersion extends GetEntryPointForLightAccountVersion<
|
|
61
|
-
"MultiOwnerLightAccount",
|
|
62
|
-
TLightAccountVersion
|
|
63
|
-
> = GetEntryPointForLightAccountVersion<
|
|
64
|
-
"MultiOwnerLightAccount",
|
|
65
|
-
TLightAccountVersion
|
|
66
|
-
>
|
|
51
|
+
TLightAccountVersion extends LightAccountVersion<"MultiOwnerLightAccount"> = LightAccountVersion<"MultiOwnerLightAccount">
|
|
67
52
|
> = Omit<
|
|
68
53
|
CreateLightAccountBaseParams<
|
|
69
|
-
TTransport,
|
|
70
|
-
TSigner,
|
|
71
54
|
"MultiOwnerLightAccount",
|
|
72
55
|
TLightAccountVersion,
|
|
73
|
-
|
|
56
|
+
TTransport,
|
|
57
|
+
TSigner
|
|
74
58
|
>,
|
|
75
|
-
|
|
59
|
+
| "getAccountInitCode"
|
|
60
|
+
| "entryPoint"
|
|
61
|
+
| "version"
|
|
62
|
+
| "abi"
|
|
63
|
+
| "accountAddress"
|
|
64
|
+
| "type"
|
|
76
65
|
> & {
|
|
77
66
|
salt?: bigint;
|
|
78
67
|
initCode?: Hex;
|
|
79
68
|
accountAddress?: Address;
|
|
80
69
|
factoryAddress?: Address;
|
|
81
70
|
version?: TLightAccountVersion;
|
|
82
|
-
entryPoint?: EntryPointDef<
|
|
71
|
+
entryPoint?: EntryPointDef<
|
|
72
|
+
LightAccountEntryPointVersion<
|
|
73
|
+
"MultiOwnerLightAccount",
|
|
74
|
+
TLightAccountVersion
|
|
75
|
+
>,
|
|
76
|
+
Chain
|
|
77
|
+
>;
|
|
83
78
|
owners?: Address[];
|
|
84
79
|
};
|
|
85
80
|
|
|
86
81
|
export async function createMultiOwnerLightAccount<
|
|
87
82
|
TTransport extends Transport = Transport,
|
|
88
83
|
TSigner extends SmartAccountSigner = SmartAccountSigner,
|
|
89
|
-
TLightAccountVersion extends
|
|
90
|
-
TEntryPointVersion extends GetEntryPointForLightAccountVersion<
|
|
91
|
-
"MultiOwnerLightAccount",
|
|
92
|
-
TLightAccountVersion
|
|
93
|
-
> = GetEntryPointForLightAccountVersion<
|
|
94
|
-
"MultiOwnerLightAccount",
|
|
95
|
-
TLightAccountVersion
|
|
96
|
-
>
|
|
84
|
+
TLightAccountVersion extends LightAccountVersion<"MultiOwnerLightAccount"> = LightAccountVersion<"MultiOwnerLightAccount">
|
|
97
85
|
>(
|
|
98
86
|
config: CreateMultiOwnerLightAccountParams<
|
|
99
87
|
TTransport,
|
|
100
88
|
TSigner,
|
|
101
|
-
TLightAccountVersion
|
|
102
|
-
TEntryPointVersion
|
|
89
|
+
TLightAccountVersion
|
|
103
90
|
>
|
|
104
|
-
): Promise<
|
|
105
|
-
MultiOwnerLightAccount<TSigner, TLightAccountVersion, TEntryPointVersion>
|
|
106
|
-
>;
|
|
91
|
+
): Promise<MultiOwnerLightAccount<TSigner, TLightAccountVersion>>;
|
|
107
92
|
|
|
93
|
+
/**
|
|
94
|
+
* Creates a multi-owner light account using the provided parameters, including transport, chain, signer, initialization code, version, account address, factory address, salt, and owners. Ensures the owners list is deduplicated, ordered, and valid.
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* ```ts
|
|
98
|
+
* import { createMultiOwnerLightAccount } from "@account-kit/smart-contracts";
|
|
99
|
+
* import { LocalAccountSigner } from "@aa-sdk/core";
|
|
100
|
+
* import { sepolia } from "viem/chains";
|
|
101
|
+
* import { http, generatePrivateKey } from "viem"
|
|
102
|
+
*
|
|
103
|
+
* const account = await createMultiOwnerLightAccount({
|
|
104
|
+
* chain: sepolia,
|
|
105
|
+
* transport: http("RPC_URL"),
|
|
106
|
+
* signer: LocalAccountSigner.privateKeyToAccountSigner(generatePrivateKey())
|
|
107
|
+
* });
|
|
108
|
+
* ```
|
|
109
|
+
*
|
|
110
|
+
* @param {CreateMultiOwnerLightAccountParams} config The parameters for creating a multi-owner light account
|
|
111
|
+
* @returns {Promise<MultiOwnerLightAccount>} A promise that resolves to a `MultiOwnerLightAccount` object containing the created account information and methods
|
|
112
|
+
*/
|
|
108
113
|
export async function createMultiOwnerLightAccount({
|
|
109
114
|
transport,
|
|
110
115
|
chain,
|
|
111
116
|
signer,
|
|
112
117
|
initCode,
|
|
113
|
-
version = defaultLightAccountVersion(
|
|
118
|
+
version = defaultLightAccountVersion(),
|
|
114
119
|
entryPoint = getEntryPoint(chain, {
|
|
115
|
-
version:
|
|
116
|
-
AccountVersionRegistry["MultiOwnerLightAccount"][version]
|
|
117
|
-
.entryPointVersion,
|
|
120
|
+
version: "0.7.0",
|
|
118
121
|
}),
|
|
119
122
|
accountAddress,
|
|
120
|
-
factoryAddress =
|
|
121
|
-
|
|
123
|
+
factoryAddress = getDefaultMultiOwnerLightAccountFactoryAddress(
|
|
124
|
+
chain,
|
|
125
|
+
version
|
|
126
|
+
),
|
|
122
127
|
salt: salt_ = 0n,
|
|
123
128
|
owners = [],
|
|
124
129
|
}: CreateMultiOwnerLightAccountParams): Promise<MultiOwnerLightAccount> {
|
|
@@ -160,15 +165,17 @@ export async function createMultiOwnerLightAccount({
|
|
|
160
165
|
});
|
|
161
166
|
|
|
162
167
|
const account = await createLightAccountBase<
|
|
168
|
+
"MultiOwnerLightAccount",
|
|
169
|
+
LightAccountVersion<"MultiOwnerLightAccount">,
|
|
163
170
|
Transport,
|
|
164
|
-
SmartAccountSigner
|
|
165
|
-
"MultiOwnerLightAccount"
|
|
171
|
+
SmartAccountSigner
|
|
166
172
|
>({
|
|
167
173
|
transport,
|
|
168
174
|
chain,
|
|
169
175
|
signer,
|
|
170
176
|
abi: MultiOwnerLightAccountAbi,
|
|
171
|
-
version
|
|
177
|
+
version,
|
|
178
|
+
type: "MultiOwnerLightAccount",
|
|
172
179
|
entryPoint,
|
|
173
180
|
accountAddress: address,
|
|
174
181
|
getAccountInitCode,
|
|
@@ -22,7 +22,32 @@ export type TransferLightAccountOwnershipParams<
|
|
|
22
22
|
} & GetAccountParameter<TAccount, LightAccount<TSigner>> &
|
|
23
23
|
UserOperationOverridesParameter<TEntryPointVersion>;
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Transfers the ownership of a light account to a new owner.
|
|
27
|
+
* This function ensures that the client is a compatible smart acccount client and that a Light Account is provided.
|
|
28
|
+
* If the waitForTxn parameter is true, it will wait for the transaction to be completed before returning.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* import { transferOwnership, createLightAccountClient } from "@account-kit/smart-contracts";
|
|
33
|
+
*
|
|
34
|
+
* const lightAccountClient = createLightAccountClient({
|
|
35
|
+
* signer,
|
|
36
|
+
* transport,
|
|
37
|
+
* chain,
|
|
38
|
+
* });
|
|
39
|
+
*
|
|
40
|
+
* const txHash = await transferOwnership(lightAccountClient, {
|
|
41
|
+
* newOwner: newOwnerSigner,
|
|
42
|
+
* waitForTxn: true, // set to false to return a uoHash instead
|
|
43
|
+
* });
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @param {Client<TTransport, TChain, TAccount>} client The smart account client instance used to execute the transfer
|
|
47
|
+
* @param {TransferLightAccountOwnershipParams<TSigner, TAccount>} args The parameters for transferring ownership
|
|
48
|
+
* @returns {Promise<Hex>} The transaction or UO hash as a Hex string
|
|
49
|
+
*/
|
|
50
|
+
export const transferOwnership = async <
|
|
26
51
|
TTransport extends Transport = Transport,
|
|
27
52
|
TChain extends Chain | undefined = Chain | undefined,
|
|
28
53
|
TSigner extends SmartAccountSigner = SmartAccountSigner,
|
|
@@ -32,10 +57,8 @@ export const transferOwnership: <
|
|
|
32
57
|
>(
|
|
33
58
|
client: Client<TTransport, TChain, TAccount>,
|
|
34
59
|
args: TransferLightAccountOwnershipParams<TSigner, TAccount>
|
|
35
|
-
)
|
|
36
|
-
client
|
|
37
|
-
{ newOwner, waitForTxn, overrides, account = client.account }
|
|
38
|
-
) => {
|
|
60
|
+
): Promise<Hex> => {
|
|
61
|
+
const { newOwner, waitForTxn, overrides, account = client.account } = args;
|
|
39
62
|
if (!account) {
|
|
40
63
|
throw new AccountNotFoundError();
|
|
41
64
|
}
|
|
@@ -23,6 +23,30 @@ export type UpdateMultiOwnerLightAccountOwnersParams<
|
|
|
23
23
|
} & GetAccountParameter<TAccount, MultiOwnerLightAccount<TSigner>> &
|
|
24
24
|
UserOperationOverridesParameter<TEntryPointVersion>;
|
|
25
25
|
|
|
26
|
+
/**
|
|
27
|
+
* Updates the owners of a multi-owner light account. This includes adding new owners and removing existing ones.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* import { updateOwners, createLightAccountClient } from "@account-kit/smart-contracts";
|
|
32
|
+
*
|
|
33
|
+
* const lightAccountClient = createLightAccountClient({
|
|
34
|
+
* signer,
|
|
35
|
+
* transport,
|
|
36
|
+
* chain,
|
|
37
|
+
* });
|
|
38
|
+
*
|
|
39
|
+
* const txHash = await updateOwners(lightAccountClient, {
|
|
40
|
+
* ownerstoAdd: [newOwnerAddress], // or empty if you just want to remove owners
|
|
41
|
+
* ownersToRemove: [oldOwnerAddress], // or empty if you just want to add owners
|
|
42
|
+
* waitForTxn: true, // set to false to return a uoHash instead
|
|
43
|
+
* });
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @param {Client<TTransport, TChain, TAccount>} client The client instance used to interact with the account
|
|
47
|
+
* @param {UpdateMultiOwnerLightAccountOwnersParams<TSigner, TAccount>} args The parameters for updating the account owners
|
|
48
|
+
* @returns {Promise<Hex>} A promise that resolves to the transaction hash or the full transaction result if `waitForTxn` is `true`
|
|
49
|
+
*/
|
|
26
50
|
export const updateOwners: <
|
|
27
51
|
TTransport extends Transport = Transport,
|
|
28
52
|
TChain extends Chain | undefined = Chain | undefined,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { HttpTransport, SmartAccountSigner } from "@aa-sdk/core";
|
|
1
2
|
import {
|
|
2
3
|
AlchemyProviderConfigSchema,
|
|
3
4
|
createAlchemyPublicRpcClient,
|
|
@@ -12,7 +13,6 @@ import {
|
|
|
12
13
|
type LightAccount,
|
|
13
14
|
type LightAccountClientActions,
|
|
14
15
|
} from "@account-kit/smart-contracts";
|
|
15
|
-
import type { HttpTransport, SmartAccountSigner } from "@aa-sdk/core";
|
|
16
16
|
import { custom, type Chain, type CustomTransport, type Transport } from "viem";
|
|
17
17
|
|
|
18
18
|
export type AlchemyLightAccountClientConfig<
|
|
@@ -39,6 +39,26 @@ export async function createLightAccountAlchemyClient<
|
|
|
39
39
|
>
|
|
40
40
|
>;
|
|
41
41
|
|
|
42
|
+
/**
|
|
43
|
+
* Creates an Alchemy smart account client connected to a Light Account instance.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* import { createLightAccountAlchemyClient } from "@account-kit/smart-contracts";
|
|
48
|
+
* import { sepolia } from "@account-kit/infra";
|
|
49
|
+
* import { LocalAccountSigner } from "@aa-sdk/core";
|
|
50
|
+
* import { generatePrivateKey } from "viem"
|
|
51
|
+
*
|
|
52
|
+
* const lightAccountClient = await createLightAccountAlchemyClient({
|
|
53
|
+
* apiKey: "your-api-key",
|
|
54
|
+
* chain: sepolia,
|
|
55
|
+
* signer: LocalAccountSigner.privateKeyToAccountSigner(generatePrivateKey())
|
|
56
|
+
* });
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* @param {AlchemyLightAccountClientConfig} config The configuration for setting up the Alchemy Light Account Client
|
|
60
|
+
* @returns {Promise<AlchemySmartAccountClient>} A promise that resolves to an `AlchemySmartAccountClient` object containing the created client
|
|
61
|
+
*/
|
|
42
62
|
export async function createLightAccountAlchemyClient(
|
|
43
63
|
config: AlchemyLightAccountClientConfig
|
|
44
64
|
): Promise<AlchemySmartAccountClient> {
|
|
@@ -48,12 +48,33 @@ export function createLightAccountClient<
|
|
|
48
48
|
>
|
|
49
49
|
>;
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
51
|
+
/**
|
|
52
|
+
* Creates a light account client using the provided parameters, including account information, transport mechanism, blockchain chain, and additional client configurations. This function first creates a light account and then uses it to create a smart account client, extending it with light account client actions.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```ts
|
|
56
|
+
* import { createLightAccountClient } from "@account-kit/smart-contracts";
|
|
57
|
+
* import { LocalAccountSigner } from "@aa-sdk/core";
|
|
58
|
+
* import { sepolia } from "viem/chains";
|
|
59
|
+
* import { http, generatePrivateKey } from "viem"
|
|
60
|
+
*
|
|
61
|
+
* const account = await createLightAccountClient({
|
|
62
|
+
* chain: sepolia,
|
|
63
|
+
* transport: http("RPC_URL"),
|
|
64
|
+
* account: {
|
|
65
|
+
* signer: LocalAccountSigner.privateKeyToAccountSigner(generatePrivateKey())
|
|
66
|
+
* }
|
|
67
|
+
* });
|
|
68
|
+
* ```
|
|
69
|
+
*
|
|
70
|
+
* @param {CreateLightAccountClientParams} params The parameters for creating a light account client
|
|
71
|
+
* @returns {Promise<SmartAccountClient>} A promise that resolves to a `SmartAccountClient` object containing the created account information and methods
|
|
72
|
+
*/
|
|
73
|
+
export async function createLightAccountClient(
|
|
74
|
+
params: CreateLightAccountClientParams
|
|
75
|
+
): Promise<SmartAccountClient> {
|
|
76
|
+
const { account, transport, chain, ...clientConfig } = params;
|
|
77
|
+
|
|
57
78
|
const lightAccount = await createLightAccount({
|
|
58
79
|
...account,
|
|
59
80
|
transport,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { HttpTransport, SmartAccountSigner } from "@aa-sdk/core";
|
|
1
2
|
import {
|
|
2
3
|
AlchemyProviderConfigSchema,
|
|
3
4
|
createAlchemyPublicRpcClient,
|
|
@@ -12,14 +13,13 @@ import {
|
|
|
12
13
|
type MultiOwnerLightAccount,
|
|
13
14
|
type MultiOwnerLightAccountClientActions,
|
|
14
15
|
} from "@account-kit/smart-contracts";
|
|
15
|
-
import type { HttpTransport, SmartAccountSigner } from "@aa-sdk/core";
|
|
16
16
|
import { custom, type Chain, type CustomTransport, type Transport } from "viem";
|
|
17
17
|
|
|
18
18
|
export type AlchemyMultiOwnerLightAccountClientConfig<
|
|
19
19
|
TSigner extends SmartAccountSigner = SmartAccountSigner
|
|
20
20
|
> = Omit<
|
|
21
21
|
CreateMultiOwnerLightAccountParams<HttpTransport, TSigner>,
|
|
22
|
-
"transport" | "chain"
|
|
22
|
+
"transport" | "chain" | "type"
|
|
23
23
|
> &
|
|
24
24
|
Omit<
|
|
25
25
|
AlchemySmartAccountClientConfig<
|
|
@@ -43,6 +43,26 @@ export async function createMultiOwnerLightAccountAlchemyClient<
|
|
|
43
43
|
>
|
|
44
44
|
>;
|
|
45
45
|
|
|
46
|
+
/**
|
|
47
|
+
* Creates a multi-owner light account Alchemy client using the provided configuration.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* import { createMultiOwnerLightAccountAlchemyClient } from "@account-kit/smart-contracts";
|
|
52
|
+
* import { sepolia } from "@account-kit/infra";
|
|
53
|
+
* import { LocalAccountSigner } from "@aa-sdk/core";
|
|
54
|
+
* import { generatePrivateKey } from "viem"
|
|
55
|
+
*
|
|
56
|
+
* const lightAccountClient = await createMultiOwnerLightAccountAlchemyClient({
|
|
57
|
+
* apiKey: "your-api-key",
|
|
58
|
+
* chain: sepolia,
|
|
59
|
+
* signer: LocalAccountSigner.privateKeyToAccountSigner(generatePrivateKey())
|
|
60
|
+
* });
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* @param {AlchemyMultiOwnerLightAccountClientConfig} config The configuration for creating the Alchemy client
|
|
64
|
+
* @returns {Promise<AlchemySmartAccountClient>} A promise that resolves to an `AlchemySmartAccountClient` object containing the created account information and methods
|
|
65
|
+
*/
|
|
46
66
|
export async function createMultiOwnerLightAccountAlchemyClient(
|
|
47
67
|
config: AlchemyMultiOwnerLightAccountClientConfig
|
|
48
68
|
): Promise<AlchemySmartAccountClient> {
|
|
@@ -54,12 +54,33 @@ export function createMultiOwnerLightAccountClient<
|
|
|
54
54
|
>
|
|
55
55
|
>;
|
|
56
56
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
57
|
+
/**
|
|
58
|
+
* Creates a multi-owner light account client using the provided parameters. It first creates a multi-owner light account and then creates a smart account client with the provided configurations.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* import { createMultiOwnerLightAccountClient } from "@account-kit/smart-contracts";
|
|
63
|
+
* import { LocalAccountSigner } from "@aa-sdk/core";
|
|
64
|
+
* import { sepolia } from "viem/chains";
|
|
65
|
+
* import { http, generatePrivateKey } from "viem"
|
|
66
|
+
*
|
|
67
|
+
* const account = await createMultiOwnerLightAccountClient({
|
|
68
|
+
* chain: sepolia,
|
|
69
|
+
* transport: http("RPC_URL"),
|
|
70
|
+
* account: {
|
|
71
|
+
* signer: LocalAccountSigner.privateKeyToAccountSigner(generatePrivateKey())
|
|
72
|
+
* }
|
|
73
|
+
* });
|
|
74
|
+
* ```
|
|
75
|
+
*
|
|
76
|
+
* @param {CreateMultiOwnerLightAccountClientParams} params the configuration for creating the multi-owner light account client
|
|
77
|
+
* @returns {Promise<SmartAccountClient>} a promise that resolves to a `SmartAccountClient` containing the created account client and relevant methods
|
|
78
|
+
*/
|
|
79
|
+
export async function createMultiOwnerLightAccountClient(
|
|
80
|
+
params: CreateMultiOwnerLightAccountClientParams
|
|
81
|
+
): Promise<SmartAccountClient> {
|
|
82
|
+
const { account, transport, chain, ...clientConfig } = params;
|
|
83
|
+
|
|
63
84
|
const lightAccount = await createMultiOwnerLightAccount({
|
|
64
85
|
...account,
|
|
65
86
|
transport,
|
|
@@ -17,6 +17,25 @@ export type LightAccountClientActions<
|
|
|
17
17
|
) => Promise<Hex>;
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Provides a set of actions for managing a light account client, including transferring ownership.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* import { lightAccountClientActions, createLightAccount } from "@account-kit/smart-contracts";
|
|
26
|
+
* import { createAlchemySmartAccountClient } from "@account-kit/infra";
|
|
27
|
+
* import { sepolia } from "@account-kit/infra";
|
|
28
|
+
*
|
|
29
|
+
* const smartAccountClient = createAlchemySmartAccountClient({
|
|
30
|
+
* account: await createLightAccount(...),
|
|
31
|
+
* apiKey: "your-api-key",
|
|
32
|
+
* chain: sepolia,
|
|
33
|
+
* }).extend(lightAccountClientActions);
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @param {Client<TTransport, TChain, TAccount>} client The client instance for which to provide the light account actions
|
|
37
|
+
* @returns {LightAccountClientActions<TSigner, TAccount>} An object containing the available light account client actions
|
|
38
|
+
*/
|
|
20
39
|
export const lightAccountClientActions: <
|
|
21
40
|
TTransport extends Transport = Transport,
|
|
22
41
|
TChain extends Chain | undefined = Chain | undefined,
|
|
@@ -17,6 +17,25 @@ export type MultiOwnerLightAccountClientActions<
|
|
|
17
17
|
) => Promise<Hex>;
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Generates client actions for a multi-owner light account, including the ability to update owners.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* import { multiOwnerLightAccountClientActions, createMultiOwnerLightAccount } from "@account-kit/smart-contracts";
|
|
26
|
+
* import { createAlchemySmartAccountClient } from "@account-kit/infra";
|
|
27
|
+
* import { sepolia } from "@account-kit/infra";
|
|
28
|
+
*
|
|
29
|
+
* const smartAccountClient = createAlchemySmartAccountClient({
|
|
30
|
+
* account: await createMultiOwnerLightAccount(...),
|
|
31
|
+
* apiKey: "your-api-key",
|
|
32
|
+
* chain: sepolia,
|
|
33
|
+
* }).extend(multiOwnerLightAccountClientActions);
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @param {Client<TTransport, TChain, TAccount>} client the client for interacting with the multi-owner light account
|
|
37
|
+
* @returns {MultiOwnerLightAccountClientActions<TSigner, TAccount>} an object containing the client actions specifically for a multi-owner light account
|
|
38
|
+
*/
|
|
20
39
|
export const multiOwnerLightAccountClientActions: <
|
|
21
40
|
TTransport extends Transport = Transport,
|
|
22
41
|
TChain extends Chain | undefined = Chain | undefined,
|