Ondřej Vejpustek
70f0ed992f
slip39: implement extendable backups
2024-05-20 16:57:11 +02:00
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
2024-05-16 17:29:26 +00:00
Robert
410201af73
fix apparmor issue ( #9047 )
...
fix apparmor issue
Co-authored-by: ghost43 <somber.night@protonmail.com >
2024-05-16 15:47:47 +00:00
Sander van Grieken
9d29e6e03c
qml: log error if not able to retrieve private key for address
2024-05-16 12:12:26 +02:00
Sander van Grieken
cea9055a65
wizard: fix wrong icon and icon disappearing when resuming unfinished wallet
2024-05-16 00:08:07 +02:00
accumulator
2fb2966975
Merge pull request #9053 from hugehope/master
...
chore: fix some typos
2024-05-15 15:34:52 +02:00
hugehope
c0a2ed5dd3
chore: fix some typos
...
Signed-off-by: hugehope <cmm7@sina.cn >
2024-05-15 20:41:01 +08:00
ThomasV
8162e32016
Merge pull request #9042 from accumulator/qml_lightning_budget_preference
...
qml: expose LIGHTNING_PAYMENT_BUDGET_FEE_MAX_MILLIONTHS in preferences
2024-05-09 16:00:29 +02:00
Sander van Grieken
082cf6677e
qml: expose LIGHTNING_PAYMENT_BUDGET_FEE_MAX_MILLIONTHS in preferences
2024-05-09 12:31:51 +02:00
ThomasV
dfa247773f
Merge pull request #9041 from SomberNight/202405_tramp1
...
trampoline: use exponential search for fees, capped by configurable budget
2024-05-09 09:57:37 +02:00
SomberNight
5b74aa443e
qt settings: expose LIGHTNING_PAYMENT_BUDGET_FEE_MAX_MILLIONTHS
...
Expose as a slider; perhaps it is less footgunny this way?
2024-05-08 15:54:20 +00:00
SomberNight
967ceb7740
lnworker: move around some logging re PaySession, also log budget
2024-05-08 15:53:27 +00:00
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)
2024-05-08 15:53:22 +00:00
ThomasV
fd672fed9f
submarine swaps: separate server logic from transport
2024-05-07 09:01:33 +02:00
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
2024-05-06 18:36:29 +00:00
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'
```
2024-05-06 18:11:31 +00:00
ThomasV
01ca1b0382
submarine_swaps: move http calls to method
2024-05-06 14:20:41 +02:00
SomberNight
32d5e17249
scripts: rm bip70.py
...
this script has been broken for 5+ years
2024-05-01 15:16:49 +00:00
ThomasV
e29a1714ae
Merge pull request #9031 from SomberNight/202404_bytes_vs_hex
...
bitcoin.py/transaction.py: API changes: rm most hex usage
2024-04-30 09:41:05 +02:00
SomberNight
13d9677e53
transaction: tx.sign API change: rm hex usage
2024-04-29 17:10:30 +00:00
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.
2024-04-29 17:10:26 +00:00
SomberNight
5e08d6e486
constants: add some more type hints
2024-04-29 16:50:19 +00:00
ThomasV
026638091c
Merge pull request #9029 from goodmost/master
...
jade.py: fix some typos
2024-04-28 12:33:01 +02:00
goodmost
9a7345a0dd
jade.py: fix some typos
...
Signed-off-by: goodmost <zhaohaiyang@outlook.com >
2024-04-28 18:12:32 +08:00
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
2024-04-25 22:48:56 +00:00
ThomasV
2a4c5d94f1
Merge pull request #9020 from SomberNight/202404_bitstring2
...
dependencies: remove bitstring
2024-04-24 17:39:27 +02:00
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
2024-04-24 14:49:23 +00:00
SomberNight
cf2ed509b4
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]: https://github.com/scott-griffiths/bitstring/blob/95ee533ee4040b4480da1ead548eab2459e8e573/release_notes.txt#L108
[1]: https://github.com/spesmilo/electrum/commit/d7597d96d0c336838adb32e3e175d3ea6f9763e8
2024-04-24 14:14:31 +00:00
Sander van Grieken
3b0cdef871
qml: lightning invoice status can be one of onchain invoice states when using fallback address. ( fixes #9018 )
2024-04-24 13:37:33 +02:00
Sander van Grieken
41bb849f8a
qt: normalize wallet path before lookup in window list
2024-04-24 13:16:12 +02:00
SomberNight
20d7543b53
win build: remove deprecated apt-key for winehq key
...
```
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
```
from https://github.com/Electron-Cash/Electron-Cash/commit/5b40744831f367d800f7832d89375991374af142
2024-04-19 14:52:29 +00:00
SomberNight
a4cb69d1b5
win build: update debian base (11->12), and wine
2024-04-19 14:52:25 +00:00
ghost43
a80bb851ac
Merge pull request #9003 from robertmin2/master
...
AppArmor Profiles for Electrum Tarball and AppImage
2024-04-19 14:29:56 +00:00
robertmin2
dd72b5976b
AppArmor Profiles for Electrum
...
AppArmor Profiles for Electrum
2024-04-19 17:25:09 +03:00
ghost43
a389bbc6d0
Merge pull request #9013 from SomberNight/202404_build
...
build: update bundled python version
2024-04-19 13:09:27 +00:00
SomberNight
d46e724816
win/mac build: bump pyinstaller (5.13.2->6.6.0)
2024-04-19 13:07:39 +00:00
SomberNight
85af0b8030
win/mac build: bump pyinstaller (5.11.0->5.13.2)
...
- needed for bumping python version, as 3.11+ is borked without https://github.com/pyinstaller/pyinstaller/issues/7692
- plugin.py: adapt to pyinstaller 5.12+
loader was renamed in https://github.com/pyinstaller/pyinstaller/commit/b9111db8a869dd19dd7e8b3c952abea3238d02a6
2024-04-18 18:16:10 +00:00
SomberNight
41d6f08de9
win/mac build: bump python version (3.10.11->3.11.9)
2024-04-18 18:15:26 +00:00
SomberNight
9508f76b7f
appimage build: bump python version (3.10.13->3.11.9)
2024-04-18 17:18:44 +00:00
SomberNight
cfb53e4880
android build: bump python version (3.8.18->3.10.14)
...
cffi also had to be updated for this, and corresponding commit backported from upstream p4a
2024-04-18 17:17:49 +00:00
SomberNight
96bb1611c5
follow-up plugins changes: fix qml gui
...
follow-up https://github.com/spesmilo/electrum/pull/8713
```
1.35 | E | __main__ | daemon.run_gui errored
Traceback (most recent call last):
File "/home/user/wspace/electrum/./run_electrum", line 458, in handle_cmd
d.run_gui()
File "/home/user/wspace/electrum/electrum/daemon.py", line 623, in run_gui
self.gui_object = gui.ElectrumGui(config=self.config, daemon=self, plugins=self._plugins)
File "/home/user/wspace/electrum/electrum/util.py", line 482, in do_profile
o = func(*args, **kw_args)
File "/home/user/wspace/electrum/electrum/gui/qml/__init__.py", line 82, in __init__
self.app = ElectrumQmlApplication(sys.argv, config=config, daemon=daemon, plugins=plugins)
File "/home/user/wspace/electrum/electrum/gui/qml/qeapp.py", line 428, in __init__
self.plugins.load_plugin('trustedcoin')
File "/home/user/wspace/electrum/electrum/plugin.py", line 269, in load_plugin
raise Exception(f"could not find plugin {name!r}")
Exception: could not find plugin 'trustedcoin'
```
2024-04-18 17:01:08 +00:00
SomberNight
8d07672345
plugin: load_plugin: better exception msg if not found
2024-04-18 16:53:48 +00:00
fuyangpengqi
91de8e70e5
chore: fix some typos in comments ( #9014 )
...
Signed-off-by: fuyangpengqi <995764973@qq.com >
2024-04-18 13:59:39 +00:00
ThomasV
9a7195d5ab
test_lnpeer: fix node_id in storage of created peers
2024-04-18 10:34:48 +02:00
ThomasV
caa86e7b45
Merge pull request #9011 from momantech/master
...
Fix some comments
2024-04-18 08:51:43 +02:00
SomberNight
407f3fcb04
follow-up prev
2024-04-17 14:36:21 +00:00
SomberNight
cda65a6a80
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-04-17 14:30:09 +00:00
momantech
2b6090429c
Fix some comments
...
Signed-off-by: momantech <cuimoman@qq.com >
2024-04-17 18:46:05 +08:00
ThomasV
18dfd4a004
Merge pull request #9010 from accumulator/dont_dns_resolve_tor
...
lnworker: don't query DNS for .onion hosts (fixes #9002 )
2024-04-17 10:46:40 +02:00
Sander van Grieken
e0e00da004
lnworker: don't query DNS for .onion hosts ( fixes #9002 )
2024-04-16 13:57:00 +02:00