aboutsummaryrefslogtreecommitdiffstats
path: root/src/features
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-10-08 16:42:02 -0700
committerAdam Soltys <[email protected]>2026-10-08 16:42:02 -0700
commit8bb6726811d3f49131af57d6a104ee7064aa8172 (patch)
tree93ffb3ff225df52f4e3378e846ee4dd3120dd1d0 /src/features
parente35764950b59bde6e36bdfad1ca671eef564a6d1 (diff)
downloadcoinosv3-8bb6726811d3f49131af57d6a104ee7064aa8172.tar.gz
coinosv3-8bb6726811d3f49131af57d6a104ee7064aa8172.zip
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 <[email protected]>
Diffstat (limited to 'src/features')
-rw-r--r--src/features/ark.js32
1 files changed, 3 insertions, 29 deletions
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)