PortalBTCLib/paymentStatus.ts
2025-07-09 16:47:19 +02:00

30 lines
806 B
TypeScript

import type { Proof } from "@cashu/cashu-ts";
export const PaymentStatus = {
ParsingDestination: 0,
AttemptingCashuPayment: 1,
AttemptingLightningPayment: 2,
CashuPaymentFailed: 3,
AmountRequired: 4,
PreparingOnchainPayment: 5,
BroadcastingOnchainPayment: 6,
PaymentFailed: 0xfe,
PaymentSent: 0xff,
} as const;
export interface CashuTxn {
txId: string;
paymentType: "receive" | "send";
amountSat: number;
timestamp: number;
status: "complete";
}
export interface CashuStore {
getProofs(): Promise<Proof[]>;
getTxns(): Promise<CashuTxn[]>;
getLastRedeemedCashuQuoteTimestamp(): Promise<number>;
persistProofs(proofs: Proof[]): Promise<void>;
persistTxns(txns: CashuTxn[]): Promise<void>;
persistLastRedeemedCashuQuoteTimestamp(timestamp: number): Promise<void>;
}