UNPKG

@tatumio/nft-connector

Version:

NFT Connector for Tatum API

65 lines (64 loc) 4.51 kB
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; }