From 4eccfdaa99aeb823ec4386cd28218a50ac7c2751 Mon Sep 17 00:00:00 2001 From: Sander van Grieken Date: Tue, 12 Aug 2025 12:02:30 +0200 Subject: [PATCH] wizard: add script and derivation to keystorewizard flow. fixes #10063 --- electrum/gui/qt/wizard/wallet.py | 1 - electrum/wizard.py | 11 ++++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/electrum/gui/qt/wizard/wallet.py b/electrum/gui/qt/wizard/wallet.py index fd12408b2..bae3ef958 100644 --- a/electrum/gui/qt/wizard/wallet.py +++ b/electrum/gui/qt/wizard/wallet.py @@ -48,7 +48,6 @@ MSG_HW_STORAGE_ENCRYPTION = _("Set wallet file encryption.") + '\n'\ + _("It also contains your master public key that allows watching your addresses.") - class QEKeystoreWizard(KeystoreWizard, QEAbstractWizard, MessageBoxMixin): _logger = get_logger(__name__) diff --git a/electrum/wizard.py b/electrum/wizard.py index 689454974..08b65dbe4 100644 --- a/electrum/wizard.py +++ b/electrum/wizard.py @@ -210,11 +210,16 @@ class KeystoreWizard(AbstractWizard): 'next': self.on_keystore_type }, 'enter_seed': { - 'next': 'enter_ext', - 'accept': lambda d: None if self.wants_ext(d) else self.update_keystore(d), - 'last': lambda d: not self.wants_ext(d), + 'next': lambda d: 'enter_ext' if self.wants_ext(d) else 'script_and_derivation', + 'accept': lambda d: None if (self.wants_ext(d) or self.needs_derivation_path(d)) else self.update_keystore(d), + 'last': lambda d: not self.wants_ext(d) and not self.needs_derivation_path(d), }, 'enter_ext': { + 'next': 'script_and_derivation', + 'accept': lambda d: None if self.needs_derivation_path(d) else self.update_keystore(d), + 'last': lambda d: not self.needs_derivation_path(d) + }, + 'script_and_derivation': { 'accept': self.update_keystore, 'last': True },