@tatumio/nft-connector
Version:
NFT Connector for Tatum API
65 lines (64 loc) • 4.51 kB
TypeScript
import { PinoLogger } from 'nestjs-pino';
import { SolanaMintNft } from '@tatumio/tatum-solana';
import { TransferErc721 as CoreTransferErc721, MintErc721 as CoreMintErc721, BurnErc721 as CoreBurnErc721, DeployErc721 as CoreDeployErc721 } from '@tatumio/tatum-core';
import { Transaction, TransactionReceipt } from 'web3-eth';
import { ChainEgldEsdtTransaction } from './dto/ChainEgldEsdtTransaction';
import { AddMinter, BurnErc721, CeloBurnErc721, CeloDeployErc721, CeloMintErc721, CeloMintMultipleErc721, CeloTransferErc721, CeloUpdateCashbackErc721, Currency, DeployErc721, EgldTransaction, EthBurnErc721, EthDeployErc721, EthMintErc721, EthMintMultipleErc721, EthTransferErc721, FlowBurnNft, FlowDeployNft, FlowMintMultipleNft, FlowMintNft, FlowTransferNft, OneBurn721, OneDeploy721, OneMint721, OneMintMultiple721, OneTransfer721, OneUpdateCashback721, TransactionHash, TransferErc721, TronBurnTrc721, TronDeployTrc721, TronMintMultipleTrc721, TronMintTrc721, TronTransferTrc721, TronUpdateCashbackTrc721, UpdateCashbackErc721 } from '@tatumio/tatum';
export declare abstract class NftService {
protected readonly logger: PinoLogger;
protected constructor(logger: PinoLogger);
protected abstract storeKMSTransaction(txData: string, currency: string, signatureId: string[], index?: number): Promise<string>;
protected abstract isTestnet(): Promise<boolean>;
protected abstract wrapFlowCall(operation: (proposer: any, payer: any) => Promise<any>): Promise<any>;
protected abstract getTronClient(testnet: boolean): Promise<any>;
protected abstract getNodesUrl(chain: Currency, testnet: boolean): Promise<string[]>;
protected abstract broadcast(chain: Currency, txData: string, signatureId?: string): any;
protected abstract deployFlowNft(testnet: boolean, body: FlowDeployNft): Promise<TransactionHash>;
protected abstract getMintBuiltInData(body: CeloMintErc721 | EthMintErc721 | TronMintTrc721 | OneMint721): Promise<CeloMintErc721 | EthMintErc721 | TronMintTrc721 | OneMint721 | CoreMintErc721 | undefined>;
getMetadataErc721(chain: Currency, token: string, contractAddress: string, account?: string, nonce?: string): Promise<{
data?: string;
onchainData?: any;
}>;
getRoyaltyErc721(chain: Currency, token: string, contractAddress: string, nonce?: string): Promise<{
addresses: any;
values: any;
}>;
getProvenanceData(chain: Currency, contractAddress: string, tokenId: string): Promise<any[]>;
getTokensOfOwner(chain: Currency, address: string, contractAddress: string, nonce?: string | undefined): Promise<any>;
getContractAddress(chain: Currency, txId: string): Promise<{
contractAddress: any;
}>;
getTransaction(chain: Currency, txId: string): Promise<Transaction & TransactionReceipt | EgldTransaction>;
transferErc721(body: CeloTransferErc721 | EthTransferErc721 | FlowTransferNft | TronTransferTrc721 | OneTransfer721 | ChainEgldEsdtTransaction | TransferErc721 | CoreTransferErc721): Promise<TransactionHash | {
signatureId: string;
}>;
mintErc721(body: CeloMintErc721 | EthMintErc721 | FlowMintNft | TronMintTrc721 | OneMint721 | ChainEgldEsdtTransaction | SolanaMintNft | CoreMintErc721): Promise<TransactionHash | {
signatureId: string;
} | {
txId: string;
tokenId: number;
}>;
addMinter(body: AddMinter): Promise<TransactionHash | {
signatureId: string;
} | {
txId: string;
tokenId: number;
}>;
mintMultipleErc721(body: CeloMintMultipleErc721 | EthMintMultipleErc721 | FlowMintMultipleNft | TronMintMultipleTrc721 | OneMintMultiple721): Promise<TransactionHash | {
signatureId: string;
} | {
txId: string;
tokenId: number[];
}>;
updateCashbackForAuthor(body: CeloUpdateCashbackErc721 | UpdateCashbackErc721 | TronUpdateCashbackTrc721 | OneUpdateCashback721): Promise<TransactionHash | {
signatureId: string;
}>;
burnErc721(body: CeloBurnErc721 | EthBurnErc721 | FlowBurnNft | TronBurnTrc721 | OneBurn721 | ChainEgldEsdtTransaction | BurnErc721 | CoreBurnErc721): Promise<TransactionHash | {
signatureId: string;
}>;
deployErc721(body: CeloDeployErc721 | EthDeployErc721 | FlowDeployNft | TronDeployTrc721 | OneDeploy721 | ChainEgldEsdtTransaction | DeployErc721 | CoreDeployErc721): Promise<TransactionHash | {
signatureId: string;
}>;
private getElrondNftDataForAddress;
private getClient;
}