import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../../common"; export declare namespace IForwarder { type DeployRequestStruct = { relayHub: PromiseOrValue; from: PromiseOrValue; to: PromiseOrValue; tokenContract: PromiseOrValue; recoverer: PromiseOrValue; value: PromiseOrValue; nonce: PromiseOrValue; tokenAmount: PromiseOrValue; tokenGas: PromiseOrValue; validUntilTime: PromiseOrValue; index: PromiseOrValue; data: PromiseOrValue; }; type DeployRequestStructOutput = [ string, string, string, string, string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string ] & { relayHub: string; from: string; to: string; tokenContract: string; recoverer: string; value: BigNumber; nonce: BigNumber; tokenAmount: BigNumber; tokenGas: BigNumber; validUntilTime: BigNumber; index: BigNumber; data: string; }; } export declare namespace EnvelopingTypes { type RelayDataStruct = { gasPrice: PromiseOrValue; feesReceiver: PromiseOrValue; callForwarder: PromiseOrValue; callVerifier: PromiseOrValue; }; type RelayDataStructOutput = [BigNumber, string, string, string] & { gasPrice: BigNumber; feesReceiver: string; callForwarder: string; callVerifier: string; }; type DeployRequestStruct = { request: IForwarder.DeployRequestStruct; relayData: EnvelopingTypes.RelayDataStruct; }; type DeployRequestStructOutput = [ IForwarder.DeployRequestStructOutput, EnvelopingTypes.RelayDataStructOutput ] & { request: IForwarder.DeployRequestStructOutput; relayData: EnvelopingTypes.RelayDataStructOutput; }; } export interface IDeployVerifierInterface extends utils.Interface { functions: { "verifyRelayedCall(((address,address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes),(uint256,address,address,address)),bytes)": FunctionFragment; "versionVerifier()": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "verifyRelayedCall" | "versionVerifier"): FunctionFragment; encodeFunctionData(functionFragment: "verifyRelayedCall", values: [EnvelopingTypes.DeployRequestStruct, PromiseOrValue]): string; encodeFunctionData(functionFragment: "versionVerifier", values?: undefined): string; decodeFunctionResult(functionFragment: "verifyRelayedCall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "versionVerifier", data: BytesLike): Result; events: {}; } export interface IDeployVerifier extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IDeployVerifierInterface; 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: { verifyRelayedCall(relayRequest: EnvelopingTypes.DeployRequestStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; versionVerifier(overrides?: CallOverrides): Promise<[string]>; }; verifyRelayedCall(relayRequest: EnvelopingTypes.DeployRequestStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; versionVerifier(overrides?: CallOverrides): Promise; callStatic: { verifyRelayedCall(relayRequest: EnvelopingTypes.DeployRequestStruct, signature: PromiseOrValue, overrides?: CallOverrides): Promise; versionVerifier(overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { verifyRelayedCall(relayRequest: EnvelopingTypes.DeployRequestStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; versionVerifier(overrides?: CallOverrides): Promise; }; populateTransaction: { verifyRelayedCall(relayRequest: EnvelopingTypes.DeployRequestStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; versionVerifier(overrides?: CallOverrides): Promise; }; }