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/ar.json | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/locales/ar.json') diff --git a/src/locales/ar.json b/src/locales/ar.json index b78e83d..57f2ea6 100644 --- a/src/locales/ar.json +++ b/src/locales/ar.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