From 22b8c4e39768adefd2ca8794c3e97a90c73b697a Mon Sep 17 00:00:00 2001 From: SomberNight Date: Thu, 27 Apr 2023 17:33:54 +0000 Subject: [PATCH] hww: fix digitalbitbox(1) support regression from cea4238b8110d247faea8bfbe5294563ef25edba ``` 975.04 | E | plugin.DeviceMgr | failed to create client for digitalbitbox at : AttributeError("'NoneType' object has no attribute 'get_passphrase'") Traceback (most recent call last): File "...\electrum\electrum\plugin.py", line 620, in list_pairable_device_infos soft_device_id = client.get_soft_device_id() File "...\electrum\electrum\plugins\hw_wallet\plugin.py", line 251, in get_soft_device_id root_fp = self.request_root_fingerprint_from_device() File "...\electrum\electrum\plugin.py", line 362, in wrapper return run_in_hwd_thread(partial(func, *args, **kwargs)) File "...\electrum\electrum\plugin.py", line 352, in run_in_hwd_thread return func() File "...\electrum\electrum\plugins\hw_wallet\plugin.py", line 264, in request_root_fingerprint_from_device child_of_root_xpub = self.get_xpub("m/0'", xtype='standard') File "...\electrum\electrum\plugins\digitalbitbox\digitalbitbox.py", line 115, in get_xpub reply = self._get_xpub(bip32_path) File "...\electrum\electrum\plugins\digitalbitbox\digitalbitbox.py", line 110, in _get_xpub if self.check_device_dialog(): File "...\electrum\electrum\plugins\digitalbitbox\digitalbitbox.py", line 197, in check_device_dialog if not self.password_dialog(msg): File "...\electrum\electrum\plugins\digitalbitbox\digitalbitbox.py", line 159, in password_dialog password = self.handler.get_passphrase(msg, False) AttributeError: 'NoneType' object has no attribute 'get_passphrase' ``` --- electrum/plugins/digitalbitbox/digitalbitbox.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/electrum/plugins/digitalbitbox/digitalbitbox.py b/electrum/plugins/digitalbitbox/digitalbitbox.py index 22caaa155..f5fd6f8ff 100644 --- a/electrum/plugins/digitalbitbox/digitalbitbox.py +++ b/electrum/plugins/digitalbitbox/digitalbitbox.py @@ -125,6 +125,9 @@ class DigitalBitbox_Client(HardwareClientBase): else: raise Exception('no reply') + def get_soft_device_id(self): + return None + def dbb_has_password(self): reply = self.hid_send_plain(b'{"ping":""}') if 'ping' not in reply: