import type { X402ProofOfPayment } from '../interfaces/x402.js'; /** * Result of proof validation */ export interface ProofValidationResult { /** Whether the proof is valid */ valid: boolean; /** Validation method used */ method: 'rpc' | 'indexer' | 'skip'; /** Error message if validation failed */ error?: string; /** Transaction details if found */ details?: { blockTime?: number; slot?: number; fee?: number; status: 'confirmed' | 'finalized' | 'processed' | 'unknown'; }; } /** * Validation options */ export interface ValidationOptions { /** Require specific confirmation level (Solana) */ commitment?: 'processed' | 'confirmed' | 'finalized'; /** Timeout in milliseconds */ timeoutMs?: number; } /** * Validate a proof of payment (FORMAT ONLY) * * IMPORTANT: This function only validates the proof format (address formats, * transaction hash format, etc.). It does NOT verify the transaction on-chain. * On-chain verification would require RPC access and is not currently implemented. * * For production use, consider verifying proofs on-chain via the respective * chain's RPC (e.g., getTransaction on Solana, eth_getTransactionReceipt on EVM). */ export declare function validateProofFormat(proof: X402ProofOfPayment, _options?: ValidationOptions): Promise; /** * @deprecated Use validateProofFormat instead. This function only validates format, * not on-chain presence of the transaction. */ export declare const validateProof: typeof validateProofFormat; /** * Check if a proof looks valid without on-chain validation * Fast sanity check for format correctness */ export declare function isProofFormatValid(proof: X402ProofOfPayment): { valid: boolean; errors: string[]; }; /** * Detect chain type from proof format */ export declare function getChainTypeFromProof(proof: X402ProofOfPayment): 'solana' | 'evm' | 'unknown'; //# sourceMappingURL=proof-validator.d.ts.map