UNPKG

@macalinao/grill

Version:

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

33 lines 1.27 kB
import type { PdaFn } from "@macalinao/gill-extra"; import type { Address } from "@solana/kit"; /** * Hook for computing multiple PDAs from some arguments. */ export type PdasHook<TArgs, TResult = Address> = <T extends readonly TArgs[]>(args: T | null | undefined) => { [K in keyof T]: TResult; } | null | undefined; /** * Creates a hook for computing multiple PDAs (Program Derived Addresses) with caching * * @param pdaFn - A function that computes a PDA from some arguments * @param queryKeyPrefix - A unique prefix for the react-query cache key * @returns A hook that computes and caches multiple PDAs * * @example * ```typescript * import { findAssociatedTokenPda } from "@solana-program/token"; * * const useAssociatedTokenPdas = createPdasHook( * findAssociatedTokenPda, * "associatedTokenPdas" * ); * * // In a component: * const pdas = useAssociatedTokenPdas([ * { mint: mintAddress1, owner: ownerAddress1, tokenProgram: TOKEN_PROGRAM_ADDRESS }, * { mint: mintAddress2, owner: ownerAddress2, tokenProgram: TOKEN_PROGRAM_ADDRESS }, * ]); * ``` */ export declare function createPdasHook<TArgs, TResult>(pdaFn: PdaFn<TArgs, TResult>, queryKeyPrefix: string): PdasHook<TArgs, TResult>; //# sourceMappingURL=create-pdas-hook.d.ts.map