From 7cf22d4b9f276744ce5530859dac965f502beec8 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Tue, 13 Feb 2024 13:35:19 +0000 Subject: [PATCH] coldcard: wallet info dlg: fix missing "Export for Coldcard" btn regression from 711a32508580084fb9b5a29699112b974c02c28f ``` 47.97 | E | plugin | Plugin error. plugin: coldcard, hook: wallet_info_buttons Traceback (most recent call last): File "...\electrum\electrum\plugin.py", line 261, in run_hook r = f(*args) File "...\electrum\electrum\plugins\hw_wallet\plugin.py", line 344, in wrapper return func(self, *args, **kwargs) File "...\electrum\electrum\plugins\coldcard\qt.py", line 51, in wallet_info_buttons wallet = main_window.wallet AttributeError: 'WalletInfoDialog' object has no attribute 'wallet' ``` --- electrum/gui/qt/wallet_info_dialog.py | 2 +- electrum/plugins/coldcard/qt.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/electrum/gui/qt/wallet_info_dialog.py b/electrum/gui/qt/wallet_info_dialog.py index 61cf4b7cc..2caad1914 100644 --- a/electrum/gui/qt/wallet_info_dialog.py +++ b/electrum/gui/qt/wallet_info_dialog.py @@ -161,7 +161,7 @@ class WalletInfoDialog(WindowModalDialog): vbox.addWidget(ks_stack) vbox.addStretch(1) - btn_export_info = run_hook('wallet_info_buttons', self, self) + btn_export_info = run_hook('wallet_info_buttons', window, self) btn_close = CloseButton(self) btns = Buttons(btn_export_info, btn_close) vbox.addLayout(btns) diff --git a/electrum/plugins/coldcard/qt.py b/electrum/plugins/coldcard/qt.py index c7d4ed48b..acfdf3d6b 100644 --- a/electrum/plugins/coldcard/qt.py +++ b/electrum/plugins/coldcard/qt.py @@ -45,9 +45,10 @@ class Plugin(ColdcardPlugin, QtPluginBase): @only_hook_if_libraries_available @hook - def wallet_info_buttons(self, main_window, dialog): + def wallet_info_buttons(self, main_window: 'ElectrumWindow', dialog): # user is about to see the "Wallet Information" dialog # - add a button if multisig wallet, and a Coldcard is a cosigner. + assert isinstance(main_window, ElectrumWindow), f"{type(main_window)}" wallet = main_window.wallet if type(wallet) is not Multisig_Wallet: