@alchemy/smart-accounts 0.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/esm/errors/EntityIdOverrideError.d.ts +11 -0
- package/dist/esm/errors/EntityIdOverrideError.js +19 -0
- package/dist/esm/errors/EntityIdOverrideError.js.map +1 -0
- package/dist/esm/errors/InvalidDeferredActionNonceError.d.ts +11 -0
- package/dist/esm/errors/InvalidDeferredActionNonceError.js +19 -0
- package/dist/esm/errors/InvalidDeferredActionNonceError.js.map +1 -0
- package/dist/esm/errors/InvalidEntityIdError.d.ts +13 -0
- package/dist/esm/errors/InvalidEntityIdError.js +21 -0
- package/dist/esm/errors/InvalidEntityIdError.js.map +1 -0
- package/dist/esm/errors/InvalidNonceKeyError.d.ts +13 -0
- package/dist/esm/errors/InvalidNonceKeyError.js +21 -0
- package/dist/esm/errors/InvalidNonceKeyError.js.map +1 -0
- package/dist/esm/errors/InvalidOwnerError.d.ts +13 -0
- package/dist/esm/errors/InvalidOwnerError.js +21 -0
- package/dist/esm/errors/InvalidOwnerError.js.map +1 -0
- package/dist/esm/errors/permissionBuilderErrors.d.ts +150 -0
- package/dist/esm/errors/permissionBuilderErrors.js +233 -0
- package/dist/esm/errors/permissionBuilderErrors.js.map +1 -0
- package/dist/esm/index.d.ts +59 -0
- package/dist/esm/index.js +40 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/light-account/abis/LightAccountAbi_v1.d.ts +532 -0
- package/dist/esm/light-account/abis/LightAccountAbi_v1.js +379 -0
- package/dist/esm/light-account/abis/LightAccountAbi_v1.js.map +1 -0
- package/dist/esm/light-account/abis/LightAccountAbi_v2.d.ts +491 -0
- package/dist/esm/light-account/abis/LightAccountAbi_v2.js +355 -0
- package/dist/esm/light-account/abis/LightAccountAbi_v2.js.map +1 -0
- package/dist/esm/light-account/abis/LightAccountFactoryAbi_v1.d.ts +55 -0
- package/dist/esm/light-account/abis/LightAccountFactoryAbi_v1.js +75 -0
- package/dist/esm/light-account/abis/LightAccountFactoryAbi_v1.js.map +1 -0
- package/dist/esm/light-account/abis/LightAccountFactoryAbi_v2.d.ts +256 -0
- package/dist/esm/light-account/abis/LightAccountFactoryAbi_v2.js +210 -0
- package/dist/esm/light-account/abis/LightAccountFactoryAbi_v2.js.map +1 -0
- package/dist/esm/light-account/abis/MultiOwnerLightAccountAbi.d.ts +507 -0
- package/dist/esm/light-account/abis/MultiOwnerLightAccountAbi.js +372 -0
- package/dist/esm/light-account/abis/MultiOwnerLightAccountAbi.js.map +1 -0
- package/dist/esm/light-account/abis/MultiOwnerLightAccountFactoryAbi.d.ts +286 -0
- package/dist/esm/light-account/abis/MultiOwnerLightAccountFactoryAbi.js +229 -0
- package/dist/esm/light-account/abis/MultiOwnerLightAccountFactoryAbi.js.map +1 -0
- package/dist/esm/light-account/abis/OZ_ERC1967Proxy.d.ts +13 -0
- package/dist/esm/light-account/abis/OZ_ERC1967Proxy.js +20 -0
- package/dist/esm/light-account/abis/OZ_ERC1967Proxy.js.map +1 -0
- package/dist/esm/light-account/accounts/account.d.ts +22 -0
- package/dist/esm/light-account/accounts/account.js +86 -0
- package/dist/esm/light-account/accounts/account.js.map +1 -0
- package/dist/esm/light-account/accounts/base.d.ts +28 -0
- package/dist/esm/light-account/accounts/base.js +170 -0
- package/dist/esm/light-account/accounts/base.js.map +1 -0
- package/dist/esm/light-account/accounts/calldataCodec.d.ts +3 -0
- package/dist/esm/light-account/accounts/calldataCodec.js +74 -0
- package/dist/esm/light-account/accounts/calldataCodec.js.map +1 -0
- package/dist/esm/light-account/accounts/multi-owner-account.d.ts +20 -0
- package/dist/esm/light-account/accounts/multi-owner-account.js +79 -0
- package/dist/esm/light-account/accounts/multi-owner-account.js.map +1 -0
- package/dist/esm/light-account/decorators/multiOwner.d.ts +17 -0
- package/dist/esm/light-account/decorators/multiOwner.js +38 -0
- package/dist/esm/light-account/decorators/multiOwner.js.map +1 -0
- package/dist/esm/light-account/decorators/singleOwner.d.ts +16 -0
- package/dist/esm/light-account/decorators/singleOwner.js +35 -0
- package/dist/esm/light-account/decorators/singleOwner.js.map +1 -0
- package/dist/esm/light-account/lightAccountStaticImpl.d.ts +24 -0
- package/dist/esm/light-account/lightAccountStaticImpl.js +112 -0
- package/dist/esm/light-account/lightAccountStaticImpl.js.map +1 -0
- package/dist/esm/light-account/predictAddress.d.ts +35 -0
- package/dist/esm/light-account/predictAddress.js +113 -0
- package/dist/esm/light-account/predictAddress.js.map +1 -0
- package/dist/esm/light-account/registry.d.ts +7115 -0
- package/dist/esm/light-account/registry.js +18 -0
- package/dist/esm/light-account/registry.js.map +1 -0
- package/dist/esm/light-account/utils.d.ts +1454 -0
- package/dist/esm/light-account/utils.js +65 -0
- package/dist/esm/light-account/utils.js.map +1 -0
- package/dist/esm/logger.d.ts +2 -0
- package/dist/esm/logger.js +8 -0
- package/dist/esm/logger.js.map +1 -0
- package/dist/esm/ma-v1/abis/IStandardExecutor.d.ts +50 -0
- package/dist/esm/ma-v1/abis/IStandardExecutor.js +32 -0
- package/dist/esm/ma-v1/abis/IStandardExecutor.js.map +1 -0
- package/dist/esm/ma-v1/abis/MultiOwnerModularAccountFactory.d.ts +234 -0
- package/dist/esm/ma-v1/abis/MultiOwnerModularAccountFactory.js +191 -0
- package/dist/esm/ma-v1/abis/MultiOwnerModularAccountFactory.js.map +1 -0
- package/dist/esm/ma-v1/abis/MultiOwnerPlugin.d.ts +698 -0
- package/dist/esm/ma-v1/abis/MultiOwnerPlugin.js +529 -0
- package/dist/esm/ma-v1/abis/MultiOwnerPlugin.js.map +1 -0
- package/dist/esm/ma-v1/abis/MultiOwnerPluginExecutionFunction.d.ts +67 -0
- package/dist/esm/ma-v1/abis/MultiOwnerPluginExecutionFunction.js +38 -0
- package/dist/esm/ma-v1/abis/MultiOwnerPluginExecutionFunction.js.map +1 -0
- package/dist/esm/ma-v1/abis/UpgradeableModularAccount.d.ts +880 -0
- package/dist/esm/ma-v1/abis/UpgradeableModularAccount.js +646 -0
- package/dist/esm/ma-v1/abis/UpgradeableModularAccount.js.map +1 -0
- package/dist/esm/ma-v1/account.d.ts +16 -0
- package/dist/esm/ma-v1/account.js +17 -0
- package/dist/esm/ma-v1/account.js.map +1 -0
- package/dist/esm/ma-v1/accounts/base.d.ts +29 -0
- package/dist/esm/ma-v1/accounts/base.js +150 -0
- package/dist/esm/ma-v1/accounts/base.js.map +1 -0
- package/dist/esm/ma-v1/accounts/multi-owner-account.d.ts +22 -0
- package/dist/esm/ma-v1/accounts/multi-owner-account.js +101 -0
- package/dist/esm/ma-v1/accounts/multi-owner-account.js.map +1 -0
- package/dist/esm/ma-v1/decorators/multiOwner.d.ts +17 -0
- package/dist/esm/ma-v1/decorators/multiOwner.js +38 -0
- package/dist/esm/ma-v1/decorators/multiOwner.js.map +1 -0
- package/dist/esm/ma-v1/mav1StaticImpl.d.ts +15 -0
- package/dist/esm/ma-v1/mav1StaticImpl.js +38 -0
- package/dist/esm/ma-v1/mav1StaticImpl.js.map +1 -0
- package/dist/esm/ma-v1/predictAddress.d.ts +28 -0
- package/dist/esm/ma-v1/predictAddress.js +51 -0
- package/dist/esm/ma-v1/predictAddress.js.map +1 -0
- package/dist/esm/ma-v2/abis/accountFactoryAbi.d.ts +348 -0
- package/dist/esm/ma-v2/abis/accountFactoryAbi.js +645 -0
- package/dist/esm/ma-v2/abis/accountFactoryAbi.js.map +1 -0
- package/dist/esm/ma-v2/abis/entityIdAndNonceReader.d.ts +9 -0
- package/dist/esm/ma-v2/abis/entityIdAndNonceReader.js +24 -0
- package/dist/esm/ma-v2/abis/entityIdAndNonceReader.js.map +1 -0
- package/dist/esm/ma-v2/abis/modularAccountAbi.d.ts +954 -0
- package/dist/esm/ma-v2/abis/modularAccountAbi.js +1242 -0
- package/dist/esm/ma-v2/abis/modularAccountAbi.js.map +1 -0
- package/dist/esm/ma-v2/abis/semiModularAccountBytecodeAbi.d.ts +991 -0
- package/dist/esm/ma-v2/abis/semiModularAccountBytecodeAbi.js +1289 -0
- package/dist/esm/ma-v2/abis/semiModularAccountBytecodeAbi.js.map +1 -0
- package/dist/esm/ma-v2/abis/semiModularAccountStorageAbi.d.ts +1001 -0
- package/dist/esm/ma-v2/abis/semiModularAccountStorageAbi.js +1302 -0
- package/dist/esm/ma-v2/abis/semiModularAccountStorageAbi.js.map +1 -0
- package/dist/esm/ma-v2/abis/webAuthnFactoryAbi.d.ts +330 -0
- package/dist/esm/ma-v2/abis/webAuthnFactoryAbi.js +260 -0
- package/dist/esm/ma-v2/abis/webAuthnFactoryAbi.js.map +1 -0
- package/dist/esm/ma-v2/accounts/account.d.ts +32 -0
- package/dist/esm/ma-v2/accounts/account.js +134 -0
- package/dist/esm/ma-v2/accounts/account.js.map +1 -0
- package/dist/esm/ma-v2/accounts/base.d.ts +40 -0
- package/dist/esm/ma-v2/accounts/base.js +371 -0
- package/dist/esm/ma-v2/accounts/base.js.map +1 -0
- package/dist/esm/ma-v2/decorators/deferralActions.d.ts +51 -0
- package/dist/esm/ma-v2/decorators/deferralActions.js +100 -0
- package/dist/esm/ma-v2/decorators/deferralActions.js.map +1 -0
- package/dist/esm/ma-v2/decorators/installValidation.d.ts +71 -0
- package/dist/esm/ma-v2/decorators/installValidation.js +137 -0
- package/dist/esm/ma-v2/decorators/installValidation.js.map +1 -0
- package/dist/esm/ma-v2/mav2StaticImpl.d.ts +37 -0
- package/dist/esm/ma-v2/mav2StaticImpl.js +88 -0
- package/dist/esm/ma-v2/mav2StaticImpl.js.map +1 -0
- package/dist/esm/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.d.ts +556 -0
- package/dist/esm/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.js +716 -0
- package/dist/esm/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.js.map +1 -0
- package/dist/esm/ma-v2/modules/allowlist-module/module.d.ts +593 -0
- package/dist/esm/ma-v2/modules/allowlist-module/module.js +70 -0
- package/dist/esm/ma-v2/modules/allowlist-module/module.js.map +1 -0
- package/dist/esm/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.d.ts +312 -0
- package/dist/esm/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.js +404 -0
- package/dist/esm/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.js.map +1 -0
- package/dist/esm/ma-v2/modules/native-token-limit-module/module.d.ts +322 -0
- package/dist/esm/ma-v2/modules/native-token-limit-module/module.js +14 -0
- package/dist/esm/ma-v2/modules/native-token-limit-module/module.js.map +1 -0
- package/dist/esm/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.d.ts +186 -0
- package/dist/esm/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.js +242 -0
- package/dist/esm/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.js.map +1 -0
- package/dist/esm/ma-v2/modules/paymaster-guard-module/module.d.ts +196 -0
- package/dist/esm/ma-v2/modules/paymaster-guard-module/module.js +25 -0
- package/dist/esm/ma-v2/modules/paymaster-guard-module/module.js.map +1 -0
- package/dist/esm/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.d.ts +45 -0
- package/dist/esm/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.js +331 -0
- package/dist/esm/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.js.map +1 -0
- package/dist/esm/ma-v2/modules/single-signer-validation/module.d.ts +10 -0
- package/dist/esm/ma-v2/modules/single-signer-validation/module.js +16 -0
- package/dist/esm/ma-v2/modules/single-signer-validation/module.js.map +1 -0
- package/dist/esm/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.d.ts +229 -0
- package/dist/esm/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.js +296 -0
- package/dist/esm/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.js.map +1 -0
- package/dist/esm/ma-v2/modules/time-range-module/module.d.ts +254 -0
- package/dist/esm/ma-v2/modules/time-range-module/module.js +62 -0
- package/dist/esm/ma-v2/modules/time-range-module/module.js.map +1 -0
- package/dist/esm/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.d.ts +287 -0
- package/dist/esm/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.js +374 -0
- package/dist/esm/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.js.map +1 -0
- package/dist/esm/ma-v2/modules/webauthn-validation/module.d.ts +11 -0
- package/dist/esm/ma-v2/modules/webauthn-validation/module.js +16 -0
- package/dist/esm/ma-v2/modules/webauthn-validation/module.js.map +1 -0
- package/dist/esm/ma-v2/permissionBuilder.d.ts +158 -0
- package/dist/esm/ma-v2/permissionBuilder.js +557 -0
- package/dist/esm/ma-v2/permissionBuilder.js.map +1 -0
- package/dist/esm/ma-v2/predictAddress.d.ts +37 -0
- package/dist/esm/ma-v2/predictAddress.js +73 -0
- package/dist/esm/ma-v2/predictAddress.js.map +1 -0
- package/dist/esm/ma-v2/types.d.ts +57 -0
- package/dist/esm/ma-v2/types.js +9 -0
- package/dist/esm/ma-v2/types.js.map +1 -0
- package/dist/esm/ma-v2/utils/account.d.ts +85 -0
- package/dist/esm/ma-v2/utils/account.js +96 -0
- package/dist/esm/ma-v2/utils/account.js.map +1 -0
- package/dist/esm/ma-v2/utils/deferredActions.d.ts +29 -0
- package/dist/esm/ma-v2/utils/deferredActions.js +38 -0
- package/dist/esm/ma-v2/utils/deferredActions.js.map +1 -0
- package/dist/esm/ma-v2/utils/hooks.d.ts +55 -0
- package/dist/esm/ma-v2/utils/hooks.js +78 -0
- package/dist/esm/ma-v2/utils/hooks.js.map +1 -0
- package/dist/esm/ma-v2/utils/signature.d.ts +63 -0
- package/dist/esm/ma-v2/utils/signature.js +84 -0
- package/dist/esm/ma-v2/utils/signature.js.map +1 -0
- package/dist/esm/test-utils/getAccountAddressViaEntryPoint.d.ts +18 -0
- package/dist/esm/test-utils/getAccountAddressViaEntryPoint.js +31 -0
- package/dist/esm/test-utils/getAccountAddressViaEntryPoint.js.map +1 -0
- package/dist/esm/types.d.ts +30 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils.d.ts +6 -0
- package/dist/esm/utils.js +52 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/esm/version.d.ts +1 -0
- package/dist/esm/version.js +4 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/types/errors/EntityIdOverrideError.d.ts +12 -0
- package/dist/types/errors/EntityIdOverrideError.d.ts.map +1 -0
- package/dist/types/errors/InvalidDeferredActionNonceError.d.ts +12 -0
- package/dist/types/errors/InvalidDeferredActionNonceError.d.ts.map +1 -0
- package/dist/types/errors/InvalidEntityIdError.d.ts +14 -0
- package/dist/types/errors/InvalidEntityIdError.d.ts.map +1 -0
- package/dist/types/errors/InvalidNonceKeyError.d.ts +14 -0
- package/dist/types/errors/InvalidNonceKeyError.d.ts.map +1 -0
- package/dist/types/errors/InvalidOwnerError.d.ts +14 -0
- package/dist/types/errors/InvalidOwnerError.d.ts.map +1 -0
- package/dist/types/errors/permissionBuilderErrors.d.ts +151 -0
- package/dist/types/errors/permissionBuilderErrors.d.ts.map +1 -0
- package/dist/types/index.d.ts +60 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/light-account/abis/LightAccountAbi_v1.d.ts +533 -0
- package/dist/types/light-account/abis/LightAccountAbi_v1.d.ts.map +1 -0
- package/dist/types/light-account/abis/LightAccountAbi_v2.d.ts +492 -0
- package/dist/types/light-account/abis/LightAccountAbi_v2.d.ts.map +1 -0
- package/dist/types/light-account/abis/LightAccountFactoryAbi_v1.d.ts +56 -0
- package/dist/types/light-account/abis/LightAccountFactoryAbi_v1.d.ts.map +1 -0
- package/dist/types/light-account/abis/LightAccountFactoryAbi_v2.d.ts +257 -0
- package/dist/types/light-account/abis/LightAccountFactoryAbi_v2.d.ts.map +1 -0
- package/dist/types/light-account/abis/MultiOwnerLightAccountAbi.d.ts +508 -0
- package/dist/types/light-account/abis/MultiOwnerLightAccountAbi.d.ts.map +1 -0
- package/dist/types/light-account/abis/MultiOwnerLightAccountFactoryAbi.d.ts +287 -0
- package/dist/types/light-account/abis/MultiOwnerLightAccountFactoryAbi.d.ts.map +1 -0
- package/dist/types/light-account/abis/OZ_ERC1967Proxy.d.ts +14 -0
- package/dist/types/light-account/abis/OZ_ERC1967Proxy.d.ts.map +1 -0
- package/dist/types/light-account/accounts/account.d.ts +23 -0
- package/dist/types/light-account/accounts/account.d.ts.map +1 -0
- package/dist/types/light-account/accounts/base.d.ts +29 -0
- package/dist/types/light-account/accounts/base.d.ts.map +1 -0
- package/dist/types/light-account/accounts/calldataCodec.d.ts +4 -0
- package/dist/types/light-account/accounts/calldataCodec.d.ts.map +1 -0
- package/dist/types/light-account/accounts/multi-owner-account.d.ts +21 -0
- package/dist/types/light-account/accounts/multi-owner-account.d.ts.map +1 -0
- package/dist/types/light-account/decorators/multiOwner.d.ts +18 -0
- package/dist/types/light-account/decorators/multiOwner.d.ts.map +1 -0
- package/dist/types/light-account/decorators/singleOwner.d.ts +17 -0
- package/dist/types/light-account/decorators/singleOwner.d.ts.map +1 -0
- package/dist/types/light-account/lightAccountStaticImpl.d.ts +25 -0
- package/dist/types/light-account/lightAccountStaticImpl.d.ts.map +1 -0
- package/dist/types/light-account/predictAddress.d.ts +36 -0
- package/dist/types/light-account/predictAddress.d.ts.map +1 -0
- package/dist/types/light-account/registry.d.ts +7116 -0
- package/dist/types/light-account/registry.d.ts.map +1 -0
- package/dist/types/light-account/utils.d.ts +1455 -0
- package/dist/types/light-account/utils.d.ts.map +1 -0
- package/dist/types/logger.d.ts +3 -0
- package/dist/types/logger.d.ts.map +1 -0
- package/dist/types/ma-v1/abis/IStandardExecutor.d.ts +51 -0
- package/dist/types/ma-v1/abis/IStandardExecutor.d.ts.map +1 -0
- package/dist/types/ma-v1/abis/MultiOwnerModularAccountFactory.d.ts +235 -0
- package/dist/types/ma-v1/abis/MultiOwnerModularAccountFactory.d.ts.map +1 -0
- package/dist/types/ma-v1/abis/MultiOwnerPlugin.d.ts +699 -0
- package/dist/types/ma-v1/abis/MultiOwnerPlugin.d.ts.map +1 -0
- package/dist/types/ma-v1/abis/MultiOwnerPluginExecutionFunction.d.ts +68 -0
- package/dist/types/ma-v1/abis/MultiOwnerPluginExecutionFunction.d.ts.map +1 -0
- package/dist/types/ma-v1/abis/UpgradeableModularAccount.d.ts +881 -0
- package/dist/types/ma-v1/abis/UpgradeableModularAccount.d.ts.map +1 -0
- package/dist/types/ma-v1/account.d.ts +17 -0
- package/dist/types/ma-v1/account.d.ts.map +1 -0
- package/dist/types/ma-v1/accounts/base.d.ts +30 -0
- package/dist/types/ma-v1/accounts/base.d.ts.map +1 -0
- package/dist/types/ma-v1/accounts/multi-owner-account.d.ts +23 -0
- package/dist/types/ma-v1/accounts/multi-owner-account.d.ts.map +1 -0
- package/dist/types/ma-v1/decorators/multiOwner.d.ts +18 -0
- package/dist/types/ma-v1/decorators/multiOwner.d.ts.map +1 -0
- package/dist/types/ma-v1/mav1StaticImpl.d.ts +16 -0
- package/dist/types/ma-v1/mav1StaticImpl.d.ts.map +1 -0
- package/dist/types/ma-v1/predictAddress.d.ts +29 -0
- package/dist/types/ma-v1/predictAddress.d.ts.map +1 -0
- package/dist/types/ma-v2/abis/accountFactoryAbi.d.ts +349 -0
- package/dist/types/ma-v2/abis/accountFactoryAbi.d.ts.map +1 -0
- package/dist/types/ma-v2/abis/entityIdAndNonceReader.d.ts +10 -0
- package/dist/types/ma-v2/abis/entityIdAndNonceReader.d.ts.map +1 -0
- package/dist/types/ma-v2/abis/modularAccountAbi.d.ts +955 -0
- package/dist/types/ma-v2/abis/modularAccountAbi.d.ts.map +1 -0
- package/dist/types/ma-v2/abis/semiModularAccountBytecodeAbi.d.ts +992 -0
- package/dist/types/ma-v2/abis/semiModularAccountBytecodeAbi.d.ts.map +1 -0
- package/dist/types/ma-v2/abis/semiModularAccountStorageAbi.d.ts +1002 -0
- package/dist/types/ma-v2/abis/semiModularAccountStorageAbi.d.ts.map +1 -0
- package/dist/types/ma-v2/abis/webAuthnFactoryAbi.d.ts +331 -0
- package/dist/types/ma-v2/abis/webAuthnFactoryAbi.d.ts.map +1 -0
- package/dist/types/ma-v2/accounts/account.d.ts +33 -0
- package/dist/types/ma-v2/accounts/account.d.ts.map +1 -0
- package/dist/types/ma-v2/accounts/base.d.ts +41 -0
- package/dist/types/ma-v2/accounts/base.d.ts.map +1 -0
- package/dist/types/ma-v2/decorators/deferralActions.d.ts +52 -0
- package/dist/types/ma-v2/decorators/deferralActions.d.ts.map +1 -0
- package/dist/types/ma-v2/decorators/installValidation.d.ts +72 -0
- package/dist/types/ma-v2/decorators/installValidation.d.ts.map +1 -0
- package/dist/types/ma-v2/mav2StaticImpl.d.ts +38 -0
- package/dist/types/ma-v2/mav2StaticImpl.d.ts.map +1 -0
- package/dist/types/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.d.ts +557 -0
- package/dist/types/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.d.ts.map +1 -0
- package/dist/types/ma-v2/modules/allowlist-module/module.d.ts +594 -0
- package/dist/types/ma-v2/modules/allowlist-module/module.d.ts.map +1 -0
- package/dist/types/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.d.ts +313 -0
- package/dist/types/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.d.ts.map +1 -0
- package/dist/types/ma-v2/modules/native-token-limit-module/module.d.ts +323 -0
- package/dist/types/ma-v2/modules/native-token-limit-module/module.d.ts.map +1 -0
- package/dist/types/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.d.ts +187 -0
- package/dist/types/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.d.ts.map +1 -0
- package/dist/types/ma-v2/modules/paymaster-guard-module/module.d.ts +197 -0
- package/dist/types/ma-v2/modules/paymaster-guard-module/module.d.ts.map +1 -0
- package/dist/types/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.d.ts +46 -0
- package/dist/types/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.d.ts.map +1 -0
- package/dist/types/ma-v2/modules/single-signer-validation/module.d.ts +11 -0
- package/dist/types/ma-v2/modules/single-signer-validation/module.d.ts.map +1 -0
- package/dist/types/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.d.ts +230 -0
- package/dist/types/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.d.ts.map +1 -0
- package/dist/types/ma-v2/modules/time-range-module/module.d.ts +255 -0
- package/dist/types/ma-v2/modules/time-range-module/module.d.ts.map +1 -0
- package/dist/types/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.d.ts +288 -0
- package/dist/types/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.d.ts.map +1 -0
- package/dist/types/ma-v2/modules/webauthn-validation/module.d.ts +12 -0
- package/dist/types/ma-v2/modules/webauthn-validation/module.d.ts.map +1 -0
- package/dist/types/ma-v2/permissionBuilder.d.ts +159 -0
- package/dist/types/ma-v2/permissionBuilder.d.ts.map +1 -0
- package/dist/types/ma-v2/predictAddress.d.ts +38 -0
- package/dist/types/ma-v2/predictAddress.d.ts.map +1 -0
- package/dist/types/ma-v2/types.d.ts +58 -0
- package/dist/types/ma-v2/types.d.ts.map +1 -0
- package/dist/types/ma-v2/utils/account.d.ts +86 -0
- package/dist/types/ma-v2/utils/account.d.ts.map +1 -0
- package/dist/types/ma-v2/utils/deferredActions.d.ts +30 -0
- package/dist/types/ma-v2/utils/deferredActions.d.ts.map +1 -0
- package/dist/types/ma-v2/utils/hooks.d.ts +56 -0
- package/dist/types/ma-v2/utils/hooks.d.ts.map +1 -0
- package/dist/types/ma-v2/utils/signature.d.ts +64 -0
- package/dist/types/ma-v2/utils/signature.d.ts.map +1 -0
- package/dist/types/test-utils/getAccountAddressViaEntryPoint.d.ts +19 -0
- package/dist/types/test-utils/getAccountAddressViaEntryPoint.d.ts.map +1 -0
- package/dist/types/types.d.ts +31 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/utils.d.ts +7 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/dist/types/version.d.ts +2 -0
- package/dist/types/version.d.ts.map +1 -0
- package/package.json +63 -0
- package/src/errors/EntityIdOverrideError.ts +15 -0
- package/src/errors/InvalidDeferredActionNonceError.ts +15 -0
- package/src/errors/InvalidEntityIdError.ts +19 -0
- package/src/errors/InvalidNonceKeyError.ts +19 -0
- package/src/errors/InvalidOwnerError.ts +17 -0
- package/src/errors/permissionBuilderErrors.ts +212 -0
- package/src/index.ts +152 -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/abis/OZ_ERC1967Proxy.ts +19 -0
- package/src/light-account/accounts/account.ts +154 -0
- package/src/light-account/accounts/base.ts +340 -0
- package/src/light-account/accounts/calldataCodec.ts +101 -0
- package/src/light-account/accounts/multi-owner-account.ts +138 -0
- package/src/light-account/decorators/multiOwner.ts +69 -0
- package/src/light-account/decorators/singleOwner.ts +61 -0
- package/src/light-account/lightAccountStaticImpl.ts +172 -0
- package/src/light-account/predictAddress.ts +174 -0
- package/src/light-account/registry.ts +72 -0
- package/src/light-account/utils.ts +95 -0
- package/src/logger.ts +9 -0
- package/src/ma-v1/abis/IStandardExecutor.ts +31 -0
- package/src/ma-v1/abis/MultiOwnerModularAccountFactory.ts +190 -0
- package/src/ma-v1/abis/MultiOwnerPlugin.ts +528 -0
- package/src/ma-v1/abis/MultiOwnerPluginExecutionFunction.ts +37 -0
- package/src/ma-v1/abis/UpgradeableModularAccount.ts +645 -0
- package/src/ma-v1/account.ts +19 -0
- package/src/ma-v1/accounts/base.ts +245 -0
- package/src/ma-v1/accounts/multi-owner-account.ts +162 -0
- package/src/ma-v1/decorators/multiOwner.ts +69 -0
- package/src/ma-v1/mav1StaticImpl.ts +53 -0
- package/src/ma-v1/predictAddress.ts +85 -0
- package/src/ma-v2/abis/accountFactoryAbi.ts +644 -0
- package/src/ma-v2/abis/entityIdAndNonceReader.ts +23 -0
- package/src/ma-v2/abis/modularAccountAbi.ts +1241 -0
- package/src/ma-v2/abis/semiModularAccountBytecodeAbi.ts +1288 -0
- package/src/ma-v2/abis/semiModularAccountStorageAbi.ts +1301 -0
- package/src/ma-v2/abis/webAuthnFactoryAbi.ts +259 -0
- package/src/ma-v2/accounts/account.ts +211 -0
- package/src/ma-v2/accounts/base.ts +569 -0
- package/src/ma-v2/decorators/deferralActions.ts +193 -0
- package/src/ma-v2/decorators/installValidation.ts +257 -0
- package/src/ma-v2/mav2StaticImpl.ts +134 -0
- package/src/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.ts +715 -0
- package/src/ma-v2/modules/allowlist-module/module.ts +116 -0
- package/src/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.ts +403 -0
- package/src/ma-v2/modules/native-token-limit-module/module.ts +21 -0
- package/src/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.ts +241 -0
- package/src/ma-v2/modules/paymaster-guard-module/module.ts +35 -0
- package/src/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.ts +330 -0
- package/src/ma-v2/modules/single-signer-validation/module.ts +24 -0
- package/src/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.ts +295 -0
- package/src/ma-v2/modules/time-range-module/module.ts +96 -0
- package/src/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.ts +373 -0
- package/src/ma-v2/modules/webauthn-validation/module.ts +28 -0
- package/src/ma-v2/permissionBuilder.ts +761 -0
- package/src/ma-v2/predictAddress.ts +149 -0
- package/src/ma-v2/types.ts +73 -0
- package/src/ma-v2/utils/account.ts +137 -0
- package/src/ma-v2/utils/deferredActions.ts +66 -0
- package/src/ma-v2/utils/hooks.ts +79 -0
- package/src/ma-v2/utils/signature.ts +129 -0
- package/src/test-utils/getAccountAddressViaEntryPoint.ts +43 -0
- package/src/types.ts +58 -0
- package/src/utils.ts +85 -0
- package/src/version.ts +3 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 Alchemy Insights, Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseError } from "@alchemy/common";
|
|
2
|
+
/**
|
|
3
|
+
* Error class denoting that the provided entity id is invalid because it's overriding the native entity id.
|
|
4
|
+
*/
|
|
5
|
+
export declare class EntityIdOverrideError extends BaseError {
|
|
6
|
+
name: string;
|
|
7
|
+
/**
|
|
8
|
+
* Initializes a new instance of the error message with a default message indicating that the nonce key is invalid.
|
|
9
|
+
*/
|
|
10
|
+
constructor();
|
|
11
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseError } from "@alchemy/common";
|
|
2
|
+
/**
|
|
3
|
+
* Error class denoting that the provided entity id is invalid because it's overriding the native entity id.
|
|
4
|
+
*/
|
|
5
|
+
export class EntityIdOverrideError extends BaseError {
|
|
6
|
+
/**
|
|
7
|
+
* Initializes a new instance of the error message with a default message indicating that the nonce key is invalid.
|
|
8
|
+
*/
|
|
9
|
+
constructor() {
|
|
10
|
+
super(`EntityId of 0 is reserved for the owner and cannot be used`);
|
|
11
|
+
Object.defineProperty(this, "name", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
configurable: true,
|
|
14
|
+
writable: true,
|
|
15
|
+
value: "EntityIdOverrideError"
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=EntityIdOverrideError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityIdOverrideError.js","sourceRoot":"","sources":["../../../src/errors/EntityIdOverrideError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,SAAS;IAGlD;;OAEG;IACH;QACE,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAN7D;;;;mBAAO,uBAAuB;WAAC;IAOxC,CAAC;CACF","sourcesContent":["import { BaseError } from \"@alchemy/common\";\n\n/**\n * Error class denoting that the provided entity id is invalid because it's overriding the native entity id.\n */\nexport class EntityIdOverrideError extends BaseError {\n override name = \"EntityIdOverrideError\";\n\n /**\n * Initializes a new instance of the error message with a default message indicating that the nonce key is invalid.\n */\n constructor() {\n super(`EntityId of 0 is reserved for the owner and cannot be used`);\n }\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseError } from "@alchemy/common";
|
|
2
|
+
/**
|
|
3
|
+
* Error class denoting that the deferred action nonce used is invalid.
|
|
4
|
+
*/
|
|
5
|
+
export declare class InvalidDeferredActionNonceError extends BaseError {
|
|
6
|
+
name: string;
|
|
7
|
+
/**
|
|
8
|
+
* Initializes a new instance of the error message with a default message indicating that the provided deferred action nonce is invalid.
|
|
9
|
+
*/
|
|
10
|
+
constructor();
|
|
11
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseError } from "@alchemy/common";
|
|
2
|
+
/**
|
|
3
|
+
* Error class denoting that the deferred action nonce used is invalid.
|
|
4
|
+
*/
|
|
5
|
+
export class InvalidDeferredActionNonceError extends BaseError {
|
|
6
|
+
/**
|
|
7
|
+
* Initializes a new instance of the error message with a default message indicating that the provided deferred action nonce is invalid.
|
|
8
|
+
*/
|
|
9
|
+
constructor() {
|
|
10
|
+
super(`The provided deferred action nonce is invalid`);
|
|
11
|
+
Object.defineProperty(this, "name", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
configurable: true,
|
|
14
|
+
writable: true,
|
|
15
|
+
value: "InvalidDeferredActionNonce"
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=InvalidDeferredActionNonceError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InvalidDeferredActionNonceError.js","sourceRoot":"","sources":["../../../src/errors/InvalidDeferredActionNonceError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,+BAAgC,SAAQ,SAAS;IAG5D;;OAEG;IACH;QACE,KAAK,CAAC,+CAA+C,CAAC,CAAC;QANhD;;;;mBAAO,4BAA4B;WAAC;IAO7C,CAAC;CACF","sourcesContent":["import { BaseError } from \"@alchemy/common\";\n\n/**\n * Error class denoting that the deferred action nonce used is invalid.\n */\nexport class InvalidDeferredActionNonceError extends BaseError {\n override name = \"InvalidDeferredActionNonce\";\n\n /**\n * Initializes a new instance of the error message with a default message indicating that the provided deferred action nonce is invalid.\n */\n constructor() {\n super(`The provided deferred action nonce is invalid`);\n }\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseError } from "@alchemy/common";
|
|
2
|
+
/**
|
|
3
|
+
* Error class denoting that the provided entity id is invalid because it's too large.
|
|
4
|
+
*/
|
|
5
|
+
export declare class InvalidEntityIdError extends BaseError {
|
|
6
|
+
name: string;
|
|
7
|
+
/**
|
|
8
|
+
* Initializes a new instance of the error message with a default message indicating that the entity id is invalid because it's too large.
|
|
9
|
+
*
|
|
10
|
+
* @param {number} entityId the invalid entityId used
|
|
11
|
+
*/
|
|
12
|
+
constructor(entityId: number);
|
|
13
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseError } from "@alchemy/common";
|
|
2
|
+
/**
|
|
3
|
+
* Error class denoting that the provided entity id is invalid because it's too large.
|
|
4
|
+
*/
|
|
5
|
+
export class InvalidEntityIdError extends BaseError {
|
|
6
|
+
/**
|
|
7
|
+
* Initializes a new instance of the error message with a default message indicating that the entity id is invalid because it's too large.
|
|
8
|
+
*
|
|
9
|
+
* @param {number} entityId the invalid entityId used
|
|
10
|
+
*/
|
|
11
|
+
constructor(entityId) {
|
|
12
|
+
super(`Entity ID used is ${entityId}, but must be less than or equal to uint32.max`);
|
|
13
|
+
Object.defineProperty(this, "name", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
configurable: true,
|
|
16
|
+
writable: true,
|
|
17
|
+
value: "InvalidEntityIdError"
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=InvalidEntityIdError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InvalidEntityIdError.js","sourceRoot":"","sources":["../../../src/errors/InvalidEntityIdError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,SAAS;IAGjD;;;;OAIG;IACH,YAAY,QAAgB;QAC1B,KAAK,CACH,qBAAqB,QAAQ,gDAAgD,CAC9E,CAAC;QAVK;;;;mBAAO,sBAAsB;WAAC;IAWvC,CAAC;CACF","sourcesContent":["import { BaseError } from \"@alchemy/common\";\n\n/**\n * Error class denoting that the provided entity id is invalid because it's too large.\n */\nexport class InvalidEntityIdError extends BaseError {\n override name = \"InvalidEntityIdError\";\n\n /**\n * Initializes a new instance of the error message with a default message indicating that the entity id is invalid because it's too large.\n *\n * @param {number} entityId the invalid entityId used\n */\n constructor(entityId: number) {\n super(\n `Entity ID used is ${entityId}, but must be less than or equal to uint32.max`,\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseError } from "@alchemy/common";
|
|
2
|
+
/**
|
|
3
|
+
* Error class denoting that the nonce key is invalid because its too large.
|
|
4
|
+
*/
|
|
5
|
+
export declare class InvalidNonceKeyError extends BaseError {
|
|
6
|
+
name: string;
|
|
7
|
+
/**
|
|
8
|
+
* Initializes a new instance of the error message with a default message indicating that the nonce key is invalid.
|
|
9
|
+
*
|
|
10
|
+
* @param {bigint} nonceKey the invalid nonceKey used
|
|
11
|
+
*/
|
|
12
|
+
constructor(nonceKey: bigint);
|
|
13
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseError } from "@alchemy/common";
|
|
2
|
+
/**
|
|
3
|
+
* Error class denoting that the nonce key is invalid because its too large.
|
|
4
|
+
*/
|
|
5
|
+
export class InvalidNonceKeyError extends BaseError {
|
|
6
|
+
/**
|
|
7
|
+
* Initializes a new instance of the error message with a default message indicating that the nonce key is invalid.
|
|
8
|
+
*
|
|
9
|
+
* @param {bigint} nonceKey the invalid nonceKey used
|
|
10
|
+
*/
|
|
11
|
+
constructor(nonceKey) {
|
|
12
|
+
super(`Nonce key is ${nonceKey} but has to be less than or equal to 2**152`);
|
|
13
|
+
Object.defineProperty(this, "name", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
configurable: true,
|
|
16
|
+
writable: true,
|
|
17
|
+
value: "InvalidNonceKeyError"
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=InvalidNonceKeyError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InvalidNonceKeyError.js","sourceRoot":"","sources":["../../../src/errors/InvalidNonceKeyError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,SAAS;IAGjD;;;;OAIG;IACH,YAAY,QAAgB;QAC1B,KAAK,CACH,gBAAgB,QAAQ,6CAA6C,CACtE,CAAC;QAVK;;;;mBAAO,sBAAsB;WAAC;IAWvC,CAAC;CACF","sourcesContent":["import { BaseError } from \"@alchemy/common\";\n\n/**\n * Error class denoting that the nonce key is invalid because its too large.\n */\nexport class InvalidNonceKeyError extends BaseError {\n override name = \"InvalidNonceKeyError\";\n\n /**\n * Initializes a new instance of the error message with a default message indicating that the nonce key is invalid.\n *\n * @param {bigint} nonceKey the invalid nonceKey used\n */\n constructor(nonceKey: bigint) {\n super(\n `Nonce key is ${nonceKey} but has to be less than or equal to 2**152`,\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseError } from "@alchemy/common";
|
|
2
|
+
/**
|
|
3
|
+
* Error class denoting that the owner for an account is invalid
|
|
4
|
+
*/
|
|
5
|
+
export declare class InvalidOwnerError extends BaseError {
|
|
6
|
+
name: string;
|
|
7
|
+
/**
|
|
8
|
+
* Initializes a new instance of the error message with a default message indicating that the owner is invalid
|
|
9
|
+
*
|
|
10
|
+
* @param {string} reason the reason the owner is invalid
|
|
11
|
+
*/
|
|
12
|
+
constructor(reason: string);
|
|
13
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseError } from "@alchemy/common";
|
|
2
|
+
/**
|
|
3
|
+
* Error class denoting that the owner for an account is invalid
|
|
4
|
+
*/
|
|
5
|
+
export class InvalidOwnerError extends BaseError {
|
|
6
|
+
/**
|
|
7
|
+
* Initializes a new instance of the error message with a default message indicating that the owner is invalid
|
|
8
|
+
*
|
|
9
|
+
* @param {string} reason the reason the owner is invalid
|
|
10
|
+
*/
|
|
11
|
+
constructor(reason) {
|
|
12
|
+
super(`Owner is invalid (${reason}).`);
|
|
13
|
+
Object.defineProperty(this, "name", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
configurable: true,
|
|
16
|
+
writable: true,
|
|
17
|
+
value: "InvalidOwnerError"
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=InvalidOwnerError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InvalidOwnerError.js","sourceRoot":"","sources":["../../../src/errors/InvalidOwnerError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IAG9C;;;;OAIG;IACH,YAAY,MAAc;QACxB,KAAK,CAAC,qBAAqB,MAAM,IAAI,CAAC,CAAC;QARhC;;;;mBAAO,mBAAmB;WAAC;IASpC,CAAC;CACF","sourcesContent":["import { BaseError } from \"@alchemy/common\";\n\n/**\n * Error class denoting that the owner for an account is invalid\n */\nexport class InvalidOwnerError extends BaseError {\n override name = \"InvalidOwnerError\";\n\n /**\n * Initializes a new instance of the error message with a default message indicating that the owner is invalid\n *\n * @param {string} reason the reason the owner is invalid\n */\n constructor(reason: string) {\n super(`Owner is invalid (${reason}).`);\n }\n}\n"]}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { BaseError } from "@alchemy/common";
|
|
2
|
+
import type { Permission } from "../ma-v2/permissionBuilder.js";
|
|
3
|
+
import type { Address } from "viem";
|
|
4
|
+
/**
|
|
5
|
+
* Abstract class representing a Permission Builder Error, subclassed by all permission builder errors.
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class PermissionBuilderError extends BaseError {
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Error class for when a root permission is added to a permission builder.
|
|
11
|
+
*/
|
|
12
|
+
export declare class RootPermissionOnlyError extends PermissionBuilderError {
|
|
13
|
+
name: string;
|
|
14
|
+
/**
|
|
15
|
+
* Constructor for initializing an error message indicating that the root permission cannot be combined with other permissions.
|
|
16
|
+
*
|
|
17
|
+
* @param {Permission} permission The permission trying to be added atop the root permission
|
|
18
|
+
*/
|
|
19
|
+
constructor(permission: Permission);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Error class for when an account address is used as target.
|
|
23
|
+
*/
|
|
24
|
+
export declare class AccountAddressAsTargetError extends PermissionBuilderError {
|
|
25
|
+
name: string;
|
|
26
|
+
/**
|
|
27
|
+
* Constructor for initializing an error message indicating that account address is used as target.
|
|
28
|
+
*
|
|
29
|
+
* @param {Permission} permission The permission with account address as target
|
|
30
|
+
*/
|
|
31
|
+
constructor(permission: Permission);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Error class for when a duplicate target address is added to a permission builder.
|
|
35
|
+
*/
|
|
36
|
+
export declare class DuplicateTargetAddressError extends PermissionBuilderError {
|
|
37
|
+
name: string;
|
|
38
|
+
/**
|
|
39
|
+
* Constructor for initializing an error message indicating duplicate target address in permissions.
|
|
40
|
+
*
|
|
41
|
+
* @param {Permission} permission The permission with duplicate target address
|
|
42
|
+
* @param {Address} targetAddress The duplicate target address
|
|
43
|
+
*/
|
|
44
|
+
constructor(permission: Permission, targetAddress: Address);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Error class for when no functions are provided to a permission builder.
|
|
48
|
+
*/
|
|
49
|
+
export declare class NoFunctionsProvidedError extends PermissionBuilderError {
|
|
50
|
+
name: string;
|
|
51
|
+
/**
|
|
52
|
+
* Constructor for initializing an error message indicating no functions were provided.
|
|
53
|
+
*
|
|
54
|
+
* @param {Permission} permission The permission missing functions
|
|
55
|
+
*/
|
|
56
|
+
constructor(permission: Permission);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Error class for when a deadline is expired.
|
|
60
|
+
*/
|
|
61
|
+
export declare class ExpiredDeadlineError extends PermissionBuilderError {
|
|
62
|
+
name: string;
|
|
63
|
+
/**
|
|
64
|
+
* Constructor for initializing an error message indicating the deadline has expired.
|
|
65
|
+
*
|
|
66
|
+
* @param {number} deadline The expired deadline timestamp
|
|
67
|
+
* @param {number} currentTime The current timestamp
|
|
68
|
+
*/
|
|
69
|
+
constructor(deadline: number, currentTime: number);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Error class for when a deadline is over the limit.
|
|
73
|
+
*/
|
|
74
|
+
export declare class DeadlineOverLimitError extends PermissionBuilderError {
|
|
75
|
+
name: string;
|
|
76
|
+
/**
|
|
77
|
+
* Constructor for initializing an error message indicating the deadline has expired.
|
|
78
|
+
*
|
|
79
|
+
* @param {number} deadline The expired deadline timestamp
|
|
80
|
+
*/
|
|
81
|
+
constructor(deadline: number);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Error class for when a validation config is unset.
|
|
85
|
+
*/
|
|
86
|
+
export declare class ValidationConfigUnsetError extends PermissionBuilderError {
|
|
87
|
+
name: string;
|
|
88
|
+
/**
|
|
89
|
+
* Constructor for initializing an error message indicating the validation config is unset.
|
|
90
|
+
*/
|
|
91
|
+
constructor();
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Error class for when a multiple native token transfer permission is added to a permission builder.
|
|
95
|
+
*/
|
|
96
|
+
export declare class MultipleNativeTokenTransferError extends PermissionBuilderError {
|
|
97
|
+
name: string;
|
|
98
|
+
/**
|
|
99
|
+
* Constructor for initializing an error message indicating multiple native token transfer permissions.
|
|
100
|
+
*
|
|
101
|
+
* @param {Permission} permission The duplicate native token transfer permission
|
|
102
|
+
*/
|
|
103
|
+
constructor(permission: Permission);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Error class for when a zero address is provided to a permission builder.
|
|
107
|
+
*/
|
|
108
|
+
export declare class ZeroAddressError extends PermissionBuilderError {
|
|
109
|
+
name: string;
|
|
110
|
+
/**
|
|
111
|
+
* Constructor for initializing an error message indicating zero address was provided.
|
|
112
|
+
*
|
|
113
|
+
* @param {Permission} permission The permission with zero address
|
|
114
|
+
*/
|
|
115
|
+
constructor(permission: Permission);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Error class for when a multiple gas limit permission is added to a permission builder.
|
|
119
|
+
*/
|
|
120
|
+
export declare class MultipleGasLimitError extends PermissionBuilderError {
|
|
121
|
+
name: string;
|
|
122
|
+
/**
|
|
123
|
+
* Constructor for initializing an error message indicating multiple gas limit permissions.
|
|
124
|
+
*
|
|
125
|
+
* @param {Permission} permission The duplicate gas limit permission
|
|
126
|
+
*/
|
|
127
|
+
constructor(permission: Permission);
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Error class for when an unsupported permission type is added to a permission builder.
|
|
131
|
+
*/
|
|
132
|
+
export declare class UnsupportedPermissionTypeError extends PermissionBuilderError {
|
|
133
|
+
name: string;
|
|
134
|
+
/**
|
|
135
|
+
* Constructor for initializing an error message indicating an unsupported permission type.
|
|
136
|
+
*/
|
|
137
|
+
constructor();
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Error class for when a selector is not allowed.
|
|
141
|
+
*/
|
|
142
|
+
export declare class SelectorNotAllowed extends PermissionBuilderError {
|
|
143
|
+
name: string;
|
|
144
|
+
/**
|
|
145
|
+
* Constructor for initializing an error message indicating that the selector being added is not allowed.
|
|
146
|
+
*
|
|
147
|
+
* @param {string} functionName The function name of the selector that is being added.
|
|
148
|
+
*/
|
|
149
|
+
constructor(functionName: string);
|
|
150
|
+
}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { BaseError } from "@alchemy/common";
|
|
2
|
+
/**
|
|
3
|
+
* Abstract class representing a Permission Builder Error, subclassed by all permission builder errors.
|
|
4
|
+
*/
|
|
5
|
+
export class PermissionBuilderError extends BaseError {
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Error class for when a root permission is added to a permission builder.
|
|
9
|
+
*/
|
|
10
|
+
export class RootPermissionOnlyError extends PermissionBuilderError {
|
|
11
|
+
/**
|
|
12
|
+
* Constructor for initializing an error message indicating that the root permission cannot be combined with other permissions.
|
|
13
|
+
*
|
|
14
|
+
* @param {Permission} permission The permission trying to be added atop the root permission
|
|
15
|
+
*/
|
|
16
|
+
constructor(permission) {
|
|
17
|
+
super(`Adding ${permission.type}: Cannot add permissions with ROOT permission`);
|
|
18
|
+
Object.defineProperty(this, "name", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
configurable: true,
|
|
21
|
+
writable: true,
|
|
22
|
+
value: "PermissionBuilder: RootPermissionOnlyError"
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Error class for when an account address is used as target.
|
|
28
|
+
*/
|
|
29
|
+
export class AccountAddressAsTargetError extends PermissionBuilderError {
|
|
30
|
+
/**
|
|
31
|
+
* Constructor for initializing an error message indicating that account address is used as target.
|
|
32
|
+
*
|
|
33
|
+
* @param {Permission} permission The permission with account address as target
|
|
34
|
+
*/
|
|
35
|
+
constructor(permission) {
|
|
36
|
+
super(`${permission.type}: Account address as target, use ACCOUNT_FUNCTIONS for account address`);
|
|
37
|
+
Object.defineProperty(this, "name", {
|
|
38
|
+
enumerable: true,
|
|
39
|
+
configurable: true,
|
|
40
|
+
writable: true,
|
|
41
|
+
value: "PermissionBuilder: AccountAddressAsTargetError"
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Error class for when a duplicate target address is added to a permission builder.
|
|
47
|
+
*/
|
|
48
|
+
export class DuplicateTargetAddressError extends PermissionBuilderError {
|
|
49
|
+
/**
|
|
50
|
+
* Constructor for initializing an error message indicating duplicate target address in permissions.
|
|
51
|
+
*
|
|
52
|
+
* @param {Permission} permission The permission with duplicate target address
|
|
53
|
+
* @param {Address} targetAddress The duplicate target address
|
|
54
|
+
*/
|
|
55
|
+
constructor(permission, targetAddress) {
|
|
56
|
+
super(`${permission.type}: Address ${targetAddress} already has a permission. Cannot add multiple CONTRACT_ACCESS or FUNCTIONS_ON_CONTRACT permissions for the same target address.`);
|
|
57
|
+
Object.defineProperty(this, "name", {
|
|
58
|
+
enumerable: true,
|
|
59
|
+
configurable: true,
|
|
60
|
+
writable: true,
|
|
61
|
+
value: "PermissionBuilder: DuplicateTargetAddressError"
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Error class for when no functions are provided to a permission builder.
|
|
67
|
+
*/
|
|
68
|
+
export class NoFunctionsProvidedError extends PermissionBuilderError {
|
|
69
|
+
/**
|
|
70
|
+
* Constructor for initializing an error message indicating no functions were provided.
|
|
71
|
+
*
|
|
72
|
+
* @param {Permission} permission The permission missing functions
|
|
73
|
+
*/
|
|
74
|
+
constructor(permission) {
|
|
75
|
+
super(`${permission.type}: No functions provided`);
|
|
76
|
+
Object.defineProperty(this, "name", {
|
|
77
|
+
enumerable: true,
|
|
78
|
+
configurable: true,
|
|
79
|
+
writable: true,
|
|
80
|
+
value: "PermissionBuilder: NoFunctionsProvidedError"
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Error class for when a deadline is expired.
|
|
86
|
+
*/
|
|
87
|
+
export class ExpiredDeadlineError extends PermissionBuilderError {
|
|
88
|
+
/**
|
|
89
|
+
* Constructor for initializing an error message indicating the deadline has expired.
|
|
90
|
+
*
|
|
91
|
+
* @param {number} deadline The expired deadline timestamp
|
|
92
|
+
* @param {number} currentTime The current timestamp
|
|
93
|
+
*/
|
|
94
|
+
constructor(deadline, currentTime) {
|
|
95
|
+
super(`compileDeferred(): deadline ${deadline} cannot be before now (${currentTime})`);
|
|
96
|
+
Object.defineProperty(this, "name", {
|
|
97
|
+
enumerable: true,
|
|
98
|
+
configurable: true,
|
|
99
|
+
writable: true,
|
|
100
|
+
value: "PermissionBuilder: ExpiredDeadlineError"
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Error class for when a deadline is over the limit.
|
|
106
|
+
*/
|
|
107
|
+
export class DeadlineOverLimitError extends PermissionBuilderError {
|
|
108
|
+
/**
|
|
109
|
+
* Constructor for initializing an error message indicating the deadline has expired.
|
|
110
|
+
*
|
|
111
|
+
* @param {number} deadline The expired deadline timestamp
|
|
112
|
+
*/
|
|
113
|
+
constructor(deadline) {
|
|
114
|
+
super(`compileDeferred(): deadline ${deadline} cannot be > max uint48 (2^48 - 1)`);
|
|
115
|
+
Object.defineProperty(this, "name", {
|
|
116
|
+
enumerable: true,
|
|
117
|
+
configurable: true,
|
|
118
|
+
writable: true,
|
|
119
|
+
value: "PermissionBuilder: DeadlineOverLimitError"
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Error class for when a validation config is unset.
|
|
125
|
+
*/
|
|
126
|
+
export class ValidationConfigUnsetError extends PermissionBuilderError {
|
|
127
|
+
/**
|
|
128
|
+
* Constructor for initializing an error message indicating the validation config is unset.
|
|
129
|
+
*/
|
|
130
|
+
constructor() {
|
|
131
|
+
super("Missing permission among: functions on contract, functions on all contracts, account functions, contract access, or erc20 token transfer");
|
|
132
|
+
Object.defineProperty(this, "name", {
|
|
133
|
+
enumerable: true,
|
|
134
|
+
configurable: true,
|
|
135
|
+
writable: true,
|
|
136
|
+
value: "PermissionBuilder: ValidationConfigUnsetError"
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Error class for when a multiple native token transfer permission is added to a permission builder.
|
|
142
|
+
*/
|
|
143
|
+
export class MultipleNativeTokenTransferError extends PermissionBuilderError {
|
|
144
|
+
/**
|
|
145
|
+
* Constructor for initializing an error message indicating multiple native token transfer permissions.
|
|
146
|
+
*
|
|
147
|
+
* @param {Permission} permission The duplicate native token transfer permission
|
|
148
|
+
*/
|
|
149
|
+
constructor(permission) {
|
|
150
|
+
super(`${permission.type}: Must have at most ONE native token transfer permission`);
|
|
151
|
+
Object.defineProperty(this, "name", {
|
|
152
|
+
enumerable: true,
|
|
153
|
+
configurable: true,
|
|
154
|
+
writable: true,
|
|
155
|
+
value: "PermissionBuilder: MultipleNativeTokenTransferError"
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Error class for when a zero address is provided to a permission builder.
|
|
161
|
+
*/
|
|
162
|
+
export class ZeroAddressError extends PermissionBuilderError {
|
|
163
|
+
/**
|
|
164
|
+
* Constructor for initializing an error message indicating zero address was provided.
|
|
165
|
+
*
|
|
166
|
+
* @param {Permission} permission The permission with zero address
|
|
167
|
+
*/
|
|
168
|
+
constructor(permission) {
|
|
169
|
+
super(`${permission.type}: Zero address provided`);
|
|
170
|
+
Object.defineProperty(this, "name", {
|
|
171
|
+
enumerable: true,
|
|
172
|
+
configurable: true,
|
|
173
|
+
writable: true,
|
|
174
|
+
value: "PermissionBuilder: ZeroAddressError"
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Error class for when a multiple gas limit permission is added to a permission builder.
|
|
180
|
+
*/
|
|
181
|
+
export class MultipleGasLimitError extends PermissionBuilderError {
|
|
182
|
+
/**
|
|
183
|
+
* Constructor for initializing an error message indicating multiple gas limit permissions.
|
|
184
|
+
*
|
|
185
|
+
* @param {Permission} permission The duplicate gas limit permission
|
|
186
|
+
*/
|
|
187
|
+
constructor(permission) {
|
|
188
|
+
super(`${permission.type}: Must have at most ONE gas limit permission`);
|
|
189
|
+
Object.defineProperty(this, "name", {
|
|
190
|
+
enumerable: true,
|
|
191
|
+
configurable: true,
|
|
192
|
+
writable: true,
|
|
193
|
+
value: "PermissionBuilder: MultipleGasLimitError"
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Error class for when an unsupported permission type is added to a permission builder.
|
|
199
|
+
*/
|
|
200
|
+
export class UnsupportedPermissionTypeError extends PermissionBuilderError {
|
|
201
|
+
/**
|
|
202
|
+
* Constructor for initializing an error message indicating an unsupported permission type.
|
|
203
|
+
*/
|
|
204
|
+
constructor() {
|
|
205
|
+
super(`Unsupported permission type`);
|
|
206
|
+
Object.defineProperty(this, "name", {
|
|
207
|
+
enumerable: true,
|
|
208
|
+
configurable: true,
|
|
209
|
+
writable: true,
|
|
210
|
+
value: "PermissionBuilder: UnsupportedPermissionTypeError"
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Error class for when a selector is not allowed.
|
|
216
|
+
*/
|
|
217
|
+
export class SelectorNotAllowed extends PermissionBuilderError {
|
|
218
|
+
/**
|
|
219
|
+
* Constructor for initializing an error message indicating that the selector being added is not allowed.
|
|
220
|
+
*
|
|
221
|
+
* @param {string} functionName The function name of the selector that is being added.
|
|
222
|
+
*/
|
|
223
|
+
constructor(functionName) {
|
|
224
|
+
super(`Cannot add ${functionName} on the account`);
|
|
225
|
+
Object.defineProperty(this, "name", {
|
|
226
|
+
enumerable: true,
|
|
227
|
+
configurable: true,
|
|
228
|
+
writable: true,
|
|
229
|
+
value: "SelectorNotAllowed"
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=permissionBuilderErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissionBuilderErrors.js","sourceRoot":"","sources":["../../../src/errors/permissionBuilderErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C;;GAEG;AACH,MAAM,OAAgB,sBAAuB,SAAQ,SAAS;CAAG;AAEjE;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,sBAAsB;IAGjE;;;;OAIG;IACH,YAAY,UAAsB;QAChC,KAAK,CACH,UAAU,UAAU,CAAC,IAAI,+CAA+C,CACzE,CAAC;QAVK;;;;mBAAO,4CAA4C;WAAC;IAW7D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,sBAAsB;IAGrE;;;;OAIG;IACH,YAAY,UAAsB;QAChC,KAAK,CACH,GAAG,UAAU,CAAC,IAAI,wEAAwE,CAC3F,CAAC;QAVK;;;;mBAAO,gDAAgD;WAAC;IAWjE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,sBAAsB;IAGrE;;;;;OAKG;IACH,YAAY,UAAsB,EAAE,aAAsB;QACxD,KAAK,CACH,GAAG,UAAU,CAAC,IAAI,aAAa,aAAa,kIAAkI,CAC/K,CAAC;QAXK;;;;mBAAO,gDAAgD;WAAC;IAYjE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,wBAAyB,SAAQ,sBAAsB;IAGlE;;;;OAIG;IACH,YAAY,UAAsB;QAChC,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI,yBAAyB,CAAC,CAAC;QAR5C;;;;mBAAO,6CAA6C;WAAC;IAS9D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,sBAAsB;IAG9D;;;;;OAKG;IACH,YAAY,QAAgB,EAAE,WAAmB;QAC/C,KAAK,CACH,+BAA+B,QAAQ,0BAA0B,WAAW,GAAG,CAChF,CAAC;QAXK;;;;mBAAO,yCAAyC;WAAC;IAY1D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,sBAAsB;IAGhE;;;;OAIG;IACH,YAAY,QAAgB;QAC1B,KAAK,CACH,+BAA+B,QAAQ,oCAAoC,CAC5E,CAAC;QAVK;;;;mBAAO,2CAA2C;WAAC;IAW5D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,sBAAsB;IAGpE;;OAEG;IACH;QACE,KAAK,CACH,0IAA0I,CAC3I,CAAC;QARK;;;;mBAAO,+CAA+C;WAAC;IAShE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gCAAiC,SAAQ,sBAAsB;IAG1E;;;;OAIG;IACH,YAAY,UAAsB;QAChC,KAAK,CACH,GAAG,UAAU,CAAC,IAAI,0DAA0D,CAC7E,CAAC;QAVK;;;;mBAAO,qDAAqD;WAAC;IAWtE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,sBAAsB;IAG1D;;;;OAIG;IACH,YAAY,UAAsB;QAChC,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI,yBAAyB,CAAC,CAAC;QAR5C;;;;mBAAO,qCAAqC;WAAC;IAStD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,sBAAsB;IAG/D;;;;OAIG;IACH,YAAY,UAAsB;QAChC,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI,8CAA8C,CAAC,CAAC;QARjE;;;;mBAAO,0CAA0C;WAAC;IAS3D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,8BAA+B,SAAQ,sBAAsB;IAGxE;;OAEG;IACH;QACE,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAN9B;;;;mBAAO,mDAAmD;WAAC;IAOpE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,sBAAsB;IAG5D;;;;OAIG;IACH,YAAY,YAAoB;QAC9B,KAAK,CAAC,cAAc,YAAY,iBAAiB,CAAC,CAAC;QAR5C;;;;mBAAO,oBAAoB;WAAC;IASrC,CAAC;CACF","sourcesContent":["import { BaseError } from \"@alchemy/common\";\nimport type { Permission } from \"../ma-v2/permissionBuilder.js\";\nimport type { Address } from \"viem\";\n\n/**\n * Abstract class representing a Permission Builder Error, subclassed by all permission builder errors.\n */\nexport abstract class PermissionBuilderError extends BaseError {}\n\n/**\n * Error class for when a root permission is added to a permission builder.\n */\nexport class RootPermissionOnlyError extends PermissionBuilderError {\n override name = \"PermissionBuilder: RootPermissionOnlyError\";\n\n /**\n * Constructor for initializing an error message indicating that the root permission cannot be combined with other permissions.\n *\n * @param {Permission} permission The permission trying to be added atop the root permission\n */\n constructor(permission: Permission) {\n super(\n `Adding ${permission.type}: Cannot add permissions with ROOT permission`,\n );\n }\n}\n\n/**\n * Error class for when an account address is used as target.\n */\nexport class AccountAddressAsTargetError extends PermissionBuilderError {\n override name = \"PermissionBuilder: AccountAddressAsTargetError\";\n\n /**\n * Constructor for initializing an error message indicating that account address is used as target.\n *\n * @param {Permission} permission The permission with account address as target\n */\n constructor(permission: Permission) {\n super(\n `${permission.type}: Account address as target, use ACCOUNT_FUNCTIONS for account address`,\n );\n }\n}\n\n/**\n * Error class for when a duplicate target address is added to a permission builder.\n */\nexport class DuplicateTargetAddressError extends PermissionBuilderError {\n override name = \"PermissionBuilder: DuplicateTargetAddressError\";\n\n /**\n * Constructor for initializing an error message indicating duplicate target address in permissions.\n *\n * @param {Permission} permission The permission with duplicate target address\n * @param {Address} targetAddress The duplicate target address\n */\n constructor(permission: Permission, targetAddress: Address) {\n super(\n `${permission.type}: Address ${targetAddress} already has a permission. Cannot add multiple CONTRACT_ACCESS or FUNCTIONS_ON_CONTRACT permissions for the same target address.`,\n );\n }\n}\n\n/**\n * Error class for when no functions are provided to a permission builder.\n */\nexport class NoFunctionsProvidedError extends PermissionBuilderError {\n override name = \"PermissionBuilder: NoFunctionsProvidedError\";\n\n /**\n * Constructor for initializing an error message indicating no functions were provided.\n *\n * @param {Permission} permission The permission missing functions\n */\n constructor(permission: Permission) {\n super(`${permission.type}: No functions provided`);\n }\n}\n\n/**\n * Error class for when a deadline is expired.\n */\nexport class ExpiredDeadlineError extends PermissionBuilderError {\n override name = \"PermissionBuilder: ExpiredDeadlineError\";\n\n /**\n * Constructor for initializing an error message indicating the deadline has expired.\n *\n * @param {number} deadline The expired deadline timestamp\n * @param {number} currentTime The current timestamp\n */\n constructor(deadline: number, currentTime: number) {\n super(\n `compileDeferred(): deadline ${deadline} cannot be before now (${currentTime})`,\n );\n }\n}\n\n/**\n * Error class for when a deadline is over the limit.\n */\nexport class DeadlineOverLimitError extends PermissionBuilderError {\n override name = \"PermissionBuilder: DeadlineOverLimitError\";\n\n /**\n * Constructor for initializing an error message indicating the deadline has expired.\n *\n * @param {number} deadline The expired deadline timestamp\n */\n constructor(deadline: number) {\n super(\n `compileDeferred(): deadline ${deadline} cannot be > max uint48 (2^48 - 1)`,\n );\n }\n}\n\n/**\n * Error class for when a validation config is unset.\n */\nexport class ValidationConfigUnsetError extends PermissionBuilderError {\n override name = \"PermissionBuilder: ValidationConfigUnsetError\";\n\n /**\n * Constructor for initializing an error message indicating the validation config is unset.\n */\n constructor() {\n super(\n \"Missing permission among: functions on contract, functions on all contracts, account functions, contract access, or erc20 token transfer\",\n );\n }\n}\n\n/**\n * Error class for when a multiple native token transfer permission is added to a permission builder.\n */\nexport class MultipleNativeTokenTransferError extends PermissionBuilderError {\n override name = \"PermissionBuilder: MultipleNativeTokenTransferError\";\n\n /**\n * Constructor for initializing an error message indicating multiple native token transfer permissions.\n *\n * @param {Permission} permission The duplicate native token transfer permission\n */\n constructor(permission: Permission) {\n super(\n `${permission.type}: Must have at most ONE native token transfer permission`,\n );\n }\n}\n\n/**\n * Error class for when a zero address is provided to a permission builder.\n */\nexport class ZeroAddressError extends PermissionBuilderError {\n override name = \"PermissionBuilder: ZeroAddressError\";\n\n /**\n * Constructor for initializing an error message indicating zero address was provided.\n *\n * @param {Permission} permission The permission with zero address\n */\n constructor(permission: Permission) {\n super(`${permission.type}: Zero address provided`);\n }\n}\n\n/**\n * Error class for when a multiple gas limit permission is added to a permission builder.\n */\nexport class MultipleGasLimitError extends PermissionBuilderError {\n override name = \"PermissionBuilder: MultipleGasLimitError\";\n\n /**\n * Constructor for initializing an error message indicating multiple gas limit permissions.\n *\n * @param {Permission} permission The duplicate gas limit permission\n */\n constructor(permission: Permission) {\n super(`${permission.type}: Must have at most ONE gas limit permission`);\n }\n}\n\n/**\n * Error class for when an unsupported permission type is added to a permission builder.\n */\nexport class UnsupportedPermissionTypeError extends PermissionBuilderError {\n override name = \"PermissionBuilder: UnsupportedPermissionTypeError\";\n\n /**\n * Constructor for initializing an error message indicating an unsupported permission type.\n */\n constructor() {\n super(`Unsupported permission type`);\n }\n}\n\n/**\n * Error class for when a selector is not allowed.\n */\nexport class SelectorNotAllowed extends PermissionBuilderError {\n override name = \"SelectorNotAllowed\";\n\n /**\n * Constructor for initializing an error message indicating that the selector being added is not allowed.\n *\n * @param {string} functionName The function name of the selector that is being added.\n */\n constructor(functionName: string) {\n super(`Cannot add ${functionName} on the account`);\n }\n}\n"]}
|