import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export declare type DelegatedBatchStruct = { account: string; nonce: BigNumberish; to: string[]; data: BytesLike[]; }; export declare type DelegatedBatchStructOutput = [ string, BigNumber, string[], string[] ] & { account: string; nonce: BigNumber; to: string[]; data: string[]; }; export declare type DelegatedBatchWithGasPriceStruct = { account: string; nonce: BigNumberish; to: string[]; data: BytesLike[]; gasPrice: BigNumberish; }; export declare type DelegatedBatchWithGasPriceStructOutput = [ string, BigNumber, string[], string[], BigNumber ] & { account: string; nonce: BigNumber; to: string[]; data: string[]; gasPrice: BigNumber; }; export interface GatewayInterface extends utils.Interface { functions: { "chainId()": FunctionFragment; "delegateBatch(address,uint256,address[],bytes[],bytes)": FunctionFragment; "delegateBatchWithGasPrice(address,uint256,address[],bytes[],bytes)": FunctionFragment; "delegateBatches(bytes[],bool)": FunctionFragment; "externalAccountRegistry()": FunctionFragment; "getAccountNextNonce(address)": FunctionFragment; "hashDelegatedBatch((address,uint256,address[],bytes[]))": FunctionFragment; "hashDelegatedBatchWithGasPrice((address,uint256,address[],bytes[],uint256))": FunctionFragment; "initialize(address,address)": FunctionFragment; "isInitialized()": FunctionFragment; "personalAccountRegistry()": FunctionFragment; "sendBatch(address[],bytes[])": FunctionFragment; "sendBatchFromAccount(address,address[],bytes[])": FunctionFragment; }; encodeFunctionData(functionFragment: "chainId", values?: undefined): string; encodeFunctionData(functionFragment: "delegateBatch", values: [string, BigNumberish, string[], BytesLike[], BytesLike]): string; encodeFunctionData(functionFragment: "delegateBatchWithGasPrice", values: [string, BigNumberish, string[], BytesLike[], BytesLike]): string; encodeFunctionData(functionFragment: "delegateBatches", values: [BytesLike[], boolean]): string; encodeFunctionData(functionFragment: "externalAccountRegistry", values?: undefined): string; encodeFunctionData(functionFragment: "getAccountNextNonce", values: [string]): string; encodeFunctionData(functionFragment: "hashDelegatedBatch", values: [DelegatedBatchStruct]): string; encodeFunctionData(functionFragment: "hashDelegatedBatchWithGasPrice", values: [DelegatedBatchWithGasPriceStruct]): string; encodeFunctionData(functionFragment: "initialize", values: [string, string]): string; encodeFunctionData(functionFragment: "isInitialized", values?: undefined): string; encodeFunctionData(functionFragment: "personalAccountRegistry", values?: undefined): string; encodeFunctionData(functionFragment: "sendBatch", values: [string[], BytesLike[]]): string; encodeFunctionData(functionFragment: "sendBatchFromAccount", values: [string, string[], BytesLike[]]): string; decodeFunctionResult(functionFragment: "chainId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "delegateBatch", data: BytesLike): Result; decodeFunctionResult(functionFragment: "delegateBatchWithGasPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "delegateBatches", data: BytesLike): Result; decodeFunctionResult(functionFragment: "externalAccountRegistry", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAccountNextNonce", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hashDelegatedBatch", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hashDelegatedBatchWithGasPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isInitialized", data: BytesLike): Result; decodeFunctionResult(functionFragment: "personalAccountRegistry", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sendBatch", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sendBatchFromAccount", data: BytesLike): Result; events: { "BatchDelegated(address,bytes,bool)": EventFragment; "Initialized(address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "BatchDelegated"): EventFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; } export declare type BatchDelegatedEvent = TypedEvent<[ string, string, boolean ], { sender: string; batch: string; succeeded: boolean; }>; export declare type BatchDelegatedEventFilter = TypedEventFilter; export declare type InitializedEvent = TypedEvent<[string], { initializer: string; }>; export declare type InitializedEventFilter = TypedEventFilter; export interface Gateway extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: GatewayInterface; 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: { chainId(overrides?: CallOverrides): Promise<[BigNumber]>; delegateBatch(account: string, nonce: BigNumberish, to: string[], data: BytesLike[], senderSignature: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; delegateBatchWithGasPrice(account: string, nonce: BigNumberish, to: string[], data: BytesLike[], senderSignature: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; delegateBatches(batches: BytesLike[], revertOnFailure: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; externalAccountRegistry(overrides?: CallOverrides): Promise<[string]>; getAccountNextNonce(account: string, overrides?: CallOverrides): Promise<[BigNumber]>; hashDelegatedBatch(delegatedBatch: DelegatedBatchStruct, overrides?: CallOverrides): Promise<[string]>; hashDelegatedBatchWithGasPrice(delegatedBatch: DelegatedBatchWithGasPriceStruct, overrides?: CallOverrides): Promise<[string]>; initialize(externalAccountRegistry_: string, personalAccountRegistry_: string, overrides?: Overrides & { from?: string | Promise; }): Promise; isInitialized(overrides?: CallOverrides): Promise<[boolean]>; personalAccountRegistry(overrides?: CallOverrides): Promise<[string]>; sendBatch(to: string[], data: BytesLike[], overrides?: Overrides & { from?: string | Promise; }): Promise; sendBatchFromAccount(account: string, to: string[], data: BytesLike[], overrides?: Overrides & { from?: string | Promise; }): Promise; }; chainId(overrides?: CallOverrides): Promise; delegateBatch(account: string, nonce: BigNumberish, to: string[], data: BytesLike[], senderSignature: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; delegateBatchWithGasPrice(account: string, nonce: BigNumberish, to: string[], data: BytesLike[], senderSignature: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; delegateBatches(batches: BytesLike[], revertOnFailure: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; externalAccountRegistry(overrides?: CallOverrides): Promise; getAccountNextNonce(account: string, overrides?: CallOverrides): Promise; hashDelegatedBatch(delegatedBatch: DelegatedBatchStruct, overrides?: CallOverrides): Promise; hashDelegatedBatchWithGasPrice(delegatedBatch: DelegatedBatchWithGasPriceStruct, overrides?: CallOverrides): Promise; initialize(externalAccountRegistry_: string, personalAccountRegistry_: string, overrides?: Overrides & { from?: string | Promise; }): Promise; isInitialized(overrides?: CallOverrides): Promise; personalAccountRegistry(overrides?: CallOverrides): Promise; sendBatch(to: string[], data: BytesLike[], overrides?: Overrides & { from?: string | Promise; }): Promise; sendBatchFromAccount(account: string, to: string[], data: BytesLike[], overrides?: Overrides & { from?: string | Promise; }): Promise; callStatic: { chainId(overrides?: CallOverrides): Promise; delegateBatch(account: string, nonce: BigNumberish, to: string[], data: BytesLike[], senderSignature: BytesLike, overrides?: CallOverrides): Promise; delegateBatchWithGasPrice(account: string, nonce: BigNumberish, to: string[], data: BytesLike[], senderSignature: BytesLike, overrides?: CallOverrides): Promise; delegateBatches(batches: BytesLike[], revertOnFailure: boolean, overrides?: CallOverrides): Promise; externalAccountRegistry(overrides?: CallOverrides): Promise; getAccountNextNonce(account: string, overrides?: CallOverrides): Promise; hashDelegatedBatch(delegatedBatch: DelegatedBatchStruct, overrides?: CallOverrides): Promise; hashDelegatedBatchWithGasPrice(delegatedBatch: DelegatedBatchWithGasPriceStruct, overrides?: CallOverrides): Promise; initialize(externalAccountRegistry_: string, personalAccountRegistry_: string, overrides?: CallOverrides): Promise; isInitialized(overrides?: CallOverrides): Promise; personalAccountRegistry(overrides?: CallOverrides): Promise; sendBatch(to: string[], data: BytesLike[], overrides?: CallOverrides): Promise; sendBatchFromAccount(account: string, to: string[], data: BytesLike[], overrides?: CallOverrides): Promise; }; filters: { "BatchDelegated(address,bytes,bool)"(sender?: null, batch?: null, succeeded?: null): BatchDelegatedEventFilter; BatchDelegated(sender?: null, batch?: null, succeeded?: null): BatchDelegatedEventFilter; "Initialized(address)"(initializer?: null): InitializedEventFilter; Initialized(initializer?: null): InitializedEventFilter; }; estimateGas: { chainId(overrides?: CallOverrides): Promise; delegateBatch(account: string, nonce: BigNumberish, to: string[], data: BytesLike[], senderSignature: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; delegateBatchWithGasPrice(account: string, nonce: BigNumberish, to: string[], data: BytesLike[], senderSignature: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; delegateBatches(batches: BytesLike[], revertOnFailure: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; externalAccountRegistry(overrides?: CallOverrides): Promise; getAccountNextNonce(account: string, overrides?: CallOverrides): Promise; hashDelegatedBatch(delegatedBatch: DelegatedBatchStruct, overrides?: CallOverrides): Promise; hashDelegatedBatchWithGasPrice(delegatedBatch: DelegatedBatchWithGasPriceStruct, overrides?: CallOverrides): Promise; initialize(externalAccountRegistry_: string, personalAccountRegistry_: string, overrides?: Overrides & { from?: string | Promise; }): Promise; isInitialized(overrides?: CallOverrides): Promise; personalAccountRegistry(overrides?: CallOverrides): Promise; sendBatch(to: string[], data: BytesLike[], overrides?: Overrides & { from?: string | Promise; }): Promise; sendBatchFromAccount(account: string, to: string[], data: BytesLike[], overrides?: Overrides & { from?: string | Promise; }): Promise; }; populateTransaction: { chainId(overrides?: CallOverrides): Promise; delegateBatch(account: string, nonce: BigNumberish, to: string[], data: BytesLike[], senderSignature: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; delegateBatchWithGasPrice(account: string, nonce: BigNumberish, to: string[], data: BytesLike[], senderSignature: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; delegateBatches(batches: BytesLike[], revertOnFailure: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; externalAccountRegistry(overrides?: CallOverrides): Promise; getAccountNextNonce(account: string, overrides?: CallOverrides): Promise; hashDelegatedBatch(delegatedBatch: DelegatedBatchStruct, overrides?: CallOverrides): Promise; hashDelegatedBatchWithGasPrice(delegatedBatch: DelegatedBatchWithGasPriceStruct, overrides?: CallOverrides): Promise; initialize(externalAccountRegistry_: string, personalAccountRegistry_: string, overrides?: Overrides & { from?: string | Promise; }): Promise; isInitialized(overrides?: CallOverrides): Promise; personalAccountRegistry(overrides?: CallOverrides): Promise; sendBatch(to: string[], data: BytesLike[], overrides?: Overrides & { from?: string | Promise; }): Promise; sendBatchFromAccount(account: string, to: string[], data: BytesLike[], overrides?: Overrides & { from?: string | Promise; }): Promise; }; }