ThomasV
d3921ca25b
fix lnwatcher callback (follow-up 5610a94537)
2025-06-06 17:18:09 +02:00
SomberNight
bac716c925
build: bump electrum-ecc to 0.0.5
2025-06-06 15:04:03 +00:00
SomberNight
ff777946fe
build: win/mac: rename pyinstaller spec files
...
for clarity
also, "deterministic.spec" is a confusing name
2025-06-06 15:00:20 +00:00
ghost43
0a89662952
Merge pull request #9919 from f321x/debug_ssl_error
...
bump aiohttp version to 3.12.9
2025-06-06 14:32:13 +00:00
f321x
f260cddaf3
bump aiohttp version to 3.12.9
2025-06-06 16:29:18 +02:00
ghost43
d1c5cafcdd
Merge pull request #9898 from f321x/windows_disable_screenshot
...
qt: windows: protect against screenshots and screen recordings
2025-06-06 13:42:29 +00:00
accumulator
6b928c5032
Merge pull request #9916 from f321x/fix_flaky_swapserver_list_qml
...
fix: use single long lived swap transport in qeswaphelper
2025-06-06 14:50:09 +02:00
Sander van Grieken
89cab31b81
qml: swaphelper: update offer model properly
2025-06-06 14:38:24 +02:00
f321x
3a39abc415
fix: use single long lived transport in qeswaphelper
...
changes qeswaphelper to shate a single, long lived transport instance
instead of opening new transports to do swaps and fetch offers.
This allows to continuosly fetch offers, so events which get returned
later by slow relays don't get missed and the fee values stay updated.
Also fixes a race causing the list to miss some swapservers, as the
current implementation fetches only until
`swap_manager.is_initialized()` is set, which will get set as soon as an
event of the configured swapserver is received. So if the event of the
configured swapserver is received as first, all server events coming in
after it would get ignored.
2025-06-06 14:38:11 +02:00
Sander van Grieken
0a6f6ab006
qml: use color for accounting addresses
2025-06-06 13:38:48 +02:00
ThomasV
cd2f52e2d9
follow-up 5610a94537
2025-06-06 12:35:41 +02:00
ThomasV
5610a94537
fix #9856
2025-06-06 12:17:21 +02:00
ThomasV
ba0c58e5d9
Merge pull request #9917 from spesmilo/txbatcher_clean_local_tx
...
txbatcher: remove local base_tx
2025-06-06 10:46:16 +02:00
ThomasV
1bf1de36cb
txbatcher:
...
- add base_tx to wallet before broadcasting
- remove base_tx in find_base_tx, it is local
- add unit test in test_tx_batcher
2025-06-06 10:16:32 +02:00
f321x
ca9c4777d8
windows: protect against screenshots and screen recordings
2025-06-06 09:29:01 +02:00
ThomasV
6711b65b8c
Qt: use color for accounting addresses
2025-06-06 09:18:12 +02:00
ThomasV
a0636e8f33
lnworker: fix timestamp in get_lightning_history
2025-06-06 08:46:21 +02:00
SomberNight
7df8847aee
Merge branch '202505_build1': build: upgrade deps
...
- rerun freeze_packages
- bump cpython
- bump libsecp
- bump libusb
- bump pyinstaller
- windows:
- bump wine
- appimage:
- bump debian base from 2019 to 2021
- android
- update pinned versions in p4a recipes
- cleanups
2025-06-05 19:35:10 +00:00
SomberNight
c52a29fc22
build: appimage: fix trezor plugin for new trezorlib
...
- similar to prev commit that fixes it for the pyinstaller builds
- note that .dist-info/RECORD files are still not reproducible for many packages :((((
```
$ cd dist/
$ ./electrum-*-x86_64.AppImage1 --appimage-extract
$ mv squashfs-root/ squashfs-root1/
$ ./electrum-*-x86_64.AppImage2 --appimage-extract
$ mv squashfs-root/ squashfs-root2/
$ $(cd squashfs-root1; find -type f -exec sha256sum '{}' \; > ./../sha256sum1)
$ $(cd squashfs-root2; find -type f -exec sha256sum '{}' \; > ./../sha256sum2)
$ diff sha256sum1 sha256sum2 > d
$ cat d
507c507
< 269a133bd0d3c85265219c14154323ed934ac36ef9b389da609e43788de2bbcd ./usr/lib/python3.12/site-packages/cffi-1.17.1.dist-info/RECORD
---
> d2c08987f207eed8e90476c576eeff67c0809d1bfd35234e583a2dc6895c5ff1 ./usr/lib/python3.12/site-packages/cffi-1.17.1.dist-info/RECORD
518c518
< d08bd76099191932f3cd289c19427ccab51d9c00a6c2e5126c57f83a84ec2246 ./usr/lib/python3.12/site-packages/aiohttp-3.12.4.dist-info/RECORD
---
> 281c5c7e2b28e56134fa8690a2a446e3ebc515f8cb3705cd5d06e83c53812fab ./usr/lib/python3.12/site-packages/aiohttp-3.12.4.dist-info/RECORD
630c630
< 33665bc46c14e2c0f409ef2627170b093f6d7741e9516928928acbeeb717f155 ./usr/lib/python3.12/site-packages/propcache-0.3.1.dist-info/RECORD
---
> 4fddb29289418edb3ec392a09b8efa826333a60cf508055cac809375e497174e ./usr/lib/python3.12/site-packages/propcache-0.3.1.dist-info/RECORD
1497c1497
< f80c1b47d15a7262ab2b81bcfc1f69816961b9f6b0fd3775ee5b5eb40d4b7a5b ./usr/lib/python3.12/site-packages/pyqt6_sip-13.10.2.dist-info/RECORD
---
> 1b8fb8ea4d50d401cd4f6689531ab4922cb064b9caaec1aae6bd885c3a387eca ./usr/lib/python3.12/site-packages/pyqt6_sip-13.10.2.dist-info/RECORD
3108c3108
< ca06bbe1dba05cd647e89411dd301fad15f42d0ff53ac2c509391cf0303c15c4 ./usr/lib/python3.12/site-packages/multidict-6.4.4.dist-info/RECORD
---
> 400741699b95d3c6bde3c64c7a4bb04b26cbdaee437a17b398d202794a1bd4cd ./usr/lib/python3.12/site-packages/multidict-6.4.4.dist-info/RECORD
3233c3233
< f67e8f271725676df296fab7fab72099f3b853905f9ff677b5de261a52412411 ./usr/lib/python3.12/site-packages/hidapi-0.14.0.post4.dist-info/RECORD
---
> f4d43d5e4c3c2aa3e69fa40c7307b23b82ce4c5e4d5fb041a75b11ddc2ed7423 ./usr/lib/python3.12/site-packages/hidapi-0.14.0.post4.dist-info/RECORD
3271c3271
< aaa92bb84d0f56e82832903f1109dd4362c09ea4af0fefe3d0c95509bc0920ed ./usr/lib/python3.12/site-packages/cbor2-5.6.5.dist-info/RECORD
---
> 8a21af0fadf22898266581df9987c97ee737a670bef9d71d5f53427619466b88 ./usr/lib/python3.12/site-packages/cbor2-5.6.5.dist-info/RECORD
```
-----
Example RECORD files:
```
$ diff squashfs-root1/./usr/lib/python3.12/site-packages/aiohttp-3.12.4.dist-info/RECORD squashfs-root2/./usr/lib/python3.12/site-packages/aiohttp-3.12.4.dist-info/RECORD
64c64
< aiohttp/_http_parser.cpython-312-x86_64-linux-gnu.so,sha256=SjcWt8faDDTOxBHetnDdlQU31sPj0Suc8pwY1_UnKkE,2868384
---
> aiohttp/_http_parser.cpython-312-x86_64-linux-gnu.so,sha256=xdf5Uy_NnFLmSmqNmeY7wytgwFdY7pHxZLOFFfl2Aq8,2868384
66c66
< aiohttp/_http_writer.cpython-312-x86_64-linux-gnu.so,sha256=g6PDJVuICGYq8rywuI6XFWLP6tw1KLWLpwSvJODWo18,510280
---
> aiohttp/_http_writer.cpython-312-x86_64-linux-gnu.so,sha256=U_Y0F0oYClrGRIKO_agXtAohjJ_jqfG375vESBZ56CY,510280
80c80
< aiohttp/_websocket/mask.cpython-312-x86_64-linux-gnu.so,sha256=u0PluBaJntMBktyD1AYv267FvbUO6gpj-Nt7erLj3Qg,257384
---
> aiohttp/_websocket/mask.cpython-312-x86_64-linux-gnu.so,sha256=tEnvrEzSPEtaFI8V_Ey08zy4SBmDhnm-QnxTxgDSYM4,257384
85c85
< aiohttp/_websocket/reader_c.cpython-312-x86_64-linux-gnu.so,sha256=wfcclW8jYOTVeLDRPO87dPvOBrtXiqxBsnEbP0yyGpI,1816496
---
> aiohttp/_websocket/reader_c.cpython-312-x86_64-linux-gnu.so,sha256=jfey8U3MSIp04r0bG_a1TFkIKSzMQ-FLSAWD3nY4wgg,1816496
```
```
$ diff squashfs-root1/./usr/lib/python3.12/site-packages/hidapi-0.14.0.post4.dist-info/RECORD squashfs-root2/./usr/lib/python3.12/site-packages/hidapi-0.14.0.post4.dist-info/RECORD
1c1
< hid.cpython-312-x86_64-linux-gnu.so,sha256=JefmLwo-XKZZmno3PBdmHnREed0Yw7IaPYCI2k1UmbM,1152024
---
> hid.cpython-312-x86_64-linux-gnu.so,sha256=38htTAcIC4nnTPIIjD0jkdtdwtGyWlBIhQwQ-g0K0iI,1152024
12c12
< hidraw.cpython-312-x86_64-linux-gnu.so,sha256=dJ4kVI0jXUj_Ba2cMcAL7Wjy8fkO21VPbhAmR-5n30Y,1156768
---
> hidraw.cpython-312-x86_64-linux-gnu.so,sha256=7908Jgbg7A-3JRtfKabPr_WJkMIjYgd5pX78_Yajo54,1156768
```
-----
error at runtime:
```
22.51 | E | plugins.trezor.trezor | error importing trezor plugin deps
Traceback (most recent call last):
File "/tmp/.mount_electrteDkNu/usr/lib/python3.12/importlib/metadata/__init__.py", line 397, in from_name
return next(cls.discover(name=name))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
StopIteration
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/tmp/.mount_electrteDkNu/usr/lib/python3.12/site-packages/electrum/plugins/trezor/trezor.py", line 29, in <module>
from .clientbase import TrezorClientBase, RecoveryDeviceInputMethod
File "/tmp/.mount_electrteDkNu/usr/lib/python3.12/site-packages/electrum/plugins/trezor/clientbase.py", line 18, in <module>
import trezorlib.device
File "/tmp/.mount_electrteDkNu/usr/lib/python3.12/site-packages/trezorlib/device.py", line 27, in <module>
from slip10 import SLIP10
File "/tmp/.mount_electrteDkNu/usr/lib/python3.12/site-packages/slip10/__init__.py", line 6, in <module>
__version__ = importlib.metadata.version(__package__ or __name__)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/.mount_electrteDkNu/usr/lib/python3.12/importlib/metadata/__init__.py", line 889, in version
return distribution(distribution_name).version
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/.mount_electrteDkNu/usr/lib/python3.12/importlib/metadata/__init__.py", line 862, in distribution
return Distribution.from_name(distribution_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/.mount_electrteDkNu/usr/lib/python3.12/importlib/metadata/__init__.py", line 399, in from_name
raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: No package metadata was found for slip10
```
2025-06-05 18:46:12 +00:00
SomberNight
aecc22dc08
build: win/mac: fix trezor plugin for new trezorlib
...
trezor==0.13.10 pulls in new dep "slip10", which relies on importlib magic
see 19561f0429/slip10/__init__.py (L6)
```
10.13 | E | plugins.trezor.trezor | error importing trezor plugin deps
Traceback (most recent call last):
File "importlib/metadata/__init__.py", line 397, in from_name
StopIteration
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "electrum/plugins/trezor/trezor.py", line 29, in <module>
from .clientbase import TrezorClientBase, RecoveryDeviceInputMethod
File "PyInstaller/loader/pyimod02_importers.py", line 450, in exec_module
File "electrum/plugins/trezor/clientbase.py", line 18, in <module>
import trezorlib.device
File "PyInstaller/loader/pyimod02_importers.py", line 450, in exec_module
File "trezorlib/device.py", line 27, in <module>
File "PyInstaller/loader/pyimod02_importers.py", line 450, in exec_module
File "slip10/__init__.py", line 6, in <module>
File "importlib/metadata/__init__.py", line 889, in version
File "importlib/metadata/__init__.py", line 862, in distribution
File "importlib/metadata/__init__.py", line 399, in from_name
importlib.metadata.PackageNotFoundError: No package metadata was found for slip10
```
2025-06-05 17:59:31 +00:00
SomberNight
2543c85712
windows build: workaround no longer needed with modern pip
...
upstream now carries our fix
ref https://github.com/spesmilo/electrum/issues/7739
ref https://github.com/pypa/distlib/pull/165
2025-06-05 17:59:17 +00:00
ThomasV
420cd1e5ed
make wallet stop and restart-able
2025-06-05 19:12:47 +02:00
SomberNight
d17c4beee9
appimage build: add comment we should update to new appimagetool toolchain
2025-06-05 16:52:06 +00:00
SomberNight
fa271e3958
build: bump python versions in binaries
...
note: 3.12 just transitioned to security-only status,
so can't bump win/mac binaries without switching to 3.13
(as we don't compile our own cpython for those)
2025-06-05 16:51:56 +00:00
SomberNight
0340097754
android build: downgrade cython
2025-06-05 16:51:53 +00:00
SomberNight
04a0d30176
android build: update pinned versions in p4a recipes
...
note: some files have two versions in them, e.g.:
```
assert CffiRecipe._version == "1.15.1"
class CffiRecipePinned(util.InheritedRecipeMixin, CffiRecipe):
version = "1.17.1"
```
The assert is left there as I think it might be useful to get a failure if we rebase p4a
and the upstream recipe version changes. There might be substantial changes in the upstream
recipe that we need to adapt to. In the happy case, if we rebase p4a, we just have to manually
update these asserts to the new versions at that time.
2025-06-05 16:51:43 +00:00
SomberNight
70aeaccaf8
android build: rm "certifi" recipe
...
I don't think this was ever needed(?). certifi is pure python
and it already gets pulled in from the main requirements.txt
2025-06-05 16:51:39 +00:00
SomberNight
ff4c794349
macos build: downgrade Qt to 6.7
...
this way we can keep the min supported macos version at 11 for now
2025-06-05 16:51:35 +00:00
SomberNight
c8a9083d28
macos build: include libsecp256k1 dylib
2025-06-05 16:51:21 +00:00
SomberNight
538fc37f03
build: bump pyinstaller
2025-06-05 16:51:18 +00:00
SomberNight
876a994731
build: bump libusb version (used in Windows and macOS builds)
...
At the time of this commit, 1.0.29 was just released and it came irregularly soon after 1.0.28,
hence this just bumps to 1.0.27.
2025-06-05 16:51:14 +00:00
SomberNight
dd42c12ec4
windows build: bump wine
2025-06-05 16:51:10 +00:00
SomberNight
ca17bf6ed3
build: downgrade protobuf
...
build issues on windows (new version wants a cpp compiler?)
2025-06-05 16:51:06 +00:00
SomberNight
0c42dfc5f1
build: rerun freeze_packages
2025-06-05 16:50:55 +00:00
SomberNight
608fedd7cd
build: libsecp: rm hardcoded ABI version
2025-06-05 16:50:51 +00:00
SomberNight
13cd7a6af0
build: bump libsecp256k1 version (0.5.1->0.6.0)
2025-06-05 16:50:42 +00:00
SomberNight
aacaff61c9
build: try to rm transitive dependency on colorama
...
as it requires hatchling at build-time
and we don't actually need colorama anyway?
2025-06-05 16:50:38 +00:00
SomberNight
bf0ad20c60
build: bump python versions in binaries
2025-06-05 16:50:35 +00:00
SomberNight
37ca5f7eff
build: appimage: bump base from debian buster(2019) to bullseye(2021)
2025-06-05 16:50:31 +00:00
SomberNight
491b808cc5
macos build: fix missing keepkeylib
...
```
9.76 | D | plugins.keepkey.qt.Plugin | error importing keepkeylib
Traceback (most recent call last):
File "electrum/plugins/keepkey/keepkey.py", line 77, in __init__
from . import client
File "PyInstaller/loader/pyimod02_importers.py", line 450, in exec_module
File "electrum/plugins/keepkey/client.py", line 1, in <module>
from .keepkeylib.keepkeylib.client import proto, BaseClient, ProtocolMixin
ModuleNotFoundError: No module named 'electrum.plugins.keepkey.keepkeylib.keepkeylib'
```
2025-06-05 16:48:33 +00:00
SomberNight
7fa204f16b
qml: fix setting config.GUI_QML_SET_MAX_BRIGHTNESS_ON_QR_DISPLAY
...
follow-up https://github.com/spesmilo/electrum/pull/9321
2025-06-05 16:37:59 +00:00
ThomasV
eaa402dab6
daemon: do not set CURRENT_WALLET if the -w option was passed
...
This was the previous behaviour with gui_last_wallet.
2025-06-05 16:57:15 +02:00
Sander van Grieken
e3ccee6d63
qt: channel closed dialog is not an error
2025-06-05 12:37:23 +02:00
ThomasV
e8113d684c
Merge pull request #9852 from accumulator/qml_fix_forceclose_exception
...
qml: fix assumption history item is onchain when history item has no timestamp
2025-06-05 09:58:48 +02:00
ThomasV
8330c72b65
Merge pull request #9906 from spesmilo/maybe_complete_wallet_path
...
CLI: complete wallet_path
2025-06-05 09:18:02 +02:00
ThomasV
9afd2fa098
Merge pull request #9911 from f321x/fix_swap_exception_send_change_to_lightning
...
fix: exceptions when sending change to lightning
2025-06-05 09:15:21 +02:00
ThomasV
8019ceb568
test_daemon: add test the wallet can be loaded by basename
2025-06-05 09:08:53 +02:00
ThomasV
85c3c77096
CLI: make 'wallet_path' relative to wallets dir
...
If the wallet_path passed to the RPC is a simple filename,
interpret it as relative to the user wallets directory,
rather than to the current working directory.
This is a breaking change, it might affect existing scripts
2025-06-05 09:06:29 +02:00
ThomasV
37914d5af0
cmdline: use 'wallet_path' argument to pass wallet_path
2025-06-05 09:06:29 +02:00
accumulator
5efeaf13c5
additions to RELEASE-NOTES ( #9908 )
2025-06-04 19:50:27 +00:00