diff --git a/electrum/plugin.py b/electrum/plugin.py index 8e675cbfd..3ef989614 100644 --- a/electrum/plugin.py +++ b/electrum/plugin.py @@ -46,7 +46,7 @@ from .i18n import _ from .util import (profiler, DaemonThread, UserCancelled, ThreadJob, UserFacingException) from . import bip32 from . import plugins -from .simple_config import SimpleConfig +from .simple_config import ConfigVar, SimpleConfig from .logging import get_logger, Logger from .crypto import sha256 @@ -290,7 +290,11 @@ class Plugins(DaemonThread): else: zipfile = zipimport.zipimporter(metadata['path']) init_spec = zipfile.find_spec(name) - self.exec_module_from_spec(init_spec, base_name) + module = self.exec_module_from_spec(init_spec, base_name) + # import config vars + if hasattr(module, 'config_vars'): + for cv in module.config_vars: + setattr(SimpleConfig, cv.key().upper(), cv) if name == "trustedcoin": # removes trustedcoin after loading to not show it in the list of plugins del self.internal_plugin_metadata[name] diff --git a/electrum/plugins/payserver/__init__.py b/electrum/plugins/payserver/__init__.py index e69de29bb..d8b55e48c 100644 --- a/electrum/plugins/payserver/__init__.py +++ b/electrum/plugins/payserver/__init__.py @@ -0,0 +1,6 @@ +from electrum.simple_config import ConfigVar +config_vars = [ + ConfigVar('payserver_port', default=8080, type_=int), + ConfigVar('payserver_root', default='/r', type_=str), + ConfigVar('payserver_allow_create_invoice', default=False, type_=bool), +] diff --git a/electrum/plugins/swapserver/__init__.py b/electrum/plugins/swapserver/__init__.py index e69de29bb..6868d31b3 100644 --- a/electrum/plugins/swapserver/__init__.py +++ b/electrum/plugins/swapserver/__init__.py @@ -0,0 +1,6 @@ +from electrum.simple_config import ConfigVar +config_vars = [ + ConfigVar('swapserver_port', default=None, type_=int), + ConfigVar('swapserver_fee_millionths', default=5000, type_=int), + ConfigVar('swapserver_ann_pow_nonce', default=0, type_=int), +] diff --git a/electrum/plugins/watchtower/__init__.py b/electrum/plugins/watchtower/__init__.py index e69de29bb..1a35470fc 100644 --- a/electrum/plugins/watchtower/__init__.py +++ b/electrum/plugins/watchtower/__init__.py @@ -0,0 +1,6 @@ +from electrum.simple_config import ConfigVar +config_vars = [ + ConfigVar('watchtower_server_port', default=None, type_=int), + ConfigVar('watchtower_server_user', default=None, type_=str), + ConfigVar('watchtower_server_password', default=None, type_=str), +] diff --git a/electrum/simple_config.py b/electrum/simple_config.py index c9eaea2a0..dfbc5ff82 100644 --- a/electrum/simple_config.py +++ b/electrum/simple_config.py @@ -814,12 +814,8 @@ Warning: setting this to too low will result in lots of payment failures."""), # connect to remote submarine swap server SWAPSERVER_URL = ConfigVar('swapserver_url', default='', type_=str) - # run submarine swap server locally - SWAPSERVER_PORT = ConfigVar('swapserver_port', default=None, type_=int) - SWAPSERVER_FEE_MILLIONTHS = ConfigVar('swapserver_fee_millionths', default=5000, type_=int) TEST_SWAPSERVER_REFUND = ConfigVar('test_swapserver_refund', default=False, type_=bool) SWAPSERVER_NPUB = ConfigVar('swapserver_npub', default=None, type_=str) - SWAPSERVER_ANN_POW_NONCE = ConfigVar('swapserver_ann_pow_nonce', default=0, type_=int) SWAPSERVER_POW_TARGET = ConfigVar('swapserver_pow_target', default=30, type_=int) # nostr @@ -846,16 +842,6 @@ Warning: setting this to too low will result in lots of payment failures."""), # connect to remote WT WATCHTOWER_CLIENT_URL = ConfigVar('watchtower_url', default=None, type_=str) - # run WT locally - WATCHTOWER_SERVER_ENABLED = ConfigVar('run_watchtower', default=False, type_=bool) - WATCHTOWER_SERVER_PORT = ConfigVar('watchtower_port', default=None, type_=int) - WATCHTOWER_SERVER_USER = ConfigVar('watchtower_user', default=None, type_=str) - WATCHTOWER_SERVER_PASSWORD = ConfigVar('watchtower_password', default=None, type_=str) - - PAYSERVER_PORT = ConfigVar('payserver_port', default=8080, type_=int) - PAYSERVER_ROOT = ConfigVar('payserver_root', default='/r', type_=str) - PAYSERVER_ALLOW_CREATE_INVOICE = ConfigVar('payserver_allow_create_invoice', default=False, type_=bool) - PLUGIN_TRUSTEDCOIN_NUM_PREPAY = ConfigVar('trustedcoin_prepay', default=20, type_=int) diff --git a/tests/regtest.py b/tests/regtest.py index cb4215a3d..9246e3537 100644 --- a/tests/regtest.py +++ b/tests/regtest.py @@ -116,9 +116,9 @@ class TestLightningWatchtower(TestLightning): }, 'carol': { 'enable_plugin_watchtower': 'true', - 'watchtower_user': 'wtuser', - 'watchtower_password': 'wtpassword', - 'watchtower_port': '12345', + 'watchtower_server_user': 'wtuser', + 'watchtower_server_password': 'wtpassword', + 'watchtower_server_port': '12345', } }