@macalinao/grill
Version:
Modern Solana development kit for React applications with automatic account batching, caching, and transaction notifications
51 lines • 2.21 kB
TypeScript
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