UNPKG

@gotake/gotake-sdk

Version:

SDK for interacting with GoTake blockchain contracts

74 lines 2.4 kB
import { ethers } from 'ethers'; import { Provider } from '@ethersproject/providers'; import { BaseApi } from './base-api'; import { VideoMetadata } from '../utils'; import { TransactionOptions } from '../types'; /** * IPNFT API module, providing functionality related to IP NFT minting */ export declare class IPNFTApi extends BaseApi { private _ipnftWrapper; /** * Create IPNFT API instance * @param provider Provider instance * @param signer Signer instance */ constructor(provider: Provider, signer: ethers.Signer); /** * Mint IP NFT * @param to Recipient address * @param metadata Content metadata * @param options Transaction options * @returns Transaction object and token ID */ mint(to: string, metadata: VideoMetadata, options?: TransactionOptions): Promise<{ tx: ethers.ContractTransaction; tokenId: ethers.BigNumber; }>; /** * Get NFT details * @param tokenId Token ID * @returns NFT metadata */ getNFTDetails(tokenId: ethers.BigNumber | number | string): Promise<{ tokenId: ethers.BigNumber; uri: string; owner: string; seriesTitle: string; description: string; totalSeasons: ethers.BigNumber; totalEpisodes: ethers.BigNumber; genres: string[]; creators: string[]; createdAt: ethers.BigNumber; posterUri: string; }>; /** * Set media details for an NFT * @param tokenId Token ID * @param mediaData Media information * @param options Transaction options * @returns Transaction object */ setMediaDetails(tokenId: ethers.BigNumber | number | string, mediaData: { seriesTitle: string; description: string; totalSeasons: number; totalEpisodes: number; genres: string[]; creators: string[]; posterUri: string; }, options?: TransactionOptions): Promise<ethers.ContractTransaction>; /** * Check if a user is the owner of an NFT * @param tokenId Token ID * @param address User address * @returns Whether the user is the owner */ isOwner(tokenId: ethers.BigNumber | number | string, address: string): Promise<boolean>; /** * Process connection update */ protected onConnectionUpdated(): Promise<void>; } //# sourceMappingURL=ipnft-api.d.ts.map