Commit Graph

8463 Commits

Author SHA1 Message Date
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
Sander van Grieken 044ea1f4f6 submarine_swaps: imports, whitespace 2025-06-04 19:47:30 +02:00
f321x 5ad1b4b5dd fix: exceptions with send change to lightning 2025-06-04 17:40:04 +02:00
ThomasV 2024fa4507 Merge pull request #9902 from SomberNight/202506_base64_trailing_garbage
base64.b64decode: always set validate=True
2025-06-04 14:59:20 +02:00
ThomasV ee2c3e07b8 Merge pull request #9896 from f321x/nwc_receive_only_connections
plugin-nwc: don't announce spending methods if spending limit is 0
2025-06-04 14:51:53 +02:00
ThomasV d8c73eab17 Merge pull request #9904 from f321x/fix_ToU_workaround
fix: prevent opening new window if ToU haven't been accepted
2025-06-04 12:46:45 +02:00
ThomasV 69545f08ca list_wallets: fix wallet path (follow-up 902ec09791) 2025-06-04 10:46:45 +02:00
f321x 6c7d8e8f86 fix: prevent opening new window if ToU haven't been accepted
prevents the creation of new Qt windows if the terms of use have not
been accepted yet. This is to prevent bypassing the terms of use by
starting the wallet a second time which would then skip the ToU.
2025-06-04 09:48:00 +02:00
SomberNight 3e4601c61d base64.b64decode: always set validate=True
Notably verifymessage and decrypt(message) were silently ignoring trailing garbage
or inserted non-base64 characters present in signatures/ciphertext.
(both the CLI commands and in the GUI)
I think it is much cleaner and preferable to treat such signatures/ciphertext as invalid.

In fact I find it surprising that base64.b64decode(validate=False) is the default.
Perhaps we should create a helper function for it that set validate=True and use that.
2025-06-03 18:58:05 +00:00
SomberNight 902ec09791 daemon: re config.CURRENT_WALLET: wallet_key MUST NOT be used as path 2025-06-03 15:08:03 +00:00
ThomasV 6373269b42 Merge pull request #9895 from accumulator/qml_network_settings_update_fix
qml: fix updating network settings
2025-06-03 14:43:43 +02:00
f321x 3daed92be2 nwc: don't announce spending methods if limit is 0
don't return the spending methods pay_invoice and multi_pay_invoice in
the get_info request and the info event so connections can be used for
services that enforce receive only connections.
2025-06-03 14:13:32 +02:00
Sander van Grieken 7df2a1159b qml: fix updating network settings
Previously the server parameters were each handled differently, e.g. auto-connect was only applied when updating Network.server
and not when Config.autoConnect was updated. Similarly, updating Network.server did not restart the network, leading to >1 connection
when Network.oneServer was set to True before updating Network.server.

Consolidate server parameter updates into a single call, remove the individual setters, and move Config.autoConnect and Config.autoConnectDefined to Network.
2025-06-03 13:22:45 +02:00
ThomasV 69527df9d6 Merge pull request #9894 from f321x/remove_sending_balance_warning
qml: rm small available sending balance warning
2025-06-03 12:59:58 +02:00
ThomasV e26160234c network_dialog: widget reordering 2025-06-03 12:56:01 +02:00
f321x 88a77f387d qml: rm small available sending balance warning 2025-06-03 12:30:52 +02:00
Sander van Grieken 6f653af3ff whitespace, imports 2025-06-03 11:26:23 +02:00
ThomasV 8f2c5f60e4 Merge pull request #9888 from accumulator/qml_fixes
Qml fixes
2025-06-03 11:11:29 +02:00
Sander van Grieken cb78b07fe4 qml: reset nostr relays list to default if empty 2025-06-03 10:57:43 +02:00
ThomasV 1dc9ffcdaf Merge pull request #9892 from accumulator/fix_9884
qml: also update userinfo text on channel events. fixes #9884
2025-06-03 10:57:03 +02:00
ThomasV 0ce03a1939 Merge pull request #9889 from f321x/fix_suggest_peer_block
fix: prevent lnrater from blocking if no good peers
2025-06-03 10:54:13 +02:00
Sander van Grieken d87b0f8e81 qml: improve nostr dialog helptext 2025-06-03 10:50:28 +02:00
Sander van Grieken 7ba335a409 qml: also update userinfo text on channel events. fixes #9884 2025-06-03 10:41:55 +02:00
ThomasV 972ebb0420 Daemon: do not set config.CURRENT_WALLET to None
Instead, raise a UserFacingException if the daemon has several wallets in memory.
2025-06-03 10:41:03 +02:00
ThomasV 94517fbc0e lnworker: minor fix, follow-up fc4f995668 2025-06-03 10:26:25 +02:00
f321x b4e93e7e38 fix: prevent lnrater from blocking if no good peers
the while loop in `suggest_node_channel_open()` of lnrater would not
break if there are no "good" peers available available. As a result the gui
blocks and electrum has to be killed. This can happen for example on
signet.
This removes the tested pk from the list of candidates so each candidate
gets tested only once.
2025-06-03 10:06:39 +02:00
SomberNight 468f496f34 submarine_swaps: make swaps dict thread-safe
In general many methods of the SwapManager are called both from the asyncio thread
and from the GUI, and hence must be thread-safe.

closes https://github.com/spesmilo/electrum/issues/9887
2025-06-02 17:06:08 +00:00
SomberNight 4539269960 submarine_swaps.py: trivial clean-up, add some type hints 2025-06-02 16:29:29 +00:00
SomberNight 60ef0340bb messages.py: fix typo 2025-06-02 16:07:08 +00:00
SomberNight 57704600d9 interface: make sure interface.taskgroup gets cleaned up
follow-up https://github.com/spesmilo/electrum/commit/0ce89b6d544dd1a5d192014f14a82aec9f05543f
2025-06-02 15:24:00 +00:00
Sander van Grieken c6fb55d416 qml: lightningpaymentdetails show Paid banner instead of just Status:settled 2025-06-02 17:21:42 +02:00
Sander van Grieken df2c1d6ae1 qml: no feebump hint if only option is CPFP 2025-06-02 17:14:31 +02:00
Sander van Grieken 938af7b2ee qml: remove green check-mark on request paid, open lightning payment details (LN) or Tx details (on-chain) instead 2025-06-02 17:11:08 +02:00
ThomasV fc4f995668 lnworker: fix invoice status in htlc_failed from previous session
(status was remaining inflight)
2025-06-02 16:14:34 +02:00
f321x 58b0fdf199 followup 9e225d1: rm save_last_wallet call 2025-06-02 15:07:22 +02:00
ThomasV 9e225d1269 Replace config GUI_LAST_WALLET with CURRENT_WALLET
- CURRENT_WALLET is set when a single wallet is loaded in memory, and it
   remains set after Electrum stops running.
 - If several wallets are loaded at the same time, CURRENT_WALLET is unset,
   and RPCs must specify the wallet explicitly (using --wallet for the CLI)
 - The fallback to 'default_wallet' essentially only applies when
   creating a new wallet file
2025-06-02 14:05:53 +02:00
Sander van Grieken 5775fd790e qml: remove request from list once paid 2025-06-02 13:47:49 +02:00
Sander van Grieken 5fe6ff3a1f qml: nostr relay dialog, remove help button, move text into dialog. 2025-06-02 13:42:12 +02:00
ThomasV 0ce89b6d54 PaddedRSTransport: fix busy loop in poll_sbuffer (follow-up 43ca469774)
According to the asyncio documentation:

> When a task is cancelled, asyncio.CancelledError will be raised in the task at the next opportunity.

I guess the 'next opportunity' means the next await statement.
Here the issue is that the task was not awaiting ever.

Note: ElectrumX needs a similar patch
2025-06-02 13:38:54 +02:00
Sander van Grieken b5170a3fa6 qml: oneserver, auto-connect combobox 2025-06-02 13:31:05 +02:00
ThomasV c8ea5b6173 Third-party plugins: expand warning message
Remove lightning is experimental warning
2025-06-02 12:58:40 +02:00
Sander van Grieken 30d6228cac qml: remove nostr relays from NetworkOverview.qml 2025-06-02 11:52:44 +02:00
ThomasV a23f370a43 follow-up ae7a1073cf
(todo: move these methods into lnworker)
2025-06-01 14:03:29 +02:00
ThomasV ae7a1073cf Merge pull request #9685 from f321x/hold_invoice_cli
cli: add hold invoice cli functionality
2025-06-01 12:03:46 +02:00
ThomasV 477dd8e478 CLI list_wallets: fix logical error in 'unlocked' value 2025-06-01 10:52:52 +02:00
ThomasV cea4b99668 qt: on_event_payment_failed: remove onchain fallback dialog
We no longer create LN invoices with onchain fallbacks. Even if
other implementation might create such invoices, there is little
point suporting them.
2025-05-31 14:12:28 +02:00
ghost43 fc13001bb9 Merge pull request #9875 from SomberNight/202505_pad_protocol_3
interface: add padding and some noise to protocol messages
2025-05-30 15:37:12 +00:00
ThomasV 43ca469774 Merge pull request #9555 from tianzedavid/master
chore: fix some typos
2025-05-30 14:36:12 +02:00
ThomasV f0930ffc1d Merge pull request #9839 from SomberNight/202505_transaction_verify_sig_2
transaction: add method verify_sig_for_txin
2025-05-30 14:32:27 +02:00
ThomasV 0dafb5cd83 Merge pull request #9880 from SomberNight/202505_refactor_chains2
constants.py: add datadir_subdir, cli_flag, config_key methods
2025-05-30 09:50:36 +02:00