UNPKG

p-sdk-wallet

Version:

A comprehensive wallet SDK for React Native (pwc), supporting multi-chain and multi-account features.

58 lines (57 loc) 1.67 kB
import { NFTMetadata } from '../../types/nft'; /** * Service for resolving NFT metadata from various sources (IPFS, HTTP) */ export declare class MetadataResolver { private static readonly IPFS_GATEWAYS; private static readonly CACHE_DURATION; private static metadataCache; /** * Resolves metadata from a URI (IPFS or HTTP) * @param uri - The metadata URI to resolve * @returns Promise resolving to NFT metadata */ resolveMetadata(uri: string): Promise<NFTMetadata>; /** * Resolves IPFS URI to HTTP URL using multiple gateways * @param ipfsUri - IPFS URI (ipfs://...) * @returns Promise resolving to HTTP URL */ private resolveIPFS; /** * Fetches metadata from HTTP URL * @param url - HTTP URL to fetch metadata from * @returns Promise resolving to NFT metadata */ private fetchMetadata; /** * Parses raw metadata into standardized format * @param rawData - Raw metadata from contract * @returns Parsed NFT metadata */ private parseMetadata; /** * Gets cached metadata if available and not expired * @param uri - Metadata URI * @returns Cached metadata or null if not found/expired */ private getCachedMetadata; /** * Caches metadata for future use * @param uri - Metadata URI * @param metadata - Metadata to cache */ private cacheMetadata; /** * Clears the metadata cache */ static clearCache(): void; /** * Gets cache statistics * @returns Cache statistics */ static getCacheStats(): { size: number; entries: number; }; }