diff --git a/electrum/plugins/joinmarket/jm_qt.py b/electrum/plugins/joinmarket/jm_qt.py index e314e04bf..fe403aec0 100644 --- a/electrum/plugins/joinmarket/jm_qt.py +++ b/electrum/plugins/joinmarket/jm_qt.py @@ -1112,7 +1112,8 @@ class SpendTab(QWidget): in self.spendstate.loaded_schedule if x not in ["INTERNAL", "addrask"]] # 2 Check for unconfirmed - if (isinstance(self.spendstate.loaded_schedule[0][-1], str) + if (self.spendstate.loaded_schedule + and isinstance(self.spendstate.loaded_schedule[0][-1], str) and len(self.spendstate.loaded_schedule[0][-1]) == 64): # ensure last transaction is confirmed before restart jmman.tumble_log.info("WAITING TO RESTART...") @@ -1576,7 +1577,8 @@ class SpendTab(QWidget): jmman = self.jmman coro = jmman.jmw.cleanup_keypairs() asyncio.run_coroutine_threadsafe(coro, jmman.loop) - self.taker.aborted = True + if self.taker: + self.taker.aborted = True self.giveUp() def giveUp(self): diff --git a/electrum/plugins/joinmarket/notes.txt b/electrum/plugins/joinmarket/notes.txt index f84d02206..3cccce5fd 100644 --- a/electrum/plugins/joinmarket/notes.txt +++ b/electrum/plugins/joinmarket/notes.txt @@ -1,46 +1,26 @@ ------------------------------------------------------------------------------- plugin: - - check onion/IRC single/multiple password/no passdword join - - jm_qt_obwatch: advanced sorting by columns, filter by text - - потрібно якось документувати - - irc reconnect interval 5 sec -> change to progressive interval - - jm_wallet.py: look where to add save_db - change message on JMDLG.shutdown: > 62.08 | I | J/plugins.joinmarket.jm_main.JMManager.[wallet_jm] | Lost IRC connection to: irc1.dword.ga . Should reconnect automatically soon. + - jm_wallet.py: look where to add save_db + - потрібно якось документувати - окремий пункт до якого я взагалі ще не дійшов це qml gui - - не може підібрати ордери, таке періодично трапляється при низькому - значенні maker_timeout_sec -- раніше вистачало 3, зараз замало 5 і процес - підбору запускається до того як `ordebookwatch.py` додає ордери + - jm_qt_obwatch: advanced sorting by columns, filter by text + - irc reconnect interval 5 sec -> change to progressive interval - коли yieldgenerator запускається після ob-watcher.py дані по fidelity bond відсутні - коли IRC сервер запускається після зупинки треба через деякий час відсилати повторний запит по OBWatch -- makers не шлють offers після reconnect -Qt: - - AttributeError: 'NoneType' object has no attribute 'aborted' on early tx - abort during multiple join tests: - jm_utils: add_txin_sig: add testing for p2sh-p2wpkh - - verify_txin_sig: scriptsig wrong DER length: 70 - tests: place back test_walletservice.py, test_wallet.py?, test_tx_creation - tests: look to base code test/jmclient/test_coinjoin.py test/unified/test_e2e_coinjoin.py - - tests sometimes fail with fallet file "if..." left after fail - ну і так... покриття тестами як завжди неповне... ------------------------------------------------------------------------------- -Traceback (most recent call last): - File "/home/max/tmp/electrum/electrum/electrum/plugins/joinmarket/jm_qt.py", line 1359, in _takerFinished - tumbler_taker_finished_update(self.taker, tumble_log, - File "/home/max/tmp/electrum/electrum/electrum/plugins/joinmarket/jmclient/taker_utils.py", line 462, in tumbler_taker_finished_update - hramt = taker.cjamount -AttributeError: 'Taker' object has no attribute 'cjamount' - -мда, це цікаве питання -- трейс після перезапуску гаманця, тому у Taker не встановлене cjamount - -see plugin notes if left: save last shedule tx as done to wallet schedule when confirmed -------------------------------------------------------------------------------- блін, транзакції з низьким fee позалипали без блоків, тепер у makers немає liquidity