import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../../common"; export type UserOperationStruct = { sender: PromiseOrValue; nonce: PromiseOrValue; initCode: PromiseOrValue; callData: PromiseOrValue; callGasLimit: PromiseOrValue; verificationGasLimit: PromiseOrValue; preVerificationGas: PromiseOrValue; maxFeePerGas: PromiseOrValue; maxPriorityFeePerGas: PromiseOrValue; paymasterAndData: PromiseOrValue; signature: PromiseOrValue; }; export type UserOperationStructOutput = [ string, BigNumber, string, string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string, string ] & { sender: string; nonce: BigNumber; initCode: string; callData: string; callGasLimit: BigNumber; verificationGasLimit: BigNumber; preVerificationGas: BigNumber; maxFeePerGas: BigNumber; maxPriorityFeePerGas: BigNumber; paymasterAndData: string; signature: string; }; export interface IEtherspotPaymasterInterface extends utils.Interface { functions: { "addBatchToWhitelist(address[])": FunctionFragment; "addStake(uint32)": FunctionFragment; "addToWhitelist(address)": FunctionFragment; "check(address,address)": FunctionFragment; "depositFunds()": FunctionFragment; "getDeposit()": FunctionFragment; "getHash((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint48,uint48)": FunctionFragment; "getSponsorBalance(address)": FunctionFragment; "parsePaymasterAndData(bytes)": FunctionFragment; "postOp(uint8,bytes,uint256)": FunctionFragment; "removeBatchFromWhitelist(address[])": FunctionFragment; "removeFromWhitelist(address)": FunctionFragment; "unlockStake()": FunctionFragment; "validatePaymasterUserOp((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes32,uint256)": FunctionFragment; "withdrawFunds(address,uint256)": FunctionFragment; "withdrawStake(address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "addBatchToWhitelist" | "addStake" | "addToWhitelist" | "check" | "depositFunds" | "getDeposit" | "getHash" | "getSponsorBalance" | "parsePaymasterAndData" | "postOp" | "removeBatchFromWhitelist" | "removeFromWhitelist" | "unlockStake" | "validatePaymasterUserOp" | "withdrawFunds" | "withdrawStake"): FunctionFragment; encodeFunctionData(functionFragment: "addBatchToWhitelist", values: [PromiseOrValue[]]): string; encodeFunctionData(functionFragment: "addStake", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "addToWhitelist", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "check", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "depositFunds", values?: undefined): string; encodeFunctionData(functionFragment: "getDeposit", values?: undefined): string; encodeFunctionData(functionFragment: "getHash", values: [ UserOperationStruct, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "getSponsorBalance", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "parsePaymasterAndData", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "postOp", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "removeBatchFromWhitelist", values: [PromiseOrValue[]]): string; encodeFunctionData(functionFragment: "removeFromWhitelist", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "unlockStake", values?: undefined): string; encodeFunctionData(functionFragment: "validatePaymasterUserOp", values: [ UserOperationStruct, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "withdrawFunds", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "withdrawStake", values: [PromiseOrValue]): string; decodeFunctionResult(functionFragment: "addBatchToWhitelist", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addStake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addToWhitelist", data: BytesLike): Result; decodeFunctionResult(functionFragment: "check", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositFunds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getHash", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getSponsorBalance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "parsePaymasterAndData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "postOp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeBatchFromWhitelist", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeFromWhitelist", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unlockStake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "validatePaymasterUserOp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawFunds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawStake", data: BytesLike): Result; events: { "AddedBatchToWhitelist(address,address[])": EventFragment; "AddedToWhitelist(address,address)": EventFragment; "RemovedBatchFromWhitelist(address,address[])": EventFragment; "RemovedFromWhitelist(address,address)": EventFragment; "SponsorSuccessful(address,address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AddedBatchToWhitelist"): EventFragment; getEvent(nameOrSignatureOrTopic: "AddedToWhitelist"): EventFragment; getEvent(nameOrSignatureOrTopic: "RemovedBatchFromWhitelist"): EventFragment; getEvent(nameOrSignatureOrTopic: "RemovedFromWhitelist"): EventFragment; getEvent(nameOrSignatureOrTopic: "SponsorSuccessful"): EventFragment; } export interface AddedBatchToWhitelistEventObject { paymaster: string; accounts: string[]; } export type AddedBatchToWhitelistEvent = TypedEvent<[ string, string[] ], AddedBatchToWhitelistEventObject>; export type AddedBatchToWhitelistEventFilter = TypedEventFilter; export interface AddedToWhitelistEventObject { paymaster: string; account: string; } export type AddedToWhitelistEvent = TypedEvent<[ string, string ], AddedToWhitelistEventObject>; export type AddedToWhitelistEventFilter = TypedEventFilter; export interface RemovedBatchFromWhitelistEventObject { paymaster: string; accounts: string[]; } export type RemovedBatchFromWhitelistEvent = TypedEvent<[ string, string[] ], RemovedBatchFromWhitelistEventObject>; export type RemovedBatchFromWhitelistEventFilter = TypedEventFilter; export interface RemovedFromWhitelistEventObject { paymaster: string; account: string; } export type RemovedFromWhitelistEvent = TypedEvent<[ string, string ], RemovedFromWhitelistEventObject>; export type RemovedFromWhitelistEventFilter = TypedEventFilter; export interface SponsorSuccessfulEventObject { paymaster: string; sender: string; } export type SponsorSuccessfulEvent = TypedEvent<[ string, string ], SponsorSuccessfulEventObject>; export type SponsorSuccessfulEventFilter = TypedEventFilter; export interface IEtherspotPaymaster extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IEtherspotPaymasterInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { addBatchToWhitelist(_accounts: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; addStake(unstakeDelaySec: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; addToWhitelist(_account: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; check(_sponsor: PromiseOrValue, _account: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; depositFunds(overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; getDeposit(overrides?: CallOverrides): Promise<[BigNumber]>; getHash(userOp: UserOperationStruct, validUntil: PromiseOrValue, validAfter: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; getSponsorBalance(_sponsor: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; parsePaymasterAndData(paymasterAndData: PromiseOrValue, overrides?: CallOverrides): Promise<[ number, number, string ] & { validUntil: number; validAfter: number; signature: string; }>; postOp(mode: PromiseOrValue, context: PromiseOrValue, actualGasCost: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; removeBatchFromWhitelist(_accounts: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; removeFromWhitelist(_account: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; unlockStake(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; validatePaymasterUserOp(userOp: UserOperationStruct, userOpHash: PromiseOrValue, maxCost: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdrawFunds(_sponsor: PromiseOrValue, _amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdrawStake(withdrawAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; addBatchToWhitelist(_accounts: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; addStake(unstakeDelaySec: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; addToWhitelist(_account: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; check(_sponsor: PromiseOrValue, _account: PromiseOrValue, overrides?: CallOverrides): Promise; depositFunds(overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; getDeposit(overrides?: CallOverrides): Promise; getHash(userOp: UserOperationStruct, validUntil: PromiseOrValue, validAfter: PromiseOrValue, overrides?: CallOverrides): Promise; getSponsorBalance(_sponsor: PromiseOrValue, overrides?: CallOverrides): Promise; parsePaymasterAndData(paymasterAndData: PromiseOrValue, overrides?: CallOverrides): Promise<[ number, number, string ] & { validUntil: number; validAfter: number; signature: string; }>; postOp(mode: PromiseOrValue, context: PromiseOrValue, actualGasCost: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; removeBatchFromWhitelist(_accounts: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; removeFromWhitelist(_account: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; unlockStake(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; validatePaymasterUserOp(userOp: UserOperationStruct, userOpHash: PromiseOrValue, maxCost: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdrawFunds(_sponsor: PromiseOrValue, _amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdrawStake(withdrawAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; callStatic: { addBatchToWhitelist(_accounts: PromiseOrValue[], overrides?: CallOverrides): Promise; addStake(unstakeDelaySec: PromiseOrValue, overrides?: CallOverrides): Promise; addToWhitelist(_account: PromiseOrValue, overrides?: CallOverrides): Promise; check(_sponsor: PromiseOrValue, _account: PromiseOrValue, overrides?: CallOverrides): Promise; depositFunds(overrides?: CallOverrides): Promise; getDeposit(overrides?: CallOverrides): Promise; getHash(userOp: UserOperationStruct, validUntil: PromiseOrValue, validAfter: PromiseOrValue, overrides?: CallOverrides): Promise; getSponsorBalance(_sponsor: PromiseOrValue, overrides?: CallOverrides): Promise; parsePaymasterAndData(paymasterAndData: PromiseOrValue, overrides?: CallOverrides): Promise<[ number, number, string ] & { validUntil: number; validAfter: number; signature: string; }>; postOp(mode: PromiseOrValue, context: PromiseOrValue, actualGasCost: PromiseOrValue, overrides?: CallOverrides): Promise; removeBatchFromWhitelist(_accounts: PromiseOrValue[], overrides?: CallOverrides): Promise; removeFromWhitelist(_account: PromiseOrValue, overrides?: CallOverrides): Promise; unlockStake(overrides?: CallOverrides): Promise; validatePaymasterUserOp(userOp: UserOperationStruct, userOpHash: PromiseOrValue, maxCost: PromiseOrValue, overrides?: CallOverrides): Promise<[ string, BigNumber ] & { context: string; validationData: BigNumber; }>; withdrawFunds(_sponsor: PromiseOrValue, _amount: PromiseOrValue, overrides?: CallOverrides): Promise; withdrawStake(withdrawAddress: PromiseOrValue, overrides?: CallOverrides): Promise; }; filters: { "AddedBatchToWhitelist(address,address[])"(paymaster?: PromiseOrValue | null, accounts?: PromiseOrValue[] | null): AddedBatchToWhitelistEventFilter; AddedBatchToWhitelist(paymaster?: PromiseOrValue | null, accounts?: PromiseOrValue[] | null): AddedBatchToWhitelistEventFilter; "AddedToWhitelist(address,address)"(paymaster?: PromiseOrValue | null, account?: PromiseOrValue | null): AddedToWhitelistEventFilter; AddedToWhitelist(paymaster?: PromiseOrValue | null, account?: PromiseOrValue | null): AddedToWhitelistEventFilter; "RemovedBatchFromWhitelist(address,address[])"(paymaster?: PromiseOrValue | null, accounts?: PromiseOrValue[] | null): RemovedBatchFromWhitelistEventFilter; RemovedBatchFromWhitelist(paymaster?: PromiseOrValue | null, accounts?: PromiseOrValue[] | null): RemovedBatchFromWhitelistEventFilter; "RemovedFromWhitelist(address,address)"(paymaster?: PromiseOrValue | null, account?: PromiseOrValue | null): RemovedFromWhitelistEventFilter; RemovedFromWhitelist(paymaster?: PromiseOrValue | null, account?: PromiseOrValue | null): RemovedFromWhitelistEventFilter; "SponsorSuccessful(address,address)"(paymaster?: null, sender?: null): SponsorSuccessfulEventFilter; SponsorSuccessful(paymaster?: null, sender?: null): SponsorSuccessfulEventFilter; }; estimateGas: { addBatchToWhitelist(_accounts: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; addStake(unstakeDelaySec: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; addToWhitelist(_account: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; check(_sponsor: PromiseOrValue, _account: PromiseOrValue, overrides?: CallOverrides): Promise; depositFunds(overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; getDeposit(overrides?: CallOverrides): Promise; getHash(userOp: UserOperationStruct, validUntil: PromiseOrValue, validAfter: PromiseOrValue, overrides?: CallOverrides): Promise; getSponsorBalance(_sponsor: PromiseOrValue, overrides?: CallOverrides): Promise; parsePaymasterAndData(paymasterAndData: PromiseOrValue, overrides?: CallOverrides): Promise; postOp(mode: PromiseOrValue, context: PromiseOrValue, actualGasCost: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; removeBatchFromWhitelist(_accounts: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; removeFromWhitelist(_account: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; unlockStake(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; validatePaymasterUserOp(userOp: UserOperationStruct, userOpHash: PromiseOrValue, maxCost: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdrawFunds(_sponsor: PromiseOrValue, _amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdrawStake(withdrawAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; populateTransaction: { addBatchToWhitelist(_accounts: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; addStake(unstakeDelaySec: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; addToWhitelist(_account: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; check(_sponsor: PromiseOrValue, _account: PromiseOrValue, overrides?: CallOverrides): Promise; depositFunds(overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; getDeposit(overrides?: CallOverrides): Promise; getHash(userOp: UserOperationStruct, validUntil: PromiseOrValue, validAfter: PromiseOrValue, overrides?: CallOverrides): Promise; getSponsorBalance(_sponsor: PromiseOrValue, overrides?: CallOverrides): Promise; parsePaymasterAndData(paymasterAndData: PromiseOrValue, overrides?: CallOverrides): Promise; postOp(mode: PromiseOrValue, context: PromiseOrValue, actualGasCost: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; removeBatchFromWhitelist(_accounts: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; removeFromWhitelist(_account: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; unlockStake(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; validatePaymasterUserOp(userOp: UserOperationStruct, userOpHash: PromiseOrValue, maxCost: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdrawFunds(_sponsor: PromiseOrValue, _amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdrawStake(withdrawAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; }