From 96e91a2cca47f4eae3514d6827a29354e507dadd Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 24 Jun 2026 20:55:01 -0700 Subject: Instant gift-via-split and spend-unconfirmed support Gift split no longer makes the sender wait for confirmation: createGiftFromSplit broadcasts the carve-out, waits only until it's visible in the mempool, then builds the gift spending that still-unconfirmed coin. Funding + claim form a chain that confirms together; the recipient sees a pending balance until then. Polls for mempool visibility before reserving so a background refresh can't drop a not-yet-indexed coin and prune the reservation (double-spend risk). Regular sends can already draw on unconfirmed coins; surface that honestly: a 'pending' tag on unconfirmed coins in coin control, and a plain-language warning at review when a payment spends unconfirmed bitcoin (won't confirm until the ancestor does). Co-Authored-By: Claude Opus 4.8 (1M context) --- src/i18n.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/i18n.js') diff --git a/src/i18n.js b/src/i18n.js index a4f2180..f164b0b 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -141,6 +141,7 @@ const STR = { selectCoin: 'Select at least one coin to spend.', networkFee: 'Network fee', offlineSignNote: 'Offline: sign now, then broadcast the signed transaction from an online device.', + unconfirmedInputWarn: 'This payment spends bitcoin that hasn’t confirmed yet, so it won’t confirm until that earlier transaction does.', signBroadcast: 'Sign & broadcast', signTx: 'Sign transaction', signExport: 'Sign & export (broadcast elsewhere)', @@ -198,7 +199,6 @@ const STR = { giftSplitExplain: 'This gift would lock {lock} until it’s claimed ({change} of it comes back to you then). You can split a right-sized coin first for about {fee} so only the gift amount stays locked.', giftSplitFirst: 'Split a coin first', giftLockWhole: 'Lock the whole coin ({n})', - giftSplitPending: 'Coin split sent. Once it confirms, create your gift link — it’ll lock only the gift amount.', giftSplitFailed: 'Could not split the coin.', lockedInGifts: 'Locked in gifts', giftReserved: 'Unclaimed gift links ({n})', -- cgit v1.2.3