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