config.mempool_fees is now [] if server claims mempool is ~empty,
and None if no valid histogram has been received from server.
(previously it used to be [] in both cases)
The gossip db is loaded early when the network is started to save
time when the gui is locked and a wallet not yet loaded. Side effects
of the LNWallet to start peering when a channel db is loaded is
circumvented.
Enables lightning by creating a node private key and storing it in
the wallet. The gossiper is not launched at start up, only if there
are existing channels.
Previously e.g. bip32 derivation info was missing for change outputs in partial tx returned by bump_fee.
This was not exposed to users as the GUI TxDialog calls `tx.add_info_from_wallet(self.wallet)`.
When raising generic Exception, window.on_error can't tell whether
there was a programming error or we just want to communicate with the user.
E | gui.qt.main_window.[default_wallet] | on_error
Traceback (most recent call last):
File "/home/user/wspace/electrum/electrum/gui/qt/util.py", line 832, in run
result = task.task()
File "/home/user/wspace/electrum/electrum/gui/qt/main_window.py", line 2900, in <lambda>
task = lambda: self.network.run_from_another_thread(
File "/home/user/wspace/electrum/electrum/network.py", line 358, in run_from_another_thread
return fut.result(timeout)
File "/usr/lib/python3.8/concurrent/futures/_base.py", line 439, in result
return self.__get_result()
File "/usr/lib/python3.8/concurrent/futures/_base.py", line 388, in __get_result
raise self._exception
File "/home/user/wspace/electrum/electrum/wallet.py", line 162, in sweep_preparations
raise Exception(_('No inputs found.'))
Exception: No inputs found.
This is too complicated and ugly because it relies on side
effects. What we should do instead is collapse transactions
in children nodes of QTreeView (see #6237)
If a used/reserved change address became unused/unreserved, it would not
get offered for usage by wallet until app restart.
Make the used->unused transition less likely by requiring 3 confirmations
(instead of considering even local/unconfirmed txs for 'used');
and avoid removing reserved addresses from the pool altogether.
We are now using change addresses for the channel SRK to_remote outputs
(and reserving these change addresses). (see prev commits)
Note that every channel open we initiate typically uses two change addresses:
- one for the SRK to_remote output, and
- one for the funding tx change output (assuming there is change).