From 15e0b236e7ff2cafcb439c891c790deea8ec16a7 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sun, 5 Jul 2026 20:39:02 -0700 Subject: Unilateral exit: put vtxos on-chain without the server The trustless backstop behind the Ark card's promise. The vtxo's genesis chain reconstructs to fully-signed txs (keyspend sigs for cosigned/arkoor transitions, preimage script-path for hark leaves); they are zero-fee v3 with P2A anchors, so each hop broadcasts as a [parent, CPFP child] package via esplora POST /txs/package, one confirmed hop at a time (TRUC allows a single unconfirmed parent). After the vtxo tx confirms and the CSV exit delta passes, the claim spends the delayed_sign leaf with only the user key into the wallet's own receive address. Settings gains 'Exit on-chain without the server' with live per-exit status lines; the claim tx is labeled 'Ark exit' in History. Probing uses /tx/:txid (definitive 404), never /tx/:txid/status, which answers confirmed:false for unknown txids. Also: a fresh visitor opening an ark gift link now adopts the gift's network automatically instead of being sent to Settings. Co-Authored-By: Claude Fable 5 --- src/i18n.js | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/i18n.js') diff --git a/src/i18n.js b/src/i18n.js index 9e04f71..47e93f4 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -388,6 +388,14 @@ const STR = { arkOffboardedNote: 'Arrives in this wallet’s on-chain balance after 1 confirmation.', arkOffboarded: 'Withdrawn on-chain', arkOffboardHistory: 'Ark withdrawal', + arkExitBtn: 'Exit on-chain without the server ({n} coin(s))', + arkExitStarted: 'Unilateral exit started for {n} coin(s) — broadcasting the exit chain.', + arkExitNoFeeCoin: 'Exiting needs an on-chain coin to pay the exit-chain fees.', + arkExitChainStatus: 'Exit {n}: broadcasting the exit chain…', + arkExitTimelockStatus: 'Exit {n}: waiting for the timelock (claimable at block {blocks})', + arkExitClaimingStatus: 'Exit {n}: claim broadcast, awaiting confirmation', + arkExited: 'Exited on-chain', + arkExitHistory: 'Ark exit', arkRefreshStarted: 'Refresh submitted — completes with the next round.', arkSendTitle: 'Send over Ark', arkSendHint: 'Ark address — sent instantly off-chain, no mining fee.', -- cgit v1.2.3