UNPKG

@bit-gpt/h402

Version:

BitGPT's 402 open protocol for blockchain-native payments

41 lines 1.57 kB
import { Hex } from "viem"; import { PaymentRequirements } from "../../../types"; interface TransactionData { to?: Hex | null; value?: bigint; input?: string; data?: string; } interface TransferValidationResult { isValid: boolean; errorMessage?: string; transferDetails?: { recipient: string; amount: bigint; isNativeTransfer: boolean; }; } interface TransferEventLog { address: string; topics: readonly string[]; data: string; } /** * Validates transfer data for both native and ERC20 token transfers */ declare function validateTransferData(txData: TransactionData, paymentRequirements: PaymentRequirements): Promise<TransferValidationResult>; /** * Validates native token (ETH) transfers */ declare function validateNativeTransfer(txData: TransactionData, paymentRequirements: PaymentRequirements): TransferValidationResult; /** * Validates ERC20 token transfers */ declare function validateERC20Transfer(txData: TransactionData, paymentRequirements: PaymentRequirements): Promise<TransferValidationResult>; /** * Validates transfer event logs from transaction receipt * Only used for ERC20 transfers in executed transactions */ declare function validateTransferEventLog(logs: TransferEventLog[], paymentRequirements: PaymentRequirements): TransferValidationResult; export { validateTransferData, validateTransferEventLog, validateNativeTransfer, validateERC20Transfer, type TransferValidationResult, type TransactionData, type TransferEventLog, }; //# sourceMappingURL=validation.d.ts.map