UNPKG

@fugitivesclub/nft

Version:

A SDK for NFT creation with Hedera and FileCoin

86 lines (85 loc) 2.02 kB
export interface HederaAccount { accountId: string; privateKey: string; environment?: HederaEnvironment; } export interface NFT { /** Name of the NFT */ name: string; /** Description of the NFT */ description: string; /** Category of the NFT */ category: CategoryNFT; /** Creator of the NFT */ creator: string; /** Media to linked to the NFT - base64 */ media: string; /** Attributes */ attributes: NftAttribute[]; /** Custom JSON Properties */ customProperties: Record<string, unknown> | null; } export interface NFTDto extends NFT { /** Quantity of NFT to create - only if you provide one nft */ supply: number; /** Custom Royalty Fees */ customRoyaltyFee: CustomFee[] | null; } export interface TokenDto { /** Name of the Token */ name: string; /** Symbol of the Token */ symbol: string; /** Admin Key Properties */ adminKey?: string; /** Custom Royalty Fees */ customRoyaltyFee: CustomFee[] | null; /** Array of nfts */ nfts: NFT[]; } export interface NftAttribute { trait_type: string; value: string; } export interface NftCreated { urls: string[]; txId: string; tokenId: string; nftIds: Array<string>; } export interface CreateNFT { name: string; symbol: string; supply?: number; customFees?: CustomFee[] | null; cids: string[]; nfts: NFT[]; supplyKey?: string; adminKey?: string; } export interface NFTProperties { trait_type: string; value: string; } export interface Fees { hbar: number; usd: number; } export declare enum HederaEnvironment { MAINNET = "mainnet", TESTNET = "testnet" } export declare enum CategoryNFT { ART = "Art", DIGITAL_ART = "Digital art", MUSIC = "Music", COLLECTIBLE = "Collectible", DOCUMENT = "Document", OTHER = "Other" } export interface CustomFee { numerator: number; denominator: number; fallbackFee?: number; collectorAccountId: string; }