From 191f6f757c596cf974ba4ee63967cdf19389fd58 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sun, 5 Jul 2026 13:25:25 -0700 Subject: Ark gifts: instant off-chain bearer gifts inside the gift flow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ark can't presign a bearer spend, so an ark gift is a vtxo sent to an ephemeral ark identity whose seed IS the link (/ag/: net, amount, 32-byte secret). The claimer rebuilds the identity, reads its mailbox, and sweeps to their own ark address — instant, free, and it works for a brand-new empty wallet with zero on-chain footprint. The sender keeps the secret, which is what makes revoke possible (first cosign wins). The gift form gains an On-chain/Ark source toggle when ark balance exists; ark gifts skip the lock/split logic entirely. Claim, choose- wallet, already-claimed, and nostr-locked (/lg/) flows all branch by code kind; unclaimed ark gifts list with one-tap revoke and lazily mark themselves claimed via GetVtxoStatus. Features stay decoupled: gifts asks for ark support via the new ctx.hook seam, so either feature builds alone. Also restores goHome in the feature ctx — lost in the plugin-seam extraction, it made the already-claimed screen throw on render. Co-Authored-By: Claude Fable 5 --- src/i18n.js | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/i18n.js') diff --git a/src/i18n.js b/src/i18n.js index 510a49e..9e04f71 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -377,6 +377,13 @@ const STR = { arkBoardNoFunds: 'Needs at least {n} sats of on-chain balance.', arkRefreshBtn: 'Refresh / consolidate {n} coin(s)', arkOffboardBtn: 'Move {n} back on-chain', + giftSourceChain: 'On-chain', + giftSourceArk: '⚔ Ark', + giftArkNote: 'Sent from your Ark balance — the link claims instantly, off-chain, with no fee.', + giftArkOutstanding: '{n} unclaimed Ark gift(s)', + giftArkRevoked: 'Gift swept back to your Ark balance.', + claimArkFree: 'instant, no fee', + arkGiftWrongNet: 'This gift lives on {net} — switch the network in Settings, then open the link again.', arkOffboardedTitle: 'Withdrawing!', arkOffboardedNote: 'Arrives in this wallet’s on-chain balance after 1 confirmation.', arkOffboarded: 'Withdrawn on-chain', -- cgit v1.2.3