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; getTxns(): Promise; getLastRedeemedCashuQuoteTimestamp(): Promise; persistProofs(proofs: Proof[]): Promise; persistTxns(txns: CashuTxn[]): Promise; persistLastRedeemedCashuQuoteTimestamp(timestamp: number): Promise; }