UNPKG

@runonflux/account-abstraction

Version:
465 lines (464 loc) 21.5 kB
import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../common"; export type UserOperationStruct = { sender: AddressLike; nonce: BigNumberish; initCode: BytesLike; callData: BytesLike; callGasLimit: BigNumberish; verificationGasLimit: BigNumberish; preVerificationGas: BigNumberish; maxFeePerGas: BigNumberish; maxPriorityFeePerGas: BigNumberish; paymasterAndData: BytesLike; signature: BytesLike; }; export type UserOperationStructOutput = [ sender: string, nonce: bigint, initCode: string, callData: string, callGasLimit: bigint, verificationGasLimit: bigint, preVerificationGas: bigint, maxFeePerGas: bigint, maxPriorityFeePerGas: bigint, paymasterAndData: string, signature: string ] & { sender: string; nonce: bigint; initCode: string; callData: string; callGasLimit: bigint; verificationGasLimit: bigint; preVerificationGas: bigint; maxFeePerGas: bigint; maxPriorityFeePerGas: bigint; paymasterAndData: string; signature: string; }; export interface MultiSigSmartAccountInterface extends Interface { getFunction(nameOrSignature: "DEFAULT_ADMIN_ROLE" | "OWNER_ROLE" | "UPGRADE_INTERFACE_VERSION" | "addDeposit" | "entryPoint" | "execute" | "executeBatch" | "getDeposit" | "getNonce" | "getRoleAdmin" | "grantRole" | "hasRole" | "initialize" | "isValidSignature" | "onERC1155BatchReceived" | "onERC1155Received" | "onERC721Received" | "proxiableUUID" | "renounceRole" | "revokeRole" | "supportsInterface" | "tokensReceived" | "upgradeToAndCall" | "validateUserOp" | "withdrawDepositTo"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Initialized" | "MultiSigAccountInitialized" | "RoleAdminChanged" | "RoleGranted" | "RoleRevoked" | "Upgraded"): EventFragment; encodeFunctionData(functionFragment: "DEFAULT_ADMIN_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "OWNER_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "UPGRADE_INTERFACE_VERSION", values?: undefined): string; encodeFunctionData(functionFragment: "addDeposit", values?: undefined): string; encodeFunctionData(functionFragment: "entryPoint", values?: undefined): string; encodeFunctionData(functionFragment: "execute", values: [AddressLike, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "executeBatch", values: [AddressLike[], BytesLike[]]): string; encodeFunctionData(functionFragment: "getDeposit", values?: undefined): string; encodeFunctionData(functionFragment: "getNonce", values?: undefined): string; encodeFunctionData(functionFragment: "getRoleAdmin", values: [BytesLike]): string; encodeFunctionData(functionFragment: "grantRole", values: [BytesLike, AddressLike]): string; encodeFunctionData(functionFragment: "hasRole", values: [BytesLike, AddressLike]): string; encodeFunctionData(functionFragment: "initialize", values: [AddressLike[]]): string; encodeFunctionData(functionFragment: "isValidSignature", values: [BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: "onERC1155BatchReceived", values: [ AddressLike, AddressLike, BigNumberish[], BigNumberish[], BytesLike ]): string; encodeFunctionData(functionFragment: "onERC1155Received", values: [AddressLike, AddressLike, BigNumberish, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "onERC721Received", values: [AddressLike, AddressLike, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "proxiableUUID", values?: undefined): string; encodeFunctionData(functionFragment: "renounceRole", values: [BytesLike, AddressLike]): string; encodeFunctionData(functionFragment: "revokeRole", values: [BytesLike, AddressLike]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; encodeFunctionData(functionFragment: "tokensReceived", values: [ AddressLike, AddressLike, AddressLike, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "upgradeToAndCall", values: [AddressLike, BytesLike]): string; encodeFunctionData(functionFragment: "validateUserOp", values: [UserOperationStruct, BytesLike, BigNumberish]): string; encodeFunctionData(functionFragment: "withdrawDepositTo", values: [AddressLike, BigNumberish]): string; decodeFunctionResult(functionFragment: "DEFAULT_ADMIN_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "OWNER_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "UPGRADE_INTERFACE_VERSION", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "entryPoint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; decodeFunctionResult(functionFragment: "executeBatch", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getNonce", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isValidSignature", data: BytesLike): Result; decodeFunctionResult(functionFragment: "onERC1155BatchReceived", data: BytesLike): Result; decodeFunctionResult(functionFragment: "onERC1155Received", data: BytesLike): Result; decodeFunctionResult(functionFragment: "onERC721Received", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proxiableUUID", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tokensReceived", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "validateUserOp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawDepositTo", data: BytesLike): Result; } export declare namespace InitializedEvent { type InputTuple = [version: BigNumberish]; type OutputTuple = [version: bigint]; interface OutputObject { version: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace MultiSigAccountInitializedEvent { type InputTuple = [ entryPoint: AddressLike, pubKeysCounter: BigNumberish ]; type OutputTuple = [entryPoint: string, pubKeysCounter: bigint]; interface OutputObject { entryPoint: string; pubKeysCounter: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace RoleAdminChangedEvent { type InputTuple = [ role: BytesLike, previousAdminRole: BytesLike, newAdminRole: BytesLike ]; type OutputTuple = [ role: string, previousAdminRole: string, newAdminRole: string ]; interface OutputObject { role: string; previousAdminRole: string; newAdminRole: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace RoleGrantedEvent { type InputTuple = [ role: BytesLike, account: AddressLike, sender: AddressLike ]; type OutputTuple = [role: string, account: string, sender: string]; interface OutputObject { role: string; account: string; sender: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace RoleRevokedEvent { type InputTuple = [ role: BytesLike, account: AddressLike, sender: AddressLike ]; type OutputTuple = [role: string, account: string, sender: string]; interface OutputObject { role: string; account: string; sender: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace UpgradedEvent { type InputTuple = [implementation: AddressLike]; type OutputTuple = [implementation: string]; interface OutputObject { implementation: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export interface MultiSigSmartAccount extends BaseContract { connect(runner?: ContractRunner | null): MultiSigSmartAccount; waitForDeployment(): Promise<this>; interface: MultiSigSmartAccountInterface; queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>; queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>; on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>; on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>; listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>; listeners(eventName?: string): Promise<Array<Listener>>; removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>; DEFAULT_ADMIN_ROLE: TypedContractMethod<[], [string], "view">; OWNER_ROLE: TypedContractMethod<[], [string], "view">; UPGRADE_INTERFACE_VERSION: TypedContractMethod<[], [string], "view">; addDeposit: TypedContractMethod<[], [void], "payable">; entryPoint: TypedContractMethod<[], [string], "view">; execute: TypedContractMethod<[ dest: AddressLike, value: BigNumberish, func: BytesLike ], [ void ], "nonpayable">; executeBatch: TypedContractMethod<[ dest: AddressLike[], func: BytesLike[] ], [ void ], "nonpayable">; getDeposit: TypedContractMethod<[], [bigint], "view">; getNonce: TypedContractMethod<[], [bigint], "view">; getRoleAdmin: TypedContractMethod<[role: BytesLike], [string], "view">; grantRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; hasRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ boolean ], "view">; initialize: TypedContractMethod<[ combinedAddress: AddressLike[] ], [ void ], "nonpayable">; isValidSignature: TypedContractMethod<[ hash: BytesLike, signature: BytesLike ], [ string ], "view">; onERC1155BatchReceived: TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike, arg2: BigNumberish[], arg3: BigNumberish[], arg4: BytesLike ], [ string ], "view">; onERC1155Received: TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike, arg2: BigNumberish, arg3: BigNumberish, arg4: BytesLike ], [ string ], "view">; onERC721Received: TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike, arg2: BigNumberish, arg3: BytesLike ], [ string ], "view">; proxiableUUID: TypedContractMethod<[], [string], "view">; renounceRole: TypedContractMethod<[ role: BytesLike, callerConfirmation: AddressLike ], [ void ], "nonpayable">; revokeRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; tokensReceived: TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike, arg2: AddressLike, arg3: BigNumberish, arg4: BytesLike, arg5: BytesLike ], [ void ], "view">; upgradeToAndCall: TypedContractMethod<[ newImplementation: AddressLike, data: BytesLike ], [ void ], "payable">; validateUserOp: TypedContractMethod<[ userOp: UserOperationStruct, userOpHash: BytesLike, missingAccountFunds: BigNumberish ], [ bigint ], "nonpayable">; withdrawDepositTo: TypedContractMethod<[ withdrawAddress: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DEFAULT_ADMIN_ROLE"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "OWNER_ROLE"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "UPGRADE_INTERFACE_VERSION"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "addDeposit"): TypedContractMethod<[], [void], "payable">; getFunction(nameOrSignature: "entryPoint"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "execute"): TypedContractMethod<[ dest: AddressLike, value: BigNumberish, func: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "executeBatch"): TypedContractMethod<[ dest: AddressLike[], func: BytesLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "getDeposit"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "getNonce"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "getRoleAdmin"): TypedContractMethod<[role: BytesLike], [string], "view">; getFunction(nameOrSignature: "grantRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "hasRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "initialize"): TypedContractMethod<[ combinedAddress: AddressLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "isValidSignature"): TypedContractMethod<[ hash: BytesLike, signature: BytesLike ], [ string ], "view">; getFunction(nameOrSignature: "onERC1155BatchReceived"): TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike, arg2: BigNumberish[], arg3: BigNumberish[], arg4: BytesLike ], [ string ], "view">; getFunction(nameOrSignature: "onERC1155Received"): TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike, arg2: BigNumberish, arg3: BigNumberish, arg4: BytesLike ], [ string ], "view">; getFunction(nameOrSignature: "onERC721Received"): TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike, arg2: BigNumberish, arg3: BytesLike ], [ string ], "view">; getFunction(nameOrSignature: "proxiableUUID"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "renounceRole"): TypedContractMethod<[ role: BytesLike, callerConfirmation: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "revokeRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[interfaceId: BytesLike], [boolean], "view">; getFunction(nameOrSignature: "tokensReceived"): TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike, arg2: AddressLike, arg3: BigNumberish, arg4: BytesLike, arg5: BytesLike ], [ void ], "view">; getFunction(nameOrSignature: "upgradeToAndCall"): TypedContractMethod<[ newImplementation: AddressLike, data: BytesLike ], [ void ], "payable">; getFunction(nameOrSignature: "validateUserOp"): TypedContractMethod<[ userOp: UserOperationStruct, userOpHash: BytesLike, missingAccountFunds: BigNumberish ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "withdrawDepositTo"): TypedContractMethod<[ withdrawAddress: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; getEvent(key: "Initialized"): TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>; getEvent(key: "MultiSigAccountInitialized"): TypedContractEvent<MultiSigAccountInitializedEvent.InputTuple, MultiSigAccountInitializedEvent.OutputTuple, MultiSigAccountInitializedEvent.OutputObject>; getEvent(key: "RoleAdminChanged"): TypedContractEvent<RoleAdminChangedEvent.InputTuple, RoleAdminChangedEvent.OutputTuple, RoleAdminChangedEvent.OutputObject>; getEvent(key: "RoleGranted"): TypedContractEvent<RoleGrantedEvent.InputTuple, RoleGrantedEvent.OutputTuple, RoleGrantedEvent.OutputObject>; getEvent(key: "RoleRevoked"): TypedContractEvent<RoleRevokedEvent.InputTuple, RoleRevokedEvent.OutputTuple, RoleRevokedEvent.OutputObject>; getEvent(key: "Upgraded"): TypedContractEvent<UpgradedEvent.InputTuple, UpgradedEvent.OutputTuple, UpgradedEvent.OutputObject>; filters: { "Initialized(uint64)": TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>; Initialized: TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>; "MultiSigAccountInitialized(address,uint256)": TypedContractEvent<MultiSigAccountInitializedEvent.InputTuple, MultiSigAccountInitializedEvent.OutputTuple, MultiSigAccountInitializedEvent.OutputObject>; MultiSigAccountInitialized: TypedContractEvent<MultiSigAccountInitializedEvent.InputTuple, MultiSigAccountInitializedEvent.OutputTuple, MultiSigAccountInitializedEvent.OutputObject>; "RoleAdminChanged(bytes32,bytes32,bytes32)": TypedContractEvent<RoleAdminChangedEvent.InputTuple, RoleAdminChangedEvent.OutputTuple, RoleAdminChangedEvent.OutputObject>; RoleAdminChanged: TypedContractEvent<RoleAdminChangedEvent.InputTuple, RoleAdminChangedEvent.OutputTuple, RoleAdminChangedEvent.OutputObject>; "RoleGranted(bytes32,address,address)": TypedContractEvent<RoleGrantedEvent.InputTuple, RoleGrantedEvent.OutputTuple, RoleGrantedEvent.OutputObject>; RoleGranted: TypedContractEvent<RoleGrantedEvent.InputTuple, RoleGrantedEvent.OutputTuple, RoleGrantedEvent.OutputObject>; "RoleRevoked(bytes32,address,address)": TypedContractEvent<RoleRevokedEvent.InputTuple, RoleRevokedEvent.OutputTuple, RoleRevokedEvent.OutputObject>; RoleRevoked: TypedContractEvent<RoleRevokedEvent.InputTuple, RoleRevokedEvent.OutputTuple, RoleRevokedEvent.OutputObject>; "Upgraded(address)": TypedContractEvent<UpgradedEvent.InputTuple, UpgradedEvent.OutputTuple, UpgradedEvent.OutputObject>; Upgraded: TypedContractEvent<UpgradedEvent.InputTuple, UpgradedEvent.OutputTuple, UpgradedEvent.OutputObject>; }; }