From d80e9e7dea9c218fecb6e88e89babedf17821f3c Mon Sep 17 00:00:00 2001 From: Sander van Grieken Date: Tue, 27 Dec 2022 17:41:58 +0100 Subject: [PATCH] qml: don't crash when initiating swap when swap service is not available --- electrum/gui/qml/qeswaphelper.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/electrum/gui/qml/qeswaphelper.py b/electrum/gui/qml/qeswaphelper.py index 34185b14b..713368efb 100644 --- a/electrum/gui/qml/qeswaphelper.py +++ b/electrum/gui/qml/qeswaphelper.py @@ -32,6 +32,7 @@ class QESwapHelper(AuthMixin, QObject): _miningfee = QEAmount() _isReverse = False + _service_available = False _send_amount = 0 _receive_amount = 0 @@ -179,7 +180,13 @@ class QESwapHelper(AuthMixin, QObject): def init_swap_slider_range(self): lnworker = self._wallet.wallet.lnworker swap_manager = lnworker.swap_manager - asyncio.run(swap_manager.get_pairs()) + try: + asyncio.run(swap_manager.get_pairs()) + self._service_available = True + except Exception as e: + self._logger.error(f'could not get pairs for swap: {repr(e)}') + return + """Sets the minimal and maximal amount that can be swapped for the swap slider.""" # tx is updated again afterwards with send_amount in case of normal swap @@ -223,6 +230,9 @@ class QESwapHelper(AuthMixin, QObject): self.valid = False def swap_slider_moved(self): + if not self._service_available: + return + position = int(self._sliderPos) swap_manager = self._wallet.wallet.lnworker.swap_manager