@htsoft/reactjs-hooks
Version:
NFT information hepler for ReactJS
82 lines (81 loc) • 2.98 kB
TypeScript
import { AskPriceFragment, BidDataPartialFragment, CurrencyShortFragment, CurrentReserveBidFragment, Maybe, NftMediaFragment, PreviousReserveBidFragment, ReserveAuctionPartialFragment } from '../graph-queries/aiza-graph-types';
import { ChainCurrencyType, NFTResultType, ReserveAuctionBidsWithCurrency } from '../fetcher/FetchResultTypes';
import { AuctionStateInfo } from './AuctionState';
import { OpenseaResponse } from './OpenseaUtils';
export declare type PricingInfo = {
currency: CurrencyShortFragment;
amount: string;
prettyAmount: string;
computedValue?: PricingInfoValue;
};
export declare type BidPricingInfo = {
pricing: PricingInfo;
};
export declare type PastReserveBid = Omit<PreviousReserveBidFragment, 'amount'> & BidPricingInfo;
export declare type CurrentReserveBid = Omit<CurrentReserveBidFragment, 'amount'> & BidPricingInfo;
export declare type PerpetualBid = Omit<BidDataPartialFragment, 'currency' | 'amount'> & BidPricingInfo;
export declare type PerpetualAsk = Pick<AskPriceFragment, 'id' | 'createdAtTimestamp'> & BidPricingInfo;
export declare type PricingInfoValue = {
inUSD: string;
inETH: string;
};
export declare enum AuctionType {
NONE = "NONE",
PERPETUAL = "PERPETUAL",
RESERVE = "RESERVE"
}
export declare type CommonNFTMediaDataType = {
nft: NFTResultType;
pricing: {
perpetual?: {
bids: BidDataPartialFragment[];
ask: Maybe<AskPriceFragment>;
};
reserve: Maybe<ReserveAuctionPartialFragment>;
};
};
declare type AizaNFTType = Omit<NftMediaFragment, 'currentBids' | 'currentAsk' | 'id' | 'owner' | 'creator'> & {
creatorBidSharePercentage: number;
ownerBidSharePercentage: number;
};
export declare type ZNFTMediaDataType = CommonNFTMediaDataType & {
aizaNFT: AizaNFTType;
};
export declare type OpenseaNFTMediaDataType = CommonNFTMediaDataType & {
openseaInfo: OpenseaResponse;
};
export declare type HighestBidType = {
pricing: PricingInfo;
placedBy: string;
placedAt: string;
};
export declare type PricingInfoData = {
status: AuctionStateInfo;
perpetual: {
bids: PerpetualBid[];
ask?: PerpetualAsk;
highestBid?: HighestBidType;
};
reserve?: ReserveAuctionBidsWithCurrency & {
current: {
highestBid?: HighestBidType;
likelyHasEnded: boolean;
reserveMet: boolean;
};
reservePrice?: PricingInfo;
currentBid?: CurrentReserveBid;
previousBids: PastReserveBid[];
};
auctionType: AuctionType;
};
export declare type ZNFTDataType = Omit<ZNFTMediaDataType, 'pricing'> & {
pricing: PricingInfoData;
};
export declare type OpenseaNFTDataType = Omit<OpenseaNFTMediaDataType, 'pricing'> & {
pricing: PricingInfoData;
};
export declare type NFTDataType = ZNFTDataType | OpenseaNFTDataType;
export declare type CurrencyLookupType = {
[currencyId: string]: ChainCurrencyType;
};
export {};