1
0
Commit Graph

17951 Commits

Author SHA1 Message Date
f321x
1f626f3ad8 add gossip address field serialization, parsing and tests
add space

add gossip address field serialization, parsing and tests

fix linter

consolidate tests, fix intendation

refactor test in loops

add gossip address field serialization, parsing and tests
2025-01-17 10:33:56 +01:00
ThomasV
0ef7235147 swaps: ignore exceptions in publish_offers
nostr may temporarily raise an exception; we don't want to kill the taskgroup
2025-01-16 09:51:26 +01:00
ThomasV
4672681c0c Merge pull request #9435 from f321x/debugging_gossip_toggle
Add fallback list of signet nodes and use it for ln peer discovery
2025-01-16 08:44:50 +01:00
f321x
b1e1a39997 add fallback list of signet nodes 2025-01-15 16:40:30 +01:00
ThomasV
d6630640ce Merge pull request #9432 from f321x/increase_pay_to_node_attempts
Increase attempts when forwarding trampoline payment
2025-01-15 13:48:34 +01:00
ThomasV
2ac17d0633 Merge pull request #9433 from f321x/change_onion_message
Change OnionFailureCode returned when failing trampoline forwarding
2025-01-15 13:46:41 +01:00
f321x
c921100de3 return TRAMPOLINE_FEE_INSUFFICIENT instead of UNKNOWN_NEXT_PEER on payment failure in forwarding 2025-01-15 13:18:11 +01:00
ThomasV
dffdebf778 Merge pull request #9431 from f321x/fix_trampoline_onion_index
Fix trampoline onion construction by selecting correct last hop
2025-01-15 12:30:16 +01:00
f321x
8f94261fc3 increase attempts when forwarding trampoline payment 2025-01-15 11:48:51 +01:00
ThomasV
b0886d2a4d Merge pull request #9427 from f321x/limit_pay_to_node_attempts
Limit payment attempts if client uses trampoline
2025-01-15 11:36:58 +01:00
f321x
39b56fa922 change hops_data index in trampoline onion construction 2025-01-15 11:36:09 +01:00
f321x
48c53053d6 don't inline logic and add comment 2025-01-15 10:44:01 +01:00
ThomasV
4f9f4351b8 Merge pull request #9428 from f321x/remove_lnd_signet_node
Remove wakiyamap lnd node from signet trampoline nodes
2025-01-14 12:40:08 +01:00
f321x
3034df61c7 remove wakiyamap lnd node from signet nodes 2025-01-14 11:21:33 +01:00
f321x
4c93c9a26c limit payment attempts if client uses trampoline
revert line break

limit payment attempts if client uses trampoline
2025-01-14 11:18:21 +01:00
SomberNight
8f5b395ddc lnworker.open_channel: move max funding_sat check deeper in call stack
open_channel_with_peer was missing this check
2025-01-13 14:53:16 +00:00
ghost43
68a2e4e399 Merge pull request #9418 from SomberNight/202501_bump_min_python
bump min python to 3.10
2025-01-13 12:01:57 +00:00
ThomasV
ef08fb37a6 json_db: add StoredList.clear() method 2025-01-12 10:32:00 +01:00
ThomasV
3ffcac87ac maybe_forward_htlc: 'already_forwarded' must be passed to the recursive call.
if we are a trampoline and chain tip is stale, we must not fail the htlc.
2025-01-11 09:44:03 +01:00
SomberNight
450768ee6c sdist build: bump base image to debian 12 to have py3.10+
- debian 11 only has python 3.9, deb12 has py3.11
- pip install pip is no longer needed, atm apt has new enough pip
  - and on deb12, started getting "error: externally-managed-environment"
- faketime does not seem to work properly on debian 12
    (getting reproducibility issues for the tarball)
  - so instead we untar, fix the timestamps manually, and re-tar
2025-01-10 18:58:02 +00:00
SomberNight
be2cd02e54 some clean-ups now that we require python 3.10 2025-01-10 18:52:53 +00:00
SomberNight
fb5a1af666 bump min required Python version to 3.10 2025-01-10 18:52:49 +00:00
SomberNight
3aac8ff0b8 sdist build: simplify sourceonly handling 2025-01-10 18:51:04 +00:00
ThomasV
0efe7e9bc8 swaps: make the zeroconf option non-persisted
Since we allow swaps with random servers, we should not persist that setting.
2025-01-10 16:19:01 +01:00
SomberNight
c43a691eee qt gui: qrreader: lower strong_count in qtmultimedia based reader
The qtmultimedia-based qrreader has the concept of "strong_count":
before the scanner returns a decoded qr code result, it waits until
it has seen at least "strong_count" (e.g. 10) frames in which the qr code was seen and successfully decoded.
I think the idea might have been to reduce false positives, mis-decoding qr codes from bad frames.
However in practice it makes scanning even moderately sized qr codes really difficult for the user:
it takes several seconds (at least on my laptop cam) to obtain enough "clear" frames that count into the strong_count.

So I am lowering the strong_count to 2, down from CAMERA_FPS/3,
which makes it easier to scan, and I still haven't seen false positives even with this value.
2025-01-10 12:59:56 +00:00
SomberNight
838490fea4 adb.add_transaction: try to ser-deser tx early
Previously calling add_transaction with a malformed Transaction obj could
result in an exception late in the flow, after the walletdb was already side-effected.
Rollback of such side-effects is not implemented :/
  but this small patch should at least cover and prevent some common cases.

```
File "/opt/electrum/electrum/address_synchronizer.py", line 358, in add_transaction
  self.db.add_transaction(tx_hash, tx)
File "/opt/electrum/electrum/json_db.py", line 42, in wrapper
  return func(self, *args, **kwargs)
File "/opt/electrum/electrum/wallet_db.py", line 1434, in add_transaction
  tx = tx_from_any(str(tx))
File "/opt/electrum/electrum/transaction.py", line 1339, in tx_from_any
  raise SerializationError(f"Failed to recognise tx encoding, or to parse transaction. "
```
2025-01-10 12:24:26 +00:00
SomberNight
ce843fd454 Merge branch 'pr/9417': fix: add extra check to script_GetOp
manual merge of squashed https://github.com/spesmilo/electrum/pull/9417
2025-01-10 12:01:33 +00:00
SomberNight
043be2439e follow-up prev: add testcase and minor formatting
(minor reshuffling of check so that it matches following line
 and is more clear it is a bounds check)
2025-01-10 11:59:15 +00:00
thecockatiel
ddb67d9bca fix: transaction.py: add extra check to script_GetOp 2025-01-10 11:59:11 +00:00
ThomasV
fefd123275 wallet: always include wanted_height (for future tx) 2025-01-10 10:41:54 +01:00
ghost43
2547ac4e30 Merge pull request #9412 from f321x/plugin_hash
Add filehash of external plugins to PluginDialog
2025-01-09 17:54:24 +00:00
f321x
ea10c7cfc1 add filehash of external plugins to PluginDialog
remove hashlib import

add filehash of external plugins to PluginDialog

add emptyline

add filehash of external plugins to PluginDialog
2025-01-09 18:15:12 +01:00
SomberNight
30028520e0 qml/qeinvoice.py: show error details when scanning e.g. lnurl-withdraw
saying the lnurl type is not supported is more informative than "could not resolve"
2025-01-09 16:10:46 +00:00
SomberNight
01c913ddc8 build: update pinned deps: add nostr related stuff
follow-up https://github.com/spesmilo/electrum/pull/9260
7fdf1e0669
2025-01-09 14:57:33 +00:00
SomberNight
264a5fe421 qt gui: add command for console use: "scan_qr()"
try
```
>>> scan_qr().data
```
to read a qr code from the screen
2025-01-09 12:18:10 +00:00
ThomasV
c4443b841f Merge pull request #9410 from f321x/fix_user_cancelled_swap
Catch UserCancelled exception in main window on user swap cancellation
2025-01-09 11:15:08 +01:00
f321x
c4fe8433c0 catch UserCancelled exception in main window 2025-01-09 11:12:30 +01:00
ThomasV
d2fa65b9aa fix qt wizard (follow-up 693210edbe) 2025-01-06 11:46:20 +01:00
ThomasV
ebff5b545d lnpeer: replace assert active_forwarding with if. force both incoming and outgoing MPP in test_mpp_consolidation 2025-01-06 11:09:45 +01:00
ThomasV
33d0e6dbec Attach labels to outpoints instead of txids.
Move labels logic from lnworker to wallet.

Due to batching, a single transaction may have several labels attached to it.
2025-01-03 10:54:11 +01:00
ThomasV
4d9c33c33f Qt: disable swapserver dialog if we are using http 2025-01-03 10:39:24 +01:00
ThomasV
29a8c41025 move watchtower to a plugin.
remove watchtower dialog in qt
2024-12-20 15:34:26 +01:00
ThomasV
7113cec4c7 minor fix, follow-up ee42e09387 2024-12-20 15:33:47 +01:00
ThomasV
ac1c9f088d Anchor channels: require deterministic wallet with software keystore.
This ends LN support in hardware and watching-only wallets.
2024-12-20 10:17:51 +01:00
ThomasV
ee42e09387 anchor channels: unlock wallet on startup if the wallet has channels 2024-12-20 10:10:07 +01:00
ThomasV
693210edbe Qt: stop support for password-protected wallets without
storage encryption.

The password will be needed on startup with anchor channels.

Note that it remains possible to use non-encrypted storage
and keystore encryption with the command line.
2024-12-20 09:24:45 +01:00
ThomasV
692a777da8 coins tab: if we do not know whether we can swap a utxo, assume we can 2024-12-17 17:43:43 +01:00
ThomasV
77ec49ac67 make_unsigned_transaction: ensure coins and inputs do not overlap
(follow-up 8bec974a39)
2024-12-17 10:54:21 +01:00
ThomasV
bae2bbf35d lnsweep: sweep anchor outputs 2024-12-16 12:13:39 +01:00
ThomasV
67470b92b7 lnchannel: fix extract_preimage for MPP.
- enforce MPP in the corresponding regtest.
 - fix get_invoice_status returning inflight if it was settled onchain
2024-12-15 10:46:18 +01:00