@apillon/sdk
Version:
▶◀ Apillon SDK for NodeJS ▶◀
159 lines • 3.76 kB
TypeScript
import { IApillonPagination } from './apillon';
export declare enum EvmChain {
MOONBEAM = 1284,
MOONBASE = 1287,
ASTAR = 592
}
export declare enum SubstrateChain {
ASTAR = 8,
UNIQUE = 11
}
export declare enum CollectionStatus {
CREATED = 0,
DEPLOY_INITIATED = 1,
DEPLOYING = 2,
DEPLOYED = 3,
TRANSFERRED = 4,
FAILED = 5
}
export declare enum CollectionType {
GENERIC = 1,
NESTABLE = 2
}
export declare enum TransactionStatus {
PENDING = 1,
CONFIRMED = 2,
FAILED = 3,
ERROR = 4
}
export declare enum TransactionType {
DEPLOY_CONTRACT = 1,
TRANSFER_CONTRACT_OWNERSHIP = 2,
MINT_NFT = 3,
SET_COLLECTION_BASE_URI = 4,
BURN_NFT = 5,
NEST_MINT_NFT = 6
}
export interface ICreateCollectionBase {
collectionType: CollectionType;
name: string;
symbol: string;
description?: string;
baseUri: string;
baseExtension: string;
maxSupply?: number;
royaltiesAddress?: string;
royaltiesFees: number;
drop: boolean;
dropStart?: number;
dropPrice?: number;
dropReserve?: number;
}
export interface ICreateCollection extends ICreateCollectionBase {
/**
* Indicates if the collection is revokable (burnable).
*/
isRevokable: boolean;
/**
* Indicates if the collection is soulbound.
*/
isSoulbound: boolean;
/**
* If enabled, newly minted NFTs will have token IDs in sequential order.
*/
isAutoIncrement?: boolean;
/**
* The EVM chain on which the collection will be deployed.
*/
chain: EvmChain;
}
export interface ICreateSubstrateCollection extends ICreateCollectionBase {
chain: SubstrateChain;
}
export interface IMetadataAttributes {
/**
* Trait value.
*/
value: string;
/**
* Name of the trait.
*/
trait_type: string;
/**
* Type for displaying trait (number, date,...).
*/
display_type: string;
}
export interface IMetadata {
/**
* NFT name.
*/
name: string;
/**
* NFT description.
*/
description: string;
/**
* NFT image URL.
*/
image: string;
/**
* Array of NFT attributes.
*/
attributes: IMetadataAttributes[];
}
export interface ICreateUniqueCollection extends ICreateCollectionBase {
/**
* Maximum supply of the collection.
*/
maxSupply: number;
/**
* For revokable collection owner can destroy (burn) NFTs at any time.
*/
isRevokable: boolean;
/**
* Soulbound tokens are NFTs that are bound to wallet and not transferable. (default: false)
*/
isSoulbound: boolean;
/**
* Object containing metadata for different token ids.
*/
metadata: {
[tokenId: string]: IMetadata;
};
}
export interface ITransaction {
chainId: number;
transactionType: TransactionType;
transactionStatus: TransactionStatus;
transactionHash: string;
updateTime: string;
createTime: string;
}
export interface ICollectionFilters extends IApillonPagination {
collectionStatus?: CollectionStatus;
}
export interface INftActionResponse {
success: boolean;
transactionHash: string;
}
export interface ITransactionFilters extends IApillonPagination {
transactionStatus?: TransactionStatus;
transactionType?: TransactionType;
}
export interface IMintNftData {
/**
* Address to receive the minted NFT
*/
receivingAddress: string;
/**
* How many NFTs to mint to the receiver
*/
quantity?: number;
/**
* If collection is set as isAutoIncrement=false,
* use this parameter to define the custom minted NFT token IDS
*/
idsToMint?: number[];
}
//# sourceMappingURL=nfts.d.ts.map