1
0
Commit Graph

17495 Commits

Author SHA1 Message Date
SomberNight
fec11d141c qt wizard: fix offline 2fa wallet creation in some cases
fixes https://github.com/spesmilo/electrum/issues/9037
2024-05-28 15:41:04 +00:00
SomberNight
632859866b qml wizard: even stricter validation for new wallet name
related: 07dc80dd9a
2024-05-28 15:40:45 +00:00
SomberNight
bfe40605fa qt main window: rm dead code 2024-05-27 14:41:14 +00:00
SomberNight
f546ef5a71 fix plot.py
fixes https://github.com/spesmilo/electrum/issues/9058
2024-05-27 14:41:03 +00:00
SomberNight
472a65eba0 qml: NetworkOverview: show server height when syncing headers
for better feedback during initial header sync
2024-05-27 14:40:47 +00:00
SomberNight
36d49f4ad3 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'.
2024-05-27 14:40:33 +00:00
SomberNight
fb64c5b6c6 crypto: add some notes re considerations 2024-05-27 14:40:01 +00:00
Ondřej Vejpustek
a1f7241490 slip39: implement extendable backups 2024-05-27 14:39:30 +00:00
SomberNight
a4bdc90a6b 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
2024-05-27 14:39:01 +00:00
Robert
b9cd61bcde fix apparmor issue (#9047)
fix apparmor issue

Co-authored-by: ghost43 <somber.night@protonmail.com>
2024-05-27 14:36:06 +00:00
Sander van Grieken
ba59a03b8d qml: log error if not able to retrieve private key for address 2024-05-27 14:34:54 +00:00
Sander van Grieken
1047200a94 wizard: fix wrong icon and icon disappearing when resuming unfinished wallet 2024-05-27 14:34:36 +00:00
Sander van Grieken
b80630df9c qml: expose LIGHTNING_PAYMENT_BUDGET_FEE_MAX_MILLIONTHS in preferences 2024-05-27 14:33:32 +00:00
SomberNight
2152347ba8 qt settings: expose LIGHTNING_PAYMENT_BUDGET_FEE_MAX_MILLIONTHS
Expose as a slider; perhaps it is less footgunny this way?
2024-05-27 14:32:44 +00:00
SomberNight
c82918a456 lnworker: move around some logging re PaySession, also log budget 2024-05-27 14:32:29 +00:00
SomberNight
24426fd54a 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)
2024-05-27 14:32:10 +00:00
SomberNight
d2a0252b28 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
2024-05-27 14:31:54 +00:00
ThomasV
14311318db submarine_swaps: move http calls to method 2024-05-27 14:28:24 +00:00
SomberNight
6793efd0af scripts: rm bip70.py
this script has been broken for 5+ years
2024-05-27 14:27:27 +00:00
SomberNight
ffc761be47 constants: add some more type hints 2024-05-27 14:26:56 +00:00
SomberNight
e783206ec7 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
2024-05-27 14:26:32 +00:00
SomberNight
c9ed717bea dependencies: remove bitstring
- `bitstring` started depending on `bitarray` in version 4.1 [0]
  - that would mean one additional dependency for us (from yet another maintainer), which is not even pure python
- we only use bitstring for bolt11-parsing
- hence this PR rewrites the bolt11-parsing and removes `bitstring` as dependency
- note: I benchmarked lndecode using [1], and the new code performs better,
  taking around 80% time needed for old code (when using bitstring 3.1.9, pure python).
  Though the variance is quite large in both cases.

[0]: 95ee533ee4/release_notes.txt (L108)
[1]: d7597d96d0
2024-05-27 14:24:45 +00:00
SomberNight
e35b715ed8 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'
```
2024-05-27 14:21:50 +00:00
Sander van Grieken
05cdc4d6f8 qml: lightning invoice status can be one of onchain invoice states when using fallback address. (fixes #9018) 2024-05-27 14:21:19 +00:00
Sander van Grieken
06a52d8acf qt: normalize wallet path before lookup in window list 2024-05-27 14:20:43 +00:00
robertmin2
815a5272f0 AppArmor Profiles for Electrum
AppArmor Profiles for Electrum
2024-05-27 14:20:00 +00:00
ThomasV
bd32ebecb2 test_lnpeer: fix node_id in storage of created peers 2024-05-27 14:19:21 +00:00
SomberNight
622bc801bb follow-up prev 2024-05-27 14:18:53 +00:00
SomberNight
a2fb70d602 exchange_rate: historical rates: merge old+new data, don't overwrite
- CoinGecko restricted its historical API to last 365 days
  - we used to ask for, and get, the whole history, but now we can only ask for the last year
  - so change HTTP request to only ask for 365 days
- we cache historical rates to disk
  - previously we used to overwrite what is already stored, with the newly obtained data
  - now this is changed so that we merge the new data into the already stored data
2024-05-27 14:18:43 +00:00
SomberNight
d09131e916 lnworker: add_peer: no DNS lookup if a proxy is set, to avoid a DNS-leak
closes https://github.com/spesmilo/electrum/issues/9002
2024-05-27 14:17:52 +00:00
Sander van Grieken
70177e4b26 lnworker: don't query DNS for .onion hosts (fixes #9002) 2024-05-27 14:17:44 +00:00
Jamie C. Driver
a8620bd3c0 jade: update Jade api to 1.0.29
Updates cbor dependency to cbor2, required for modern linux/python
versions.
2024-05-27 14:16:33 +00:00
SomberNight
493becfffe ci: regtests: build own libsecp256k1 instead of using apt
- version in apt is too old (cirrus is using ubuntu 22.04 LTS atm) for schnorr module
- this way we have better control of exact version to use
2024-05-27 14:15:43 +00:00
SomberNight
3d588fada6 requirements: bump pinned (and max) aiorpcx versions to 0.23.1
related https://github.com/spesmilo/electrum/issues/8954
2024-05-27 14:14:14 +00:00
Sander van Grieken
7d707bb5c9 payment_identifier: don't assume bip70_data exists in has_expired() 2024-05-27 14:11:36 +00:00
Sander van Grieken
8bd4909162 qt: focus reason can't be None (fixes #8962) 2024-05-27 14:11:23 +00:00
ThomasV
70acb89042 save notes whenever modified, using 10s rate limiter. fixes #8951 2024-05-27 14:10:52 +00:00
Nicolas Kuttler
f755b690d8 Call pairing dialog when necessary, fixes #8970 2024-05-27 14:10:07 +00:00
Soren Stoutner
8ca1bdedc4 Change copyright email address to soren@debian.org. 2024-05-27 14:09:29 +00:00
sorenstoutner
70106b6f2c Add license information to AppStream metainfo.xml. 2024-05-27 14:09:18 +00:00
Soren Stoutner
dcc1da0494 Update AppStream metainfo.xml. 2024-05-27 14:09:08 +00:00
SomberNight
0d525679f9 qml: QETxDetails: defer to wallet.get_tx_info() for rbf/cpfp
It might make sense to allow bump_fee on a local tx, and so wallet.get_tx_info() allows it.
For dscancel/cpfp, it does not allow it either. Still, I think this logic should be encapsulated in the wallet.
2024-05-27 14:07:12 +00:00
ThomasV
1b3b6c7f7e contrib/osx:
- rename make_osx2.sh -> sign_osx.sh
- add command to unlock keychain
- chmod +x
2024-05-27 14:06:32 +00:00
SomberNight
0a94ea0bc2 build: split make_osx.sh script into two: "build" and "sign" parts 2024-05-27 14:06:23 +00:00
Sander van Grieken
39afa2c3e2 qml: add tx options to ConfirmTxDialog, RbfBumpFeeDialog 2024-05-27 14:05:02 +00:00
SomberNight
357ac6be92 interface: also log cancellations in send_request 2024-05-27 14:02:12 +00:00
ThomasV
99f6dd5d5d Merge pull request #8943 from SomberNight/202403_release_notes_454
prepare release 4.5.4
4.5.4
2024-03-13 15:09:52 +01:00
ThomasV
80586d2ced Merge pull request #8944 from SomberNight/202403_swap_messages
swaps: homogenise gui messages
2024-03-13 15:07:37 +01:00
ghost43
745f9184e4 Merge pull request #8942 from SomberNight/202403_get_swap_by_funding_tx
swaps: fix get_swap_by_funding_tx, and types/type-hints
2024-03-13 13:55:18 +00:00
SomberNight
01155ac6f5 swaps: homogenise gui messages
see https://github.com/spesmilo/electrum/issues/8940
2024-03-13 13:52:40 +00:00