Browse Source

config: save ports instead of net addresses (follow-up 012ce1c1bb)

master
ThomasV 2 years ago
parent
commit
9f5f802cd1
  1. 12
      electrum/daemon.py
  2. 12
      electrum/plugins/payserver/payserver.py
  3. 7
      electrum/plugins/swapserver/server.py
  4. 20
      electrum/simple_config.py
  5. 2
      electrum/tests/regtest/regtest.sh

12
electrum/daemon.py

@ -357,8 +357,8 @@ class CommandsServer(AuthenticatedServer):
class WatchTowerServer(AuthenticatedServer):
def __init__(self, network: 'Network', netaddress):
self.addr = netaddress
def __init__(self, network: 'Network', port:int):
self.port = port
self.config = network.config
self.network = network
watchtower_user = self.config.WATCHTOWER_SERVER_USER or ""
@ -373,9 +373,9 @@ class WatchTowerServer(AuthenticatedServer):
async def run(self):
self.runner = web.AppRunner(self.app)
await self.runner.setup()
site = web.TCPSite(self.runner, host=str(self.addr.host), port=self.addr.port)
site = web.TCPSite(self.runner, host='localhost', port=self.port)
await site.start()
self.logger.info(f"now running and listening. addr={self.addr}")
self.logger.info(f"running and listening on port {self.port}")
async def get_ctn(self, *args):
return await self.lnwatcher.get_ctn(*args)
@ -453,8 +453,8 @@ class Daemon(Logger):
assert not self.config.NETWORK_OFFLINE
assert self.network
# server-side watchtower
if watchtower_address := self.config.get_netaddress(self.config.cv.WATCHTOWER_SERVER_ADDRESS):
self.watchtower = WatchTowerServer(self.network, watchtower_address)
if watchtower_port := self.config.WATCHTOWER_SERVER_PORT:
self.watchtower = WatchTowerServer(self.network, watchtower_port)
asyncio.run_coroutine_threadsafe(self.taskgroup.spawn(self.watchtower.run), self.asyncio_loop)
self.network.start(jobs=[self.fx.run])

12
electrum/plugins/payserver/payserver.py

@ -29,7 +29,6 @@ from collections import defaultdict
from typing import TYPE_CHECKING, Optional
from aiohttp import web
from aiorpcx import NetAddress
from electrum import util
from electrum.util import log_exceptions, ignore_exceptions
@ -80,8 +79,7 @@ class PayServer(Logger, EventListener):
assert self.has_www_dir(), self.WWW_DIR
self.config = config
self.wallet = wallet
url = self.config.PAYSERVER_ADDRESS
self.addr = NetAddress.from_string(url)
self.port = self.config.PAYSERVER_PORT
self.pending = defaultdict(asyncio.Event)
self.register_callbacks()
@ -92,9 +90,7 @@ class PayServer(Logger, EventListener):
@property
def base_url(self):
payserver = self.config.PAYSERVER_ADDRESS
payserver = NetAddress.from_string(payserver)
return 'http://%s:%d'%(payserver.host, payserver.port)
return 'http://localhost:%d'%self.port
@property
def root(self):
@ -121,9 +117,9 @@ class PayServer(Logger, EventListener):
app.add_routes([web.post('/api/create_invoice', self.create_request)])
runner = web.AppRunner(app)
await runner.setup()
site = web.TCPSite(runner, host=str(self.addr.host), port=self.addr.port)
site = web.TCPSite(runner, host='localhost', port=self.port)
await site.start()
self.logger.info(f"now running and listening. addr={self.addr}")
self.logger.info(f"running and listening on port {self.port}")
async def create_request(self, request):
params = await request.post()

7
electrum/plugins/swapserver/server.py

@ -3,7 +3,6 @@ import asyncio
from collections import defaultdict
from aiohttp import web
from aiorpcx import NetAddress
from electrum.util import log_exceptions, ignore_exceptions
from electrum.logging import Logger
@ -24,7 +23,7 @@ class SwapServer(Logger, EventListener):
self.config = config
self.wallet = wallet
self.sm = self.wallet.lnworker.swap_manager
self.addr = NetAddress.from_string(self.config.SWAPSERVER_ADDRESS)
self.port = self.config.SWAPSERVER_PORT
self.register_callbacks() # eventlistener
self.pending = defaultdict(asyncio.Event)
@ -41,9 +40,9 @@ class SwapServer(Logger, EventListener):
runner = web.AppRunner(app)
await runner.setup()
site = web.TCPSite(runner, host=str(self.addr.host), port=self.addr.port)
site = web.TCPSite(runner, host='localhost', port=self.port)
await site.start()
self.logger.info(f"now running and listening. addr={self.addr}")
self.logger.info(f"running and listening on port {self.port}")
async def get_pairs(self, r):
sm = self.sm

20
electrum/simple_config.py

@ -9,7 +9,6 @@ from numbers import Real
from functools import cached_property
from copy import deepcopy
from aiorpcx import NetAddress
from . import util
from . import constants
@ -756,17 +755,6 @@ class SimpleConfig(Logger):
device = ''
return device
def get_netaddress(self, key: Union[str, ConfigVar, ConfigVarWithConfig]) -> Optional[NetAddress]:
if isinstance(key, (ConfigVar, ConfigVarWithConfig)):
key = key.key()
assert isinstance(key, str), key
text = self.get(key)
if text:
try:
return NetAddress.from_string(text)
except Exception:
pass
def format_amount(
self,
amount_sat,
@ -950,23 +938,23 @@ class SimpleConfig(Logger):
# submarine swap server
SWAPSERVER_URL = ConfigVar('swapserver_url', default='', type_=str)
SWAPSERVER_PORT = ConfigVar('swapserver_port', default=5455, type_=int)
TEST_SWAPSERVER_REFUND = ConfigVar('test_swapserver_refund', default=False, type_=bool)
# connect to remote WT
WATCHTOWER_CLIENT_ENABLED = ConfigVar('use_watchtower', default=False, type_=bool)
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_ADDRESS = ConfigVar('watchtower_address', default=None, type_=str)
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_ADDRESS = ConfigVar('payserver_address', default='localhost:8080', 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)
SWAPSERVER_ADDRESS = ConfigVar('swapserver_address', default='localhost:5455', type_=str)
PLUGIN_TRUSTEDCOIN_NUM_PREPAY = ConfigVar('trustedcoin_prepay', default=20, type_=int)

2
electrum/tests/regtest/regtest.sh

@ -413,7 +413,7 @@ if [[ $1 == "configure_test_watchtower" ]]; then
$carol setconfig -o run_watchtower true
$carol setconfig -o watchtower_user wtuser
$carol setconfig -o watchtower_password wtpassword
$carol setconfig -o watchtower_address 127.0.0.1:12345
$carol setconfig -o watchtower_port 12345
$bob setconfig -o watchtower_url http://wtuser:wtpassword@127.0.0.1:12345
fi

Loading…
Cancel
Save