import { Asset, ElementSchemaName, Token, OrderType, OfferType } from '../types'; import { BigNumber } from '../utils/constants'; export declare enum MakeOrderType { FixPriceOrder = "FixPriceOrder", DutchAuctionOrder = "DutchAuctionOrder", EnglishAuctionOrder = "EnglishAuctionOrder", LowerPriceOrder = "LowerPriceOrder", MakeOfferOrder = "MakeOfferOrder", EnglishAuctionBiddingOrder = "EnglishAuctionBiddingOrder" } export interface TradeBestAskType { bestAskSaleKind: number; bestAskPrice: number; bestAskToken: string; bestAskPriceBase: number; bestAskPriceUSD: number; bestAskListingDate: string; bestAskExpirationDate: string; bestAskPriceCNY: number; bestAskCreatedDate: string; bestAskOrderString: string; bestAskOrderType: number; bestAskOrderQuantity: number; bestAskTokenContract: Token; } export interface CreateOrderParams { asset: Asset; startAmount: number; quantity?: number; paymentToken?: Token; } export interface SellOrderParams extends CreateOrderParams { listingTime?: number; expirationTime?: number; endAmount?: number; buyerAddress?: string; } export interface EnglishAuctionOrderParams extends CreateOrderParams { expirationTime: number; englishAuctionReservePrice?: number; } export interface BuyOrderParams extends CreateOrderParams { expirationTime: number; offerType?: OfferType; } export interface BiddingOrderParams extends CreateOrderParams { bestAsk: TradeBestAskType; } export interface BaseOrder { makerAddress: string; takerAddress: string; feeRecipientAddress: string; senderAddress: string; makerAssetAmount: BigNumber; takerAssetAmount: BigNumber; makerFee: BigNumber; takerFee: BigNumber; expirationTimeSeconds: BigNumber; salt: BigNumber; makerAssetData: string; takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; } export interface Chain_Info { chain_id: string; chain: string; } export interface chainAddress { address: string; chain: Chain_Info; } export interface oxFee extends chainAddress { basis_points: number; } export interface oxAssetStandards extends chainAddress { standards: ElementSchemaName; } export interface oxAsset { contract: oxAssetStandards; asset_id?: string; quantity: string; } export interface PostOrderV2 { maker_address: chainAddress; taker_address: chainAddress; maker_asset: [oxAsset]; taker_asset: [oxAsset]; maker_fees: [oxFee] | []; taker_fees: [oxFee] | []; exchange_contract: { address: string; chain: Chain_Info; standards: string[]; }; signature: string; side: OrderType; exchange_data: any; offer_type: OfferType; third_data: { order_hash: string; }; chain: Chain_Info; }