UNPKG

@solana/pay

Version:

`@solana/pay` is a JavaScript library for facilitating commerce on Solana by using a token transfer URL scheme. The URL scheme ensures that no matter the wallet or service used, the payment request must be created and interpreted in one standard way.

62 lines • 2.46 kB
import type { Address, Base64EncodedDataResponse, GetTransactionApi, Lamports, Rpc, Signature, TokenBalance } from '@solana/kit'; import type { Finality, TransferFields } from './types.js'; /** * Thrown when a transaction doesn't contain a valid Solana Pay transfer. */ export declare class ValidateTransferError extends Error { name: string; } /** * Check that a given transaction contains a valid Solana Pay transfer. * * @param rpc - An RPC client supporting `getTransaction`. * @param signature - The signature of the transaction to validate. * @param fields - Fields of a Solana Pay transfer request to validate. * @param options - Options for `getTransaction`. * * @throws {ValidateTransferError} */ export declare function validateTransfer(rpc: Rpc<GetTransactionApi>, signature: Signature, { recipient, amount, splToken, reference, memo }: TransferFields, options?: { commitment?: Finality; }): Promise<Readonly<{ blockTime: import("@solana/kit").UnixTimestamp | null; slot: import("@solana/kit").Slot; }> & ((Record<string, never> | { version: import("@solana/kit").TransactionVersion; }) & { meta: (Readonly<{ computeUnitsConsumed?: bigint; err: import("@solana/kit").TransactionError | null; fee: Lamports; logMessages: readonly string[] | null; postBalances: readonly Lamports[]; postTokenBalances?: readonly TokenBalance[]; preBalances: readonly Lamports[]; preTokenBalances?: readonly TokenBalance[]; returnData?: { data: Base64EncodedDataResponse; programId: Address; }; rewards: readonly import("@solana/kit").Reward[] | null; status: import("@solana/kit").TransactionStatus; }> & (Readonly<{ innerInstructions?: readonly Readonly<{ index: number; instructions: readonly (Readonly<{ data: import("@solana/kit").Base58EncodedBytes; }> & Partial<Readonly<{ stackHeight: number; }>> & Readonly<{ accounts: readonly number[]; programIdIndex: number; }>)[]; }>[] | null; }> & (Record<string, never> | Readonly<{ loadedAddresses: { readonly: readonly Address[]; writable: readonly Address[]; }; }>))) | null; transaction: Base64EncodedDataResponse; })>; //# sourceMappingURL=validateTransfer.d.ts.map