commit 665d1bc153a41b922e87f17337d81cd004acb2ec
parent d2dcea67baeaeed87f948aa46be228d99dcdb170
Author: ThomasV <thomasv@electrum.org>
Date: Wed, 24 Aug 2016 10:47:27 +0200
plugin: separate get_xpub and setup_device
Diffstat:
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/lib/base_wizard.py b/lib/base_wizard.py
@@ -204,17 +204,15 @@ class BaseWizard(object):
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)
+ self.plugin = self.plugins.get_plugin(name)
+ self.plugin.setup_device(device_info, 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, name, device_info, account_id):
from keystore import hardware_keystore, bip44_derivation
- plugin = self.plugins.get_plugin(name)
derivation = bip44_derivation(int(account_id))
- xpub = plugin.setup_device(device_info, derivation, self)
+ xpub = self.plugin.get_xpub(device_info.device.id_, derivation, self)
d = {
'type': 'hardware',
'hw_type': name,
diff --git a/plugins/trezor/plugin.py b/plugins/trezor/plugin.py
@@ -198,7 +198,7 @@ class TrezorCompatiblePlugin(HW_PluginBase):
client.load_device_by_xprv(item, pin, passphrase_protection,
label, language)
- def setup_device(self, device_info, derivation, wizard):
+ def setup_device(self, device_info, wizard):
'''Called when creating a new wallet. Select the device to use. If
the device is uninitialized, go through the intialization
process.'''
@@ -209,7 +209,13 @@ class TrezorCompatiblePlugin(HW_PluginBase):
handler = self.create_handler(wizard)
client.handler = handler
self.initialize_device(device_id, wizard, handler)
+ client.handler = wizard
+ client.get_xpub('m')
+ client.used()
+ def get_xpub(self, device_id, derivation, wizard):
+ devmgr = self.device_manager()
+ client = devmgr.client_by_id(device_id)
client.handler = wizard
xpub = client.get_xpub(derivation)
client.used()