feat(wallet): give new full-node wallets a BIP39 seed phrase + backup UI
New full-node wallets now get a real 24-word recovery phrase, and users can reveal/back it up from Settings. - Pass -usemnemonic=1 to dragonxd. The daemon reads it only inside GenerateNewSeed() when a wallet has no seed yet, so it is inert on existing wallets (safe to pass unconditionally) and makes every freshly-created wallet mnemonic-backed — its phrase is then exportable via z_exportmnemonic and portable to SDXLite/ObsidianDragonLite. (Existing/legacy wallets are unaffected and keep using the chat identity's z_exportkey fallback.) - App::exportSeedPhrase() wraps z_exportmnemonic on the RPC worker with sodium_memzero wiping on every path; it flags the daemon's "not derived from a mnemonic" error as a legacy wallet rather than a failure. - New "Back up seed phrase" modal (Settings -> Backup & Data, full-node gated): reveals the phrase in a numbered word grid, copy (45s clipboard auto-clear) + save-to-file (0600), wipes the secret on every close path incl. dismiss-mid-fetch. Shared ui/windows/seed_display.h grid helper. - One-time nudge (settings flag seed_backup_reminded) toasts mnemonic-wallet users to back up their phrase; legacy wallets are not nagged. - 15 new strings translated into all 8 languages (additive, 957->972 keys); CJK subset font rebuilt for the new glyphs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -641,6 +641,20 @@
|
||||
"sb_warming_up": "Démarrage...",
|
||||
"search_placeholder": "Rechercher...",
|
||||
"security": "SÉCURITÉ",
|
||||
"seed_backup_button": "Phrase de récupération",
|
||||
"seed_backup_close": "Fermer",
|
||||
"seed_backup_copy": "Copier",
|
||||
"seed_backup_intro": "Ces mots sont la sauvegarde principale de votre portefeuille. Quiconque les possède contrôle vos fonds.",
|
||||
"seed_backup_load_failed": "Impossible de charger la phrase de récupération.",
|
||||
"seed_backup_loading": "Chargement de votre phrase de récupération…",
|
||||
"seed_backup_locked": "Déverrouillez votre portefeuille pour révéler sa phrase de récupération.",
|
||||
"seed_backup_none": "Ce portefeuille est antérieur aux phrases de récupération, il n'a donc pas de phrase de 24 mots. Sauvegardez-le plutôt avec « Sauvegarde » ou en exportant vos clés privées.",
|
||||
"seed_backup_reminder": "Votre portefeuille possède une phrase de récupération de 24 mots. Sauvegardez-la maintenant dans Paramètres → Nœud et sécurité.",
|
||||
"seed_backup_save": "Enregistrer dans un fichier…",
|
||||
"seed_backup_save_failed": "Impossible d'écrire ",
|
||||
"seed_backup_saved": "Enregistré dans ",
|
||||
"seed_backup_title": "Sauvegarder la phrase de récupération",
|
||||
"seed_backup_warning": "Notez-les dans l'ordre, conservez-les hors ligne, et ne les partagez ni ne les photographiez jamais. Si vous les perdez, vos fonds ne pourront pas être récupérés.",
|
||||
"select_address": "Sélectionner une adresse...",
|
||||
"select_receiving_address": "Sélectionner une adresse de réception...",
|
||||
"select_source_address": "Sélectionner une adresse source...",
|
||||
@@ -889,6 +903,7 @@
|
||||
"tt_save_ztx": "Stocker l'historique des transactions z-address localement pour un chargement plus rapide",
|
||||
"tt_scan_themes": "Rechercher de nouveaux thèmes.\\nPlacez les dossiers de thèmes dans :\\n%s",
|
||||
"tt_scanline": "Effet de lignes de balayage CRT dans la console",
|
||||
"tt_seed_backup": "Afficher et sauvegarder la phrase de récupération de 24 mots de votre portefeuille",
|
||||
"tt_set_pin": "Définir un PIN de 4-8 chiffres pour un déverrouillage rapide",
|
||||
"tt_shield_mining": "Déplacer les récompenses de minage transparentes vers une adresse blindée",
|
||||
"tt_simple_bg": "Utiliser un dégradé simple pour l'arrière-plan\\nRaccourci : Ctrl+Up",
|
||||
|
||||
Reference in New Issue
Block a user