import { NftMedia, NftMetadata, NftRarities, TokenAssets, UnlockMileStoneModel, ScamInfo } from "./"; export interface CollectionTraitAttribute { name: string; occurrenceCount: number; occurrencePercentage: number; } export interface CollectionTrait { name: string; occurrenceCount: number; occurrencePercentage: number; attributes: CollectionTraitAttribute[]; } export interface CollectionAuctionStats { activeAuctions: number; endedAuctions: number; maxPrice: string; minPrice: string; saleAverage: string; volumeTraded: string; } export interface CollectionRoles { address: string | null; canCreate: boolean; canBurn: boolean; canAddQuantity: boolean; canUpdateAttributes: boolean; canAddUri: boolean; canTransfer: boolean; roles: string[]; } export interface CollectionsQuery { from?: number; size?: number; search?: string; identifiers?: string | string[]; type?: string[]; creator?: string; before?: number; after?: number; canCreate?: string; canBurn?: string; canAddQuantity?: string; canUpdateAttributes?: string; canAddUri?: string; canTransferRole?: string; excludeMetaESDT?: boolean; sort?: "timestamp" | "verifiedAndHolderCount"; order?: "asc" | "desc"; } export interface NftCollection { collection: string; type: "NonFungibleESDT" | "SemiFungibleESDT" | "MetaESDT"; name: string; ticker: string; owner: string | null; timestamp: number; canFreeze: boolean; canWipe: boolean; canPause: boolean; canTransferNftCreateRole: boolean; canChangeOwner: boolean; canUpgrade: boolean; canAddSpecialRoles: boolean; decimals: number | null; assets: TokenAssets | null; scamInfo: ScamInfo | null; traits: CollectionTrait[]; auctionStats: CollectionAuctionStats | null; isVerified: boolean | null; holderCount: number | null; nftCount: number | null; } export interface CollectionsCountQuery { search?: string; type?: string[]; creator?: string; before?: number; after?: number; canCreate?: string; canBurn?: string; canAddQuantity?: string; canUpdateAttributes?: string; canAddUri?: string; canTransferRole?: string; excludeMetaESDT?: boolean; } export interface NftCollectionDetailed { collection: string; type: "NonFungibleESDT" | "SemiFungibleESDT" | "MetaESDT"; name: string; ticker: string; owner: string | null; timestamp: number; canFreeze: boolean; canWipe: boolean; canPause: boolean; canTransferNftCreateRole: boolean; canChangeOwner: boolean; canUpgrade: boolean; canAddSpecialRoles: boolean; decimals: number | null; assets: TokenAssets | null; scamInfo: ScamInfo | null; traits: CollectionTrait[]; auctionStats: CollectionAuctionStats | null; isVerified: boolean | null; holderCount: number | null; nftCount: number | null; canTransfer: boolean | null; roles: CollectionRoles[]; } export interface NftRank { identifier: string; rank: number; } export interface CollectionNftsQuery { from?: number; size?: number; fields?: string; search?: string; identifiers?: string | string[]; name?: string; tags?: string[]; creator?: string; isWhitelistedStorage?: boolean; hasUris?: boolean; isNsfw?: boolean; nonceBefore?: number; nonceAfter?: number; withOwner?: boolean; withSupply?: boolean; withScamInfo?: boolean; computeScamInfo?: boolean; sort?: "timestamp" | "rank" | "nonce"; order?: "asc" | "desc"; traits?: boolean; } export interface Nft { identifier: string; collection: string; timestamp: number | null; attributes: string; nonce: number; type: "NonFungibleESDT" | "SemiFungibleESDT" | "MetaESDT"; name: string; creator: string; royalties: number | null; uris: any[][]; url: string; media: NftMedia | null; isWhitelistedStorage: boolean; thumbnailUrl: string; tags: any[][]; metadata: NftMetadata | null; owner: string | null; balance: string | null; supply: string; decimals: number | null; assets: TokenAssets; ticker: string; scamInfo: ScamInfo | null; score: number | null; rank: number | null; rarities: NftRarities | null; isNsfw: boolean | null; unlockSchedule: UnlockMileStoneModel[] | null; unlockEpoch: number | null; } export interface CollectionNftsCountQuery { search?: string; identifiers?: string | string[]; name?: string; tags?: string[]; creator?: string; isWhitelistedStorage?: boolean; hasUris?: boolean; nonceBefore?: number; nonceAfter?: number; traits?: boolean; } export interface CollectionAccountsQuery { from?: number; size?: number; } export interface CollectionAccount { address: string; balance: string; } export interface CollectionTransactionsQuery { from?: number; size?: number; sender?: string; receiver?: string[] | string; senderShard?: number; receiverShard?: number; miniBlockHash?: string; hashes?: string | string[]; status?: "success" | "pending" | "invalid" | "fail"; function?: string; before?: number; after?: number; order?: "asc" | "desc"; withScResults?: boolean; withOperations?: boolean; withLogs?: boolean; withScamInfo?: boolean; withUsername?: boolean; } export interface CollectionTransactionsCountQuery { sender?: string; receiver?: string[] | string; senderShard?: number; receiverShard?: number; miniBlockHash?: string; hashes?: string | string[]; status?: "success" | "pending" | "invalid" | "fail"; before?: number; after?: number; }