UNPKG

@macalinao/grill

Version:

Modern Solana development kit for React applications with automatic account batching, caching, and transaction notifications

51 lines 2.21 kB
import type { GetExplorerLinkFunction, SolanaCluster } from "@macalinao/gill-extra"; import type { TokenInfo } from "@macalinao/token-utils"; import type { FC, ReactNode } from "react"; import type { TransactionStatusEventCallback } from "../types.js"; export interface GrillHeadlessProviderProps { children: ReactNode; /** Maximum number of accounts to batch in a single request. Defaults to 99. */ maxBatchSize?: number; /** Duration in milliseconds to wait before sending a batch. Defaults to 10ms. */ batchDurationMs?: number; onTransactionStatusEvent?: TransactionStatusEventCallback; /** Custom function to get explorer link for a transaction signature. Defaults to gill's getExplorerLink. */ getExplorerLink?: GetExplorerLinkFunction; /** * Static token information that overrides whatever is on-chain. * useTokenInfo will load these instantly without fetching from chain. */ staticTokenInfo?: TokenInfo[]; /** * Whether to fetch from the certified token list as a fallback when token metadata is missing. * Defaults to true for backwards compatibility. */ fetchFromCertifiedTokenList?: boolean; /** * The RPC URL used for creating transaction inspector URLs in error logs. * This is needed to generate correct inspector URLs for custom RPC endpoints. * If using localhost, this should be "http://localhost:8899" (or your local RPC port). */ rpcUrl?: string; /** * The Solana cluster for explorer links. Defaults to "mainnet-beta". * Use "localnet" when developing locally. */ cluster?: SolanaCluster; } /** * Headless provider component for Solana account batching functionality. * Creates and provides a batch account loader for efficient Solana account fetching. * This provider integrates with @gillsdk/react's useSolanaClient hook to access the RPC client. * * For UI integration with toast notifications, use GrillProvider instead. * * @example * ```tsx * <GrillHeadlessProvider> * <App /> * </GrillHeadlessProvider> * ``` */ export declare const GrillHeadlessProvider: FC<GrillHeadlessProviderProps>; //# sourceMappingURL=grill-headless-provider.d.ts.map