From 3a18000f7a1193e9ccaab126f3d9414e32cebe5f Mon Sep 17 00:00:00 2001 From: ThomasV Date: Fri, 11 Apr 2025 20:15:16 +0200 Subject: [PATCH] nwc plugin: settings_dialog is wallet agnostic. instead, test wallet in start_plugin. prevent plugin from using several wallets. --- electrum/plugins/nwc/nwcserver.py | 5 +++++ electrum/plugins/nwc/qt.py | 6 ------ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/electrum/plugins/nwc/nwcserver.py b/electrum/plugins/nwc/nwcserver.py index 68b4b2cca..ae914f9f8 100644 --- a/electrum/plugins/nwc/nwcserver.py +++ b/electrum/plugins/nwc/nwcserver.py @@ -42,6 +42,11 @@ class NWCServerPlugin(BasePlugin): self.logger.debug(f"NWCServerPlugin created, waiting for wallet to load...") def start_plugin(self, wallet: 'Abstract_Wallet'): + if not wallet.has_lightning(): + return + if self.is_initialized: + # this might be called for several wallets. only use one. + return storage = self.get_plugin_storage(wallet) self.connections = storage['connections'] self.delete_expired_connections() diff --git a/electrum/plugins/nwc/qt.py b/electrum/plugins/nwc/qt.py index 7d990e46d..9fe3803de 100644 --- a/electrum/plugins/nwc/qt.py +++ b/electrum/plugins/nwc/qt.py @@ -43,12 +43,6 @@ class Plugin(NWCServerPlugin): partial(self.settings_dialog, window)) def settings_dialog(self, window: WindowModalDialog): - wallet: 'Abstract_Wallet' = window.parent().wallet - if not wallet.has_lightning(): - window.show_error(_("{} plugin requires a lightning enabled wallet. Setup lightning first.") - .format("NWC")) - return - d = WindowModalDialog(window, _("Nostr Wallet Connect")) main_layout = QVBoxLayout(d)