aboutsummaryrefslogtreecommitdiffstats
path: root/src/i18n.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-06-25 16:01:39 -0700
committerAdam Soltys <[email protected]>2026-06-25 16:01:39 -0700
commit124fee3c15556d62d6efd8714fd4501e95273ebd (patch)
treee8302cf0a2e913f11fc8a9bb883d3b99dbc427d2 /src/i18n.js
parent5ed8b673bb0d6981a834d3b4d677c6678f0bd1dd (diff)
downloadcoinosv3-124fee3c15556d62d6efd8714fd4501e95273ebd.tar.gz
coinosv3-124fee3c15556d62d6efd8714fd4501e95273ebd.zip
Gift claim: detect already-claimed (even unconfirmed) and block the race
Opening a gift link now checks whether its funding coin is already spent — via the Esplora outspend endpoint, which reports a spend even by an unconfirmed claim. The Claim button is gated until that check passes; if the coin is spent, show an 'Already claimed' screen with a link to the claim tx instead of a claimable amount. doClaim also re-checks on broadcast failure (the race window), and refuses to run while unchecked/taken — so a second opener can't attempt a doomed double-spend. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'src/i18n.js')
-rw-r--r--src/i18n.js2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/i18n.js b/src/i18n.js
index 8efb930..65171f7 100644
--- a/src/i18n.js
+++ b/src/i18n.js
@@ -207,6 +207,8 @@ const STR = {
giftSplitFirst: 'Split a coin first',
giftLockWhole: 'Lock the whole coin ({n})',
giftSplitFailed: 'Could not split the coin.',
+ giftTakenTitle: 'Already claimed',
+ giftTakenBody: 'Sorry, this gift has already been claimed.',
giftHistoryTitle: 'Gift link',
giftUnclaimedTag: 'unclaimed',
giftCancel: 'Cancel',