UNPKG

svm-pay

Version:

A payment solution for SVM networks (Solana, Sonic SVM, Eclipse, s00n)

56 lines 2.05 kB
/** * SVM-Pay Transfer Request Handler * * This file implements the handler for transfer requests in the SVM-Pay protocol. * Transfer requests are non-interactive requests for simple token transfers. */ import { NetworkAdapter, PaymentRecord, SVMNetwork, TransferRequest, RequestType } from './types'; /** * Payment store interface for persisting payment records */ interface PaymentStore { save(record: PaymentRecord): Promise<void>; load(id: string): Promise<PaymentRecord | null>; loadByType(type: RequestType): Promise<PaymentRecord[]>; update(id: string, updates: Partial<PaymentRecord>): Promise<PaymentRecord>; delete(id: string): Promise<boolean>; } /** * Handler for transfer requests */ export declare class TransferRequestHandler { private networkAdapters; private paymentStore; /** * Create a new TransferRequestHandler * * @param networkAdapters Map of network adapters for each supported network * @param paymentStore Optional payment store (defaults to in-memory) */ constructor(networkAdapters: Map<SVMNetwork, NetworkAdapter>, paymentStore?: PaymentStore); /** * Process a transfer request * * @param request The transfer request to process * @returns A payment record for the processed request */ processRequest(request: TransferRequest): Promise<PaymentRecord>; /** * Submit a signed transaction for a transfer request * * @param paymentId The ID of the payment record * @param transaction The transaction to submit * @param signature The signature for the transaction * @returns The updated payment record */ submitTransaction(paymentId: string, transaction: string, signature: string): Promise<PaymentRecord>; /** * Check the status of a payment * * @param paymentId The ID of the payment to check * @returns The updated payment record */ checkStatus(paymentId: string): Promise<PaymentRecord>; } export {}; //# sourceMappingURL=transfer-handler.d.ts.map