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 } from "../common"; export interface TokenExchangeInterface extends utils.Interface { functions: { "cancelOrder(uint256)": FunctionFragment; "initialize()": FunctionFragment; "nextOrderId()": FunctionFragment; "orders(uint256)": FunctionFragment; "owner()": FunctionFragment; "renounceOwnership()": FunctionFragment; "sendOrder(address,address,uint256,uint256,uint256)": FunctionFragment; "trade(uint256,uint256)": FunctionFragment; "transferOwnership(address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "cancelOrder" | "initialize" | "nextOrderId" | "orders" | "owner" | "renounceOwnership" | "sendOrder" | "trade" | "transferOwnership"): FunctionFragment; encodeFunctionData(functionFragment: "cancelOrder", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "initialize", values?: undefined): string; encodeFunctionData(functionFragment: "nextOrderId", values?: undefined): string; encodeFunctionData(functionFragment: "orders", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "sendOrder", values: [string, string, BigNumberish, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "trade", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [string]): string; decodeFunctionResult(functionFragment: "cancelOrder", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nextOrderId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "orders", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sendOrder", data: BytesLike): Result; decodeFunctionResult(functionFragment: "trade", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; events: { "ExchangeOrderSent(uint256,address,address,address,uint256,uint256,uint256)": EventFragment; "Initialized(uint8)": EventFragment; "OrderSettled(uint256,address,address,uint256)": EventFragment; "OwnershipTransferred(address,address)": EventFragment; "Trade(uint256,address,address,uint256,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "ExchangeOrderSent"): EventFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "OrderSettled"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; getEvent(nameOrSignatureOrTopic: "Trade"): EventFragment; } export interface ExchangeOrderSentEventObject { orderId: BigNumber; sender: string; tokenGive: string; tokenGet: string; amountGive: BigNumber; amountGet: BigNumber; tokenGiveBalance: BigNumber; } export type ExchangeOrderSentEvent = TypedEvent<[ BigNumber, string, string, string, BigNumber, BigNumber, BigNumber ], ExchangeOrderSentEventObject>; export type ExchangeOrderSentEventFilter = TypedEventFilter; export interface InitializedEventObject { version: number; } export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; export type InitializedEventFilter = TypedEventFilter; export interface OrderSettledEventObject { orderId: BigNumber; tokenGive: string; tokenGet: string; amountGive: BigNumber; } export type OrderSettledEvent = TypedEvent<[ BigNumber, string, string, BigNumber ], OrderSettledEventObject>; export type OrderSettledEventFilter = TypedEventFilter; export interface OwnershipTransferredEventObject { previousOwner: string; newOwner: string; } export type OwnershipTransferredEvent = TypedEvent<[ string, string ], OwnershipTransferredEventObject>; export type OwnershipTransferredEventFilter = TypedEventFilter; export interface TradeEventObject { orderId: BigNumber; tokenGive: string; tokenGet: string; amountGive: BigNumber; amountGet: BigNumber; } export type TradeEvent = TypedEvent<[ BigNumber, string, string, BigNumber, BigNumber ], TradeEventObject>; export type TradeEventFilter = TypedEventFilter; export interface TokenExchange extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: TokenExchangeInterface; 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: { cancelOrder(orderId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; initialize(overrides?: Overrides & { from?: string; }): Promise; nextOrderId(overrides?: CallOverrides): Promise<[BigNumber]>; orders(arg0: BigNumberish, overrides?: CallOverrides): Promise<[ string, string, BigNumber, BigNumber, string, BigNumber ] & { tokenGive: string; tokenGet: string; amountGive: BigNumber; amountGet: BigNumber; sender: string; tokenGiveBalance: BigNumber; }>; owner(overrides?: CallOverrides): Promise<[string]>; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; sendOrder(_tokenGive: string, _tokenGet: string, _amountGive: BigNumberish, _amountGet: BigNumberish, _tokenGiveBalance: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; trade(orderId: BigNumberish, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; }; cancelOrder(orderId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; initialize(overrides?: Overrides & { from?: string; }): Promise; nextOrderId(overrides?: CallOverrides): Promise; orders(arg0: BigNumberish, overrides?: CallOverrides): Promise<[ string, string, BigNumber, BigNumber, string, BigNumber ] & { tokenGive: string; tokenGet: string; amountGive: BigNumber; amountGet: BigNumber; sender: string; tokenGiveBalance: BigNumber; }>; owner(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; sendOrder(_tokenGive: string, _tokenGet: string, _amountGive: BigNumberish, _amountGet: BigNumberish, _tokenGiveBalance: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; trade(orderId: BigNumberish, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; callStatic: { cancelOrder(orderId: BigNumberish, overrides?: CallOverrides): Promise; initialize(overrides?: CallOverrides): Promise; nextOrderId(overrides?: CallOverrides): Promise; orders(arg0: BigNumberish, overrides?: CallOverrides): Promise<[ string, string, BigNumber, BigNumber, string, BigNumber ] & { tokenGive: string; tokenGet: string; amountGive: BigNumber; amountGet: BigNumber; sender: string; tokenGiveBalance: BigNumber; }>; owner(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: CallOverrides): Promise; sendOrder(_tokenGive: string, _tokenGet: string, _amountGive: BigNumberish, _amountGet: BigNumberish, _tokenGiveBalance: BigNumberish, overrides?: CallOverrides): Promise; trade(orderId: BigNumberish, amount: BigNumberish, overrides?: CallOverrides): Promise; transferOwnership(newOwner: string, overrides?: CallOverrides): Promise; }; filters: { "ExchangeOrderSent(uint256,address,address,address,uint256,uint256,uint256)"(orderId?: BigNumberish | null, sender?: null, tokenGive?: null, tokenGet?: null, amountGive?: null, amountGet?: null, tokenGiveBalance?: null): ExchangeOrderSentEventFilter; ExchangeOrderSent(orderId?: BigNumberish | null, sender?: null, tokenGive?: null, tokenGet?: null, amountGive?: null, amountGet?: null, tokenGiveBalance?: null): ExchangeOrderSentEventFilter; "Initialized(uint8)"(version?: null): InitializedEventFilter; Initialized(version?: null): InitializedEventFilter; "OrderSettled(uint256,address,address,uint256)"(orderId?: BigNumberish | null, tokenGive?: null, tokenGet?: null, amountGive?: null): OrderSettledEventFilter; OrderSettled(orderId?: BigNumberish | null, tokenGive?: null, tokenGet?: null, amountGive?: null): OrderSettledEventFilter; "OwnershipTransferred(address,address)"(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter; OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter; "Trade(uint256,address,address,uint256,uint256)"(orderId?: BigNumberish | null, tokenGive?: null, tokenGet?: null, amountGive?: null, amountGet?: null): TradeEventFilter; Trade(orderId?: BigNumberish | null, tokenGive?: null, tokenGet?: null, amountGive?: null, amountGet?: null): TradeEventFilter; }; estimateGas: { cancelOrder(orderId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; initialize(overrides?: Overrides & { from?: string; }): Promise; nextOrderId(overrides?: CallOverrides): Promise; orders(arg0: BigNumberish, overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; sendOrder(_tokenGive: string, _tokenGet: string, _amountGive: BigNumberish, _amountGet: BigNumberish, _tokenGiveBalance: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; trade(orderId: BigNumberish, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; }; populateTransaction: { cancelOrder(orderId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; initialize(overrides?: Overrides & { from?: string; }): Promise; nextOrderId(overrides?: CallOverrides): Promise; orders(arg0: BigNumberish, overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; sendOrder(_tokenGive: string, _tokenGet: string, _amountGive: BigNumberish, _amountGet: BigNumberish, _tokenGiveBalance: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; trade(orderId: BigNumberish, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; }; }