From 38f521dfc972719025fbf34ab8568e4f063a6713 Mon Sep 17 00:00:00 2001 From: TaprootFreak <142087526+TaprootFreak@users.noreply.github.com> Date: Sat, 14 Feb 2026 20:58:19 +0100 Subject: [PATCH 1/2] Simplify UTXO table to show only address and balance Remove TXID, vout, and confirmations columns. Link addresses to mempool.space/address for on-chain verification. --- src/assets/monitoring-btc.js | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/assets/monitoring-btc.js b/src/assets/monitoring-btc.js index 66d0e5d47..0d6ec7521 100644 --- a/src/assets/monitoring-btc.js +++ b/src/assets/monitoring-btc.js @@ -213,24 +213,19 @@ async function loadUtxos() { function renderUtxos(data) { var container = document.getElementById('utxo-content'); var html = ''; - html += ''; + html += ''; for (var i = 0; i < data.utxos.length; i++) { var u = data.utxos[i]; - var shortTxid = u.txid.substring(0, 8) + '...' + u.txid.substring(u.txid.length - 8); html += ''; - html += ''; - html += ''; - html += ''; + html += ''; html += ''; - html += ''; html += ''; } html += ''; - html += ''; + html += ''; html += ''; - html += ''; html += ''; html += '
TXIDVoutAddressBTCConfirmations
AddressBTC
' + shortTxid + '' + u.vout + '' + u.address + '' + u.address + '' + fmtBtc(u.amount) + '' + u.confirmations.toLocaleString() + '
' + data.count + ' UTXOs' + data.count + ' UTXOs' + fmtBtc(data.totalAmount) + '
'; From 1cdea6835b991144a939340a41e9d4bd84107fad Mon Sep 17 00:00:00 2001 From: TaprootFreak <142087526+TaprootFreak@users.noreply.github.com> Date: Sat, 14 Feb 2026 21:03:36 +0100 Subject: [PATCH 2/2] Add explorer links for EVM token balances on BTC and USD pages Link cBTC/WBTC/WBTCe to citreascan/etherscan on BTC page. Link JUSD/USDC/USDT to citreascan/etherscan/polygonscan on USD page. --- src/assets/monitoring-btc.js | 24 +++++++++++++++++------- src/assets/monitoring-usd.js | 15 +++++++++++++-- 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/src/assets/monitoring-btc.js b/src/assets/monitoring-btc.js index 0d6ec7521..f1f1d473f 100644 --- a/src/assets/monitoring-btc.js +++ b/src/assets/monitoring-btc.js @@ -16,6 +16,12 @@ function satsToBtc(sats) { return (sats || 0) / 100000000; } +var EVM_WALLET = '0xDDA7efc856833960694cb26cb583e0CCCA497b87'; +var EXPLORERS = { + ethereum: 'https://etherscan.io/address/' + EVM_WALLET, + citrea: 'https://citreascan.com/address/' + EVM_WALLET, +}; + async function loadData() { var content = document.getElementById('content'); try { @@ -62,12 +68,12 @@ function render(data) { var customerBtc = btcBalance ? satsToBtc(btcBalance.customerBalance) : 0; var holdings = [ - { source: 'Onchain BTC', location: 'Bitcoin', btc: onchainBtc }, - { source: 'LND Onchain', location: 'LND Wallet', btc: lndOnchain }, - { source: 'Lightning', location: 'LN Channels', btc: lightning }, - { source: 'cBTC', location: 'Citrea', btc: cbtc }, - { source: 'WBTC', location: 'Ethereum', btc: wbtcEthereum }, - { source: 'WBTCe', location: 'Citrea', btc: wbtceCitrea }, + { source: 'Onchain BTC', location: 'Bitcoin', btc: onchainBtc, explorer: '' }, + { source: 'LND Onchain', location: 'LND Wallet', btc: lndOnchain, explorer: '' }, + { source: 'Lightning', location: 'LN Channels', btc: lightning, explorer: '' }, + { source: 'cBTC', location: 'Citrea', btc: cbtc, explorer: EXPLORERS.citrea }, + { source: 'WBTC', location: 'Ethereum', btc: wbtcEthereum, explorer: EXPLORERS.ethereum }, + { source: 'WBTCe', location: 'Citrea', btc: wbtceCitrea, explorer: EXPLORERS.citrea }, ]; var totalHoldings = 0; @@ -88,7 +94,11 @@ function render(data) { var h = holdings[i]; html += ''; html += '' + h.source + ''; - html += '' + h.location + ''; + if (h.explorer) { + html += '' + h.location + ''; + } else { + html += '' + h.location + ''; + } html += '' + fmtBtc(h.btc) + ''; html += ''; } diff --git a/src/assets/monitoring-usd.js b/src/assets/monitoring-usd.js index c6fcd590d..ae0630e3f 100644 --- a/src/assets/monitoring-usd.js +++ b/src/assets/monitoring-usd.js @@ -6,6 +6,13 @@ function fmtUsd(n) { }); } +var EVM_WALLET = '0xDDA7efc856833960694cb26cb583e0CCCA497b87'; +var EXPLORERS = { + ethereum: 'https://etherscan.io/address/' + EVM_WALLET, + citrea: 'https://citreascan.com/address/' + EVM_WALLET, + polygon: 'https://polygonscan.com/address/' + EVM_WALLET, +}; + var USD_TOKENS = [ { symbol: 'JUSD', chain: 'citrea', label: 'Citrea' }, { symbol: 'USDC', chain: 'ethereum', label: 'Ethereum' }, @@ -49,7 +56,7 @@ function render(data) { } } } - holdings.push({ token: def.symbol, chain: def.label, usd: balance }); + holdings.push({ token: def.symbol, chain: def.label, usd: balance, explorer: EXPLORERS[def.chain] || '' }); totalHoldings += balance; } @@ -64,7 +71,11 @@ function render(data) { var h = holdings[i]; html += ''; html += '' + h.token + ''; - html += '' + h.chain + ''; + if (h.explorer) { + html += '' + h.chain + ''; + } else { + html += '' + h.chain + ''; + } html += '' + fmtUsd(h.usd) + ''; html += ''; }