Previously lnworker called LNWatcher.add_channel() on these, and then LNWatcher itself decided to unwatch them.
-----
note: motivation related to https://github.com/spesmilo/electrum/pull/7932#discussion_r945755584 ,
where I have legacy (pre-staticremotekey) redeemed channels in a wallet.
Tracebacks:
```
E/W | lnwatcher.LNWalletWatcher.[default_wallet-LNW] | Exception in do_breach_remedy: AssertionError()
Traceback (most recent call last):
File "...\electrum\electrum\util.py", line 1235, in wrapper
return await func(*args, **kwargs)
File "...\electrum\electrum\lnwatcher.py", line 443, in do_breach_remedy
sweep_info_dict = chan.sweep_ctx(closing_tx)
File "...\electrum\electrum\lnchannel.py", line 264, in sweep_ctx
our_sweep_info = self.create_sweeptxs_for_our_ctx(ctx)
File "...\electrum\electrum\lnchannel.py", line 253, in create_sweeptxs_for_our_ctx
return create_sweeptxs_for_our_ctx(chan=self, ctx=ctx, sweep_address=self.sweep_address)
File "...\electrum\electrum\lnchannel.py", line 757, in sweep_address
assert self.is_static_remotekey_enabled()
AssertionError
```
```
E/W | lnwatcher.LNWalletWatcher.[default_wallet-LNW] | Exception in trigger_callbacks: AssertionError()
Traceback (most recent call last):
File "...\electrum\electrum\util.py", line 1235, in wrapper
return await func(*args, **kwargs)
File "...\electrum\electrum\lnwatcher.py", line 208, in trigger_callbacks
await callback()
File "...\electrum\electrum\lnwatcher.py", line 225, in check_onchain_situation
keep_watching = await self.do_breach_remedy(funding_outpoint, closing_tx, spenders)
File "...\electrum\electrum\util.py", line 1235, in wrapper
return await func(*args, **kwargs)
File "...\electrum\electrum\lnwatcher.py", line 443, in do_breach_remedy
sweep_info_dict = chan.sweep_ctx(closing_tx)
File "...\electrum\electrum\lnchannel.py", line 264, in sweep_ctx
our_sweep_info = self.create_sweeptxs_for_our_ctx(ctx)
File "...\electrum\electrum\lnchannel.py", line 253, in create_sweeptxs_for_our_ctx
return create_sweeptxs_for_our_ctx(chan=self, ctx=ctx, sweep_address=self.sweep_address)
File "...\electrum\electrum\lnchannel.py", line 757, in sweep_address
assert self.is_static_remotekey_enabled()
AssertionError
```
e.g.
```
Debug message
jade: (error getting device infos)
Missing libraries for jade.
ModuleNotFoundError("No module named 'cbor'")
Make sure you install it with python3
```
So that the two methods are consistent with each other.
As concrete motivation, see e.g.
- how the `getrequest(key)` command calls `wallet.get_request(key)`, and
- the `delete_request(address)` command calls `wallet.delete_request(address)`
The _receive_requests dict is keyed by either 'address' or 'rhash' (see get_key_for_receive_request):
- 'rhash' is used if `req.lightning_invoice is not None`
- address is used otherwise
The `get_request_by_address` method was quite error-prone: it only worked for requests that had an LN part...
When the console was moved between screen boundaries with different scaling
settings, the font was reset. This is because QPlainTextEdit sets the
documents default font back to its own font property when Qt has a font
change event. This patch sets the font property of the editor instead of
the document.
this ports 60d63b3272
related: https://github.com/Electron-Cash/Electron-Cash/issues/1314
fixes https://github.com/spesmilo/electrum/issues/7919
In the past, when creating payment requests, we keyed them by on-chain address,
and set/saved the msg of the request as label for the address.
Many places in the code were calling wallet.get_label(addr) with the expectation that
relevant payment requests are found and their message/description (if any) is considered.
wallet.get_label(key) is now made private, and instead the explicit non-polymorphic
wallet.get_label_for_{address,rhash,txid} alternatives should be used.
Instead of using pre-built binary wheels from PyPI.
We should tighten this more (re other requirements-*.txt files),
but there is no C compiler available inside the wine environment atm...