Browse Source

Fix graceful shutdown for lightning swaps

master
MrNaif2018 2 years ago committed by ThomasV
parent
commit
7369145a49
  1. 2
      electrum/lnworker.py
  2. 3
      electrum/submarine_swaps.py
  3. 1
      electrum/tests/test_lnpeer.py

2
electrum/lnworker.py

@ -967,6 +967,8 @@ class LNWallet(LNWorker):
if self.lnwatcher:
await self.lnwatcher.stop()
self.lnwatcher = None
if self.swap_manager: # may not be present in tests
await self.swap_manager.stop()
async def wait_for_received_pending_htlcs_to_get_removed(self):
assert self.stopping_soon is True

3
electrum/submarine_swaps.py

@ -219,6 +219,9 @@ class SwapManager(Logger):
finally:
self.logger.info("taskgroup stopped.")
async def stop(self):
await self.taskgroup.cancel_remaining()
async def pay_invoice(self, key):
self.logger.info(f'trying to pay invoice {key}')
self.invoices_to_pay[key] = 1000000000000 # lock

1
electrum/tests/test_lnpeer.py

@ -147,6 +147,7 @@ class MockLNWallet(Logger, EventListener, NetworkRetryManager[LNPeerAddr]):
self.network = MockNetwork(tx_queue, config=self.config)
self.taskgroup = OldTaskGroup()
self.lnwatcher = None
self.swap_manager = None
self.listen_server = None
self._channels = {chan.channel_id: chan for chan in chans}
self.payment_info = {}

Loading…
Cancel
Save