diff options
| author | Adam Soltys <[email protected]> | 2026-06-28 09:57:18 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-06-28 09:57:18 -0700 |
| commit | 7dd7f1678c9f294b7a42bfbca263c53c08a83ac4 (patch) | |
| tree | 96ebd94f304e0e80f44c5a2af738e53538164877 /src/i18n.js | |
| parent | 1e43db6e50e5e1dc7ccb8fb53e7ce68cc580967d (diff) | |
| download | coinosv3-7dd7f1678c9f294b7a42bfbca263c53c08a83ac4.tar.gz coinosv3-7dd7f1678c9f294b7a42bfbca263c53c08a83ac4.zip | |
Consolidate coins: a Settings action + a gift-time recommendation
- Settings gains a 'Consolidate coins' card (shown when you hold >1 spendable
coin): wallet.consolidate() does a max self-send merging them into one, so
future sends/gifts use a single input — cheaper and a smaller gift QR.
- At gift creation, detect when the gift would bundle several coins
(giftCoinSummary returns the input count) and trigger the split/consolidate
offer when count ≥ 3 (not just when it frees change). The offer now explains it
plainly ('would bundle N coins, costly to claim') and recommends splitting into
one coin first, with 'Use N coins anyway' as the explicit opt-out.
Verified on regtest: 6 small coins → a 1000-sat gift needs 3 inputs and triggers
the offer; consolidate merges them to 1 coin, after which the same gift is a clean
single input.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'src/i18n.js')
| -rw-r--r-- | src/i18n.js | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/i18n.js b/src/i18n.js index 66f866d..3562337 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -241,6 +241,14 @@ const STR = { giftDmFailed: 'Couldn’t send the nostr DM. Share this code with them privately:', giftCopyCode: 'Copy claim code', giftQrTooLong: 'Too large for a QR code — share the link below instead.', + giftConsolidateExplain: 'This gift would bundle {count} coins, making it costly for the recipient to claim. Splitting one coin first (~{fee}) gives them a clean single-input gift.', + giftConsolidateFirst: 'Split into one coin first', + giftUseManyCoins: 'Use {count} coins anyway', + consolidateTitle: 'Consolidate coins', + consolidateDesc: 'Your balance is spread across {n} coins. Merging them into one makes future sends and gifts cheaper and smaller.', + consolidateAction: 'Merge {n} coins into one', + consolidateDone: 'Consolidating — your coins are merging into one.', + consolidateFailed: 'Consolidation failed.', claimWithExtension: 'Claim with nostr extension', orEnterCode: 'or paste the claim code', extWrongAccount: 'Your extension is signed in as a different nostr account than this gift is for.', |
