commit 1e6caf8f03955b6a701cf9b52ba89402a1db8845
parent 8edca913903bc6d61b100c5525a94f57c0d5f28e
Author: ThomasV <thomasv@electrum.org>
Date: Wed, 24 Aug 2016 08:52:21 +0200
wizard: ask accound id after device setup
Diffstat:
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/lib/base_wizard.py b/lib/base_wizard.py
@@ -198,28 +198,29 @@ class BaseWizard(object):
self.devices = devices
choices = []
for name, device_info in devices:
- choices.append( ((name, device_info), device_info.description) )
+ choices.append( ((name, device_info), device_info.description + ' [%s]'%name) )
msg = _('Select a device') + ':'
self.choice_dialog(title=title, message=msg, choices=choices, run_next=self.on_device)
def on_device(self, name, device_info):
+ plugin = self.plugins.get_plugin(name)
+ self.plugin = plugin
+ xpub = plugin.setup_device(device_info, 'm', self)
f = lambda x: self.run('on_hardware_account_id', name, device_info, x)
self.account_id_dialog(run_next=f)
- def on_hardware_account_id(self, hw_type, device_info, account_id):
+ def on_hardware_account_id(self, name, device_info, account_id):
from keystore import hardware_keystore, bip44_derivation
+ plugin = self.plugins.get_plugin(name)
derivation = bip44_derivation(int(account_id))
- plugin = self.plugins.get_plugin(hw_type)
- self.plugin = plugin
xpub = plugin.setup_device(device_info, derivation, self)
- # create keystore
d = {
'type': 'hardware',
- 'hw_type': hw_type,
+ 'hw_type': name,
'derivation': derivation,
'xpub': xpub,
}
- k = hardware_keystore(hw_type, d)
+ k = hardware_keystore(d)
self.on_keystore(k, None)
def on_hardware_seed(self):
diff --git a/lib/keystore.py b/lib/keystore.py
@@ -553,7 +553,8 @@ hw_keystores = {}
def register_keystore(hw_type, constructor):
hw_keystores[hw_type] = constructor
-def hardware_keystore(hw_type, d):
+def hardware_keystore(d):
+ hw_type = d['hw_type']
if hw_type in hw_keystores:
constructor = hw_keystores[hw_type]
return constructor(d)
@@ -572,8 +573,7 @@ def load_keystore(storage, name):
elif t == 'bip32':
k = BIP32_KeyStore(d)
elif t == 'hardware':
- hw_type = d.get('hw_type')
- k = hardware_keystore(hw_type, d)
+ k = hardware_keystore(d)
else:
raise BaseException('unknown wallet type', t)
return k