Browse Source

jm_qt: fix couple of possible exceptions

add-joinmarket
zebra-lucky 1 year ago
parent
commit
bf204c2f68
  1. 4
      electrum/plugins/joinmarket/jm_qt.py
  2. 28
      electrum/plugins/joinmarket/notes.txt

4
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,6 +1577,7 @@ class SpendTab(QWidget):
jmman = self.jmman
coro = jmman.jmw.cleanup_keypairs()
asyncio.run_coroutine_threadsafe(coro, jmman.loop)
if self.taker:
self.taker.aborted = True
self.giveUp()

28
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

Loading…
Cancel
Save