UNPKG

@bsv/payment-express-middleware

Version:
41 lines 1.26 kB
import { Request } from "express"; import { WalletInterface } from "@bsv/sdk"; //#region src/types.d.ts interface PaymentReceipt { satoshisPaid: number; accepted: true; tx: string; txid: string; } interface PaymentRequest extends Request { auth?: { identityKey?: unknown; }; payment?: PaymentReceipt; } /** * Replay claims must be atomic. Return false when the transaction ID has * already been claimed. Shared deployments should use a durable implementation. */ interface PaymentReplayStore { claim: (transactionId: string) => boolean | Promise<boolean>; } interface PaymentLogger { error?: (message: string, context?: Record<string, unknown>) => void; warn?: (message: string, context?: Record<string, unknown>) => void; } interface PaymentMiddlewareOptions { calculateRequestPrice?: (req: PaymentRequest) => number | Promise<number>; wallet: WalletInterface; replayStore?: PaymentReplayStore; maxPaymentHeaderBytes?: number; logger?: PaymentLogger; } interface BSVPayment { derivationPrefix: string; derivationSuffix: string; transaction: string; } //#endregion export { BSVPayment, PaymentLogger, PaymentMiddlewareOptions, PaymentReceipt, PaymentReplayStore, PaymentRequest }; //# sourceMappingURL=types.d.cts.map