From e94d45edd89ba6cfc2a7aa6beac9479f0c103ab8 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Thu, 3 Aug 2023 15:09:01 +0000 Subject: [PATCH] swapserver: small clean-up --- electrum/plugins/swapserver/server.py | 9 ++------ electrum/plugins/swapserver/swapserver.py | 25 +++++++++++++---------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/electrum/plugins/swapserver/server.py b/electrum/plugins/swapserver/server.py index d5fee453b..0fb1ca724 100644 --- a/electrum/plugins/swapserver/server.py +++ b/electrum/plugins/swapserver/server.py @@ -1,19 +1,14 @@ import os import asyncio -import attr -import random from collections import defaultdict -from aiohttp import ClientResponse -from aiohttp import web, client_exceptions -from aiorpcx import timeout_after, TaskTimeout, ignore_after +from aiohttp import web from aiorpcx import NetAddress from electrum.util import log_exceptions, ignore_exceptions from electrum.logging import Logger -from electrum.util import EventListener, event_listener -from electrum.invoices import PR_PAID, PR_EXPIRED +from electrum.util import EventListener class SwapServer(Logger, EventListener): diff --git a/electrum/plugins/swapserver/swapserver.py b/electrum/plugins/swapserver/swapserver.py index d061c8bc1..a4b785347 100644 --- a/electrum/plugins/swapserver/swapserver.py +++ b/electrum/plugins/swapserver/swapserver.py @@ -25,34 +25,37 @@ import asyncio -import os -import random +from typing import TYPE_CHECKING + from electrum.plugin import BasePlugin, hook -from electrum.util import log_exceptions, ignore_exceptions -from electrum import ecc from .server import SwapServer +if TYPE_CHECKING: + from electrum.simple_config import SimpleConfig + from electrum.daemon import Daemon + from electrum.wallet import Abstract_Wallet + class SwapServerPlugin(BasePlugin): - def __init__(self, parent, config, name): + def __init__(self, parent, config: 'SimpleConfig', name): BasePlugin.__init__(self, parent, config, name) self.config = config self.server = None @hook - def daemon_wallet_loaded(self, daemon, wallet): + def daemon_wallet_loaded(self, daemon: 'Daemon', wallet: 'Abstract_Wallet'): # we use the first wallet loaded if self.server is not None: return - if self.config.get('offline'): + if self.config.NETWORK_OFFLINE: return self.server = SwapServer(self.config, wallet) sm = wallet.lnworker.swap_manager - jobs = [ - sm.pay_pending_invoices(), + for coro in [ + sm.pay_pending_invoices(), # FIXME this method can raise, which is not properly handled...? self.server.run(), - ] - asyncio.run_coroutine_threadsafe(daemon._run(jobs=jobs), daemon.asyncio_loop) + ]: + asyncio.run_coroutine_threadsafe(daemon.taskgroup.spawn(coro), daemon.asyncio_loop)