import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, 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 SignedOrderStruct = { order: PromiseOrValue; sig: PromiseOrValue; }; export type SignedOrderStructOutput = [string, string] & { order: string; sig: string; }; export interface RelayOrderReactorInterface extends utils.Interface { functions: { "PERMIT2()": FunctionFragment; "execute((bytes,bytes))": FunctionFragment; "execute((bytes,bytes),address)": FunctionFragment; "multicall(bytes[])": FunctionFragment; "permit(address,address,address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; "universalRouter()": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "PERMIT2" | "execute((bytes,bytes))" | "execute((bytes,bytes),address)" | "multicall" | "permit" | "universalRouter"): FunctionFragment; encodeFunctionData(functionFragment: "PERMIT2", values?: undefined): string; encodeFunctionData(functionFragment: "execute((bytes,bytes))", values: [SignedOrderStruct]): string; encodeFunctionData(functionFragment: "execute((bytes,bytes),address)", values: [SignedOrderStruct, PromiseOrValue]): string; encodeFunctionData(functionFragment: "multicall", values: [PromiseOrValue[]]): string; encodeFunctionData(functionFragment: "permit", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "universalRouter", values?: undefined): string; decodeFunctionResult(functionFragment: "PERMIT2", data: BytesLike): Result; decodeFunctionResult(functionFragment: "execute((bytes,bytes))", data: BytesLike): Result; decodeFunctionResult(functionFragment: "execute((bytes,bytes),address)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "universalRouter", data: BytesLike): Result; events: { "Relay(bytes32,address,address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Relay"): EventFragment; } export interface RelayEventObject { orderHash: string; filler: string; swapper: string; nonce: BigNumber; } export type RelayEvent = TypedEvent<[ string, string, string, BigNumber ], RelayEventObject>; export type RelayEventFilter = TypedEventFilter; export interface RelayOrderReactor extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: RelayOrderReactorInterface; 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: { PERMIT2(overrides?: CallOverrides): Promise<[string]>; "execute((bytes,bytes))"(signedOrder: SignedOrderStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "execute((bytes,bytes),address)"(signedOrder: SignedOrderStruct, feeRecipient: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; multicall(data: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; permit(token: PromiseOrValue, owner: PromiseOrValue, spender: PromiseOrValue, amount: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; universalRouter(overrides?: CallOverrides): Promise<[string]>; }; PERMIT2(overrides?: CallOverrides): Promise; "execute((bytes,bytes))"(signedOrder: SignedOrderStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "execute((bytes,bytes),address)"(signedOrder: SignedOrderStruct, feeRecipient: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; multicall(data: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; permit(token: PromiseOrValue, owner: PromiseOrValue, spender: PromiseOrValue, amount: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; universalRouter(overrides?: CallOverrides): Promise; callStatic: { PERMIT2(overrides?: CallOverrides): Promise; "execute((bytes,bytes))"(signedOrder: SignedOrderStruct, overrides?: CallOverrides): Promise; "execute((bytes,bytes),address)"(signedOrder: SignedOrderStruct, feeRecipient: PromiseOrValue, overrides?: CallOverrides): Promise; multicall(data: PromiseOrValue[], overrides?: CallOverrides): Promise; permit(token: PromiseOrValue, owner: PromiseOrValue, spender: PromiseOrValue, amount: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: CallOverrides): Promise; universalRouter(overrides?: CallOverrides): Promise; }; filters: { "Relay(bytes32,address,address,uint256)"(orderHash?: PromiseOrValue | null, filler?: PromiseOrValue | null, swapper?: PromiseOrValue | null, nonce?: null): RelayEventFilter; Relay(orderHash?: PromiseOrValue | null, filler?: PromiseOrValue | null, swapper?: PromiseOrValue | null, nonce?: null): RelayEventFilter; }; estimateGas: { PERMIT2(overrides?: CallOverrides): Promise; "execute((bytes,bytes))"(signedOrder: SignedOrderStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "execute((bytes,bytes),address)"(signedOrder: SignedOrderStruct, feeRecipient: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; multicall(data: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; permit(token: PromiseOrValue, owner: PromiseOrValue, spender: PromiseOrValue, amount: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; universalRouter(overrides?: CallOverrides): Promise; }; populateTransaction: { PERMIT2(overrides?: CallOverrides): Promise; "execute((bytes,bytes))"(signedOrder: SignedOrderStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "execute((bytes,bytes),address)"(signedOrder: SignedOrderStruct, feeRecipient: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; multicall(data: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; permit(token: PromiseOrValue, owner: PromiseOrValue, spender: PromiseOrValue, amount: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; universalRouter(overrides?: CallOverrides): Promise; }; }