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