import type { BaseContract, BigNumber, 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 SignedOrderStruct = { order: PromiseOrValue; sig: PromiseOrValue; }; export type SignedOrderStructOutput = [string, string] & { order: string; sig: string; }; export interface V3DutchOrderReactorInterface extends utils.Interface { functions: { "execute((bytes,bytes))": FunctionFragment; "executeBatch((bytes,bytes)[])": FunctionFragment; "executeBatchWithCallback((bytes,bytes)[],bytes)": FunctionFragment; "executeWithCallback((bytes,bytes),bytes)": FunctionFragment; "feeController()": FunctionFragment; "owner()": FunctionFragment; "permit2()": FunctionFragment; "setProtocolFeeController(address)": FunctionFragment; "transferOwnership(address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "execute" | "executeBatch" | "executeBatchWithCallback" | "executeWithCallback" | "feeController" | "owner" | "permit2" | "setProtocolFeeController" | "transferOwnership"): FunctionFragment; encodeFunctionData(functionFragment: "execute", values: [SignedOrderStruct]): string; encodeFunctionData(functionFragment: "executeBatch", values: [SignedOrderStruct[]]): string; encodeFunctionData(functionFragment: "executeBatchWithCallback", values: [SignedOrderStruct[], PromiseOrValue]): string; encodeFunctionData(functionFragment: "executeWithCallback", values: [SignedOrderStruct, PromiseOrValue]): string; encodeFunctionData(functionFragment: "feeController", values?: undefined): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "permit2", values?: undefined): string; encodeFunctionData(functionFragment: "setProtocolFeeController", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [PromiseOrValue]): string; decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; decodeFunctionResult(functionFragment: "executeBatch", data: BytesLike): Result; decodeFunctionResult(functionFragment: "executeBatchWithCallback", data: BytesLike): Result; decodeFunctionResult(functionFragment: "executeWithCallback", data: BytesLike): Result; decodeFunctionResult(functionFragment: "feeController", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit2", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setProtocolFeeController", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; events: { "Fill(bytes32,address,address,uint256)": EventFragment; "OwnershipTransferred(address,address)": EventFragment; "ProtocolFeeControllerSet(address,address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Fill"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; getEvent(nameOrSignatureOrTopic: "ProtocolFeeControllerSet"): EventFragment; } export interface FillEventObject { orderHash: string; filler: string; swapper: string; nonce: BigNumber; } export type FillEvent = TypedEvent<[ string, string, string, BigNumber ], FillEventObject>; export type FillEventFilter = TypedEventFilter; export interface OwnershipTransferredEventObject { user: string; newOwner: string; } export type OwnershipTransferredEvent = TypedEvent<[ string, string ], OwnershipTransferredEventObject>; export type OwnershipTransferredEventFilter = TypedEventFilter; export interface ProtocolFeeControllerSetEventObject { oldFeeController: string; newFeeController: string; } export type ProtocolFeeControllerSetEvent = TypedEvent<[ string, string ], ProtocolFeeControllerSetEventObject>; export type ProtocolFeeControllerSetEventFilter = TypedEventFilter; export interface V3DutchOrderReactor extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: V3DutchOrderReactorInterface; 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: { execute(order: SignedOrderStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; executeBatch(orders: SignedOrderStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; executeBatchWithCallback(orders: SignedOrderStruct[], callbackData: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; executeWithCallback(order: SignedOrderStruct, callbackData: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; feeController(overrides?: CallOverrides): Promise<[string]>; owner(overrides?: CallOverrides): Promise<[string]>; permit2(overrides?: CallOverrides): Promise<[string]>; setProtocolFeeController(_newFeeController: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; execute(order: SignedOrderStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; executeBatch(orders: SignedOrderStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; executeBatchWithCallback(orders: SignedOrderStruct[], callbackData: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; executeWithCallback(order: SignedOrderStruct, callbackData: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; feeController(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; permit2(overrides?: CallOverrides): Promise; setProtocolFeeController(_newFeeController: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; callStatic: { execute(order: SignedOrderStruct, overrides?: CallOverrides): Promise; executeBatch(orders: SignedOrderStruct[], overrides?: CallOverrides): Promise; executeBatchWithCallback(orders: SignedOrderStruct[], callbackData: PromiseOrValue, overrides?: CallOverrides): Promise; executeWithCallback(order: SignedOrderStruct, callbackData: PromiseOrValue, overrides?: CallOverrides): Promise; feeController(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; permit2(overrides?: CallOverrides): Promise; setProtocolFeeController(_newFeeController: PromiseOrValue, overrides?: CallOverrides): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: CallOverrides): Promise; }; filters: { "Fill(bytes32,address,address,uint256)"(orderHash?: PromiseOrValue | null, filler?: PromiseOrValue | null, swapper?: PromiseOrValue | null, nonce?: null): FillEventFilter; Fill(orderHash?: PromiseOrValue | null, filler?: PromiseOrValue | null, swapper?: PromiseOrValue | null, nonce?: null): FillEventFilter; "OwnershipTransferred(address,address)"(user?: PromiseOrValue | null, newOwner?: PromiseOrValue | null): OwnershipTransferredEventFilter; OwnershipTransferred(user?: PromiseOrValue | null, newOwner?: PromiseOrValue | null): OwnershipTransferredEventFilter; "ProtocolFeeControllerSet(address,address)"(oldFeeController?: null, newFeeController?: null): ProtocolFeeControllerSetEventFilter; ProtocolFeeControllerSet(oldFeeController?: null, newFeeController?: null): ProtocolFeeControllerSetEventFilter; }; estimateGas: { execute(order: SignedOrderStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; executeBatch(orders: SignedOrderStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; executeBatchWithCallback(orders: SignedOrderStruct[], callbackData: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; executeWithCallback(order: SignedOrderStruct, callbackData: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; feeController(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; permit2(overrides?: CallOverrides): Promise; setProtocolFeeController(_newFeeController: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; populateTransaction: { execute(order: SignedOrderStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; executeBatch(orders: SignedOrderStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; executeBatchWithCallback(orders: SignedOrderStruct[], callbackData: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; executeWithCallback(order: SignedOrderStruct, callbackData: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; feeController(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; permit2(overrides?: CallOverrides): Promise; setProtocolFeeController(_newFeeController: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; }