1
0

wizard: fix missing 'wallet_password' and 'wallet_password_hardware' views on abstract KeystoreWizard

(these were implicitly defined by the Qt subclass) and test wallet keystore enable.
This commit is contained in:
Sander van Grieken
2025-08-13 16:16:00 +02:00
parent 0a2cd5fdad
commit e1d5d803e9
2 changed files with 20 additions and 4 deletions

View File

@@ -226,6 +226,12 @@ class KeystoreWizard(AbstractWizard):
'choose_hardware_device': { 'choose_hardware_device': {
'next': self.on_hardware_device, 'next': self.on_hardware_device,
}, },
'wallet_password': {
'last': True
},
'wallet_password_hardware': {
'last': True
},
} }
def maybe_master_pubkey(self, wizard_data): def maybe_master_pubkey(self, wizard_data):

View File

@@ -2,7 +2,7 @@ import os
from electrum import SimpleConfig from electrum import SimpleConfig
from electrum.interface import ServerAddr from electrum.interface import ServerAddr
from electrum.keystore import bip44_derivation from electrum.keystore import bip44_derivation, Hardware_KeyStore
from electrum.network import NetworkParameters, ProxySettings from electrum.network import NetworkParameters, ProxySettings
from electrum.plugin import Plugins, DeviceInfo, Device from electrum.plugin import Plugins, DeviceInfo, Device
from electrum.wizard import ServerConnectWizard, NewWalletWizard, WizardViewState, KeystoreWizard from electrum.wizard import ServerConnectWizard, NewWalletWizard, WizardViewState, KeystoreWizard
@@ -266,12 +266,22 @@ class KeystoreWizardTestCase(WizardTestCase):
self.assertEqual('trezor_xpub', v.view) self.assertEqual('trezor_xpub', v.view)
d.update({ d.update({
'hw_type': 'trezor', 'hw_type': 'trezor',
'master_key': 'zpub6jftahH18ngZwMBBp7epRdBwPMPphfdy9gM6P4n5zFUXdfQJmsYfMNZoBnQMkAoBAiQYRyDQKdpxLYp6QuTrWbgmt6v1cxnFdesyiDSocAs', 'master_key': 'zpub6rakEaM5ps5UiQ2yhbWiEkd6ceJfmuzegwc62G4itMz8L7rRFRqh6y8bTCScXV6NfTMUhANYQnfqfBd9dYfBRKf4LD1Yyfc8UvwY1MtNKWs',
'root_fingerprint': '', 'root_fingerprint': 'b3569ff0',
'label': 'test', 'label': 'test',
'soft_device_id': '', 'soft_device_id': '1',
}) })
self.assertTrue(w.is_last_view(v.view, d)) self.assertTrue(w.is_last_view(v.view, d))
v = w.resolve_next(v.view, d)
ks, ishww = w._result
self.assertTrue(ishww)
wallet = self._create_xpub_keystore_wallet(xpub='zpub6rakEaM5ps5UiQ2yhbWiEkd6ceJfmuzegwc62G4itMz8L7rRFRqh6y8bTCScXV6NfTMUhANYQnfqfBd9dYfBRKf4LD1Yyfc8UvwY1MtNKWs')
self.assertTrue(wallet.get_keystore().is_watching_only())
wallet.enable_keystore(ks, ishww, None)
self.assertFalse(wallet.get_keystore().is_watching_only())
self.assertTrue(isinstance(wallet.get_keystore(), Hardware_KeyStore))
class WalletWizardTestCase(WizardTestCase): class WalletWizardTestCase(WizardTestCase):