@bit-gpt/h402
Version:
BitGPT's 402 open protocol for blockchain-native payments
41 lines • 1.57 kB
TypeScript
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