30 lines
806 B
TypeScript
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>;
|
|
}
|