aboutsummaryrefslogtreecommitdiffstats
path: root/src/features
diff options
context:
space:
mode:
Diffstat (limited to 'src/features')
-rw-r--r--src/features/ark.js15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/features/ark.js b/src/features/ark.js
index 8026ed9..c02b9f9 100644
--- a/src/features/ark.js
+++ b/src/features/ark.js
@@ -2258,8 +2258,12 @@ export function arkFeature(ctx) {
};
// The server prices a renewal by how much lifetime each coin still
// carries (its ppm bracket) — waiting IS cheaper, and inside the final
- // bracket it's free, where the wallet renews on its own anyway.
+ // bracket the share is zero, where the wallet renews on its own anyway.
+ // A flat base fee (the round's on-chain cost, which coinos stopped
+ // absorbing in October 2026) rides on top of every bracket.
const table = (((mgr && mgr.info) || {}).refreshFees || {}).ppmExpiryTable || [];
+ const baseSat = (((mgr && mgr.info) || {}).refreshFees || {}).baseFeeSat || 0;
+ const baseCost = fmtSats(baseSat) + ' sats';
const roundMins = Math.max(1, Math.round((((mgr && mgr.info) || {}).roundIntervalSecs || 120) / 60));
const roundEvery = roundMins === 1 ? t('arkCoinsRoundEveryOne') : t('arkCoinsRoundEvery', { n: roundMins });
const ppmFor = (blocks) => (table.filter((e) => e.thresholdBlocks <= blocks).pop()?.ppm) ?? 0;
@@ -2286,8 +2290,9 @@ export function arkFeature(ctx) {
: i === 0
? t('arkCoinsSchedOver', { span: span(e.thresholdBlocks) })
: t('arkCoinsSchedBetween', { a: span(e.thresholdBlocks), b: span(arr[i - 1].thresholdBlocks) }),
- cost: e.ppm === 0 ? t('arkDepthFree') : (e.ppm / 10000).toLocaleString(undefined, { maximumFractionDigits: 3 }) + '%',
- free: e.ppm === 0,
+ cost: e.ppm === 0 ? (baseSat ? baseCost : t('arkDepthFree'))
+ : (e.ppm / 10000).toLocaleString(undefined, { maximumFractionDigits: 3 }) + '%' + (baseSat ? ' + ' + baseCost : ''),
+ free: e.ppm === 0 && !baseSat,
}));
// Which coins ride the renewal: all by default (the one-button behavior),
// any subset by unticking. Selection is per-visit; ids that vanished
@@ -2450,7 +2455,9 @@ export function arkFeature(ctx) {
h('h4', { style: 'margin:0' }, t('arkCoinsRenewTitle')),
// the round cadence comes from the server (it has been an hour and
// is two minutes as of September 2026) — never a number baked in here
- h('p', { class: 'small muted', style: 'margin:0' }, t('arkCoinsRenewDesc', { every: roundEvery })),
+ h('p', { class: 'small muted', style: 'margin:0' }, baseSat
+ ? t('arkCoinsRenewDescBase', { every: roundEvery, base: baseCost })
+ : t('arkCoinsRenewDesc', { every: roundEvery })),
schedule.length ? h('div', { class: 'col', style: 'gap:2px;margin:2px 0' },
...schedule.map((r) => h('div', { class: 'row between' },
h('span', { class: 'small muted' }, r.label),