import { BigNumberLike } from "@rarible/types"; import { EthSeaportConsideration } from "./EthSeaportConsideration"; import { EthSeaportOffer } from "./EthSeaportOffer"; import { EthSeaportOrderType } from "./EthSeaportOrderType"; import { Payout } from "./Payout"; import { RawJson } from "./RawJson"; import { UnionAddress } from "@rarible/types"; import { UnionContractAddress } from "@rarible/types"; export type OrderData = RawOrderData | EthOrderDataLegacy | EthRaribleV2OrderData | EthOrderOpenSeaV1DataV1 | EthOrderSeaportDataV1 | EthOrderCryptoPunksData | FlowOrderDataV1 | SolanaAuctionHouseDataV1 | ImmutablexOrderDataV1; export type RawOrderData = { "@type": "RAW"; data?: RawJson; }; export type EthOrderDataLegacy = { "@type": "ETH_RARIBLE_V1"; fee: BigNumberLike; }; export type EthRaribleV2OrderData = EthOrderDataRaribleV2DataV1 | EthOrderDataRaribleV2DataV2 | EthOrderDataRaribleV2DataV3 | EthOrderDataRaribleV2DataV3Sell | EthOrderDataRaribleV2DataV3Buy; export type EthOrderDataRaribleV2DataV1 = { "@type": "ETH_RARIBLE_V2"; payouts: Array; originFees: Array; }; export type EthOrderDataRaribleV2DataV2 = { "@type": "ETH_RARIBLE_V2_2"; payouts: Array; originFees: Array; isMakeFill: boolean; }; export type EthOrderDataRaribleV2DataV3 = { "@type": "ETH_RARIBLE_V2_3"; payouts: Array; originFees: Array; isMakeFill: boolean; }; export type EthOrderDataRaribleV2DataV3Sell = { "@type": "ETH_RARIBLE_V2_DATA_V3_SELL"; payout?: Payout; originFeeFirst?: Payout; originFeeSecond?: Payout; maxFeesBasePoint: number; marketplaceMarker?: string; }; export type EthOrderDataRaribleV2DataV3Buy = { "@type": "ETH_RARIBLE_V2_DATA_V3_BUY"; payout?: Payout; originFeeFirst?: Payout; originFeeSecond?: Payout; marketplaceMarker?: string; }; export declare enum EthOrderOpenSeaV1DataV1FeeMethod { PROTOCOL_FEE = "PROTOCOL_FEE", SPLIT_FEE = "SPLIT_FEE" } export declare enum EthOrderOpenSeaV1DataV1Side { BUY = "BUY", SELL = "SELL" } export declare enum EthOrderOpenSeaV1DataV1SaleKind { FIXED_PRICE = "FIXED_PRICE", DUTCH_AUCTION = "DUTCH_AUCTION" } export declare enum EthOrderOpenSeaV1DataV1HowToCall { CALL = "CALL", DELEGATE_CALL = "DELEGATE_CALL" } export type EthOrderOpenSeaV1DataV1 = { "@type": "ETH_OPEN_SEA_V1"; exchange: UnionAddress; makerRelayerFee: BigNumberLike; takerRelayerFee: BigNumberLike; makerProtocolFee: BigNumberLike; takerProtocolFee: BigNumberLike; feeRecipient: UnionAddress; feeMethod: EthOrderOpenSeaV1DataV1FeeMethod; side: EthOrderOpenSeaV1DataV1Side; saleKind: EthOrderOpenSeaV1DataV1SaleKind; howToCall: EthOrderOpenSeaV1DataV1HowToCall; callData: string; replacementPattern: string; staticTarget: UnionAddress; staticExtraData: string; extra: BigNumberLike; }; export type EthOrderSeaportDataV1 = EthOrderBasicSeaportDataV1; export type EthOrderBasicSeaportDataV1 = { "@type": "ETH_BASIC_SEAPORT_DATA_V1"; protocol: UnionAddress; orderType: EthSeaportOrderType; offer: Array; consideration: Array; zone: UnionAddress; zoneHash: string; conduitKey: string; counter?: number; nonce?: BigNumberLike; }; export type EthOrderCryptoPunksData = { "@type": "ETH_CRYPTO_PUNKS"; stub?: string; }; export type FlowOrderDataV1 = { "@type": "FLOW_RARIBLE_V1"; payouts: Array; originFees: Array; }; export type SolanaAuctionHouseDataV1 = { "@type": "SOLANA_AUCTION_HOUSE_V1"; fee?: number; requiresSignOff?: boolean; auctionHouse?: UnionContractAddress; }; export type ImmutablexOrderDataV1 = { "@type": "IMMUTABLEX_RARIBLE_V1"; payouts: Array; originFees: Array; };