Class BiconomySmartAccountV2

Hierarchy

  • BaseSmartContractAccount
    • BiconomySmartAccountV2

Constructors

Properties

Methods

Constructors

Properties

SENTINEL_MODULE: string = "0x0000000000000000000000000000000000000001"
accountAddress?: `0x${string}`
accountContract?: {
    abi: readonly [{
        inputs: readonly [{
            internalType: "contract IEntryPoint";
            name: "anEntryPoint";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "constructor";
    }, {
        inputs: readonly [];
        name: "AlreadyInitialized";
        type: "error";
    }, {
        inputs: readonly [];
        name: "BaseImplementationCannotBeZero";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "caller";
            type: "address";
        }];
        name: "CallerIsNotAnEntryPoint";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "caller";
            type: "address";
        }];
        name: "CallerIsNotEntryPoint";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "caller";
            type: "address";
        }];
        name: "CallerIsNotEntryPointOrOwner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "caller";
            type: "address";
        }];
        name: "CallerIsNotEntryPointOrSelf";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "caller";
            type: "address";
        }];
        name: "CallerIsNotOwner";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "caller";
            type: "address";
        }];
        name: "CallerIsNotSelf";
        type: "error";
    }, {
        inputs: readonly [];
        name: "DelegateCallsOnly";
        type: "error";
    }, {
        inputs: readonly [];
        name: "EntryPointCannotBeZero";
        type: "error";
    }, {
        inputs: readonly [];
        name: "HandlerCannotBeZero";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "implementationAddress";
            type: "address";
        }];
        name: "InvalidImplementation";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "caller";
            type: "address";
        }];
        name: "MixedAuthFail";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "module";
            type: "address";
        }];
        name: "ModuleAlreadyEnabled";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "expectedModule";
            type: "address";
        }, {
            internalType: "address";
            name: "returnedModule";
            type: "address";
        }, {
            internalType: "address";
            name: "prevModule";
            type: "address";
        }];
        name: "ModuleAndPrevModuleMismatch";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "module";
            type: "address";
        }];
        name: "ModuleCannotBeZeroOrSentinel";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "module";
            type: "address";
        }];
        name: "ModuleNotEnabled";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ModulesAlreadyInitialized";
        type: "error";
    }, {
        inputs: readonly [];
        name: "ModulesSetupExecutionFailed";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OwnerCanNotBeSelf";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OwnerCannotBeZero";
        type: "error";
    }, {
        inputs: readonly [];
        name: "OwnerProvidedIsSame";
        type: "error";
    }, {
        inputs: readonly [];
        name: "TransferToZeroAddressAttempt";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "destLength";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "valueLength";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "funcLength";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "operationLength";
            type: "uint256";
        }];
        name: "WrongBatchProvided";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "bytes";
            name: "contractSignature";
            type: "bytes";
        }];
        name: "WrongContractSignature";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "uintS";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "contractSignatureLength";
            type: "uint256";
        }, {
            internalType: "uint256";
            name: "signatureLength";
            type: "uint256";
        }];
        name: "WrongContractSignatureFormat";
        type: "error";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "moduleAddressProvided";
            type: "address";
        }];
        name: "WrongValidationModule";
        type: "error";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: true;
            internalType: "address";
            name: "previousHandler";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "handler";
            type: "address";
        }];
        name: "ChangedFallbackHandler";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "address";
            name: "module";
            type: "address";
        }];
        name: "DisabledModule";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "address";
            name: "module";
            type: "address";
        }];
        name: "EnabledModule";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: true;
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            indexed: true;
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "bytes";
            name: "data";
            type: "bytes";
        }, {
            indexed: false;
            internalType: "enum Enum.Operation";
            name: "operation";
            type: "uint8";
        }, {
            indexed: false;
            internalType: "uint256";
            name: "txGas";
            type: "uint256";
        }];
        name: "ExecutionFailure";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: true;
            internalType: "address";
            name: "module";
            type: "address";
        }];
        name: "ExecutionFromModuleFailure";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: true;
            internalType: "address";
            name: "module";
            type: "address";
        }];
        name: "ExecutionFromModuleSuccess";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: true;
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            indexed: true;
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }, {
            indexed: true;
            internalType: "bytes";
            name: "data";
            type: "bytes";
        }, {
            indexed: false;
            internalType: "enum Enum.Operation";
            name: "operation";
            type: "uint8";
        }, {
            indexed: false;
            internalType: "uint256";
            name: "txGas";
            type: "uint256";
        }];
        name: "ExecutionSuccess";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: true;
            internalType: "address";
            name: "oldImplementation";
            type: "address";
        }, {
            indexed: true;
            internalType: "address";
            name: "newImplementation";
            type: "address";
        }];
        name: "ImplementationUpdated";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: false;
            internalType: "address";
            name: "module";
            type: "address";
        }, {
            indexed: false;
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            indexed: false;
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }, {
            indexed: false;
            internalType: "bytes";
            name: "data";
            type: "bytes";
        }, {
            indexed: false;
            internalType: "enum Enum.Operation";
            name: "operation";
            type: "uint8";
        }];
        name: "ModuleTransaction";
        type: "event";
    }, {
        anonymous: false;
        inputs: readonly [{
            indexed: true;
            internalType: "address";
            name: "sender";
            type: "address";
        }, {
            indexed: true;
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }];
        name: "SmartAccountReceivedNativeToken";
        type: "event";
    }, {
        stateMutability: "nonpayable";
        type: "fallback";
    }, {
        inputs: readonly [];
        name: "VERSION";
        outputs: readonly [{
            internalType: "string";
            name: "";
            type: "string";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "addDeposit";
        outputs: readonly [];
        stateMutability: "payable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "prevModule";
            type: "address";
        }, {
            internalType: "address";
            name: "module";
            type: "address";
        }];
        name: "disableModule";
        outputs: readonly [];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "module";
            type: "address";
        }];
        name: "enableModule";
        outputs: readonly [];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "entryPoint";
        outputs: readonly [{
            internalType: "contract IEntryPoint";
            name: "";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address[]";
            name: "to";
            type: "address[]";
        }, {
            internalType: "uint256[]";
            name: "value";
            type: "uint256[]";
        }, {
            internalType: "bytes[]";
            name: "data";
            type: "bytes[]";
        }, {
            internalType: "enum Enum.Operation[]";
            name: "operations";
            type: "uint8[]";
        }];
        name: "execBatchTransactionFromModule";
        outputs: readonly [{
            internalType: "bool";
            name: "success";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }, {
            internalType: "bytes";
            name: "data";
            type: "bytes";
        }, {
            internalType: "enum Enum.Operation";
            name: "operation";
            type: "uint8";
        }, {
            internalType: "uint256";
            name: "txGas";
            type: "uint256";
        }];
        name: "execTransactionFromModule";
        outputs: readonly [{
            internalType: "bool";
            name: "success";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }, {
            internalType: "bytes";
            name: "data";
            type: "bytes";
        }, {
            internalType: "enum Enum.Operation";
            name: "operation";
            type: "uint8";
        }];
        name: "execTransactionFromModule";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "to";
            type: "address";
        }, {
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }, {
            internalType: "bytes";
            name: "data";
            type: "bytes";
        }, {
            internalType: "enum Enum.Operation";
            name: "operation";
            type: "uint8";
        }];
        name: "execTransactionFromModuleReturnData";
        outputs: readonly [{
            internalType: "bool";
            name: "success";
            type: "bool";
        }, {
            internalType: "bytes";
            name: "returnData";
            type: "bytes";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "dest";
            type: "address";
        }, {
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }, {
            internalType: "bytes";
            name: "func";
            type: "bytes";
        }];
        name: "execute";
        outputs: readonly [];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address[]";
            name: "dest";
            type: "address[]";
        }, {
            internalType: "uint256[]";
            name: "value";
            type: "uint256[]";
        }, {
            internalType: "bytes[]";
            name: "func";
            type: "bytes[]";
        }];
        name: "executeBatch";
        outputs: readonly [];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address[]";
            name: "dest";
            type: "address[]";
        }, {
            internalType: "uint256[]";
            name: "value";
            type: "uint256[]";
        }, {
            internalType: "bytes[]";
            name: "func";
            type: "bytes[]";
        }];
        name: "executeBatch_y6U";
        outputs: readonly [];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "dest";
            type: "address";
        }, {
            internalType: "uint256";
            name: "value";
            type: "uint256";
        }, {
            internalType: "bytes";
            name: "func";
            type: "bytes";
        }];
        name: "execute_ncC";
        outputs: readonly [];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [];
        name: "getDeposit";
        outputs: readonly [{
            internalType: "uint256";
            name: "";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "getFallbackHandler";
        outputs: readonly [{
            internalType: "address";
            name: "_handler";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "getImplementation";
        outputs: readonly [{
            internalType: "address";
            name: "_implementation";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "start";
            type: "address";
        }, {
            internalType: "uint256";
            name: "pageSize";
            type: "uint256";
        }];
        name: "getModulesPaginated";
        outputs: readonly [{
            internalType: "address[]";
            name: "array";
            type: "address[]";
        }, {
            internalType: "address";
            name: "next";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "handler";
            type: "address";
        }, {
            internalType: "address";
            name: "moduleSetupContract";
            type: "address";
        }, {
            internalType: "bytes";
            name: "moduleSetupData";
            type: "bytes";
        }];
        name: "init";
        outputs: readonly [{
            internalType: "address";
            name: "";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "module";
            type: "address";
        }];
        name: "isModuleEnabled";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes32";
            name: "dataHash";
            type: "bytes32";
        }, {
            internalType: "bytes";
            name: "signature";
            type: "bytes";
        }];
        name: "isValidSignature";
        outputs: readonly [{
            internalType: "bytes4";
            name: "";
            type: "bytes4";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "uint192";
            name: "_key";
            type: "uint192";
        }];
        name: "nonce";
        outputs: readonly [{
            internalType: "uint256";
            name: "";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "uint256";
            name: "";
            type: "uint256";
        }];
        name: "noncesDeprecated";
        outputs: readonly [{
            internalType: "uint256";
            name: "";
            type: "uint256";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [];
        name: "ownerDeprecated";
        outputs: readonly [{
            internalType: "address";
            name: "";
            type: "address";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "handler";
            type: "address";
        }];
        name: "setFallbackHandler";
        outputs: readonly [];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "setupContract";
            type: "address";
        }, {
            internalType: "bytes";
            name: "setupData";
            type: "bytes";
        }];
        name: "setupAndEnableModule";
        outputs: readonly [{
            internalType: "address";
            name: "";
            type: "address";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "bytes4";
            name: "_interfaceId";
            type: "bytes4";
        }];
        name: "supportsInterface";
        outputs: readonly [{
            internalType: "bool";
            name: "";
            type: "bool";
        }];
        stateMutability: "view";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address";
            name: "_implementation";
            type: "address";
        }];
        name: "updateImplementation";
        outputs: readonly [];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            components: readonly [{
                internalType: "address";
                name: "sender";
                type: "address";
            }, {
                internalType: "uint256";
                name: "nonce";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "initCode";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "callData";
                type: "bytes";
            }, {
                internalType: "uint256";
                name: "callGasLimit";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "verificationGasLimit";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "preVerificationGas";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "maxFeePerGas";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "maxPriorityFeePerGas";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "paymasterAndData";
                type: "bytes";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            internalType: "struct UserOperation";
            name: "userOp";
            type: "tuple";
        }, {
            internalType: "bytes32";
            name: "userOpHash";
            type: "bytes32";
        }, {
            internalType: "uint256";
            name: "missingAccountFunds";
            type: "uint256";
        }];
        name: "validateUserOp";
        outputs: readonly [{
            internalType: "uint256";
            name: "validationData";
            type: "uint256";
        }];
        stateMutability: "nonpayable";
        type: "function";
    }, {
        inputs: readonly [{
            internalType: "address payable";
            name: "withdrawAddress";
            type: "address";
        }, {
            internalType: "uint256";
            name: "amount";
            type: "uint256";
        }];
        name: "withdrawDepositTo";
        outputs: readonly [];
        stateMutability: "payable";
        type: "function";
    }, {
        stateMutability: "payable";
        type: "receive";
    }];
    address: `0x${string}`;
    createEventFilter: {
        ChangedFallbackHandler: (<const args, strict>(...parameters) => Promise<CreateContractEventFilterReturnType<readonly [{
            inputs: readonly [{
                internalType: "contract IEntryPoint";
                name: "anEntryPoint";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "AlreadyInitialized";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BaseImplementationCannotBeZero";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotAnEntryPoint";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotEntryPoint";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotEntryPointOrOwner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotEntryPointOrSelf";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotOwner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotSelf";
            type: "error";
        }, {
            inputs: readonly [];
            name: "DelegateCallsOnly";
            type: "error";
        }, {
            inputs: readonly [];
            name: "EntryPointCannotBeZero";
            type: "error";
        }, {
            inputs: readonly [];
            name: "HandlerCannotBeZero";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "implementationAddress";
                type: "address";
            }];
            name: "InvalidImplementation";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "MixedAuthFail";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ModuleAlreadyEnabled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "expectedModule";
                type: "address";
            }, {
                internalType: "address";
                name: "returnedModule";
                type: "address";
            }, {
                internalType: "address";
                name: "prevModule";
                type: "address";
            }];
            name: "ModuleAndPrevModuleMismatch";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ModuleCannotBeZeroOrSentinel";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ModuleNotEnabled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ModulesAlreadyInitialized";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ModulesSetupExecutionFailed";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OwnerCanNotBeSelf";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OwnerCannotBeZero";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OwnerProvidedIsSame";
            type: "error";
        }, {
            inputs: readonly [];
            name: "TransferToZeroAddressAttempt";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "destLength";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "valueLength";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "funcLength";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "operationLength";
                type: "uint256";
            }];
            name: "WrongBatchProvided";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes";
                name: "contractSignature";
                type: "bytes";
            }];
            name: "WrongContractSignature";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "uintS";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "contractSignatureLength";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "signatureLength";
                type: "uint256";
            }];
            name: "WrongContractSignatureFormat";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "moduleAddressProvided";
                type: "address";
            }];
            name: "WrongValidationModule";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "previousHandler";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "handler";
                type: "address";
            }];
            name: "ChangedFallbackHandler";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "DisabledModule";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "EnabledModule";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                indexed: true;
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                indexed: false;
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }, {
                indexed: false;
                internalType: "uint256";
                name: "txGas";
                type: "uint256";
            }];
            name: "ExecutionFailure";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ExecutionFromModuleFailure";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ExecutionFromModuleSuccess";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                indexed: true;
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                indexed: false;
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }, {
                indexed: false;
                internalType: "uint256";
                name: "txGas";
                type: "uint256";
            }];
            name: "ExecutionSuccess";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "oldImplementation";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "newImplementation";
                type: "address";
            }];
            name: "ImplementationUpdated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "address";
                name: "module";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                indexed: false;
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                indexed: false;
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                indexed: false;
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }];
            name: "ModuleTransaction";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "sender";
                type: "address";
            }, {
                indexed: true;
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "SmartAccountReceivedNativeToken";
            type: "event";
        }, {
            stateMutability: "nonpayable";
            type: "fallback";
        }, {
            inputs: readonly [];
            name: "VERSION";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "addDeposit";
            outputs: readonly [];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "prevModule";
                type: "address";
            }, {
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "disableModule";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "enableModule";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "entryPoint";
            outputs: readonly [{
                internalType: "contract IEntryPoint";
                name: "";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address[]";
                name: "to";
                type: "address[]";
            }, {
                internalType: "uint256[]";
                name: "value";
                type: "uint256[]";
            }, {
                internalType: "bytes[]";
                name: "data";
                type: "bytes[]";
            }, {
                internalType: "enum Enum.Operation[]";
                name: "operations";
                type: "uint8[]";
            }];
            name: "execBatchTransactionFromModule";
            outputs: readonly [{
                internalType: "bool";
                name: "success";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "txGas";
                type: "uint256";
            }];
            name: "execTransactionFromModule";
            outputs: readonly [{
                internalType: "bool";
                name: "success";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }];
            name: "execTransactionFromModule";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }];
            name: "execTransactionFromModuleReturnData";
            outputs: readonly [{
                internalType: "bool";
                name: "success";
                type: "bool";
            }, {
                internalType: "bytes";
                name: "returnData";
                type: "bytes";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "dest";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "func";
                type: "bytes";
            }];
            name: "execute";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address[]";
                name: "dest";
                type: "address[]";
            }, {
                internalType: "uint256[]";
                name: "value";
                type: "uint256[]";
            }, {
                internalType: "bytes[]";
                name: "func";
                type: "bytes[]";
            }];
            name: "executeBatch";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address[]";
                name: "dest";
                type: "address[]";
            }, {
                internalType: "uint256[]";
                name: "value";
                type: "uint256[]";
            }, {
                internalType: "bytes[]";
                name: "func";
                type: "bytes[]";
            }];
            name: "executeBatch_y6U";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "dest";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "func";
                type: "bytes";
            }];
            name: "execute_ncC";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "getDeposit";
            outputs: readonly [{
                internalType: "uint256";
                name: "";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "getFallbackHandler";
            outputs: readonly [{
                internalType: "address";
                name: "_handler";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "getImplementation";
            outputs: readonly [{
                internalType: "address";
                name: "_implementation";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "start";
                type: "address";
            }, {
                internalType: "uint256";
                name: "pageSize";
                type: "uint256";
            }];
            name: "getModulesPaginated";
            outputs: readonly [{
                internalType: "address[]";
                name: "array";
                type: "address[]";
            }, {
                internalType: "address";
                name: "next";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "handler";
                type: "address";
            }, {
                internalType: "address";
                name: "moduleSetupContract";
                type: "address";
            }, {
                internalType: "bytes";
                name: "moduleSetupData";
                type: "bytes";
            }];
            name: "init";
            outputs: readonly [{
                internalType: "address";
                name: "";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "isModuleEnabled";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "dataHash";
                type: "bytes32";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            name: "isValidSignature";
            outputs: readonly [{
                internalType: "bytes4";
                name: "";
                type: "bytes4";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "uint192";
                name: "_key";
                type: "uint192";
            }];
            name: "nonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "";
                type: "uint256";
            }];
            name: "noncesDeprecated";
            outputs: readonly [{
                internalType: "uint256";
                name: "";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "ownerDeprecated";
            outputs: readonly [{
                internalType: "address";
                name: "";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "handler";
                type: "address";
            }];
            name: "setFallbackHandler";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "setupContract";
                type: "address";
            }, {
                internalType: "bytes";
                name: "setupData";
                type: "bytes";
            }];
            name: "setupAndEnableModule";
            outputs: readonly [{
                internalType: "address";
                name: "";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes4";
                name: "_interfaceId";
                type: "bytes4";
            }];
            name: "supportsInterface";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "_implementation";
                type: "address";
            }];
            name: "updateImplementation";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [(...), (...), (...), (...), (...), (...), (...), (...), (...), (...), (...)];
                internalType: "struct UserOperation";
                name: "userOp";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "userOpHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "missingAccountFunds";
                type: "uint256";
            }];
            name: "validateUserOp";
            outputs: readonly [{
                internalType: "uint256";
                name: "validationData";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address payable";
                name: "withdrawAddress";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "withdrawDepositTo";
            outputs: readonly [];
            stateMutability: "payable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "ChangedFallbackHandler", args, strict>>);
        DisabledModule: (<const args, strict>(...parameters) => Promise<CreateContractEventFilterReturnType<readonly [{
            inputs: readonly [{
                internalType: "contract IEntryPoint";
                name: "anEntryPoint";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "AlreadyInitialized";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BaseImplementationCannotBeZero";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotAnEntryPoint";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotEntryPoint";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotEntryPointOrOwner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotEntryPointOrSelf";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotOwner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotSelf";
            type: "error";
        }, {
            inputs: readonly [];
            name: "DelegateCallsOnly";
            type: "error";
        }, {
            inputs: readonly [];
            name: "EntryPointCannotBeZero";
            type: "error";
        }, {
            inputs: readonly [];
            name: "HandlerCannotBeZero";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "implementationAddress";
                type: "address";
            }];
            name: "InvalidImplementation";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "MixedAuthFail";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ModuleAlreadyEnabled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "expectedModule";
                type: "address";
            }, {
                internalType: "address";
                name: "returnedModule";
                type: "address";
            }, {
                internalType: "address";
                name: "prevModule";
                type: "address";
            }];
            name: "ModuleAndPrevModuleMismatch";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ModuleCannotBeZeroOrSentinel";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ModuleNotEnabled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ModulesAlreadyInitialized";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ModulesSetupExecutionFailed";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OwnerCanNotBeSelf";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OwnerCannotBeZero";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OwnerProvidedIsSame";
            type: "error";
        }, {
            inputs: readonly [];
            name: "TransferToZeroAddressAttempt";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "destLength";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "valueLength";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "funcLength";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "operationLength";
                type: "uint256";
            }];
            name: "WrongBatchProvided";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes";
                name: "contractSignature";
                type: "bytes";
            }];
            name: "WrongContractSignature";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "uintS";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "contractSignatureLength";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "signatureLength";
                type: "uint256";
            }];
            name: "WrongContractSignatureFormat";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "moduleAddressProvided";
                type: "address";
            }];
            name: "WrongValidationModule";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "previousHandler";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "handler";
                type: "address";
            }];
            name: "ChangedFallbackHandler";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "DisabledModule";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "EnabledModule";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                indexed: true;
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                indexed: false;
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }, {
                indexed: false;
                internalType: "uint256";
                name: "txGas";
                type: "uint256";
            }];
            name: "ExecutionFailure";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ExecutionFromModuleFailure";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ExecutionFromModuleSuccess";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                indexed: true;
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                indexed: false;
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }, {
                indexed: false;
                internalType: "uint256";
                name: "txGas";
                type: "uint256";
            }];
            name: "ExecutionSuccess";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "oldImplementation";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "newImplementation";
                type: "address";
            }];
            name: "ImplementationUpdated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "address";
                name: "module";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                indexed: false;
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                indexed: false;
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                indexed: false;
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }];
            name: "ModuleTransaction";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "sender";
                type: "address";
            }, {
                indexed: true;
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "SmartAccountReceivedNativeToken";
            type: "event";
        }, {
            stateMutability: "nonpayable";
            type: "fallback";
        }, {
            inputs: readonly [];
            name: "VERSION";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "addDeposit";
            outputs: readonly [];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "prevModule";
                type: "address";
            }, {
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "disableModule";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "enableModule";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "entryPoint";
            outputs: readonly [{
                internalType: "contract IEntryPoint";
                name: "";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address[]";
                name: "to";
                type: "address[]";
            }, {
                internalType: "uint256[]";
                name: "value";
                type: "uint256[]";
            }, {
                internalType: "bytes[]";
                name: "data";
                type: "bytes[]";
            }, {
                internalType: "enum Enum.Operation[]";
                name: "operations";
                type: "uint8[]";
            }];
            name: "execBatchTransactionFromModule";
            outputs: readonly [{
                internalType: "bool";
                name: "success";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "txGas";
                type: "uint256";
            }];
            name: "execTransactionFromModule";
            outputs: readonly [{
                internalType: "bool";
                name: "success";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }];
            name: "execTransactionFromModule";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }];
            name: "execTransactionFromModuleReturnData";
            outputs: readonly [{
                internalType: "bool";
                name: "success";
                type: "bool";
            }, {
                internalType: "bytes";
                name: "returnData";
                type: "bytes";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "dest";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "func";
                type: "bytes";
            }];
            name: "execute";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address[]";
                name: "dest";
                type: "address[]";
            }, {
                internalType: "uint256[]";
                name: "value";
                type: "uint256[]";
            }, {
                internalType: "bytes[]";
                name: "func";
                type: "bytes[]";
            }];
            name: "executeBatch";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address[]";
                name: "dest";
                type: "address[]";
            }, {
                internalType: "uint256[]";
                name: "value";
                type: "uint256[]";
            }, {
                internalType: "bytes[]";
                name: "func";
                type: "bytes[]";
            }];
            name: "executeBatch_y6U";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "dest";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "func";
                type: "bytes";
            }];
            name: "execute_ncC";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "getDeposit";
            outputs: readonly [{
                internalType: "uint256";
                name: "";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "getFallbackHandler";
            outputs: readonly [{
                internalType: "address";
                name: "_handler";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "getImplementation";
            outputs: readonly [{
                internalType: "address";
                name: "_implementation";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "start";
                type: "address";
            }, {
                internalType: "uint256";
                name: "pageSize";
                type: "uint256";
            }];
            name: "getModulesPaginated";
            outputs: readonly [{
                internalType: "address[]";
                name: "array";
                type: "address[]";
            }, {
                internalType: "address";
                name: "next";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "handler";
                type: "address";
            }, {
                internalType: "address";
                name: "moduleSetupContract";
                type: "address";
            }, {
                internalType: "bytes";
                name: "moduleSetupData";
                type: "bytes";
            }];
            name: "init";
            outputs: readonly [{
                internalType: "address";
                name: "";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "isModuleEnabled";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "dataHash";
                type: "bytes32";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            name: "isValidSignature";
            outputs: readonly [{
                internalType: "bytes4";
                name: "";
                type: "bytes4";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "uint192";
                name: "_key";
                type: "uint192";
            }];
            name: "nonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "";
                type: "uint256";
            }];
            name: "noncesDeprecated";
            outputs: readonly [{
                internalType: "uint256";
                name: "";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "ownerDeprecated";
            outputs: readonly [{
                internalType: "address";
                name: "";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "handler";
                type: "address";
            }];
            name: "setFallbackHandler";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "setupContract";
                type: "address";
            }, {
                internalType: "bytes";
                name: "setupData";
                type: "bytes";
            }];
            name: "setupAndEnableModule";
            outputs: readonly [{
                internalType: "address";
                name: "";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes4";
                name: "_interfaceId";
                type: "bytes4";
            }];
            name: "supportsInterface";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "_implementation";
                type: "address";
            }];
            name: "updateImplementation";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [(...), (...), (...), (...), (...), (...), (...), (...), (...), (...), (...)];
                internalType: "struct UserOperation";
                name: "userOp";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "userOpHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "missingAccountFunds";
                type: "uint256";
            }];
            name: "validateUserOp";
            outputs: readonly [{
                internalType: "uint256";
                name: "validationData";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address payable";
                name: "withdrawAddress";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "withdrawDepositTo";
            outputs: readonly [];
            stateMutability: "payable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "DisabledModule", args, strict>>);
        EnabledModule: (<const args, strict>(...parameters) => Promise<CreateContractEventFilterReturnType<readonly [{
            inputs: readonly [{
                internalType: "contract IEntryPoint";
                name: "anEntryPoint";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "AlreadyInitialized";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BaseImplementationCannotBeZero";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotAnEntryPoint";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotEntryPoint";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotEntryPointOrOwner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotEntryPointOrSelf";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotOwner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotSelf";
            type: "error";
        }, {
            inputs: readonly [];
            name: "DelegateCallsOnly";
            type: "error";
        }, {
            inputs: readonly [];
            name: "EntryPointCannotBeZero";
            type: "error";
        }, {
            inputs: readonly [];
            name: "HandlerCannotBeZero";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "implementationAddress";
                type: "address";
            }];
            name: "InvalidImplementation";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "MixedAuthFail";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ModuleAlreadyEnabled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "expectedModule";
                type: "address";
            }, {
                internalType: "address";
                name: "returnedModule";
                type: "address";
            }, {
                internalType: "address";
                name: "prevModule";
                type: "address";
            }];
            name: "ModuleAndPrevModuleMismatch";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ModuleCannotBeZeroOrSentinel";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ModuleNotEnabled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ModulesAlreadyInitialized";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ModulesSetupExecutionFailed";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OwnerCanNotBeSelf";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OwnerCannotBeZero";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OwnerProvidedIsSame";
            type: "error";
        }, {
            inputs: readonly [];
            name: "TransferToZeroAddressAttempt";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "destLength";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "valueLength";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "funcLength";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "operationLength";
                type: "uint256";
            }];
            name: "WrongBatchProvided";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes";
                name: "contractSignature";
                type: "bytes";
            }];
            name: "WrongContractSignature";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "uintS";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "contractSignatureLength";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "signatureLength";
                type: "uint256";
            }];
            name: "WrongContractSignatureFormat";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "moduleAddressProvided";
                type: "address";
            }];
            name: "WrongValidationModule";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "previousHandler";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "handler";
                type: "address";
            }];
            name: "ChangedFallbackHandler";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "DisabledModule";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "EnabledModule";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                indexed: true;
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                indexed: false;
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }, {
                indexed: false;
                internalType: "uint256";
                name: "txGas";
                type: "uint256";
            }];
            name: "ExecutionFailure";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ExecutionFromModuleFailure";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ExecutionFromModuleSuccess";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                indexed: true;
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                indexed: false;
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }, {
                indexed: false;
                internalType: "uint256";
                name: "txGas";
                type: "uint256";
            }];
            name: "ExecutionSuccess";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "oldImplementation";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "newImplementation";
                type: "address";
            }];
            name: "ImplementationUpdated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "address";
                name: "module";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                indexed: false;
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                indexed: false;
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                indexed: false;
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }];
            name: "ModuleTransaction";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "sender";
                type: "address";
            }, {
                indexed: true;
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "SmartAccountReceivedNativeToken";
            type: "event";
        }, {
            stateMutability: "nonpayable";
            type: "fallback";
        }, {
            inputs: readonly [];
            name: "VERSION";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "addDeposit";
            outputs: readonly [];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "prevModule";
                type: "address";
            }, {
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "disableModule";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "enableModule";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "entryPoint";
            outputs: readonly [{
                internalType: "contract IEntryPoint";
                name: "";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address[]";
                name: "to";
                type: "address[]";
            }, {
                internalType: "uint256[]";
                name: "value";
                type: "uint256[]";
            }, {
                internalType: "bytes[]";
                name: "data";
                type: "bytes[]";
            }, {
                internalType: "enum Enum.Operation[]";
                name: "operations";
                type: "uint8[]";
            }];
            name: "execBatchTransactionFromModule";
            outputs: readonly [{
                internalType: "bool";
                name: "success";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "txGas";
                type: "uint256";
            }];
            name: "execTransactionFromModule";
            outputs: readonly [{
                internalType: "bool";
                name: "success";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }];
            name: "execTransactionFromModule";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }];
            name: "execTransactionFromModuleReturnData";
            outputs: readonly [{
                internalType: "bool";
                name: "success";
                type: "bool";
            }, {
                internalType: "bytes";
                name: "returnData";
                type: "bytes";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "dest";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "func";
                type: "bytes";
            }];
            name: "execute";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address[]";
                name: "dest";
                type: "address[]";
            }, {
                internalType: "uint256[]";
                name: "value";
                type: "uint256[]";
            }, {
                internalType: "bytes[]";
                name: "func";
                type: "bytes[]";
            }];
            name: "executeBatch";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address[]";
                name: "dest";
                type: "address[]";
            }, {
                internalType: "uint256[]";
                name: "value";
                type: "uint256[]";
            }, {
                internalType: "bytes[]";
                name: "func";
                type: "bytes[]";
            }];
            name: "executeBatch_y6U";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "dest";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "func";
                type: "bytes";
            }];
            name: "execute_ncC";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "getDeposit";
            outputs: readonly [{
                internalType: "uint256";
                name: "";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "getFallbackHandler";
            outputs: readonly [{
                internalType: "address";
                name: "_handler";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "getImplementation";
            outputs: readonly [{
                internalType: "address";
                name: "_implementation";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "start";
                type: "address";
            }, {
                internalType: "uint256";
                name: "pageSize";
                type: "uint256";
            }];
            name: "getModulesPaginated";
            outputs: readonly [{
                internalType: "address[]";
                name: "array";
                type: "address[]";
            }, {
                internalType: "address";
                name: "next";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "handler";
                type: "address";
            }, {
                internalType: "address";
                name: "moduleSetupContract";
                type: "address";
            }, {
                internalType: "bytes";
                name: "moduleSetupData";
                type: "bytes";
            }];
            name: "init";
            outputs: readonly [{
                internalType: "address";
                name: "";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "isModuleEnabled";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "dataHash";
                type: "bytes32";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            name: "isValidSignature";
            outputs: readonly [{
                internalType: "bytes4";
                name: "";
                type: "bytes4";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "uint192";
                name: "_key";
                type: "uint192";
            }];
            name: "nonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "";
                type: "uint256";
            }];
            name: "noncesDeprecated";
            outputs: readonly [{
                internalType: "uint256";
                name: "";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "ownerDeprecated";
            outputs: readonly [{
                internalType: "address";
                name: "";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "handler";
                type: "address";
            }];
            name: "setFallbackHandler";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "setupContract";
                type: "address";
            }, {
                internalType: "bytes";
                name: "setupData";
                type: "bytes";
            }];
            name: "setupAndEnableModule";
            outputs: readonly [{
                internalType: "address";
                name: "";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes4";
                name: "_interfaceId";
                type: "bytes4";
            }];
            name: "supportsInterface";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "_implementation";
                type: "address";
            }];
            name: "updateImplementation";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [(...), (...), (...), (...), (...), (...), (...), (...), (...), (...), (...)];
                internalType: "struct UserOperation";
                name: "userOp";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "userOpHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "missingAccountFunds";
                type: "uint256";
            }];
            name: "validateUserOp";
            outputs: readonly [{
                internalType: "uint256";
                name: "validationData";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address payable";
                name: "withdrawAddress";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "withdrawDepositTo";
            outputs: readonly [];
            stateMutability: "payable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "EnabledModule", args, strict>>);
        ExecutionFailure: (<const args, strict>(...parameters) => Promise<CreateContractEventFilterReturnType<readonly [{
            inputs: readonly [{
                internalType: "contract IEntryPoint";
                name: "anEntryPoint";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "AlreadyInitialized";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BaseImplementationCannotBeZero";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotAnEntryPoint";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotEntryPoint";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotEntryPointOrOwner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotEntryPointOrSelf";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotOwner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotSelf";
            type: "error";
        }, {
            inputs: readonly [];
            name: "DelegateCallsOnly";
            type: "error";
        }, {
            inputs: readonly [];
            name: "EntryPointCannotBeZero";
            type: "error";
        }, {
            inputs: readonly [];
            name: "HandlerCannotBeZero";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "implementationAddress";
                type: "address";
            }];
            name: "InvalidImplementation";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "MixedAuthFail";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ModuleAlreadyEnabled";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "expectedModule";
                type: "address";
            }, {
                internalType: "address";
                name: "returnedModule";
                type: "address";
            }, {
                internalType: "address";
                name: "prevModule";
                type: "address";
            }];
            name: "ModuleAndPrevModuleMismatch";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ModuleCannotBeZeroOrSentinel";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ModuleNotEnabled";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ModulesAlreadyInitialized";
            type: "error";
        }, {
            inputs: readonly [];
            name: "ModulesSetupExecutionFailed";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OwnerCanNotBeSelf";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OwnerCannotBeZero";
            type: "error";
        }, {
            inputs: readonly [];
            name: "OwnerProvidedIsSame";
            type: "error";
        }, {
            inputs: readonly [];
            name: "TransferToZeroAddressAttempt";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "destLength";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "valueLength";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "funcLength";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "operationLength";
                type: "uint256";
            }];
            name: "WrongBatchProvided";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "bytes";
                name: "contractSignature";
                type: "bytes";
            }];
            name: "WrongContractSignature";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "uintS";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "contractSignatureLength";
                type: "uint256";
            }, {
                internalType: "uint256";
                name: "signatureLength";
                type: "uint256";
            }];
            name: "WrongContractSignatureFormat";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "moduleAddressProvided";
                type: "address";
            }];
            name: "WrongValidationModule";
            type: "error";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "previousHandler";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "handler";
                type: "address";
            }];
            name: "ChangedFallbackHandler";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "DisabledModule";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "EnabledModule";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                indexed: true;
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                indexed: false;
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }, {
                indexed: false;
                internalType: "uint256";
                name: "txGas";
                type: "uint256";
            }];
            name: "ExecutionFailure";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ExecutionFromModuleFailure";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "ExecutionFromModuleSuccess";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                indexed: true;
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                indexed: true;
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                indexed: false;
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }, {
                indexed: false;
                internalType: "uint256";
                name: "txGas";
                type: "uint256";
            }];
            name: "ExecutionSuccess";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "oldImplementation";
                type: "address";
            }, {
                indexed: true;
                internalType: "address";
                name: "newImplementation";
                type: "address";
            }];
            name: "ImplementationUpdated";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                internalType: "address";
                name: "module";
                type: "address";
            }, {
                indexed: false;
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                indexed: false;
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                indexed: false;
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                indexed: false;
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }];
            name: "ModuleTransaction";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                internalType: "address";
                name: "sender";
                type: "address";
            }, {
                indexed: true;
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }];
            name: "SmartAccountReceivedNativeToken";
            type: "event";
        }, {
            stateMutability: "nonpayable";
            type: "fallback";
        }, {
            inputs: readonly [];
            name: "VERSION";
            outputs: readonly [{
                internalType: "string";
                name: "";
                type: "string";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "addDeposit";
            outputs: readonly [];
            stateMutability: "payable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "prevModule";
                type: "address";
            }, {
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "disableModule";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "enableModule";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "entryPoint";
            outputs: readonly [{
                internalType: "contract IEntryPoint";
                name: "";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address[]";
                name: "to";
                type: "address[]";
            }, {
                internalType: "uint256[]";
                name: "value";
                type: "uint256[]";
            }, {
                internalType: "bytes[]";
                name: "data";
                type: "bytes[]";
            }, {
                internalType: "enum Enum.Operation[]";
                name: "operations";
                type: "uint8[]";
            }];
            name: "execBatchTransactionFromModule";
            outputs: readonly [{
                internalType: "bool";
                name: "success";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }, {
                internalType: "uint256";
                name: "txGas";
                type: "uint256";
            }];
            name: "execTransactionFromModule";
            outputs: readonly [{
                internalType: "bool";
                name: "success";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }];
            name: "execTransactionFromModule";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "to";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "data";
                type: "bytes";
            }, {
                internalType: "enum Enum.Operation";
                name: "operation";
                type: "uint8";
            }];
            name: "execTransactionFromModuleReturnData";
            outputs: readonly [{
                internalType: "bool";
                name: "success";
                type: "bool";
            }, {
                internalType: "bytes";
                name: "returnData";
                type: "bytes";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "dest";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "func";
                type: "bytes";
            }];
            name: "execute";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address[]";
                name: "dest";
                type: "address[]";
            }, {
                internalType: "uint256[]";
                name: "value";
                type: "uint256[]";
            }, {
                internalType: "bytes[]";
                name: "func";
                type: "bytes[]";
            }];
            name: "executeBatch";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address[]";
                name: "dest";
                type: "address[]";
            }, {
                internalType: "uint256[]";
                name: "value";
                type: "uint256[]";
            }, {
                internalType: "bytes[]";
                name: "func";
                type: "bytes[]";
            }];
            name: "executeBatch_y6U";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "dest";
                type: "address";
            }, {
                internalType: "uint256";
                name: "value";
                type: "uint256";
            }, {
                internalType: "bytes";
                name: "func";
                type: "bytes";
            }];
            name: "execute_ncC";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [];
            name: "getDeposit";
            outputs: readonly [{
                internalType: "uint256";
                name: "";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "getFallbackHandler";
            outputs: readonly [{
                internalType: "address";
                name: "_handler";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "getImplementation";
            outputs: readonly [{
                internalType: "address";
                name: "_implementation";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "start";
                type: "address";
            }, {
                internalType: "uint256";
                name: "pageSize";
                type: "uint256";
            }];
            name: "getModulesPaginated";
            outputs: readonly [{
                internalType: "address[]";
                name: "array";
                type: "address[]";
            }, {
                internalType: "address";
                name: "next";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "handler";
                type: "address";
            }, {
                internalType: "address";
                name: "moduleSetupContract";
                type: "address";
            }, {
                internalType: "bytes";
                name: "moduleSetupData";
                type: "bytes";
            }];
            name: "init";
            outputs: readonly [{
                internalType: "address";
                name: "";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "module";
                type: "address";
            }];
            name: "isModuleEnabled";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes32";
                name: "dataHash";
                type: "bytes32";
            }, {
                internalType: "bytes";
                name: "signature";
                type: "bytes";
            }];
            name: "isValidSignature";
            outputs: readonly [{
                internalType: "bytes4";
                name: "";
                type: "bytes4";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "uint192";
                name: "_key";
                type: "uint192";
            }];
            name: "nonce";
            outputs: readonly [{
                internalType: "uint256";
                name: "";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "uint256";
                name: "";
                type: "uint256";
            }];
            name: "noncesDeprecated";
            outputs: readonly [{
                internalType: "uint256";
                name: "";
                type: "uint256";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [];
            name: "ownerDeprecated";
            outputs: readonly [{
                internalType: "address";
                name: "";
                type: "address";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "handler";
                type: "address";
            }];
            name: "setFallbackHandler";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "setupContract";
                type: "address";
            }, {
                internalType: "bytes";
                name: "setupData";
                type: "bytes";
            }];
            name: "setupAndEnableModule";
            outputs: readonly [{
                internalType: "address";
                name: "";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "bytes4";
                name: "_interfaceId";
                type: "bytes4";
            }];
            name: "supportsInterface";
            outputs: readonly [{
                internalType: "bool";
                name: "";
                type: "bool";
            }];
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "_implementation";
                type: "address";
            }];
            name: "updateImplementation";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                components: readonly [(...), (...), (...), (...), (...), (...), (...), (...), (...), (...), (...)];
                internalType: "struct UserOperation";
                name: "userOp";
                type: "tuple";
            }, {
                internalType: "bytes32";
                name: "userOpHash";
                type: "bytes32";
            }, {
                internalType: "uint256";
                name: "missingAccountFunds";
                type: "uint256";
            }];
            name: "validateUserOp";
            outputs: readonly [{
                internalType: "uint256";
                name: "validationData";
                type: "uint256";
            }];
            stateMutability: "nonpayable";
            type: "function";
        }, {
            inputs: readonly [{
                internalType: "address payable";
                name: "withdrawAddress";
                type: "address";
            }, {
                internalType: "uint256";
                name: "amount";
                type: "uint256";
            }];
            name: "withdrawDepositTo";
            outputs: readonly [];
            stateMutability: "payable";
            type: "function";
        }, {
            stateMutability: "payable";
            type: "receive";
        }], "ExecutionFailure", args, strict>>);
        ExecutionFromModuleFailure: (<const args, strict>(...parameters) => Promise<CreateContractEventFilterReturnType<readonly [{
            inputs: readonly [{
                internalType: "contract IEntryPoint";
                name: "anEntryPoint";
                type: "address";
            }];
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            inputs: readonly [];
            name: "AlreadyInitialized";
            type: "error";
        }, {
            inputs: readonly [];
            name: "BaseImplementationCannotBeZero";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotAnEntryPoint";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotEntryPoint";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotEntryPointOrOwner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotEntryPointOrSelf";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotOwner";
            type: "error";
        }, {
            inputs: readonly [{
                internalType: "address";
                name: "caller";
                type: "address";
            }];
            name: "CallerIsNotSelf";
            type: "error";
        }, {
            inputs: readonly [];
            name: "DelegateCallsOnly";
            type: "error";
        }, {
            inputs: readonly [];
            name: "EntryPointCannotBeZero";
            type: "error";