Skip to content

Commit b0464cc

Browse files
committed
refactor 'init_wallet_wizard' hook a bit. add test_wizard trezor test
1 parent 358728b commit b0464cc

File tree

11 files changed

+56
-35
lines changed

11 files changed

+56
-35
lines changed

electrum/hw_wallet/plugin.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import threading
4040
from electrum.plugin import DeviceInfo
4141
from electrum.wallet import Abstract_Wallet
42+
from electrum.wizard import AbstractWizard
4243

4344

4445
class HW_PluginBase(BasePlugin, ABC):
@@ -188,6 +189,14 @@ def wizard_entry_for_device(self, device_info: 'DeviceInfo', *, new_wallet: bool
188189
"""
189190
pass
190191

192+
@hook
193+
def init_wallet_wizard(self, wizard: 'AbstractWizard') -> None:
194+
self.extend_wizard(wizard)
195+
196+
@abstractmethod
197+
def extend_wizard(self, wizard: 'AbstractWizard') -> None:
198+
pass
199+
191200

192201
class HardwareClientBase(ABC):
193202
handler = None # type: Optional['HardwareHandlerBase']

electrum/plugins/bitbox02/qt.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,6 @@ def on_button_click():
5454
device_name = "{} ({})".format(self.device, keystore.label)
5555
mpk_text.addButton(read_QIcon("eye1.png"), on_button_click, _("Show on {}").format(device_name))
5656

57-
@hook
58-
def init_wallet_wizard(self, wizard: 'QENewWalletWizard'):
59-
self.extend_wizard(wizard)
60-
6157
# insert bitbox02 pages in new wallet wizard
6258
def extend_wizard(self, wizard: 'QENewWalletWizard'):
6359
super().extend_wizard(wizard)

electrum/plugins/coldcard/qt.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,10 +124,6 @@ def show_settings_dialog(self, window, keystore):
124124
# - doesn't matter if device not connected, continue
125125
CKCCSettingsDialog(window, self, keystore).exec()
126126

127-
@hook
128-
def init_wallet_wizard(self, wizard: 'QENewWalletWizard'):
129-
self.extend_wizard(wizard)
130-
131127
# insert coldcard pages in new wallet wizard
132128
def extend_wizard(self, wizard: 'QENewWalletWizard'):
133129
super().extend_wizard(wizard)

electrum/plugins/digitalbitbox/qt.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,6 @@ def transaction_dialog_address_menu(self, menu, addr, wallet):
4747
return
4848
self._add_menu_action(menu, addr, wallet)
4949

50-
@hook
51-
def init_wallet_wizard(self, wizard: 'QENewWalletWizard'):
52-
self.extend_wizard(wizard)
53-
5450
# insert digitalbitbox pages in new wallet wizard
5551
def extend_wizard(self, wizard: 'QENewWalletWizard'):
5652
super().extend_wizard(wizard)

electrum/plugins/jade/qt.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,6 @@ def transaction_dialog_address_menu(self, menu, addr, wallet):
4141
return
4242
self._add_menu_action(menu, addr, wallet)
4343

44-
@hook
45-
def init_wallet_wizard(self, wizard: 'QENewWalletWizard'):
46-
self.extend_wizard(wizard)
47-
4844
# insert jade pages in new wallet wizard
4945
def extend_wizard(self, wizard: 'QENewWalletWizard'):
5046
super().extend_wizard(wizard)

electrum/plugins/keepkey/qt.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -323,10 +323,6 @@ def create_handler(self, window):
323323
def pin_matrix_widget_class(self):
324324
return PinMatrixWidget
325325

326-
@hook
327-
def init_wallet_wizard(self, wizard: 'QENewWalletWizard'):
328-
self.extend_wizard(wizard)
329-
330326
# insert keepkey pages in new wallet wizard
331327
def extend_wizard(self, wizard: 'QENewWalletWizard'):
332328
super().extend_wizard(wizard)

electrum/plugins/ledger/qt.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,6 @@ def transaction_dialog_address_menu(self, menu, addr, wallet):
4040
return
4141
self._add_menu_action(menu, addr, wallet)
4242

43-
@hook
44-
def init_wallet_wizard(self, wizard: 'QENewWalletWizard'):
45-
self.extend_wizard(wizard)
46-
4743
# insert ledger pages in new wallet wizard
4844
def extend_wizard(self, wizard: 'QENewWalletWizard'):
4945
super().extend_wizard(wizard)

electrum/plugins/safe_t/qt.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -199,10 +199,6 @@ def create_handler(self, window):
199199
def pin_matrix_widget_class(self):
200200
return PinMatrixWidget
201201

202-
@hook
203-
def init_wallet_wizard(self, wizard: 'QENewWalletWizard'):
204-
self.extend_wizard(wizard)
205-
206202
# insert safe_t pages in new wallet wizard
207203
def extend_wizard(self, wizard: 'QENewWalletWizard'):
208204
super().extend_wizard(wizard)

electrum/plugins/trezor/qt.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -466,10 +466,6 @@ def create_handler(self, window):
466466
def pin_matrix_widget_class(self):
467467
return PinMatrixWidget
468468

469-
@hook
470-
def init_wallet_wizard(self, wizard: 'QENewWalletWizard'):
471-
self.extend_wizard(wizard)
472-
473469
# insert trezor pages in new wallet wizard
474470
def extend_wizard(self, wizard: 'QENewWalletWizard'):
475471
super().extend_wizard(wizard)

electrum/wizard.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ def sanitize_stack_item(self, _stack_item) -> dict:
172172
"wallet_type", "keystore_type", "seed_variant", "seed_type", "seed_extend",
173173
"script_type", "derivation_path", "encrypt",
174174
# hardware devices:
175-
"hardware_device", "hw_type", "label", "soft_device_id",
175+
"hardware_device", "hw_type", "label", "soft_device_id", "xpub_encrypt",
176176
# inside keystore:
177177
"type", "pw_hash_version", "derivation", "root_fingerprint",
178178
# multisig:
@@ -285,8 +285,8 @@ def wallet_password_view(self, wizard_data: dict) -> str:
285285
def on_hardware_device(self, wizard_data: dict, new_wallet=True) -> str:
286286
current_cosigner = self.current_cosigner(wizard_data)
287287
_type, _info = current_cosigner['hardware_device']
288-
run_hook('init_wallet_wizard', self) # TODO: currently only used for hww, hook name might be confusing
289288
plugin = self.plugins.get_plugin(_type)
289+
run_hook('init_wallet_wizard', self) # TODO: currently only used for hww, hook name might be confusing
290290
return plugin.wizard_entry_for_device(_info, new_wallet=new_wallet)
291291

292292
def validate_seed(self, seed: str, seed_variant: str, wallet_type: str) -> Tuple[bool, str, str, bool]:

0 commit comments

Comments
 (0)