From 658358ea32b69f6abbc795b135b27df975c35b39 Mon Sep 17 00:00:00 2001 From: Harvey Zuccon Date: Tue, 20 Jan 2026 23:21:09 +1100 Subject: [PATCH] Use cache for wallets. Move closer to offline mode. Clean up home page. Add tx count to addresses --- package-lock.json | 16 +- package.json | 2 +- src/components/HelloWorld.vue | 41 -- src/components/MnemonicConverter.vue | 384 ++++++++++++++ src/components/WalletHistory.vue | 139 +++++ src/components/XpubInput.vue | 416 +++++++++++++++ src/main.ts | 6 + src/pages/AddressesPage.vue | 298 ++++++----- src/pages/HomePage.vue | 729 +-------------------------- src/pages/WalletPage.vue | 194 ++----- src/services/app.ts | 43 +- src/services/rates.ts | 95 +++- src/services/wallet.ts | 2 +- src/services/wallets.ts | 81 ++- src/utils/reactive-store.ts | 118 +++++ src/xo-extensions/index.ts | 4 + 16 files changed, 1465 insertions(+), 1103 deletions(-) delete mode 100644 src/components/HelloWorld.vue create mode 100644 src/components/MnemonicConverter.vue create mode 100644 src/components/WalletHistory.vue create mode 100644 src/components/XpubInput.vue create mode 100644 src/utils/reactive-store.ts create mode 100644 src/xo-extensions/index.ts diff --git a/package-lock.json b/package-lock.json index a656c29..4b6481d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "www", "version": "0.0.0", "dependencies": { - "@generalprotocols/oracle-client": "^0.0.1", + "@generalprotocols/oracle-client": "^0.0.1-development.11945476152", "@tailwindcss/vite": "^4.1.17", "@xocash/stack": "file:../stack/packages/stack", "class-variance-authority": "^0.7.1", @@ -524,13 +524,13 @@ } }, "node_modules/@generalprotocols/oracle-client": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@generalprotocols/oracle-client/-/oracle-client-0.0.1.tgz", - "integrity": "sha512-TmnPCUm1VYeWK7SkWV8w3jAjUOW9SFLPgF8ni06ouaGYyer/35oZ5OW+6R3kpFtRWhO4rlnT9HYL8SHE3Yj0+A==", + "version": "0.0.1-development.11945476152", + "resolved": "https://registry.npmjs.org/@generalprotocols/oracle-client/-/oracle-client-0.0.1-development.11945476152.tgz", + "integrity": "sha512-1Q43NfacrVfSbatCREzIX7U3DgACBUegNjV977y+pql+Fve03bOyTiUQClevymCi7M3T6mCyMzSEGT8zA6EZtQ==", "license": "MIT", "dependencies": { "@bitauth/libauth": "^3.0.0", - "zod": "^3.24.3" + "zod": "^4.1.12" } }, "node_modules/@jridgewell/gen-mapping": { @@ -2173,9 +2173,9 @@ } }, "node_modules/zod": { - "version": "3.25.76", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.5.tgz", + "integrity": "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" diff --git a/package.json b/package.json index 2697df5..5da8dd5 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "@generalprotocols/oracle-client": "^0.0.1", + "@generalprotocols/oracle-client": "^0.0.1-development.11945476152", "@tailwindcss/vite": "^4.1.17", "@xocash/stack": "file:../stack/packages/stack", "class-variance-authority": "^0.7.1", diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue deleted file mode 100644 index b58e52b..0000000 --- a/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/src/components/MnemonicConverter.vue b/src/components/MnemonicConverter.vue new file mode 100644 index 0000000..00ca10f --- /dev/null +++ b/src/components/MnemonicConverter.vue @@ -0,0 +1,384 @@ + + + + + diff --git a/src/components/WalletHistory.vue b/src/components/WalletHistory.vue new file mode 100644 index 0000000..16bff83 --- /dev/null +++ b/src/components/WalletHistory.vue @@ -0,0 +1,139 @@ + + + + + diff --git a/src/components/XpubInput.vue b/src/components/XpubInput.vue new file mode 100644 index 0000000..07351fc --- /dev/null +++ b/src/components/XpubInput.vue @@ -0,0 +1,416 @@ + + + + + diff --git a/src/main.ts b/src/main.ts index 40ebb57..f690065 100644 --- a/src/main.ts +++ b/src/main.ts @@ -2,6 +2,7 @@ import { createApp } from 'vue'; import App from './App.vue'; import router from './router/index.js'; +import bootApp from './boot/app.js'; import './style.css'; @@ -9,4 +10,9 @@ const app = createApp(App); app.use(router); +await bootApp({ + app, + router, +}); + app.mount('#app'); diff --git a/src/pages/AddressesPage.vue b/src/pages/AddressesPage.vue index d38a85c..279e78e 100644 --- a/src/pages/AddressesPage.vue +++ b/src/pages/AddressesPage.vue @@ -1,18 +1,21 @@