From 7234a3de9e200f36accb754f62163f0bd5360832 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 24 Jun 2026 13:38:08 -0700 Subject: Replace seed gift links with presigned PSBT claim links MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gifting no longer shares a seed. "Gift some Bitcoin" (Settings) presigns a chosen amount as a #gift= link: one SIGHASH_SINGLE input (the sender's change output is cryptographically fixed, so a front-runner can only take the gift portion, never the change) plus the rest left open. The coin is reserved per-wallet so normal sends skip it; reclaim it anytime. Opening the link generates a brand-new wallet the sender never sees, shows the amount, and on Claim adds the claimer's address as the output, finalizes, and broadcasts — then prompts backup of the fresh seed. This gives forward secrecy (sender locked out once confirmed), one-shot semantics (claiming spends the input), and keeps funds in the sender's wallet until claimed. Crypto verified end-to-end (sign NONE/SINGLE -> add output -> finalize -> valid tx; deterministic-signature equality proves the presigned sig is valid for any output the claimer picks). Strings retranslated across all 19 locales. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/locales/ja.json | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/locales/ja.json') diff --git a/src/locales/ja.json b/src/locales/ja.json index 2c13e28..346f096 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -151,9 +151,19 @@ "giftBackup": "このウォレットをバックアップ", "giftSkip": "今はスキップ", "giftBackedUp": "書き留めました", - "giftLink": "このウォレットを贈る", - "giftLinkDesc": "このウォレットを資金ごと開くリンクを作成し、すばやく誰かに使い始めてもらえます。", - "giftLinkWarn": "⚠ このリンクを開いた人は、このウォレット内のすべての資金を管理できます。ウォレットを譲り渡すときだけ共有し、金額は少なめにしてください。", + "giftLink": "Bitcoin を贈る", + "giftLinkDesc": "金額をリンクとして事前署名します。リンクを開いた人が、その人だけが管理できる真新しいウォレットに Bitcoin を受け取ります。", + "giftLinkWarn": "⚠ このリンクを開いた人は誰でもその金額を受け取れるので、贈る相手とだけ共有してください。金額は少なめにしましょう。", + "giftAmountLabel": "贈る金額", + "giftAmountInvalid": "有効な金額を入力してください。", + "giftAnother": "もう一つ作成", + "giftReserved": "未受取のギフト用に {n} のコインを確保中", + "giftReclaim": "回収", + "claimBody": "あなただけが管理できる真新しいウォレットに受け取りましょう。", + "claimBtn": "受け取る", + "claimFailed": "このギフトはすでに受け取られたか、現在利用できません。", + "claimedTitle": "受け取りました!", + "claimedBody": "Bitcoin が間もなく届きます。安全に保つため、復元フレーズをバックアップしてください。", "giftLinkReveal": "ギフトリンクを作成", "copyLink": "リンクをコピー" } -- cgit v1.2.3