From 8bb6726811d3f49131af57d6a104ee7064aa8172 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 8 Oct 2026 16:42:02 -0700 Subject: The 'Coins renew in ~N days for X. Manage' line under the Spending balance is gone: the card's gear opens the coins page, which carries the renewal schedule and fees Co-Authored-By: Claude Opus 5.5 --- src/features/ark.js | 32 +++----------------------------- 1 file changed, 3 insertions(+), 29 deletions(-) (limited to 'src') diff --git a/src/features/ark.js b/src/features/ark.js index d5b6e7f..538246d 100644 --- a/src/features/ark.js +++ b/src/features/ark.js @@ -4090,35 +4090,9 @@ export function arkFeature(ctx) { }); else if (expiredSat > 0) lines.push({ text: t('arkExpiredDust', { amount: fmtSats(expiredSat) + ' sats' }), manage: true }); } - // What a unilateral exit would cost is the Spending settings page's - // business (the gear on the card), not a line under the balance. - // An upcoming renewal that will COST something — stated before it - // happens. Ark is new to nearly everyone, and a fee nobody announced - // reads as money gone missing (it did, once). Free renewals — the - // normal case now — pass without comment, and one line under the - // balance is enough: the settings page carries the full story. - if (ark && ark.state && ark._tipH && !wallet.watchOnly) { - const spend = freeCoins(ark.state).filter((v) => v.expiryHeight && !v.expiryRejected); - if (spend.length) { - const tip = ark._tipH; - const RENEW = renewWindow(); - const minExpiry = Math.min(...spend.map((v) => v.expiryHeight)); - const blocksUntil = Math.max(0, minExpiry - RENEW - tip); - // price it at the moment it will actually run: only the coins then - // inside the window ride along, billed at that moment's bracket - const simTip = minExpiry - RENEW + 1; - const batch = spend.filter((v) => v.expiryHeight - simTip < RENEW); - let feeSat = 0; - try { feeSat = ark.refreshFee(batch, simTip); } catch {} - const days = Math.max(1, Math.round(blocksUntil / 144)); - if (feeSat > 0) lines.push({ - text: t(blocksUntil <= 0 ? 'arkRenewForecastNow' : 'arkRenewForecast', { - when: days === 1 ? t('arkCoinsSpanDay') : t('arkCoinsSpanDays', { n: days }), - fee: fmtAmount(feeSat) + ' ' + unitLabel(), - }), manage: true, - }); - } - } + // What a unilateral exit would cost, and when coins renew for how + // much, are the Spending settings page's business (the gear on the + // card), not lines under the balance. // The coins themselves are always one tap away on the card's gear; a // notice that is about them links straight there. const manage = lines.some((l) => l.manage) -- cgit v1.2.3