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 PackedUserOperationStruct = { sender: AddressLike; nonce: BigNumberish; initCode: BytesLike; callData: BytesLike; accountGasLimits: BytesLike; preVerificationGas: BigNumberish; maxFeePerGas: BigNumberish; maxPriorityFeePerGas: BigNumberish; paymasterAndData: BytesLike; signature: BytesLike; }; export type PackedUserOperationStructOutput = [ sender: string, nonce: bigint, initCode: string, callData: string, accountGasLimits: string, preVerificationGas: bigint, maxFeePerGas: bigint, maxPriorityFeePerGas: bigint, paymasterAndData: string, signature: string ] & { sender: string; nonce: bigint; initCode: string; callData: string; accountGasLimits: string; preVerificationGas: bigint; maxFeePerGas: bigint; maxPriorityFeePerGas: bigint; paymasterAndData: string; signature: string; }; export declare namespace AllBasic { type MessageStruct = { from: AddressLike; content: string; }; type MessageStructOutput = [from: string, content: string] & { from: string; content: string; }; } export declare namespace IEntryPoint { type ReturnInfoStruct = { preOpGas: BigNumberish; prefund: BigNumberish; }; type ReturnInfoStructOutput = [preOpGas: bigint, prefund: bigint] & { preOpGas: bigint; prefund: bigint; }; } export declare namespace IStakeManager { type StakeInfoStruct = { stake: BigNumberish; unstakeDelaySec: BigNumberish; }; type StakeInfoStructOutput = [ stake: bigint, unstakeDelaySec: bigint ] & { stake: bigint; unstakeDelaySec: bigint; }; } export declare namespace IAllBasic { type ValidationResultStruct = { returnInfo: IEntryPoint.ReturnInfoStruct; senderInfo: IStakeManager.StakeInfoStruct; }; type ValidationResultStructOutput = [ returnInfo: IEntryPoint.ReturnInfoStructOutput, senderInfo: IStakeManager.StakeInfoStructOutput ] & { returnInfo: IEntryPoint.ReturnInfoStructOutput; senderInfo: IStakeManager.StakeInfoStructOutput; }; } export interface AllBasicInterface extends Interface { getFunction(nameOrSignature: "DOMAIN_SEPARATOR" | "MESSAGE_TYPEHASH" | "add" | "approvals" | "approve" | "calculatePower" | "callFriendWithSelector" | "callFriendWithSignature" | "createLock" | "createLockCreationCode" | "decodeData" | "encodeData" | "friend" | "getLockTime" | "getValue" | "hashMessage" | "lock" | "lock2" | "setFriend" | "simulateValidation" | "spenders" | "splitSignature" | "value" | "verify"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Deposited"): EventFragment; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "MESSAGE_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "add", values?: undefined): string; encodeFunctionData(functionFragment: "approvals", values: [AddressLike]): string; encodeFunctionData(functionFragment: "approve", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "calculatePower", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "callFriendWithSelector", values: [BigNumberish, string]): string; encodeFunctionData(functionFragment: "callFriendWithSignature", values: [BigNumberish, string]): string; encodeFunctionData(functionFragment: "createLock", values?: undefined): string; encodeFunctionData(functionFragment: "createLockCreationCode", values?: undefined): string; encodeFunctionData(functionFragment: "decodeData", values: [BytesLike]): string; encodeFunctionData(functionFragment: "encodeData", values: [BigNumberish, string]): string; encodeFunctionData(functionFragment: "friend", values?: undefined): string; encodeFunctionData(functionFragment: "getLockTime", values?: undefined): string; encodeFunctionData(functionFragment: "getValue", values?: undefined): string; encodeFunctionData(functionFragment: "hashMessage", values: [AllBasic.MessageStruct]): string; encodeFunctionData(functionFragment: "lock", values?: undefined): string; encodeFunctionData(functionFragment: "lock2", values?: undefined): string; encodeFunctionData(functionFragment: "setFriend", values: [AddressLike]): string; encodeFunctionData(functionFragment: "simulateValidation", values: [PackedUserOperationStruct]): string; encodeFunctionData(functionFragment: "spenders", values: [AddressLike]): string; encodeFunctionData(functionFragment: "splitSignature", values: [BytesLike]): string; encodeFunctionData(functionFragment: "value", values?: undefined): string; encodeFunctionData(functionFragment: "verify", values: [AddressLike, AllBasic.MessageStruct, BytesLike]): string; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "MESSAGE_TYPEHASH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "add", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approvals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "calculatePower", data: BytesLike): Result; decodeFunctionResult(functionFragment: "callFriendWithSelector", data: BytesLike): Result; decodeFunctionResult(functionFragment: "callFriendWithSignature", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createLock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createLockCreationCode", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decodeData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "encodeData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "friend", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getLockTime", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getValue", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hashMessage", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lock2", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setFriend", data: BytesLike): Result; decodeFunctionResult(functionFragment: "simulateValidation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "spenders", data: BytesLike): Result; decodeFunctionResult(functionFragment: "splitSignature", data: BytesLike): Result; decodeFunctionResult(functionFragment: "value", data: BytesLike): Result; decodeFunctionResult(functionFragment: "verify", data: BytesLike): Result; } export declare namespace DepositedEvent { type InputTuple = [account: AddressLike, totalDeposit: BigNumberish]; type OutputTuple = [account: string, totalDeposit: bigint]; interface OutputObject { account: string; totalDeposit: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface AllBasic extends BaseContract { connect(runner?: ContractRunner | null): AllBasic; waitForDeployment(): Promise; interface: AllBasicInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; MESSAGE_TYPEHASH: TypedContractMethod<[], [string], "view">; add: TypedContractMethod<[], [void], "nonpayable">; approvals: TypedContractMethod<[arg0: AddressLike], [boolean], "view">; approve: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ void ], "nonpayable">; calculatePower: TypedContractMethod<[ x: BigNumberish, y: BigNumberish ], [ bigint ], "nonpayable">; callFriendWithSelector: TypedContractMethod<[ _value: BigNumberish, _message: string ], [ void ], "nonpayable">; callFriendWithSignature: TypedContractMethod<[ _value: BigNumberish, _message: string ], [ void ], "nonpayable">; createLock: TypedContractMethod<[], [void], "nonpayable">; createLockCreationCode: TypedContractMethod<[], [void], "nonpayable">; decodeData: TypedContractMethod<[ data: BytesLike ], [ [bigint, string] & { number: bigint; text: string; } ], "view">; encodeData: TypedContractMethod<[ number: BigNumberish, text: string ], [ string ], "view">; friend: TypedContractMethod<[], [string], "view">; getLockTime: TypedContractMethod<[], [[bigint, bigint]], "view">; getValue: TypedContractMethod<[], [bigint], "view">; hashMessage: TypedContractMethod<[ message: AllBasic.MessageStruct ], [ string ], "view">; lock: TypedContractMethod<[], [string], "view">; lock2: TypedContractMethod<[], [string], "view">; setFriend: TypedContractMethod<[_friend: AddressLike], [void], "nonpayable">; simulateValidation: TypedContractMethod<[ userOp: PackedUserOperationStruct ], [ IAllBasic.ValidationResultStructOutput ], "nonpayable">; spenders: TypedContractMethod<[arg0: AddressLike], [boolean], "view">; splitSignature: TypedContractMethod<[ sig: BytesLike ], [ [string, string, bigint] & { r: string; s: string; v: bigint; } ], "view">; value: TypedContractMethod<[], [bigint], "view">; verify: TypedContractMethod<[ signer: AddressLike, message: AllBasic.MessageStruct, signature: BytesLike ], [ boolean ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "MESSAGE_TYPEHASH"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "add"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "approvals"): TypedContractMethod<[arg0: AddressLike], [boolean], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "calculatePower"): TypedContractMethod<[ x: BigNumberish, y: BigNumberish ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "callFriendWithSelector"): TypedContractMethod<[ _value: BigNumberish, _message: string ], [ void ], "nonpayable">; getFunction(nameOrSignature: "callFriendWithSignature"): TypedContractMethod<[ _value: BigNumberish, _message: string ], [ void ], "nonpayable">; getFunction(nameOrSignature: "createLock"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "createLockCreationCode"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "decodeData"): TypedContractMethod<[ data: BytesLike ], [ [bigint, string] & { number: bigint; text: string; } ], "view">; getFunction(nameOrSignature: "encodeData"): TypedContractMethod<[ number: BigNumberish, text: string ], [ string ], "view">; getFunction(nameOrSignature: "friend"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getLockTime"): TypedContractMethod<[], [[bigint, bigint]], "view">; getFunction(nameOrSignature: "getValue"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "hashMessage"): TypedContractMethod<[message: AllBasic.MessageStruct], [string], "view">; getFunction(nameOrSignature: "lock"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "lock2"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "setFriend"): TypedContractMethod<[_friend: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "simulateValidation"): TypedContractMethod<[ userOp: PackedUserOperationStruct ], [ IAllBasic.ValidationResultStructOutput ], "nonpayable">; getFunction(nameOrSignature: "spenders"): TypedContractMethod<[arg0: AddressLike], [boolean], "view">; getFunction(nameOrSignature: "splitSignature"): TypedContractMethod<[ sig: BytesLike ], [ [string, string, bigint] & { r: string; s: string; v: bigint; } ], "view">; getFunction(nameOrSignature: "value"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "verify"): TypedContractMethod<[ signer: AddressLike, message: AllBasic.MessageStruct, signature: BytesLike ], [ boolean ], "view">; getEvent(key: "Deposited"): TypedContractEvent; filters: { "Deposited(address,uint256)": TypedContractEvent; Deposited: TypedContractEvent; }; }