SomberNight
ef536493ee
update release notes for version 4.5.5
2 years ago
Sander van Grieken
3d189d99a5
followup 4159ceee35
2 years ago
SomberNight
3bd8e4aa4e
update locale
2 years ago
SomberNight
0f89b8d4bc
update block header checkpoints
2 years ago
SomberNight
ebbdadb080
ci: follow-up: build own libsecp256k1 instead of using apt
...
follow-up dbc69727bd
2 years ago
Sander van Grieken
4159ceee35
qt: fix ReceiveWidget layout ( fixes #9049 )
2 years ago
ghost43
9214291cdb
Merge pull request #9072 from SomberNight/202405_bump_secp
...
bump libsecp256k1 version (0.4.1->0.5.0)
2 years ago
Sander van Grieken
9674ffc8ee
bip21: add testcases for amount bounds
2 years ago
Sander van Grieken
bb4ee2b50b
bip21: consider amount=0 in bip21 uri invalid
2 years ago
SomberNight
dbc69727bd
ci: unittests: build own libsecp256k1 instead of using apt
...
related 6bf7542b25
2 years ago
SomberNight
2eee98b493
bump libsecp256k1 version (0.4.1->0.5.0)
2 years ago
SomberNight
7827be17d1
qt wizard: fix offline 2fa wallet creation in some cases
...
fixes https://github.com/spesmilo/electrum/issues/9037
2 years ago
SomberNight
e8a9e45291
qml wizard: even stricter validation for new wallet name
...
related: 07dc80dd9a
2 years ago
ghost43
9f74ba4e8c
Merge pull request #9070 from SomberNight/202405_ecc_ecdsa_low_s
...
ecc: ecdsa_verify to enforce low-S rule
2 years ago
SomberNight
07c80d2ca1
ecc: ecdsa_verify to enforce low-S rule
...
The low-S rule for ecdsa signatures is mandated by Bitcoin Core policy/standardness (though not by consensus). If we get signatures from untrusted sources, we should mandate they obey the policy rules. (e.g. from LN peers)
Note that we normalize the signatures in the sig format conversion methods (DER <-> (r,s) <-> sig64).
The BOLTs treat high-S signatures as invalid, and this changes our behaviour to that.
(previously we would silently normalize the S value)
see https://github.com/bitcoin/bitcoin/pull/6769
see https://github.com/lightning/bolts/pull/807
2 years ago
SomberNight
d61c6037ea
ecc: add test that verify_usermessage does not enforce low-S rule
2 years ago
SomberNight
bafd52ec6d
lnsweep: rm one usage of Transaction.get_preimage_script()
...
get_preimage_script should really have been private API...
looks like everywhere it is used outside of transaction.py, it is actually abused :/
Other existing usages in plugin code I don't dare to touch without lots of manual testing...
2 years ago
SomberNight
2f02e0acc3
qt main window: rm dead code
2 years ago
SomberNight
e25658d724
fix plot.py
...
fixes https://github.com/spesmilo/electrum/issues/9058
2 years ago
SomberNight
48513df4ae
qml: NetworkOverview: show server height when syncing headers
...
for better feedback during initial header sync
2 years ago
SomberNight
27f09c1f9f
interface: also trigger 'blockchain_updated' during initial sync
...
In fact, semantically it might be more correct to only trigger 'blockchain_updated' and not 'network_updated' here...
Anyway, 'blockchain_updated' should be triggered whenever the Blockchain object gets longer (or changes otherwise).
In particular, in qml, the NetworkOverview only updates the displayed height on 'blockchain_updated'.
2 years ago
SomberNight
235e28ce20
crypto: add some notes re considerations
2 years ago
SomberNight
0b456e99ca
Merge pull request #9059 from onvej-sl/slip39-extendable
...
slip39: Implement extendable backups
see 8d060706b5
see https://github.com/trezor/python-shamir-mnemonic/issues/48
2 years ago
Ondřej Vejpustek
70f0ed992f
slip39: implement extendable backups
2 years ago
SomberNight
4b5cd0ff2b
ecc: "public key could not be parsed" exception to contain pubkey bytes
...
also consolidate naming of variables somewhat
related: https://github.com/spesmilo/electrum/issues/9052
2 years ago
Robert
410201af73
fix apparmor issue ( #9047 )
...
fix apparmor issue
Co-authored-by: ghost43 <somber.night@protonmail.com>
2 years ago
Sander van Grieken
9d29e6e03c
qml: log error if not able to retrieve private key for address
2 years ago
Sander van Grieken
cea9055a65
wizard: fix wrong icon and icon disappearing when resuming unfinished wallet
2 years ago
accumulator
2fb2966975
Merge pull request #9053 from hugehope/master
...
chore: fix some typos
2 years ago
hugehope
c0a2ed5dd3
chore: fix some typos
...
Signed-off-by: hugehope <cmm7@sina.cn>
2 years ago
ThomasV
8162e32016
Merge pull request #9042 from accumulator/qml_lightning_budget_preference
...
qml: expose LIGHTNING_PAYMENT_BUDGET_FEE_MAX_MILLIONTHS in preferences
2 years ago
Sander van Grieken
082cf6677e
qml: expose LIGHTNING_PAYMENT_BUDGET_FEE_MAX_MILLIONTHS in preferences
2 years ago
ThomasV
dfa247773f
Merge pull request #9041 from SomberNight/202405_tramp1
...
trampoline: use exponential search for fees, capped by configurable budget
2 years ago
SomberNight
5b74aa443e
qt settings: expose LIGHTNING_PAYMENT_BUDGET_FEE_MAX_MILLIONTHS
...
Expose as a slider; perhaps it is less footgunny this way?
2 years ago
SomberNight
967ceb7740
lnworker: move around some logging re PaySession, also log budget
2 years ago
SomberNight
67d373357b
lnworker: make PaymentFeeBudget defaults configurable
...
- make PaymentFeeBudget proportional fee and flat cutoff fee configurable
- closes https://github.com/spesmilo/electrum/issues/7622
- increase flat cutoff fee default to 10 sat
- closes https://github.com/spesmilo/electrum/issues/7669
- rm RouteEdge.is_sane_to_use() (per edge limit) and just rely on budgets (per route limit)
2 years ago
ThomasV
fd672fed9f
submarine swaps: separate server logic from transport
2 years ago
SomberNight
79d2b19fc0
trampoline: rm hardcoded TRAMPOLINE_FEES. just use exponential search
...
Values for exponential search are based on available fee budget:
we try with budget/64, budget/32, ..., budget/1 (spread uniformly among the selected Trampoline Forwarders).
Hence, if we make the fee budget configurable, that will usefully affect the trampoline fees as well.
related https://github.com/spesmilo/electrum/issues/9033
2 years ago
SomberNight
c84664617d
qml: qeinvoice: fix regression in update_userinfo
...
follow-up 3b0cdef871
```
29.60 | E | lnworker.LNWallet.[test_segwit_2] | Exception in pay_invoice: TypeError("unhashable type: 'list'")
Traceback (most recent call last):
File "/home/user/wspace/electrum/electrum/util.py", line 1153, in wrapper
return await func(*args, **kwargs)
File "/home/user/wspace/electrum/electrum/lnworker.py", line 1518, in pay_invoice
self.set_invoice_status(key, PR_INFLIGHT)
File "/home/user/wspace/electrum/electrum/lnworker.py", line 2404, in set_invoice_status
util.trigger_callback('invoice_status', self.wallet, key, status)
File "/home/user/wspace/electrum/electrum/util.py", line 1796, in trigger_callback
callback(*args)
File "/home/user/wspace/electrum/electrum/gui/qml/qeinvoice.py", line 90, in on_event_invoice_status
self.update_userinfo()
File "/home/user/wspace/electrum/electrum/gui/qml/qeinvoice.py", line 327, in update_userinfo
self.userinfo = userinfo_for_invoice_status([self.status])
File "/home/user/wspace/electrum/electrum/gui/qml/qeinvoice.py", line 305, in userinfo_for_invoice_status
return {
TypeError: unhashable type: 'list'
```
2 years ago
ThomasV
01ca1b0382
submarine_swaps: move http calls to method
2 years ago
SomberNight
32d5e17249
scripts: rm bip70.py
...
this script has been broken for 5+ years
2 years ago
ThomasV
e29a1714ae
Merge pull request #9031 from SomberNight/202404_bytes_vs_hex
...
bitcoin.py/transaction.py: API changes: rm most hex usage
2 years ago
SomberNight
13d9677e53
transaction: tx.sign API change: rm hex usage
2 years ago
SomberNight
2f1095510c
bitcoin.py/transaction.py: API changes: rm most hex usage
...
Instead of some functions operating with hex strings,
and others using bytes, this consolidates most things to use bytes.
This mainly focuses on bitcoin.py and transaction.py,
and then adapts the API usages in other files.
Notably,
- scripts,
- pubkeys,
- signatures
should be bytes in almost all places now.
2 years ago
SomberNight
5e08d6e486
constants: add some more type hints
2 years ago
ThomasV
026638091c
Merge pull request #9029 from goodmost/master
...
jade.py: fix some typos
2 years ago
goodmost
9a7345a0dd
jade.py: fix some typos
...
Signed-off-by: goodmost <zhaohaiyang@outlook.com>
2 years ago
SomberNight
b9a2b0d19b
network: re-detect is_proxy_tor every time we connect to a server
...
This avoids some false negatives for is_proxy_tor.
(previously we only set is_proxy_tor when the proxy settings were changed)
In particular, consider scenario:
- Tor browser not running
- user sets "localhost:9150" as proxy
- detection sets network.is_proxy_tor to False
- user starts Tor browser
- network, due to retries, finds proxy working and connects to some servers
- network.is_proxy_tor remains False
2 years ago
ThomasV
2a4c5d94f1
Merge pull request #9020 from SomberNight/202404_bitstring2
...
dependencies: remove bitstring
2 years ago
SomberNight
7a820f7561
lnworker: add_peer: no DNS lookup if a proxy is set, to avoid a DNS-leak
...
closes https://github.com/spesmilo/electrum/issues/9002
2 years ago