1
0
Commit Graph

17519 Commits

Author SHA1 Message Date
Sander van Grieken
2c624df72c openalias: only consider TXT records, as DNS can return other records we did not ask for. 2024-10-10 09:09:41 +02:00
Sander van Grieken
e14148f347 payment_identifier: regard BIP21 without address and without bolt11 invalid 2024-10-10 09:09:33 +02:00
Sander van Grieken
5a8cc85df8 qml: add seed passphrase property to QEWallet, show in WalletDetails 2024-10-08 10:02:47 +02:00
Sander van Grieken
4dc64e4cf9 qt: fix scanning multi (privkeys, addresses) from QR. 2024-10-08 10:02:22 +02:00
Sander van Grieken
e638a832e4 qml: styling HelpDialog 2024-10-08 10:02:07 +02:00
Sander van Grieken
608f9db766 update RELEASE-NOTES 2024-09-14 12:42:57 +02:00
Sander van Grieken
363cf001f5 qml: fix handling of channel backup import on lightning-disabled wallets 2024-09-14 12:24:32 +02:00
SomberNight
babf108ee4 qml: "wallet_else_pin" auth should only use the wallet pw if is unified
related https://github.com/spesmilo/electrum/pull/9074
2024-09-14 12:14:46 +02:00
SomberNight
c319a842ad fix typo
note: "everytime" even appears in the old_mnemonic wordlist, but it is a misspelling.
2024-09-14 12:14:23 +02:00
Sander van Grieken
6e84266367 qml: don't unbind/unregister the ActivityResultListener from within the ActivityResultListener handler func.
instead, schedule a queued finished signal to unregister the listener after the handler has finished.
See PythonActivity.java in P4A for why this probably causes the most often occurring crash we see on the Play Store:

```
Exception java.lang.RuntimeException:
  at android.app.ActivityThread.deliverResults (ActivityThread.java:5164)
  at android.app.ActivityThread.handleSendResult (ActivityThread.java:5205)
  at android.app.servertransaction.ActivityResultItem.execute (ActivityResultItem.java:51)
  at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2136)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:236)
  at android.app.ActivityThread.main (ActivityThread.java:8061)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:656)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:967)
Caused by java.util.ConcurrentModificationException:
  at java.util.ArrayList$Itr.next (ArrayList.java:860)
  at org.kivy.android.PythonActivity.onActivityResult (PythonActivity.java:218)
  at android.app.Activity.dispatchActivityResult (Activity.java:8501)
  at android.app.ActivityThread.deliverResults (ActivityThread.java:5157)
```
2024-09-14 12:14:08 +02:00
ThomasV
c7988b5c0e wallet_db: show electrum version in error dialog 2024-09-14 12:13:58 +02:00
Sander van Grieken
e525168d80 qml: don't rely on wallet when deactivating PIN and no wallet loaded (fixes #8366) 2024-09-14 12:13:27 +02:00
SomberNight
9b7cb0e264 bip21: trivial follow-up
follow-up bb4ee2b50b
2024-09-14 12:13:20 +02:00
SomberNight
4be192b317 release.sh: print warning on unexpected arg value
I keep mixing up sombernight and sombernight_releasekey.
2024-09-14 12:13:10 +02:00
Sander van Grieken
7263a49129 followup 4159ceee35 4.5.5 2024-05-29 15:14:46 +00:00
Sander van Grieken
1e18e532de qt: fix ReceiveWidget layout (fixes #9049) 2024-05-29 15:14:36 +00:00
SomberNight
bae2c8d802 update locale 2024-05-29 14:58:28 +00:00
SomberNight
f6702a7800 update block header checkpoints 2024-05-29 14:50:25 +00:00
SomberNight
1f652cf3e8 prepare release 4.5.5 2024-05-29 14:49:36 +00:00
SomberNight
3fbd8df7df bump libsecp256k1 version (0.4.1->0.5.0) 2024-05-29 14:49:32 +00:00
SomberNight
7f7a7857b2 Revert "qt: fix ReceiveWidget layout (fixes #9049)"
This reverts commit 21ffe32157.

This layout is difficult to get right. Both the old and the new layout are somewhat buggy.
Reverting this only on the 4.5.x release branch. We can improve it on master.
The old layout has been out there in releases for many months, so it is safer to just use
that in the release branch for now.
2024-05-29 14:38:36 +00:00
Sander van Grieken
21ffe32157 qt: fix ReceiveWidget layout (fixes #9049) 2024-05-29 15:35:32 +02:00
Sander van Grieken
8e240f4de7 bip21: add testcases for amount bounds 2024-05-29 15:35:26 +02:00
Sander van Grieken
bac49910e9 bip21: consider amount=0 in bip21 uri invalid 2024-05-29 15:35:22 +02:00
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