1
0

hardware wallets: wizard no longer requests xpub at path "m"

This was done to calculate the bip32 root fingerprint but it broke
the digitalbitbox. The keystore already had a different way to get
the root fingerprint for existing wallets, specifically handling this
case; the code in base_wizard used when creating new wallets was
duplicating that code originally and was then forgotten to be updated.
Now these codepaths are unified.

closes #5816
This commit is contained in:
SomberNight
2019-12-02 19:31:17 +01:00
parent 68dad21fb4
commit d3fd87ebd0
3 changed files with 13 additions and 8 deletions

View File

@@ -709,11 +709,7 @@ class Hardware_KeyStore(KeyStore, Xpub):
def opportunistically_fill_in_missing_info_from_device(self, client: 'HardwareClientBase'):
assert client is not None
if self._root_fingerprint is None:
# digitalbitbox (at least) does not reveal xpubs corresponding to unhardened paths
# so ask for a direct child, and read out fingerprint from that:
child_of_root_xpub = client.get_xpub("m/0'", xtype='standard')
root_fingerprint = BIP32Node.from_xkey(child_of_root_xpub).fingerprint.hex().lower()
self._root_fingerprint = root_fingerprint
self._root_fingerprint = client.request_root_fingerprint_from_device()
self.is_requesting_to_be_rewritten_to_wallet_file = True
if self.label != client.label():
self.label = client.label()