B023 Function definition does not bind loop variable 'already_selected_buckets_value_sum'
in keepkey/qt.py, looks like this was an actual bug
(fixed in trezor plugin already: 52a4810752 )
B017 `assertRaises(Exception)` and `pytest.raises(Exception)` should be considered evil. They can lead to your test passing even if the code being tested is never executed due to a typo. Assert for a more specific exception (builtin or custom), or use `assertRaisesRegex` (if using `assertRaises`), or add the `match` keyword argument (if using `pytest.raises`), or use the context manager form with a target.
B008 Do not perform function calls in argument defaults. The call is performed only once at function definition time. All calls to your function will reuse the result of that definition-time function call. If this is intended, assign the function call to a module-level variable and use that variable as a default value.
Had a crash shortly after enabling lightning and the LN keys were lost...
Though note that opening a channel triggers wallet.save_db(), so I think
nothing of real value is at risk without this change.
We don't actually need the development headers, instead using this as
a hack to be agnostic to the version scheme and pull in the latest.
related:
https://github.com/spesmilo/electrum/pull/8185https://github.com/spesmilo/electrum/pull/8320https://github.com/spesmilo/electrum/issues/8328#issuecomment-1518061250
debian 11 (stable) only has libsecp256k1-0
debian 12 (testing) atm only has libsecp256k1-1
ubuntu 23.04 only has libsecp256k1-1
I expect libsecp256k1-2 might soon get packaged too, now that upstream secp released v0.3.0.
So what do we tell users to install? well, turns out most distros have libsecp256k1-dev, which
just pulls in the latest secp.
Caveat: if there is a new secp release that actually gets packaged on a distro before we can react,
then this new instruction will not work.
this replaces https://github.com/spesmilo/electrum/pull/8320
see f6bef03c0a/CHANGELOG.md
I am not yet sure how this will look like going forward, but unless there will
be lots of libsecp256k1 releases with ~invisible harmless ABI changes, I think
conceptually this is the right approach.