import { PublicKey } from "@solana/web3.js";


export enum ListingState {
    Active="active",
    Sold="sold",
    Cancelled="cancelled",
}


export interface Listing {
    key: PublicKey;
    auctionManager: PublicKey;
    nft: PublicKey;
    tokenMint: PublicKey;
    startingPrice: number;
    startTime: number;
    endTime: number | null;
    highestBidReceipt: PublicKey | null;
    highestBidAmount: number | null;
    bidReceipts: Array<PublicKey>;
    nftEscrow: PublicKey;
    auctionProceedsWallet: PublicKey;
    authority: PublicKey;
    rewardPercentage: number;
    timeExtension: number;
    state: ListingState;
    cancelledAt: number | null;
}