import type { BaseContract, BigNumber, BigNumberish, 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 declare namespace ExchangeDomainV1 { type AssetStruct = { token: PromiseOrValue; tokenId: PromiseOrValue; assetType: PromiseOrValue; }; type AssetStructOutput = [string, BigNumber, number] & { token: string; tokenId: BigNumber; assetType: number; }; type OrderKeyStruct = { owner: PromiseOrValue; salt: PromiseOrValue; sellAsset: ExchangeDomainV1.AssetStruct; buyAsset: ExchangeDomainV1.AssetStruct; }; type OrderKeyStructOutput = [ string, BigNumber, ExchangeDomainV1.AssetStructOutput, ExchangeDomainV1.AssetStructOutput ] & { owner: string; salt: BigNumber; sellAsset: ExchangeDomainV1.AssetStructOutput; buyAsset: ExchangeDomainV1.AssetStructOutput; }; type OrderStruct = { key: ExchangeDomainV1.OrderKeyStruct; selling: PromiseOrValue; buying: PromiseOrValue; sellerFee: PromiseOrValue; }; type OrderStructOutput = [ ExchangeDomainV1.OrderKeyStructOutput, BigNumber, BigNumber, BigNumber ] & { key: ExchangeDomainV1.OrderKeyStructOutput; selling: BigNumber; buying: BigNumber; sellerFee: BigNumber; }; type SigStruct = { v: PromiseOrValue; r: PromiseOrValue; s: PromiseOrValue; }; type SigStructOutput = [number, string, string] & { v: number; r: string; s: string; }; } export interface ExchangeV1Interface extends utils.Interface { functions: { "beneficiary()": FunctionFragment; "buyerFeeSigner()": FunctionFragment; "erc20TransferProxy()": FunctionFragment; "isOwner()": FunctionFragment; "ordersHolder()": FunctionFragment; "owner()": FunctionFragment; "renounceOwnership()": FunctionFragment; "state()": FunctionFragment; "transferOwnership(address)": FunctionFragment; "transferProxy()": FunctionFragment; "transferProxyForDeprecated()": FunctionFragment; "setBeneficiary(address)": FunctionFragment; "setBuyerFeeSigner(address)": FunctionFragment; "exchange(((address,uint256,(address,uint256,uint8),(address,uint256,uint8)),uint256,uint256,uint256),(uint8,bytes32,bytes32),uint256,(uint8,bytes32,bytes32),uint256,address)": FunctionFragment; "cancel((address,uint256,(address,uint256,uint8),(address,uint256,uint8)))": FunctionFragment; "prepareBuyerFeeMessage(((address,uint256,(address,uint256,uint8),(address,uint256,uint8)),uint256,uint256,uint256),uint256)": FunctionFragment; "prepareMessage(((address,uint256,(address,uint256,uint8),(address,uint256,uint8)),uint256,uint256,uint256))": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "beneficiary" | "buyerFeeSigner" | "erc20TransferProxy" | "isOwner" | "ordersHolder" | "owner" | "renounceOwnership" | "state" | "transferOwnership" | "transferProxy" | "transferProxyForDeprecated" | "setBeneficiary" | "setBuyerFeeSigner" | "exchange" | "cancel" | "prepareBuyerFeeMessage" | "prepareMessage"): FunctionFragment; encodeFunctionData(functionFragment: "beneficiary", values?: undefined): string; encodeFunctionData(functionFragment: "buyerFeeSigner", values?: undefined): string; encodeFunctionData(functionFragment: "erc20TransferProxy", values?: undefined): string; encodeFunctionData(functionFragment: "isOwner", values?: undefined): string; encodeFunctionData(functionFragment: "ordersHolder", values?: undefined): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "state", values?: undefined): string; encodeFunctionData(functionFragment: "transferOwnership", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "transferProxy", values?: undefined): string; encodeFunctionData(functionFragment: "transferProxyForDeprecated", values?: undefined): string; encodeFunctionData(functionFragment: "setBeneficiary", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "setBuyerFeeSigner", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "exchange", values: [ ExchangeDomainV1.OrderStruct, ExchangeDomainV1.SigStruct, PromiseOrValue, ExchangeDomainV1.SigStruct, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "cancel", values: [ExchangeDomainV1.OrderKeyStruct]): string; encodeFunctionData(functionFragment: "prepareBuyerFeeMessage", values: [ExchangeDomainV1.OrderStruct, PromiseOrValue]): string; encodeFunctionData(functionFragment: "prepareMessage", values: [ExchangeDomainV1.OrderStruct]): string; decodeFunctionResult(functionFragment: "beneficiary", data: BytesLike): Result; decodeFunctionResult(functionFragment: "buyerFeeSigner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "erc20TransferProxy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ordersHolder", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferProxy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferProxyForDeprecated", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setBeneficiary", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setBuyerFeeSigner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "exchange", data: BytesLike): Result; decodeFunctionResult(functionFragment: "cancel", data: BytesLike): Result; decodeFunctionResult(functionFragment: "prepareBuyerFeeMessage", data: BytesLike): Result; decodeFunctionResult(functionFragment: "prepareMessage", data: BytesLike): Result; events: { "Buy(address,uint256,uint256,address,address,uint256,uint256,address,uint256,uint256)": EventFragment; "Cancel(address,uint256,address,address,uint256,uint256)": EventFragment; "OwnershipTransferred(address,address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Buy"): EventFragment; getEvent(nameOrSignatureOrTopic: "Cancel"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; } export interface BuyEventObject { sellToken: string; sellTokenId: BigNumber; sellValue: BigNumber; owner: string; buyToken: string; buyTokenId: BigNumber; buyValue: BigNumber; buyer: string; amount: BigNumber; salt: BigNumber; } export type BuyEvent = TypedEvent<[ string, BigNumber, BigNumber, string, string, BigNumber, BigNumber, string, BigNumber, BigNumber ], BuyEventObject>; export type BuyEventFilter = TypedEventFilter; export interface CancelEventObject { sellToken: string; sellTokenId: BigNumber; owner: string; buyToken: string; buyTokenId: BigNumber; salt: BigNumber; } export type CancelEvent = TypedEvent<[ string, BigNumber, string, string, BigNumber, BigNumber ], CancelEventObject>; export type CancelEventFilter = TypedEventFilter; export interface OwnershipTransferredEventObject { previousOwner: string; newOwner: string; } export type OwnershipTransferredEvent = TypedEvent<[ string, string ], OwnershipTransferredEventObject>; export type OwnershipTransferredEventFilter = TypedEventFilter; export interface ExchangeV1 extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: ExchangeV1Interface; 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: { beneficiary(overrides?: CallOverrides): Promise<[string]>; buyerFeeSigner(overrides?: CallOverrides): Promise<[string]>; erc20TransferProxy(overrides?: CallOverrides): Promise<[string]>; /** * Returns true if the caller is the current owner. */ isOwner(overrides?: CallOverrides): Promise<[boolean]>; ordersHolder(overrides?: CallOverrides): Promise<[string]>; /** * Returns the address of the current owner. */ owner(overrides?: CallOverrides): Promise<[string]>; /** * Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner. */ renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; state(overrides?: CallOverrides): Promise<[string]>; /** * Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner. */ transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferProxy(overrides?: CallOverrides): Promise<[string]>; transferProxyForDeprecated(overrides?: CallOverrides): Promise<[string]>; setBeneficiary(newBeneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setBuyerFeeSigner(newBuyerFeeSigner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; exchange(order: ExchangeDomainV1.OrderStruct, sig: ExchangeDomainV1.SigStruct, buyerFee: PromiseOrValue, buyerFeeSig: ExchangeDomainV1.SigStruct, amount: PromiseOrValue, buyer: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; cancel(key: ExchangeDomainV1.OrderKeyStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; prepareBuyerFeeMessage(order: ExchangeDomainV1.OrderStruct, fee: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; prepareMessage(order: ExchangeDomainV1.OrderStruct, overrides?: CallOverrides): Promise<[string]>; }; beneficiary(overrides?: CallOverrides): Promise; buyerFeeSigner(overrides?: CallOverrides): Promise; erc20TransferProxy(overrides?: CallOverrides): Promise; /** * Returns true if the caller is the current owner. */ isOwner(overrides?: CallOverrides): Promise; ordersHolder(overrides?: CallOverrides): Promise; /** * Returns the address of the current owner. */ owner(overrides?: CallOverrides): Promise; /** * Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner. */ renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; state(overrides?: CallOverrides): Promise; /** * Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner. */ transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferProxy(overrides?: CallOverrides): Promise; transferProxyForDeprecated(overrides?: CallOverrides): Promise; setBeneficiary(newBeneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setBuyerFeeSigner(newBuyerFeeSigner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; exchange(order: ExchangeDomainV1.OrderStruct, sig: ExchangeDomainV1.SigStruct, buyerFee: PromiseOrValue, buyerFeeSig: ExchangeDomainV1.SigStruct, amount: PromiseOrValue, buyer: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; cancel(key: ExchangeDomainV1.OrderKeyStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; prepareBuyerFeeMessage(order: ExchangeDomainV1.OrderStruct, fee: PromiseOrValue, overrides?: CallOverrides): Promise; prepareMessage(order: ExchangeDomainV1.OrderStruct, overrides?: CallOverrides): Promise; callStatic: { beneficiary(overrides?: CallOverrides): Promise; buyerFeeSigner(overrides?: CallOverrides): Promise; erc20TransferProxy(overrides?: CallOverrides): Promise; /** * Returns true if the caller is the current owner. */ isOwner(overrides?: CallOverrides): Promise; ordersHolder(overrides?: CallOverrides): Promise; /** * Returns the address of the current owner. */ owner(overrides?: CallOverrides): Promise; /** * Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner. */ renounceOwnership(overrides?: CallOverrides): Promise; state(overrides?: CallOverrides): Promise; /** * Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner. */ transferOwnership(newOwner: PromiseOrValue, overrides?: CallOverrides): Promise; transferProxy(overrides?: CallOverrides): Promise; transferProxyForDeprecated(overrides?: CallOverrides): Promise; setBeneficiary(newBeneficiary: PromiseOrValue, overrides?: CallOverrides): Promise; setBuyerFeeSigner(newBuyerFeeSigner: PromiseOrValue, overrides?: CallOverrides): Promise; exchange(order: ExchangeDomainV1.OrderStruct, sig: ExchangeDomainV1.SigStruct, buyerFee: PromiseOrValue, buyerFeeSig: ExchangeDomainV1.SigStruct, amount: PromiseOrValue, buyer: PromiseOrValue, overrides?: CallOverrides): Promise; cancel(key: ExchangeDomainV1.OrderKeyStruct, overrides?: CallOverrides): Promise; prepareBuyerFeeMessage(order: ExchangeDomainV1.OrderStruct, fee: PromiseOrValue, overrides?: CallOverrides): Promise; prepareMessage(order: ExchangeDomainV1.OrderStruct, overrides?: CallOverrides): Promise; }; filters: { "Buy(address,uint256,uint256,address,address,uint256,uint256,address,uint256,uint256)"(sellToken?: PromiseOrValue | null, sellTokenId?: PromiseOrValue | null, sellValue?: null, owner?: null, buyToken?: null, buyTokenId?: null, buyValue?: null, buyer?: null, amount?: null, salt?: null): BuyEventFilter; Buy(sellToken?: PromiseOrValue | null, sellTokenId?: PromiseOrValue | null, sellValue?: null, owner?: null, buyToken?: null, buyTokenId?: null, buyValue?: null, buyer?: null, amount?: null, salt?: null): BuyEventFilter; "Cancel(address,uint256,address,address,uint256,uint256)"(sellToken?: PromiseOrValue | null, sellTokenId?: PromiseOrValue | null, owner?: null, buyToken?: null, buyTokenId?: null, salt?: null): CancelEventFilter; Cancel(sellToken?: PromiseOrValue | null, sellTokenId?: PromiseOrValue | null, owner?: null, buyToken?: null, buyTokenId?: null, salt?: null): CancelEventFilter; "OwnershipTransferred(address,address)"(previousOwner?: PromiseOrValue | null, newOwner?: PromiseOrValue | null): OwnershipTransferredEventFilter; OwnershipTransferred(previousOwner?: PromiseOrValue | null, newOwner?: PromiseOrValue | null): OwnershipTransferredEventFilter; }; estimateGas: { beneficiary(overrides?: CallOverrides): Promise; buyerFeeSigner(overrides?: CallOverrides): Promise; erc20TransferProxy(overrides?: CallOverrides): Promise; /** * Returns true if the caller is the current owner. */ isOwner(overrides?: CallOverrides): Promise; ordersHolder(overrides?: CallOverrides): Promise; /** * Returns the address of the current owner. */ owner(overrides?: CallOverrides): Promise; /** * Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner. */ renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; state(overrides?: CallOverrides): Promise; /** * Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner. */ transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferProxy(overrides?: CallOverrides): Promise; transferProxyForDeprecated(overrides?: CallOverrides): Promise; setBeneficiary(newBeneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setBuyerFeeSigner(newBuyerFeeSigner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; exchange(order: ExchangeDomainV1.OrderStruct, sig: ExchangeDomainV1.SigStruct, buyerFee: PromiseOrValue, buyerFeeSig: ExchangeDomainV1.SigStruct, amount: PromiseOrValue, buyer: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; cancel(key: ExchangeDomainV1.OrderKeyStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; prepareBuyerFeeMessage(order: ExchangeDomainV1.OrderStruct, fee: PromiseOrValue, overrides?: CallOverrides): Promise; prepareMessage(order: ExchangeDomainV1.OrderStruct, overrides?: CallOverrides): Promise; }; populateTransaction: { beneficiary(overrides?: CallOverrides): Promise; buyerFeeSigner(overrides?: CallOverrides): Promise; erc20TransferProxy(overrides?: CallOverrides): Promise; /** * Returns true if the caller is the current owner. */ isOwner(overrides?: CallOverrides): Promise; ordersHolder(overrides?: CallOverrides): Promise; /** * Returns the address of the current owner. */ owner(overrides?: CallOverrides): Promise; /** * Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner. */ renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; state(overrides?: CallOverrides): Promise; /** * Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner. */ transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferProxy(overrides?: CallOverrides): Promise; transferProxyForDeprecated(overrides?: CallOverrides): Promise; setBeneficiary(newBeneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setBuyerFeeSigner(newBuyerFeeSigner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; exchange(order: ExchangeDomainV1.OrderStruct, sig: ExchangeDomainV1.SigStruct, buyerFee: PromiseOrValue, buyerFeeSig: ExchangeDomainV1.SigStruct, amount: PromiseOrValue, buyer: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; cancel(key: ExchangeDomainV1.OrderKeyStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; prepareBuyerFeeMessage(order: ExchangeDomainV1.OrderStruct, fee: PromiseOrValue, overrides?: CallOverrides): Promise; prepareMessage(order: ExchangeDomainV1.OrderStruct, overrides?: CallOverrides): Promise; }; }