aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-03-13 22:34:54 -0700
committerAdam Soltys <[email protected]>2026-03-13 22:34:54 -0700
commit0e326d6bca826a4d9bec7e6e1b159b0a2e7b6b5c (patch)
tree771e25be86f48855a53ba696b281b4d7190b9471 /src/routes
parent734e846847c478406a9fb9083be057a731d9f4cf (diff)
downloadcoinos-ui-0e326d6bca826a4d9bec7e6e1b159b0a2e7b6b5c.tar.gz
coinos-ui-0e326d6bca826a4d9bec7e6e1b159b0a2e7b6b5c.zip
lazy imports
Diffstat (limited to 'src/routes')
-rw-r--r--src/routes/(app)/+layout.svelte10
-rw-r--r--src/routes/(app)/account/[id]/seed/+page.svelte4
-rw-r--r--src/routes/(app)/account/ark/+page.svelte5
-rw-r--r--src/routes/(app)/account/new/+page.svelte5
-rw-r--r--src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte5
-rw-r--r--src/routes/(static)/login/+page.svelte2
-rw-r--r--src/routes/(static)/register/auth/+page.svelte4
-rw-r--r--src/routes/test/ark/send/+server.ts5
8 files changed, 26 insertions, 14 deletions
diff --git a/src/routes/(app)/+layout.svelte b/src/routes/(app)/+layout.svelte
index c01ed368..4ef4e6c1 100644
--- a/src/routes/(app)/+layout.svelte
+++ b/src/routes/(app)/+layout.svelte
@@ -1,6 +1,8 @@
<script lang="ts">
- import { getWallet, subscribeToAsp, syncTransactions, settle, refresh, arkkey, arkaid, sendArk, arkSending, vaultForwarding, autoUnlockArk, getServiceWorkerWallet, cleanupServiceWorkerWallet } from "$lib/ark";
+ import { arkkey, arkaid } from "$lib/ark";
import { syncBitcoinVault } from "$lib/bitcoinSync";
+
+ const ark = () => import("$lib/ark");
import { SvelteToast } from "@zerodevx/svelte-toast";
import { onDestroy, onMount } from "svelte";
import { close, connect, send, socket } from "$lib/socket";
@@ -91,6 +93,7 @@
let arkForwarding = false;
let arkSync = async (source = "unknown") => {
+ const { syncTransactions, sendArk, arkSending, vaultForwarding } = await ark();
if (arkSyncing || arkSending) {
return;
}
@@ -139,6 +142,7 @@
if (!key || arkInitializedKey === key) return;
arkInitializedKey = key;
+ const { getWallet, subscribeToAsp, syncTransactions, settle, refresh, vaultForwarding, getServiceWorkerWallet } = await ark();
const wallet = await getWallet();
if (wallet) {
localStorage.setItem("arkkey:uid", user.id);
@@ -239,7 +243,7 @@
}
// Auto-unlock ark wallet if silent entropy is available
- if (!$arkkey) autoUnlockArk();
+ if (!$arkkey) ark().then(({ autoUnlockArk }) => autoUnlockArk());
// Auto-unlock nostr key if silent entropy is available
import("$lib/seed").then(({ autoUnlockNostr }) => autoUnlockNostr(user.pubkey));
@@ -309,7 +313,7 @@
if (arkRefreshTimer) clearInterval(arkRefreshTimer);
if (btcSyncTimer) clearInterval(btcSyncTimer);
aspStopFunc?.();
- cleanupServiceWorkerWallet();
+ ark().then(({ cleanupServiceWorkerWallet }) => cleanupServiceWorkerWallet());
}
});
</script>
diff --git a/src/routes/(app)/account/[id]/seed/+page.svelte b/src/routes/(app)/account/[id]/seed/+page.svelte
index c67a2ff4..35e09cc5 100644
--- a/src/routes/(app)/account/[id]/seed/+page.svelte
+++ b/src/routes/(app)/account/[id]/seed/+page.svelte
@@ -46,9 +46,9 @@
};
let deriveNsec = async (m: string) => {
- const [{ HDKey }, { nip19 }] = await Promise.all([
+ const [{ HDKey }, nip19] = await Promise.all([
import("@scure/bip32"),
- import("nostr-tools"),
+ import("nostr-tools/nip19"),
]);
const { versions } = await import("$lib/utils");
const seed = await mnemonicToSeed(m);
diff --git a/src/routes/(app)/account/ark/+page.svelte b/src/routes/(app)/account/ark/+page.svelte
index 268109fa..e2b1223f 100644
--- a/src/routes/(app)/account/ark/+page.svelte
+++ b/src/routes/(app)/account/ark/+page.svelte
@@ -32,7 +32,10 @@
let deriveAndCreate = async (prfKey: ArrayBuffer) => {
try {
- const { SingleKey, Wallet } = await import("@arkade-os/sdk");
+ const [{ SingleKey }, { Wallet }] = await Promise.all([
+ import("@arkade-os/sdk/identity/singleKey.js"),
+ import("@arkade-os/sdk/wallet/wallet.js"),
+ ]);
const entropy = new Uint8Array(prfKey).slice(0, 16);
const mnemonic = entropyToMnemonic(entropy, wordlist);
const seed = await mnemonicToSeed(mnemonic);
diff --git a/src/routes/(app)/account/new/+page.svelte b/src/routes/(app)/account/new/+page.svelte
index 310660a5..c05109a5 100644
--- a/src/routes/(app)/account/new/+page.svelte
+++ b/src/routes/(app)/account/new/+page.svelte
@@ -32,7 +32,10 @@
rememberPrfKey(entropy, defaultRememberForMs);
}
- const { SingleKey, Wallet } = await import("@arkade-os/sdk");
+ const [{ SingleKey }, { Wallet }] = await Promise.all([
+ import("@arkade-os/sdk/identity/singleKey.js"),
+ import("@arkade-os/sdk/wallet/wallet.js"),
+ ]);
const ent = new Uint8Array(entropy).slice(0, 16);
const mnemonic = entropyToMnemonic(ent, wordlist);
const seed = await mnemonicToSeed(mnemonic);
diff --git a/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte b/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte
index 7b2c9ccf..d562b6e8 100644
--- a/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte
+++ b/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte
@@ -11,9 +11,7 @@
import { rate } from "$lib/store";
import { applyAction } from "$app/forms";
import { hex as hexUtil } from "@scure/base";
- import * as btc from "@scure/btc-signer";
import { getCachedPrfKey } from "$lib/passwordCache";
- import { sendArkViaForward } from "$lib/ark";
import { prfDecrypt, isPrfEncrypted } from "$lib/crypto";
import Amount from "$comp/Amount.svelte";
@@ -63,6 +61,7 @@
loading = true;
error = "";
try {
+ const { sendArkViaForward } = await import("$lib/ark");
const p = await sendArkViaForward({
serverArkAddress: data.serverArkAddress,
amount: parseInt(amount),
@@ -94,7 +93,7 @@
let signTxWithPrf = async (prfKey: ArrayBuffer) => {
const [{ Transaction }, { HDKey }, { entropyToMnemonic, mnemonicToSeed }, { wordlist }] =
await Promise.all([
- import("@scure/btc-signer"),
+ import("@scure/btc-signer/transaction.js"),
import("@scure/bip32"),
import("@scure/bip39"),
import("@scure/bip39/wordlists/english.js"),
diff --git a/src/routes/(static)/login/+page.svelte b/src/routes/(static)/login/+page.svelte
index 8cb4cf45..0132ac75 100644
--- a/src/routes/(static)/login/+page.svelte
+++ b/src/routes/(static)/login/+page.svelte
@@ -117,7 +117,7 @@
// Challenge-response path: sign event with derived key, no password sent
cancelForm();
- const { finalizeEvent } = await import("nostr-tools");
+ const { finalizeEvent } = await import("nostr-tools/pure");
const event = finalizeEvent(
{
kind: 27235,
diff --git a/src/routes/(static)/register/auth/+page.svelte b/src/routes/(static)/register/auth/+page.svelte
index 0aeee6de..49dfe2a1 100644
--- a/src/routes/(static)/register/auth/+page.svelte
+++ b/src/routes/(static)/register/auth/+page.svelte
@@ -166,7 +166,7 @@
let nostrPubkey: string | undefined;
try {
const { deriveNostrKey } = await import("$lib/seed");
- const { nip19 } = await import("nostr-tools");
+ const nip19 = await import("nostr-tools/nip19");
const nostr = await deriveNostrKey(canonicalKey);
localStorage.setItem("nsec", nip19.nsecEncode(nostr.sk));
nostrPubkey = nostr.pubkey;
@@ -255,7 +255,7 @@
rememberPrfKey(canonicalKey, defaultRememberForMs);
if (nostrSk) {
- const { nip19 } = await import("nostr-tools");
+ const nip19 = await import("nostr-tools/nip19");
localStorage.setItem("nsec", nip19.nsecEncode(nostrSk));
}
} catch (e) {
diff --git a/src/routes/test/ark/send/+server.ts b/src/routes/test/ark/send/+server.ts
index 8562c6b1..02e99720 100644
--- a/src/routes/test/ark/send/+server.ts
+++ b/src/routes/test/ark/send/+server.ts
@@ -13,7 +13,10 @@ const getWallet = async () => {
throw new Error("ARK_SERVER_WALLET_PRIVATE_KEY is not configured");
}
- const { SingleKey, Wallet } = await import("@arkade-os/sdk");
+ const [{ SingleKey }, { Wallet }] = await Promise.all([
+ import("@arkade-os/sdk/identity/singleKey.js"),
+ import("@arkade-os/sdk/wallet/wallet.js"),
+ ]);
const identity = SingleKey.fromHex(privateKey);
walletPromise = Wallet.create({ identity, arkServerUrl });
}