Commit Graph

8791 Commits

Author SHA1 Message Date
SomberNight 7046a7e786 logging: add config.LOGS_MAX_TOTAL_SIZE_BYTES: to limit size on disk 2025-08-20 17:57:05 +00:00
SomberNight 2f1e373077 commands: reverse_swap: don't require provider_mining_fee in dryrun 2025-08-20 16:20:52 +00:00
f321x 71c71a96f3 swaps: add sanity check to reverse swap mining fee 2025-08-20 17:57:36 +02:00
ghost43 a29125f5c5 Merge pull request #10153 from SomberNight/202508_lnpeer_rate_limits
lnpeer: add some rate-limits
2025-08-20 12:28:50 +00:00
ThomasV 5553d5aa86 Merge pull request #10152 from SomberNight/202508_swaps_dm_replies
swaps: nostr: add sanity checks for replies
2025-08-20 12:37:41 +02:00
f321x 04b0aca878 swaps: improve prepayment invoice handling 2025-08-20 12:04:44 +02:00
SomberNight df96f87ed7 lnworker: limit max number of incoming channel-less peers 2025-08-19 18:28:16 +00:00
SomberNight 1380ed4ba7 lnpeer: rate-limit ordered_message_queues 2025-08-19 18:28:13 +00:00
SomberNight b8d989e13b lnpeer: rate-limit reply_channel_range 2025-08-19 18:28:09 +00:00
SomberNight 65d04dfbb7 lnpeer: slow down peers sending too much gossip 2025-08-19 18:28:01 +00:00
SomberNight 93e0e8a7b8 swaps: nostr: add sanity checks for replies 2025-08-19 16:38:27 +00:00
ThomasV eae6ddd773 submarine_swaps: use dict instead of defaultdict for dm_replies 2025-08-19 17:54:25 +02:00
SomberNight 81be0554a3 swaps: more robust parsing 2025-08-19 13:42:21 +00:00
ghost43 5b8569e814 Merge pull request #10149 from f321x/improve_swaps_send_dm
swaps: make NostrTransport.send_direct_message() more robust
2025-08-19 13:35:47 +00:00
f321x 37614e9092 swaps: handle timeouts in send_direct_message
Adds logic to retry sending a direct message in
`NostrTransport.send_direct_message()` on `TimeoutError`.
Handles `TimeoutError` exception more gracefully by catching it and
returning `None`.
2025-08-19 15:29:58 +02:00
Sander van Grieken e90534beaa fee_policy: use FEERATE_PRECISION for .. precision 2025-08-19 14:16:32 +02:00
ThomasV 6ffaa55813 lnwatcher: early return in sweep_commitment_transaction if chan.need_to_subscribe returns False 2025-08-19 14:06:22 +02:00
SomberNight 74d2c6386a wallet: sweep_preparations to raise UserFacingException on p2sh/etc
closes https://github.com/spesmilo/electrum/issues/10145
2025-08-18 17:02:34 +00:00
ghost43 e7c8377808 Merge pull request #10128 from f321x/fix_4111
fix: psbt_nostr: don't save tx without txid
2025-08-18 16:30:16 +00:00
SomberNight f8926b4957 type-hint some Callables
could not figure out how to type-hint coinchooser.sufficient_funds with typing.Protocol,
at least PyCharm complained on all my attempts
2025-08-18 15:38:25 +00:00
ghost43 0c6ff6ab62 Merge pull request #10122 from accumulator/qml_invoice_validation_error
qml: handle invoice validation errors on save
2025-08-18 14:32:57 +00:00
ghost43 8feaa4bb66 Merge pull request #10141 from SomberNight/202508_kswizard_multisig
wizard: enable_keystore: fix for multisig
2025-08-18 14:27:45 +00:00
f321x 9fcf5f1581 qt: invoice_list: only show invoice if it is not None
Check if the invoice is not None when the user tries to open the
invoice details to prevent an Exception, update the list instead if the
invoice hasn't been found.
It can happen that the user deletes the invoice through the CLI
and then tries to open the details in the gui, which hasn't been
updated, at the same time.
Fixes #10144
2025-08-18 11:02:22 +02:00
f321x a68bfab596 swaps: improve preimage extraction logic 2025-08-18 10:03:24 +02:00
SomberNight 2318cf7369 keystore: Old_KeyStore: fix check_password(None) if ks has password
check_password(None) should raise InvalidPassword when called on a keystore that has a password.

regression from https://github.com/spesmilo/electrum/commit/f86bdc86a2f2cc78f12e072b1eb5ae06f40d2178

fixes https://github.com/spesmilo/electrum/issues/10142
2025-08-16 18:08:10 +00:00
SomberNight dc999aa948 wizard: enable_keystore: fix for multisig
regression from https://github.com/spesmilo/electrum/commit/66c0fec1eaa4ebf4b75ec70b5395320150a2801c
2025-08-15 20:52:49 +00:00
SomberNight 14494c13dc qt wizard: start: merge "start_viewstate" and "initial_data" 2025-08-15 20:46:24 +00:00
SomberNight 43987c5ca0 wizard: make start() kwarg-only
I want to see where initial_data arg is actually set from.
Looks like hardly anywhere(?)
It is really hard to see because the wizard is crazy-dynamic, there's polymorphism and mixins everywhere.
2025-08-15 20:35:29 +00:00
SomberNight 392400295e wallet.get_tx_fee_warning: fix rounding error for sub-1 sat/vbyte fees
```
>>> Decimal("0.1") < 100/1000
True
```

ref https://bitcointalk.org/index.php?topic=5554840.msg65694417#msg65694417
2025-08-15 18:26:19 +00:00
ghost43 8a8ab26d44 Merge pull request #10140 from SomberNight/202508_test_keystore_wizard
wallet: enable/disable_keystore: some more fixes and tests
2025-08-15 18:16:38 +00:00
SomberNight 5997494c46 tests: wizard: add test "adding unrelated seed to xpub-only ks raises" 2025-08-15 17:39:57 +00:00
SomberNight cd63be233b wallet: disable_keystore() not to destroy get_key_origin_info() 2025-08-15 17:29:55 +00:00
SomberNight 0ceb54b61f wallet: enable/disable_keystore: rm functionality from 2fa wallets
was already not working, but does not even really make sense without larger changes
2025-08-15 16:18:13 +00:00
ghost43 1ae3d0a0bf Merge pull request #10131 from SomberNight/202508_commands_onchain_history
commands: add back from_height/to_height params to onchain_history
2025-08-15 13:36:25 +00:00
Sander van Grieken bd6dfc53a2 qml: avoid hue wrap-around for fees < 1sat/vbyte, limit precision. 2025-08-15 11:35:33 +02:00
Sander van Grieken b4ffd3eeeb qt: contacts: stretch address, not name 2025-08-15 10:44:31 +02:00
ghost43 5a9f54fba0 Merge pull request #10133 from f321x/qml_timestamp_precision
qml: reduce tx history timestamp precision
2025-08-14 17:26:08 +00:00
SomberNight 0fea61ac3a tests: wizard: KeystoreWizard: also test disable_keystore() 2025-08-14 17:06:52 +00:00
SomberNight e3d1c6aefd wallet: enable/disable_keystore: trivial clean-up 2025-08-14 16:16:31 +00:00
ghost43 5bfd5a858f Merge pull request #10123 from accumulator/keystorewizard_scriptandderivation
wizard: add script and derivation to keystorewizard flow. fixes #10063
2025-08-14 16:10:47 +00:00
ghost43 094ca92518 Merge pull request #10134 from f321x/mutinynet
contants: add support for mutinynet signet
2025-08-14 15:13:57 +00:00
ghost43 33dd45a2d9 Merge pull request #10096 from SomberNight/202508_lower_minrelayfee
change minrelayfee clamps from `[1, 50]` to `[0.1, 50]` sat/vbyte
2025-08-14 14:53:28 +00:00
f321x 348ca667ca contants: add support for mutinynet signet
Adds the mutinynet signet (https://github.com/MutinyWallet/mutiny-net/)
to the supported networks so it's possible to
use it with Electrum. Mutinynet is similar to signet, except for a
shorter block interval (30 sec), a nice faucet
(faucet.mutinynet.com) and some extra features in its core fork.
It also has some lightning network nodes, see
the mempool instance on mutinynet.com.
2025-08-14 15:59:11 +02:00
Sander van Grieken 2ca9e1b686 plugin: fix translatable string, and organize whitespace/imports/type hints while weŕe at it. 2025-08-14 11:37:16 +02:00
f321x 0c7d8646d4 qml: stop showing seconds in tx history timestamps
Reduces the precision of the date field in the qml transaction history
list to minutes. Seconds don't seem very useful in practice and add
clutter to the UI. This adapts the behaviour to the Qt GUI.
2025-08-14 09:57:48 +02:00
SomberNight d7c76b991b commands: add back from_height/to_height params to onchain_history
closes https://github.com/spesmilo/electrum/issues/10119

also:
- wallet.get_onchain_history was broken with from_height/to_height args
- "show_fees" param is and was non-existent. fees are always added to output
- MyEncoder(json.JSONEncoder) changed a bit:
  - I am pretty sure cutting the last 3 chars was intended to cut off the seconds
  - however that was making incorrect assumptions about what datetime.isoformat() returns
    - which depends on whether microsecond precision is available or whether an explicit timezone is set
  - this now makes it clear that we want minutes-resolution, but still leaves the timezone-ambiguity
2025-08-13 15:09:04 +00:00
Sander van Grieken e1d5d803e9 wizard: fix missing 'wallet_password' and 'wallet_password_hardware' views on abstract KeystoreWizard
(these were implicitly defined by the Qt subclass) and test wallet keystore enable.
2025-08-13 16:25:01 +02:00
Sander van Grieken 0a2cd5fdad hww: fix crash when disabling keystore for hww (was unimplemented for Hardware_Keystore)
also preserve derivation path and root fingerprint for watch-only keystore.
2025-08-13 15:57:07 +02:00
Sander van Grieken 66c0fec1ea qt: wizard: pass wallet_type to Keystore wizard via initial viewstate 2025-08-13 11:40:08 +02:00
Sander van Grieken 4eccfdaa99 wizard: add script and derivation to keystorewizard flow. fixes #10063 2025-08-13 11:37:57 +02:00