We accept either when decoding - this only changes what we use when encoding.
Single quotes are annoying to use in a shell, as they often need to be escaped.
- send to address
- in new channel
- in submarine swap
This is easier than coin control, because it does not involve
switching tabs. Coin control is activated during the operation,
so that users learn how it works.
```
6.15 | E | gui.qt.exception_window.Exception_Hook | exception caught by crash reporter
Traceback (most recent call last):
File "/home/user/wspace/electrum/electrum/gui/qt/history_list.py", line 637, in plot_history_dialog
plt = plot_history(list(self.hm.transactions.values()))
File "/home/user/wspace/electrum/electrum/plot.py", line 24, in plot_history
if not item['confirmations']:
KeyError: 'confirmations'
```
During wallet-open, we load all invoices/payreqs. This involved decoding the lnaddrs twice.
Now we only decode once.
For a wallet with ~1000 payreqs, this noticeably sped up wallet-open:
(before:)
8.83 | D | util.profiler | Daemon._load_wallet 6.4317 sec
(after:)
5.69 | D | util.profiler | Daemon._load_wallet 3.4450 sec
It is very expensive to parse all the lnaddrs...
related https://github.com/spesmilo/electrum/issues/8202
For a HD wallet, instead of checking the first 10 addrs + 10 additional random ones,
we now check the first 10 addrs + 10 random used addrs + 10 random unused addrs.
Checking unused addresses is useful to prevent getting money sent there,
and checking used addresses is useful to inform people of already lost money.