1
0

swapserver: small clean-up

This commit is contained in:
SomberNight
2023-08-03 15:09:01 +00:00
parent c068b80d78
commit e94d45edd8
2 changed files with 16 additions and 18 deletions

View File

@@ -1,19 +1,14 @@
import os import os
import asyncio import asyncio
import attr
import random
from collections import defaultdict from collections import defaultdict
from aiohttp import ClientResponse from aiohttp import web
from aiohttp import web, client_exceptions
from aiorpcx import timeout_after, TaskTimeout, ignore_after
from aiorpcx import NetAddress from aiorpcx import NetAddress
from electrum.util import log_exceptions, ignore_exceptions from electrum.util import log_exceptions, ignore_exceptions
from electrum.logging import Logger from electrum.logging import Logger
from electrum.util import EventListener, event_listener from electrum.util import EventListener
from electrum.invoices import PR_PAID, PR_EXPIRED
class SwapServer(Logger, EventListener): class SwapServer(Logger, EventListener):

View File

@@ -25,34 +25,37 @@
import asyncio import asyncio
import os from typing import TYPE_CHECKING
import random
from electrum.plugin import BasePlugin, hook from electrum.plugin import BasePlugin, hook
from electrum.util import log_exceptions, ignore_exceptions
from electrum import ecc
from .server import SwapServer 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): class SwapServerPlugin(BasePlugin):
def __init__(self, parent, config, name): def __init__(self, parent, config: 'SimpleConfig', name):
BasePlugin.__init__(self, parent, config, name) BasePlugin.__init__(self, parent, config, name)
self.config = config self.config = config
self.server = None self.server = None
@hook @hook
def daemon_wallet_loaded(self, daemon, wallet): def daemon_wallet_loaded(self, daemon: 'Daemon', wallet: 'Abstract_Wallet'):
# we use the first wallet loaded # we use the first wallet loaded
if self.server is not None: if self.server is not None:
return return
if self.config.get('offline'): if self.config.NETWORK_OFFLINE:
return return
self.server = SwapServer(self.config, wallet) self.server = SwapServer(self.config, wallet)
sm = wallet.lnworker.swap_manager sm = wallet.lnworker.swap_manager
jobs = [ for coro in [
sm.pay_pending_invoices(), sm.pay_pending_invoices(), # FIXME this method can raise, which is not properly handled...?
self.server.run(), 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)