@aaronbassett/midnight-local-devnet 0.4.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/dashboard/html.js +127 -35
- package/dist/cli/dashboard/html.js.map +1 -1
- package/dist/cli/dashboard/server.js +81 -1
- package/dist/cli/dashboard/server.js.map +1 -1
- package/dist/cli/dashboard/state-collector.d.ts +8 -0
- package/dist/cli/dashboard/state-collector.js +2 -1
- package/dist/cli/dashboard/state-collector.js.map +1 -1
- package/dist/core/health.js +3 -0
- package/dist/core/health.js.map +1 -1
- package/package.json +1 -1
|
@@ -1186,6 +1186,7 @@ export function generateDashboardHtml({ wsUrl }) {
|
|
|
1186
1186
|
networkStatus: 'unknown',
|
|
1187
1187
|
walletSyncStatus: 'idle',
|
|
1188
1188
|
serverTime: '',
|
|
1189
|
+
walletBalances: {},
|
|
1189
1190
|
};
|
|
1190
1191
|
|
|
1191
1192
|
// --- Toast component ---
|
|
@@ -1444,6 +1445,29 @@ export function generateDashboardHtml({ wsUrl }) {
|
|
|
1444
1445
|
localStorage.setItem(WALLETS_KEY, JSON.stringify(wallets));
|
|
1445
1446
|
}
|
|
1446
1447
|
|
|
1448
|
+
// --- localStorage helpers for wallet mnemonics (keyed by address) ---
|
|
1449
|
+
const MNEMONICS_KEY = 'mn-mnemonics';
|
|
1450
|
+
|
|
1451
|
+
function loadMnemonics() {
|
|
1452
|
+
try {
|
|
1453
|
+
const raw = localStorage.getItem(MNEMONICS_KEY);
|
|
1454
|
+
if (raw) return JSON.parse(raw);
|
|
1455
|
+
} catch (e) { /* ignore */ }
|
|
1456
|
+
return {};
|
|
1457
|
+
}
|
|
1458
|
+
|
|
1459
|
+
function saveMnemonic(address, mnemonic) {
|
|
1460
|
+
const all = loadMnemonics();
|
|
1461
|
+
all[address] = mnemonic;
|
|
1462
|
+
localStorage.setItem(MNEMONICS_KEY, JSON.stringify(all));
|
|
1463
|
+
}
|
|
1464
|
+
|
|
1465
|
+
function removeMnemonic(address) {
|
|
1466
|
+
const all = loadMnemonics();
|
|
1467
|
+
delete all[address];
|
|
1468
|
+
localStorage.setItem(MNEMONICS_KEY, JSON.stringify(all));
|
|
1469
|
+
}
|
|
1470
|
+
|
|
1447
1471
|
// --- ImportWalletModal ---
|
|
1448
1472
|
function ImportWalletModal({ onClose, onImport, sendMessage, deriveResult, deriveAccountsResult }) {
|
|
1449
1473
|
const [tab, setTab] = useState('mnemonic');
|
|
@@ -1520,17 +1544,24 @@ export function generateDashboardHtml({ wsUrl }) {
|
|
|
1520
1544
|
}, [fileAccounts, sendMessage]);
|
|
1521
1545
|
|
|
1522
1546
|
const handleImportFile = useCallback(() => {
|
|
1523
|
-
if (!fileResults) return;
|
|
1524
|
-
for (
|
|
1547
|
+
if (!fileResults || !fileAccounts) return;
|
|
1548
|
+
for (let i = 0; i < fileResults.length; i++) {
|
|
1549
|
+
const account = fileResults[i];
|
|
1525
1550
|
onImport({
|
|
1526
1551
|
id: crypto.randomUUID(),
|
|
1527
1552
|
publicKey: account.address,
|
|
1528
1553
|
displayName: account.name || 'Imported Wallet',
|
|
1529
1554
|
hasMnemonic: true,
|
|
1530
1555
|
});
|
|
1556
|
+
// Store mnemonic and register with server for balance tracking
|
|
1557
|
+
const mnemonicStr = fileAccounts[i] && fileAccounts[i].mnemonic;
|
|
1558
|
+
if (mnemonicStr) {
|
|
1559
|
+
saveMnemonic(account.address, mnemonicStr);
|
|
1560
|
+
sendMessage({ type: 'command', action: 'register-wallet', mnemonic: mnemonicStr });
|
|
1561
|
+
}
|
|
1531
1562
|
}
|
|
1532
1563
|
onClose();
|
|
1533
|
-
}, [fileResults, onImport, onClose]);
|
|
1564
|
+
}, [fileResults, fileAccounts, onImport, onClose, sendMessage]);
|
|
1534
1565
|
|
|
1535
1566
|
const handleImport = useCallback(() => {
|
|
1536
1567
|
if (tab === 'mnemonic') {
|
|
@@ -1541,6 +1572,9 @@ export function generateDashboardHtml({ wsUrl }) {
|
|
|
1541
1572
|
displayName: displayName.trim() || 'Imported Wallet',
|
|
1542
1573
|
hasMnemonic: true,
|
|
1543
1574
|
});
|
|
1575
|
+
// Store mnemonic locally and register with server for balance tracking
|
|
1576
|
+
saveMnemonic(derivedAddress, mnemonic.trim());
|
|
1577
|
+
sendMessage({ type: 'command', action: 'register-wallet', mnemonic: mnemonic.trim() });
|
|
1544
1578
|
} else {
|
|
1545
1579
|
if (!address.trim()) return;
|
|
1546
1580
|
onImport({
|
|
@@ -1550,7 +1584,7 @@ export function generateDashboardHtml({ wsUrl }) {
|
|
|
1550
1584
|
});
|
|
1551
1585
|
}
|
|
1552
1586
|
onClose();
|
|
1553
|
-
}, [tab, derivedAddress, address, displayName, onImport, onClose]);
|
|
1587
|
+
}, [tab, derivedAddress, address, displayName, mnemonic, onImport, onClose, sendMessage]);
|
|
1554
1588
|
|
|
1555
1589
|
return html\`
|
|
1556
1590
|
<div class="modal-overlay" onClick=\${(e) => { if (e.target === e.currentTarget) onClose(); }}>
|
|
@@ -1717,8 +1751,11 @@ export function generateDashboardHtml({ wsUrl }) {
|
|
|
1717
1751
|
displayName: 'Generated Wallet',
|
|
1718
1752
|
hasMnemonic: true,
|
|
1719
1753
|
});
|
|
1754
|
+
// Store mnemonic locally and register with server for balance tracking
|
|
1755
|
+
saveMnemonic(result.address, result.mnemonic);
|
|
1756
|
+
sendMessage({ type: 'command', action: 'register-wallet', mnemonic: result.mnemonic });
|
|
1720
1757
|
onClose();
|
|
1721
|
-
}, [result, onImport, onClose]);
|
|
1758
|
+
}, [result, onImport, onClose, sendMessage]);
|
|
1722
1759
|
|
|
1723
1760
|
return html\`
|
|
1724
1761
|
<div class="modal-overlay" onClick=\${(e) => { if (e.target === e.currentTarget) onClose(); }}>
|
|
@@ -1765,7 +1802,7 @@ export function generateDashboardHtml({ wsUrl }) {
|
|
|
1765
1802
|
}
|
|
1766
1803
|
|
|
1767
1804
|
// --- WalletCard ---
|
|
1768
|
-
function WalletCard({ wallet, walletSyncStatus, sendMessage, onOpenImportModal, onOpenGenerateModal, importHandlerRef }) {
|
|
1805
|
+
function WalletCard({ wallet, walletSyncStatus, walletBalances, sendMessage, onOpenImportModal, onOpenGenerateModal, importHandlerRef }) {
|
|
1769
1806
|
// Load wallets from localStorage, ensuring master wallet is always first
|
|
1770
1807
|
const [wallets, setWallets] = useState(() => {
|
|
1771
1808
|
const stored = loadWallets();
|
|
@@ -1779,6 +1816,17 @@ export function generateDashboardHtml({ wsUrl }) {
|
|
|
1779
1816
|
return stored;
|
|
1780
1817
|
});
|
|
1781
1818
|
|
|
1819
|
+
// Re-register mnemonic wallets with server on mount (e.g. after reconnect)
|
|
1820
|
+
const registeredRef = useRef(false);
|
|
1821
|
+
useEffect(() => {
|
|
1822
|
+
if (registeredRef.current) return;
|
|
1823
|
+
registeredRef.current = true;
|
|
1824
|
+
const mnemonics = loadMnemonics();
|
|
1825
|
+
for (const [, mn] of Object.entries(mnemonics)) {
|
|
1826
|
+
sendMessage({ type: 'command', action: 'register-wallet', mnemonic: mn });
|
|
1827
|
+
}
|
|
1828
|
+
}, [sendMessage]);
|
|
1829
|
+
|
|
1782
1830
|
const [selectedId, setSelectedId] = useState('master');
|
|
1783
1831
|
const [editingId, setEditingId] = useState(null);
|
|
1784
1832
|
const [editName, setEditName] = useState('');
|
|
@@ -1832,14 +1880,20 @@ export function generateDashboardHtml({ wsUrl }) {
|
|
|
1832
1880
|
}, [editingId, editName]);
|
|
1833
1881
|
|
|
1834
1882
|
const handleDelete = useCallback((id) => {
|
|
1883
|
+
const toDelete = wallets.find(w => w.id === id);
|
|
1835
1884
|
setWallets(prev => {
|
|
1836
1885
|
const updated = prev.filter(w => w.id !== id);
|
|
1837
1886
|
saveWallets(updated);
|
|
1838
1887
|
return updated;
|
|
1839
1888
|
});
|
|
1889
|
+
// Unregister wallet context and remove stored mnemonic
|
|
1890
|
+
if (toDelete && toDelete.publicKey) {
|
|
1891
|
+
removeMnemonic(toDelete.publicKey);
|
|
1892
|
+
sendMessage({ type: 'command', action: 'unregister-wallet', address: toDelete.publicKey });
|
|
1893
|
+
}
|
|
1840
1894
|
setDeletingId(null);
|
|
1841
1895
|
if (selectedId === id) setSelectedId('master');
|
|
1842
|
-
}, [selectedId]);
|
|
1896
|
+
}, [selectedId, wallets, sendMessage]);
|
|
1843
1897
|
|
|
1844
1898
|
const handleCopy = useCallback((text) => {
|
|
1845
1899
|
navigator.clipboard.writeText(text).then(() => {
|
|
@@ -1928,33 +1982,71 @@ export function generateDashboardHtml({ wsUrl }) {
|
|
|
1928
1982
|
\` : null}
|
|
1929
1983
|
</div>
|
|
1930
1984
|
</div>
|
|
1931
|
-
\${
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1985
|
+
\${(() => {
|
|
1986
|
+
if (isMaster && walletSyncStatus === 'syncing') {
|
|
1987
|
+
return html\`
|
|
1988
|
+
<div class="balance-item" style="grid-column: 1 / -1; text-align: center;">
|
|
1989
|
+
<div class="sync-indicator" style="justify-content: center;">
|
|
1990
|
+
<span class="sync-spinner"></span>
|
|
1991
|
+
Syncing balances...
|
|
1992
|
+
</div>
|
|
1993
|
+
</div>
|
|
1994
|
+
\`;
|
|
1995
|
+
}
|
|
1996
|
+
if (showBalances) {
|
|
1997
|
+
return html\`
|
|
1998
|
+
<div class="balance-item">
|
|
1999
|
+
<div class="balance-value">\${formatBalance(wallet.unshielded)}</div>
|
|
2000
|
+
<div class="balance-label">NIGHT (Unshielded)</div>
|
|
2001
|
+
</div>
|
|
2002
|
+
<div class="balance-item">
|
|
2003
|
+
<div class="balance-value">\${formatBalance(wallet.shielded)}</div>
|
|
2004
|
+
<div class="balance-label">NIGHT (Shielded)</div>
|
|
2005
|
+
</div>
|
|
2006
|
+
<div class="balance-item">
|
|
2007
|
+
<div class="balance-value">\${formatBalance(wallet.dust)}</div>
|
|
2008
|
+
<div class="balance-label">DUST</div>
|
|
2009
|
+
</div>
|
|
2010
|
+
\`;
|
|
2011
|
+
}
|
|
2012
|
+
if (!isMaster && selectedWallet) {
|
|
2013
|
+
const wb = walletBalances && walletBalances[selectedWallet.publicKey];
|
|
2014
|
+
if (wb && wb.connected) {
|
|
2015
|
+
return html\`
|
|
2016
|
+
<div class="balance-item">
|
|
2017
|
+
<div class="balance-value">\${formatBalance(wb.unshielded)}</div>
|
|
2018
|
+
<div class="balance-label">NIGHT (Unshielded)</div>
|
|
2019
|
+
</div>
|
|
2020
|
+
<div class="balance-item">
|
|
2021
|
+
<div class="balance-value">\${formatBalance(wb.shielded)}</div>
|
|
2022
|
+
<div class="balance-label">NIGHT (Shielded)</div>
|
|
2023
|
+
</div>
|
|
2024
|
+
<div class="balance-item">
|
|
2025
|
+
<div class="balance-value">\${formatBalance(wb.dust)}</div>
|
|
2026
|
+
<div class="balance-label">DUST</div>
|
|
2027
|
+
</div>
|
|
2028
|
+
\`;
|
|
2029
|
+
}
|
|
2030
|
+
if (wb && !wb.connected) {
|
|
2031
|
+
return html\`
|
|
2032
|
+
<div class="balance-item" style="grid-column: 1 / -1; text-align: center;">
|
|
2033
|
+
<div class="sync-indicator" style="justify-content: center;">
|
|
2034
|
+
<span class="sync-spinner"></span>
|
|
2035
|
+
Initializing wallet...
|
|
2036
|
+
</div>
|
|
2037
|
+
</div>
|
|
2038
|
+
\`;
|
|
2039
|
+
}
|
|
2040
|
+
return html\`
|
|
2041
|
+
<div class="balance-item" style="grid-column: 1 / -1; text-align: center;">
|
|
2042
|
+
<div style="font-size: 13px; color: var(--mn-text-muted); padding: 8px 0;">
|
|
2043
|
+
Address only — balances not available
|
|
2044
|
+
</div>
|
|
2045
|
+
</div>
|
|
2046
|
+
\`;
|
|
2047
|
+
}
|
|
2048
|
+
return null;
|
|
2049
|
+
})()}
|
|
1958
2050
|
</div>
|
|
1959
2051
|
</div>
|
|
1960
2052
|
|
|
@@ -2187,7 +2279,7 @@ export function generateDashboardHtml({ wsUrl }) {
|
|
|
2187
2279
|
<\${ProofServerCard} proofServer=\${state.proofServer} health=\${state.health.proofServer} serverTime=\${state.serverTime} />
|
|
2188
2280
|
</div>
|
|
2189
2281
|
<div class="cards-grid">
|
|
2190
|
-
<\${WalletCard} wallet=\${state.wallet} walletSyncStatus=\${state.walletSyncStatus} sendMessage=\${sendMessage} onOpenImportModal=\${() => { setDeriveResult(null); setDeriveAccountsResult(null); setShowImportModal(true); }} onOpenGenerateModal=\${() => { setGenerateResult(null); setShowGenerateModal(true); }} importHandlerRef=\${importHandlerRef} />
|
|
2282
|
+
<\${WalletCard} wallet=\${state.wallet} walletSyncStatus=\${state.walletSyncStatus} walletBalances=\${state.walletBalances} sendMessage=\${sendMessage} onOpenImportModal=\${() => { setDeriveResult(null); setDeriveAccountsResult(null); setShowImportModal(true); }} onOpenGenerateModal=\${() => { setGenerateResult(null); setShowGenerateModal(true); }} importHandlerRef=\${importHandlerRef} />
|
|
2191
2283
|
</div>
|
|
2192
2284
|
<div class="cards-grid">
|
|
2193
2285
|
<\${ResponseChart} health=\${state.health} />
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../../src/cli/dashboard/html.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SACzB,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;SACxB,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EAAE,KAAK,EAAqB;IAChE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA8lCY,gBAAgB,CAAC,KAAK,CAAC
|
|
1
|
+
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../../src/cli/dashboard/html.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SACzB,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;SACxB,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EAAE,KAAK,EAAqB;IAChE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA8lCY,gBAAgB,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAgqCpC,CAAC;AACT,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { Hono } from 'hono';
|
|
|
2
2
|
import { WebSocketServer } from 'ws';
|
|
3
3
|
import { StateCollector } from './state-collector.js';
|
|
4
4
|
import { generateDashboardHtml } from './html.js';
|
|
5
|
-
import { getWalletBalances, getWalletAddress, deriveAddressFromMnemonic, generateNewMnemonic } from '../../core/wallet.js';
|
|
5
|
+
import { getWalletBalances, getWalletAddress, deriveAddressFromMnemonic, generateNewMnemonic, initWalletFromMnemonic, closeWallet } from '../../core/wallet.js';
|
|
6
6
|
export function createDashboardApp(opts) {
|
|
7
7
|
const { config, manager, port } = opts;
|
|
8
8
|
const app = new Hono();
|
|
@@ -25,6 +25,8 @@ export function createDashboardApp(opts) {
|
|
|
25
25
|
let walletSyncPromise = null;
|
|
26
26
|
let masterWalletAddress = null;
|
|
27
27
|
let lastStateJson = null;
|
|
28
|
+
// ---------- Registered wallet contexts (non-master wallets) ----------
|
|
29
|
+
const registeredWallets = new Map();
|
|
28
30
|
// ---------- GET / — serve dashboard HTML ----------
|
|
29
31
|
app.get('/', (c) => {
|
|
30
32
|
const html = generateDashboardHtml({ wsUrl: `ws://localhost:${port}/ws` });
|
|
@@ -122,6 +124,55 @@ export function createDashboardApp(opts) {
|
|
|
122
124
|
}
|
|
123
125
|
return;
|
|
124
126
|
}
|
|
127
|
+
else if (action === 'register-wallet') {
|
|
128
|
+
const mnemonic = msg.mnemonic;
|
|
129
|
+
if (!mnemonic) {
|
|
130
|
+
sendToClient(ws, { type: 'result', action, success: false, error: 'Missing mnemonic' });
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
try {
|
|
134
|
+
const address = deriveAddressFromMnemonic(mnemonic, config.networkId);
|
|
135
|
+
// Deduplicate by address
|
|
136
|
+
if (!registeredWallets.has(address)) {
|
|
137
|
+
registeredWallets.set(address, { mnemonic, ctx: null, initializing: true });
|
|
138
|
+
// Initialize wallet context in background
|
|
139
|
+
initWalletFromMnemonic(mnemonic, config).then((ctx) => {
|
|
140
|
+
const entry = registeredWallets.get(address);
|
|
141
|
+
if (entry) {
|
|
142
|
+
entry.ctx = ctx;
|
|
143
|
+
entry.initializing = false;
|
|
144
|
+
}
|
|
145
|
+
}).catch(() => {
|
|
146
|
+
const entry = registeredWallets.get(address);
|
|
147
|
+
if (entry) {
|
|
148
|
+
entry.initializing = false;
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
sendToClient(ws, { type: 'register-result', address, success: true });
|
|
153
|
+
}
|
|
154
|
+
catch (err) {
|
|
155
|
+
const error = err instanceof Error ? err.message : String(err);
|
|
156
|
+
sendToClient(ws, { type: 'result', action, success: false, error });
|
|
157
|
+
}
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
else if (action === 'unregister-wallet') {
|
|
161
|
+
const address = msg.address;
|
|
162
|
+
if (!address) {
|
|
163
|
+
sendToClient(ws, { type: 'result', action, success: false, error: 'Missing address' });
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
const entry = registeredWallets.get(address);
|
|
167
|
+
if (entry) {
|
|
168
|
+
if (entry.ctx) {
|
|
169
|
+
closeWallet(entry.ctx).catch(() => { });
|
|
170
|
+
}
|
|
171
|
+
registeredWallets.delete(address);
|
|
172
|
+
}
|
|
173
|
+
sendToClient(ws, { type: 'result', action, success: true });
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
125
176
|
else if (action === 'set-polling') {
|
|
126
177
|
const { service, interval } = msg;
|
|
127
178
|
if (!service || !validServices.has(service) || typeof interval !== 'number' || interval < 1000) {
|
|
@@ -224,11 +275,33 @@ export function createDashboardApp(opts) {
|
|
|
224
275
|
};
|
|
225
276
|
}
|
|
226
277
|
}
|
|
278
|
+
// Collect balances from registered (non-master) wallets
|
|
279
|
+
const walletBalances = {};
|
|
280
|
+
for (const [address, entry] of registeredWallets) {
|
|
281
|
+
if (entry.ctx && !entry.initializing) {
|
|
282
|
+
try {
|
|
283
|
+
const bal = await getWalletBalances(entry.ctx);
|
|
284
|
+
walletBalances[address] = {
|
|
285
|
+
unshielded: bal.unshielded.toString(),
|
|
286
|
+
shielded: bal.shielded.toString(),
|
|
287
|
+
dust: bal.dust.toString(),
|
|
288
|
+
connected: true,
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
catch {
|
|
292
|
+
walletBalances[address] = { unshielded: '0', shielded: '0', dust: '0', connected: true };
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
else {
|
|
296
|
+
walletBalances[address] = { unshielded: '0', shielded: '0', dust: '0', connected: false };
|
|
297
|
+
}
|
|
298
|
+
}
|
|
227
299
|
const state = await collector.collect({
|
|
228
300
|
walletInfo,
|
|
229
301
|
networkStatus: manager.getStatus(),
|
|
230
302
|
polling,
|
|
231
303
|
walletSyncStatus,
|
|
304
|
+
walletBalances,
|
|
232
305
|
});
|
|
233
306
|
// JSON.stringify with bigint-safe replacer (just in case)
|
|
234
307
|
const json = JSON.stringify({ type: 'state', data: state }, (_key, value) => typeof value === 'bigint' ? value.toString() : value);
|
|
@@ -256,6 +329,13 @@ export function createDashboardApp(opts) {
|
|
|
256
329
|
ws.close();
|
|
257
330
|
}
|
|
258
331
|
clients.clear();
|
|
332
|
+
// Close all registered wallet contexts
|
|
333
|
+
for (const [, entry] of registeredWallets) {
|
|
334
|
+
if (entry.ctx) {
|
|
335
|
+
closeWallet(entry.ctx).catch(() => { });
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
registeredWallets.clear();
|
|
259
339
|
}
|
|
260
340
|
return {
|
|
261
341
|
app,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/cli/dashboard/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/cli/dashboard/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import type { NetworkConfig, ServiceStatus } from '../../core/types.js';
|
|
2
2
|
import type { ParsedLogLine } from './lib/log-parser.js';
|
|
3
3
|
export type WalletSyncStatus = 'idle' | 'syncing' | 'synced' | 'error';
|
|
4
|
+
export interface WalletBalanceInfo {
|
|
5
|
+
unshielded: string;
|
|
6
|
+
shielded: string;
|
|
7
|
+
dust: string;
|
|
8
|
+
connected: boolean;
|
|
9
|
+
}
|
|
4
10
|
export interface CollectOptions {
|
|
5
11
|
walletInfo?: WalletInfo;
|
|
6
12
|
networkStatus?: string;
|
|
7
13
|
polling?: PollingConfig;
|
|
8
14
|
walletSyncStatus?: WalletSyncStatus;
|
|
15
|
+
walletBalances?: Record<string, WalletBalanceInfo>;
|
|
9
16
|
}
|
|
10
17
|
export interface DashboardState {
|
|
11
18
|
serverTime: string;
|
|
@@ -56,6 +63,7 @@ export interface DashboardState {
|
|
|
56
63
|
containers: ServiceStatus[];
|
|
57
64
|
logs: ParsedLogLine[];
|
|
58
65
|
networkStatus: string;
|
|
66
|
+
walletBalances: Record<string, WalletBalanceInfo>;
|
|
59
67
|
}
|
|
60
68
|
export interface PollingConfig {
|
|
61
69
|
node?: boolean;
|
|
@@ -40,7 +40,7 @@ export class StateCollector {
|
|
|
40
40
|
this.config = config;
|
|
41
41
|
}
|
|
42
42
|
async collect(opts) {
|
|
43
|
-
const { walletInfo, networkStatus, polling, walletSyncStatus } = opts ?? {};
|
|
43
|
+
const { walletInfo, networkStatus, polling, walletSyncStatus, walletBalances } = opts ?? {};
|
|
44
44
|
// When polling is undefined, all sections are fetched (backward compatible)
|
|
45
45
|
const fetchNode = polling?.node !== false;
|
|
46
46
|
const fetchIndexer = polling?.indexer !== false;
|
|
@@ -171,6 +171,7 @@ export class StateCollector {
|
|
|
171
171
|
containers: [...this.cachedContainers],
|
|
172
172
|
logs: [...this.cachedLogs],
|
|
173
173
|
networkStatus: networkStatus ?? 'unknown',
|
|
174
|
+
walletBalances: walletBalances ?? {},
|
|
174
175
|
};
|
|
175
176
|
}
|
|
176
177
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-collector.js","sourceRoot":"","sources":["../../../src/cli/dashboard/state-collector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"state-collector.js","sourceRoot":"","sources":["../../../src/cli/dashboard/state-collector.ts"],"names":[],"mappings":"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"}
|
package/dist/core/health.js
CHANGED
|
@@ -3,6 +3,9 @@ async function checkEndpoint(url) {
|
|
|
3
3
|
const start = Date.now();
|
|
4
4
|
try {
|
|
5
5
|
const response = await fetch(url, { signal: AbortSignal.timeout(5000) });
|
|
6
|
+
// Consume the body so the underlying TCP connection is released back to the pool.
|
|
7
|
+
// Without this, undici keeps the socket open and connections leak on every poll cycle.
|
|
8
|
+
await response.body?.cancel();
|
|
6
9
|
return {
|
|
7
10
|
healthy: response.ok,
|
|
8
11
|
responseTime: Date.now() - start,
|
package/dist/core/health.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/core/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAgB5C,KAAK,UAAU,aAAa,CAAC,GAAW;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzE,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,EAAE;YACpB,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;SACjC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAChC,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAsB;IACzD,MAAM,GAAG,GAAG,MAAM,IAAI,aAAa,CAAC;IACpC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAClD,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrD,aAAa,CAAC,GAAG,GAAG,CAAC,IAAI,SAAS,CAAC;QACnC,aAAa,CAAC,GAAG,aAAa,QAAQ,CAAC;QACvC,aAAa,CAAC,GAAG,GAAG,CAAC,WAAW,UAAU,CAAC;KAC5C,CAAC,CAAC;IAEH,OAAO;QACL,IAAI;QACJ,OAAO;QACP,WAAW;QACX,UAAU,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO;KACnE,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/core/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAgB5C,KAAK,UAAU,aAAa,CAAC,GAAW;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzE,kFAAkF;QAClF,uFAAuF;QACvF,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,EAAE;YACpB,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;SACjC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAChC,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAsB;IACzD,MAAM,GAAG,GAAG,MAAM,IAAI,aAAa,CAAC;IACpC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAClD,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrD,aAAa,CAAC,GAAG,GAAG,CAAC,IAAI,SAAS,CAAC;QACnC,aAAa,CAAC,GAAG,aAAa,QAAQ,CAAC;QACvC,aAAa,CAAC,GAAG,GAAG,CAAC,WAAW,UAAU,CAAC;KAC5C,CAAC,CAAC;IAEH,OAAO;QACL,IAAI;QACJ,OAAO;QACP,WAAW;QACX,UAAU,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO;KACnE,CAAC;AACJ,CAAC"}
|