diff --git a/html/admin.html b/html/admin.html index 72d565d..2b39305 100644 --- a/html/admin.html +++ b/html/admin.html @@ -580,13 +580,21 @@ walletEl.className = 'wallet-status disconnected'; document.getElementById('walletBalance').textContent = 'RPC Error'; } else { - // Wallet connected - show balance - const bal = overview.walletBalance.unlocked_balance || 0; - const formatted = (bal / atomicDivisor).toFixed(4); - document.getElementById('statBalance').textContent = formatted; - document.getElementById('statUnlocked').textContent = `Unlocked: ${formatted}`; - walletEl.className = 'wallet-status' + (bal < atomicDivisor ? ' warning' : ' healthy'); - document.getElementById('walletBalance').textContent = `${formatted} ${cryptoSymbol}`; + // Wallet connected - show total balance and unlocked/locked breakdown + const total = overview.walletBalance.balance || 0; + const unlocked = overview.walletBalance.unlocked_balance || 0; + const locked = total - unlocked; + const totalFormatted = (total / atomicDivisor).toFixed(4); + const unlockedFormatted = (unlocked / atomicDivisor).toFixed(4); + document.getElementById('statBalance').textContent = totalFormatted; + if (locked > 0) { + const lockedFormatted = (locked / atomicDivisor).toFixed(4); + document.getElementById('statUnlocked').textContent = `Unlocked: ${unlockedFormatted} | Locked: ${lockedFormatted}`; + } else { + document.getElementById('statUnlocked').textContent = `Unlocked: ${unlockedFormatted}`; + } + walletEl.className = 'wallet-status' + (unlocked < atomicDivisor ? ' warning' : ' healthy'); + document.getElementById('walletBalance').textContent = `${totalFormatted} ${cryptoSymbol}`; } } else { document.getElementById('statBalance').textContent = '-'; diff --git a/src/services/alertService.js b/src/services/alertService.js index 2481a7d..667381d 100644 --- a/src/services/alertService.js +++ b/src/services/alertService.js @@ -308,7 +308,8 @@ class AlertService { */ async alertPayoutFailed(payout) { const cryptoType = process.env.CRYPTO_TYPE || 'XMR'; - const amountFormatted = (payout.amount / 1e12).toFixed(6); + const divisor = cryptoType === 'WOW' ? 1e11 : 1e12; + const amountFormatted = (payout.amount / divisor).toFixed(6); await this.sendAlert('payout_failed', { subject: `💀 Payout Permanently Failed - ${amountFormatted} ${cryptoType}`,