UNPKG

@bit-gpt/h402

Version:

BitGPT's 402 open protocol for blockchain-native payments

50 lines 2.38 kB
/** * Export all facilitator implementations * This file serves as a central export point for all blockchain-specific facilitators * and provides a unified interface for easier use */ import * as evmFacilitator from "./evm/facilitator.js"; import * as solanaFacilitator from "./solana/facilitator.js"; export * as evm from "./evm/facilitator.js"; export * as solana from "./solana/facilitator.js"; import { PaymentRequirements, VerifyResponse, SettleResponse, EvmPaymentPayload, SolanaPaymentPayload } from "../types"; import { EvmClient, SolanaClient } from "../types/shared/client"; import { PublicClient } from "viem"; /** * Type representing any supported payment payload */ export type PaymentPayload = EvmPaymentPayload | SolanaPaymentPayload; /** * Type representing any supported client */ export type Client = EvmClient | SolanaClient | PublicClient; /** * Verifies a payment payload against the required payment details * Automatically detects the appropriate blockchain implementation * * @param payload - The signed payment payload * @param paymentRequirements - The payment requirements that the payload must satisfy * @param client - Optional client used for blockchain interactions (required for EVM) * @returns A VerifyResponse indicating if the payment is valid and any invalidation reason */ export declare function verify(payload: PaymentPayload, paymentRequirements: PaymentRequirements): Promise<VerifyResponse>; /** * Settles a payment payload against the required payment details * Automatically detects the appropriate blockchain implementation * * @param payload - The signed payment payload * @param paymentRequirements - The payment requirements that the payload must satisfy * @param privateKeyOrClient - Private key (for EVM) or client (for Solana) * @returns A SettleResponse indicating if the payment is settled and any settlement reason */ export declare function settle(payload: PaymentPayload, paymentRequirements: PaymentRequirements, privateKeyOrClient: string | Client): Promise<SettleResponse>; /** * Get supported payment schemes and networks for all implementations * * @returns Object containing supported schemes and networks for each blockchain */ export declare function getSupported(): { evm: evmFacilitator.Supported; solana: solanaFacilitator.Supported; }; //# sourceMappingURL=index.d.ts.map