bitcoin-inscription-viewer
Version:
🔍 A robust, production-ready React/TypeScript library for viewing Bitcoin Ordinals inscriptions with advanced optimization features including LRU caching, LaserEyes wallet integration, virtual scrolling, and performance monitoring
56 lines • 2.02 kB
TypeScript
/**
* React hooks for interacting with the Ordinals API
*/
import { InscriptionData } from '../types/inscription';
export interface UseOrdinalsApiOptions {
userNodeUrl?: string;
ordinalsUrl?: string;
autoFetch?: boolean;
}
export interface UseInscriptionsResult {
inscriptions: InscriptionData[];
loading: boolean;
error: string | null;
hasMore: boolean;
currentPage: number;
source: 'user-node' | 'ordinals.com' | null;
fetchInscriptions: (page?: number) => Promise<void>;
fetchInscriptionsByIds: (ids: string[]) => Promise<void>;
fetchInscriptionsByAddress: (address: string) => Promise<void>;
fetchInscriptionChildren: (inscriptionId: string, page?: number) => Promise<void>;
fetchInscriptionParents: (inscriptionId: string, page?: number) => Promise<void>;
clearInscriptions: () => void;
refetch: () => Promise<void>;
}
/**
* Hook for fetching and managing inscriptions data
*/
export declare function useInscriptions(options?: UseOrdinalsApiOptions): UseInscriptionsResult;
export interface UseInscriptionResult {
inscription: InscriptionData | null;
loading: boolean;
error: string | null;
source: 'user-node' | 'ordinals.com' | null;
fetchInscription: (inscriptionId: string) => Promise<void>;
fetchInscriptionContent: (inscriptionId: string) => Promise<void>;
content: any;
metadata: string | null;
}
/**
* Hook for fetching a single inscription with its details
*/
export declare function useInscription(): UseInscriptionResult;
export interface UseBlockResult {
block: any;
inscriptions: InscriptionData[];
loading: boolean;
error: string | null;
source: 'user-node' | 'ordinals.com' | null;
fetchBlock: (blockHashOrHeight: string | number) => Promise<void>;
fetchBlockInscriptions: (blockHeight: number) => Promise<void>;
}
/**
* Hook for fetching block data and its inscriptions
*/
export declare function useBlock(): UseBlockResult;
//# sourceMappingURL=useOrdinalsApi.d.ts.map