optimize bundle

This commit is contained in:
2023-05-16 18:54:49 +01:00
parent 6ca55309e9
commit 09cde5ee86
27 changed files with 205 additions and 314 deletions

View File

@ -1,4 +1,4 @@
import { LNWallet, Sats, WalletError, WalletErrorCode, WalletInfo, WalletInvoice } from "Wallet";
import { InvoiceRequest, LNWallet, Sats, WalletError, WalletErrorCode, WalletInfo, WalletInvoice } from "Wallet";
import { CashuMint, CashuWallet as TheCashuWallet, Proof } from "@cashu/cashu-ts";

View File

@ -1,10 +1,8 @@
import { useSyncExternalStore } from "react";
import { decodeInvoice, unwrap } from "Util";
import { LNCWallet } from "./LNCWallet";
import LNDHubWallet from "./LNDHub";
import { NostrConnectWallet } from "./NostrWalletConnect";
import { CashuWallet } from "./Cashu";
import { setupWebLNWalletConfig, WebLNWallet } from "./WebLN";
export enum WalletKind {
@ -171,7 +169,13 @@ export class WalletStore {
} else {
const w = this.#activateWallet(activeConfig);
if (w) {
this.#instance.set(activeConfig.id, w);
if ("then" in w) {
w.then(wx => {
this.#instance.set(activeConfig.id, wx);
this.snapshotState();
});
return undefined;
}
return w;
} else {
throw new Error("Unable to activate wallet config");
@ -238,11 +242,10 @@ export class WalletStore {
}
}
#activateWallet(cfg: WalletConfig): LNWallet | undefined {
#activateWallet(cfg: WalletConfig): LNWallet | Promise<LNWallet> | undefined {
switch (cfg.kind) {
case WalletKind.LNC: {
const w = LNCWallet.Empty();
return w;
return import("./LNCWallet").then(({ LNCWallet }) => LNCWallet.Empty());
}
case WalletKind.WebLN: {
return new WebLNWallet();
@ -254,7 +257,7 @@ export class WalletStore {
return new NostrConnectWallet(unwrap(cfg.data));
}
case WalletKind.Cashu: {
return new CashuWallet(unwrap(cfg.data));
return import("./Cashu").then(({ CashuWallet }) => new CashuWallet(unwrap(cfg.data)));
}
}
}