feat: upgrade wallet support

This commit is contained in:
2023-12-12 13:22:15 +00:00
parent 6951383045
commit b41e8a919a
12 changed files with 242 additions and 94 deletions

View File

@ -12,7 +12,7 @@ import {
WalletKind,
WalletStore,
} from "@/Wallet";
import { barrierQueue, processWorkQueue, WorkQueueItem } from "@snort/shared";
import { barrierQueue, processWorkQueue, unwrap, WorkQueueItem } from "@snort/shared";
const WebLNQueue: Array<WorkQueueItem> = [];
processWorkQueue(WebLNQueue);
@ -75,8 +75,12 @@ export class WebLNWallet implements LNWallet {
return Promise.resolve(true);
}
getBalance(): Promise<Sats> {
return Promise.resolve(0);
async getBalance(): Promise<Sats> {
if (window.webln?.getBalance) {
const rsp = await barrierQueue(WebLNQueue, async () => await unwrap(window.webln?.getBalance).call(window.webln));
return rsp.balance;
}
return 0;
}
async createInvoice(req: InvoiceRequest): Promise<WalletInvoice> {
@ -124,4 +128,12 @@ export class WebLNWallet implements LNWallet {
getInvoices(): Promise<WalletInvoice[]> {
return Promise.resolve([]);
}
canGetInvoices() {
return false;
}
canGetBalance() {
return window.webln?.getBalance !== undefined;
}
}