ghost43
32b0e62cdc
Merge pull request #9608 from SomberNight/202503_asyncio_gc
...
asyncio: hold our own strong refs for tasks and futures
2025-03-06 16:07:55 +00:00
ThomasV
d5ee678b7f
if a network object is there but fee estimates are not available,
...
raise NoDynamicFeeEstimates in FeePolicy rather than in wallet.
Also, show an error message in Qt
2025-03-06 13:13:01 +01:00
Sander van Grieken
7d8a5cc259
qml: improve QEAmount comments, convert to docstring.
2025-03-06 10:56:28 +01:00
ThomasV
074ede8f12
make_unsigned_transaction: pass merge_duplicate_outputs as
...
a parameter, because it must not be used in some contexts
(e.g. tx batcher).
This makes config.MERGE_DUPLICATE_OUTPUTS a GUI option
2025-03-06 09:22:12 +01:00
SomberNight
0b3a283586
asyncio: hold our own strong refs for tasks and futures
...
see https://docs.python.org/3.13/library/asyncio-task.html#asyncio.create_task :
> Important
>
> Save a reference to the result of this function, to avoid a task
> disappearing mid-execution. The event loop only keeps weak references
> to tasks. A task that isn’t referenced elsewhere may get garbage
> collected at any time, even before it’s done. For reliable
> “fire-and-forget” background tasks, gather them in a collection
ref https://github.com/python/cpython/issues/91887
ref https://github.com/beeware/toga/pull/2814
2025-03-05 17:06:04 +00:00
SomberNight
b88d9f9d06
network: follow-up ProxySettings. make sure probe_tor cleans-up.
...
follow-up 2aa427b4bf
2025-03-05 17:04:49 +00:00
ThomasV
943f6436c7
make_unsigned_transaction: make some parameters non-optional
2025-03-05 16:10:27 +01:00
SomberNight
2aa427b4bf
Merge branch 'pr/9507': qt: refactor NetworkChoiceLayout to ProxyWidget+ServerWidget
...
ref https://github.com/spesmilo/electrum/pull/9507
2025-03-05 15:01:05 +00:00
SomberNight
5dc2ae243e
util: refactor Tor-detection to be async
...
- on my PC, with Tor Browser running (socks proxy on port 9150), detect_tor_socks_proxy took ~4.01 seconds
- this was because we probed port 9050, 2 sec timeout, 9051, 2 sec timeout, 9150, ~few ms to succeed
- instead we now probe all ports concurrently
2025-03-05 14:46:47 +00:00
ThomasV
ab14c3e138
tx batching in GUI:
...
- discard config.WALLET_BATCH_RBF
- allow the user to choose base_tx from a list of batching
candidates in ConfirmTxDialog
2025-03-05 14:07:02 +01:00
ThomasV
3b369abf16
make_unsigned_transaction:
...
- use base_tx.remove_signatures(), because it also blanks script_sig
- do not use config.WALLET_SEND_CHANGE_TO_LIGHTNING, as this is
passed as a parameter.
2025-03-05 14:05:41 +01:00
ThomasV
d97ce7ed73
minor fix, follow-up #9597
2025-03-05 11:31:35 +01:00
Sander van Grieken
f1e9abf04e
qt,qml: review rework, refactor spinner, add tor probe active indicator
2025-03-05 10:52:25 +01:00
ThomasV
580457aa58
Merge pull request #9597 from spesmilo/fee_policies
...
separate fee policy from config
2025-03-05 10:44:42 +01:00
ThomasV
840243e029
separate fee policy from config
...
- Wallet.make_unsigned_transaction takes a FeePolicy parameter
- fee sliders act on a FeePolicy instead of config
- different fee policies may be used for different purposes
- do not detect dust outputs in lnsweep, delegate that to lnwatcher
2025-03-05 10:29:26 +01:00
ThomasV
6234cbf97b
Merge pull request #9603 from spesmilo/gossip_info
...
gossip: less log lines, use command line instead
2025-03-05 08:23:19 +01:00
ghost43
2cae6bb0ab
Merge pull request #9604 from SomberNight/202503_ci_py313
...
tests: run debug-mode unittests on python 3.13
2025-03-04 16:10:09 +00:00
ghost43
718a5137dd
Merge pull request #9588 from f321x/jit-accept-non-recoverable
...
Refector on_channel_open to accept incoming channels if the source is a trusted zeroconf node
2025-03-04 16:06:55 +00:00
f321x
cb56f0873d
improve ChannelType option check
2025-03-04 17:03:55 +01:00
SomberNight
f13983015d
tests: run debug-mode unittests on python 3.13
2025-03-04 15:50:36 +00:00
SomberNight
ffc84ab7d3
tests: fix warning in test_lntransport.py::TestLNTransport::test_loop
...
$ python3 -X dev -m pytest tests/test_lntransport.py
```
=============================== warnings summary ===============================
tests/test_lntransport.py::TestLNTransport::test_loop
/usr/local/lib/python3.11/asyncio/streams.py:414: ResourceWarning: unclosed <StreamWriter transport=<_SelectorSocketTransport closing fd=15 read=idle write=<idle, bufsize=0>> reader=<StreamReader transport=<_SelectorSocketTransport closing fd=15 read=idle write=<idle, bufsize=0>>>>
warnings.warn(f"unclosed {self!r}", ResourceWarning)
```
2025-03-04 15:49:22 +00:00
ThomasV
1201b87ad7
Merge pull request #9587 from f321x/jit-invoice-creation
...
Disable mpp flags in invoice creation if jit channel is required and consider available liquidity
2025-03-04 16:07:54 +01:00
f321x
d62eb7ab13
disable mpp flags in invoice creation if jit channel is required, check against available liquidity if we need a jit channel
2025-03-04 15:24:03 +01:00
ThomasV
96d0dad41c
gossip: less log lines, use command line instead
2025-03-04 14:33:54 +01:00
f321x
bc90f517d1
check if channel type before checking if zeroconf option
2025-03-04 14:28:17 +01:00
Sander van Grieken
fea598cfbe
network: create ProxySettings class replacing dict and encapsulating proxy related funcs,
...
allow enable/disable proxy without nuking proxy mode, host and port (explicit enable_proxy config setting),
move tor probe from frontend to backend code, add probe buttons for Qt and QML
2025-03-04 14:23:33 +01:00
Sander van Grieken
f2b1d09a88
qt: tor icon click opens network dialog on proxy tab
2025-03-04 14:23:33 +01:00
Sander van Grieken
182c3d3081
qt: refactor NetworkChoiceLayout to ProxyWidget+ServerWidget
2025-03-04 14:23:33 +01:00
ThomasV
5f70dd0bd2
Merge pull request #9542 from f321x/gossip_forwarding
...
Introduce incoming gossip query handling and forwarding
2025-03-04 14:07:44 +01:00
f321x
6d498667ef
add inline method to forward gossip with semaphore
2025-03-04 13:10:37 +01:00
f321x
d348da811a
introduce gossip query handling and forwarding
2025-03-04 13:10:37 +01:00
ThomasV
496c6e06a0
Merge pull request #9599 from oren-z0/avoid-loading-same-font-twice
...
Cache font-ids that were already loaded
2025-03-04 12:08:01 +01:00
Oren
0618fff03c
Cache font-ids that were already loaded
...
`get_font_id` also saves the trouble of
specifying the entire path of the fonts.
2025-03-04 12:11:30 +02:00
ThomasV
fad6559150
Merge pull request #9600 from SomberNight/202503_config_cv_setter
...
config: raise on setting mistyped or non-existent ConfigVar
2025-03-04 10:02:43 +01:00
SomberNight
f445a476f9
config: raise on setting mistyped or non-existent ConfigVar
2025-03-03 17:41:23 +00:00
accumulator
016da31a0a
Merge pull request #9595 from accumulator/move_fonts_all_guis
...
qt,qml: move fonts to /electrum/gui for use in all guis.
2025-03-03 14:36:50 +01:00
ThomasV
0e40be5fb5
swaps: replace request_swap_for_tx with request_swap_for_amount,
...
as this uses less side effects
(change backported from batch_payment_manager)
2025-03-03 14:02:29 +01:00
Sander van Grieken
fc2d43acfd
qt,qml: move fonts to /electrum/gui for use in all guis.
2025-03-03 13:47:03 +01:00
ThomasV
77a00db52a
get_full_history: make sure 'ln_value' and 'bc_value' are in every item
2025-03-03 10:37:44 +01:00
SomberNight
0a093754d7
bitcoin.py: rm bip340_tagged_hash (duplicated from electrum_ecc)
2025-03-01 18:18:52 +00:00
SomberNight
fc093f8a93
verifier.py: fix typo
2025-02-28 16:46:29 +00:00
ghost43
8eb26e38a2
Merge pull request #9591 from f321x/settings_dialog
...
Make question dialog of trampoline checkbox child of SettingsDialog
2025-02-28 16:25:23 +00:00
f321x
dd1f786951
make question dialog child of SettingsDialog
2025-02-28 16:41:53 +01:00
f321x
6a0e537b9c
accept incoming channels if its from trusted zeroconf node
2025-02-28 12:56:33 +01:00
ThomasV
4917f7e3ce
fix balance sanity check in get_lightning_history
2025-02-28 09:42:24 +01:00
ThomasV
5ce80332ec
Qt: do not expose watchtower in settings
...
running a watchtower requires to be able to run a daemon with the
watchtower plugin enabled. If users succeed at doing that, we
can expect them to be able to configure theclient using the
command line.
(that would not work with QML, though. maybe QML could use an
advanced config editor)
2025-02-26 12:32:38 +01:00
ThomasV
8a96c88615
remove config vars WALLET_BIP21_LIGHTNING and WALLET_BOLT11_FALLBACK (see #9580 )
2025-02-26 11:41:59 +01:00
ThomasV
2038c0df0c
follow-up 376d881154
...
please run 'git submodule update'
2025-02-26 11:27:42 +01:00
Sander van Grieken
376d881154
qml: always initialize BtcField.textAsSats
2025-02-26 11:02:12 +01:00
SomberNight
3140c78ab1
qt: follow-up LN/onchain req sep: consistent URI/bolt11 errors
...
- if we show error for LN request, we should also show error for LN-only bip21 URI
follow-up af0ac40478
- for LN request, show better error msg if don't have any channels
closes https://github.com/spesmilo/electrum/issues/9413
note: would be nice if qml GUI could reuse this logic (wallet.get_help_texts_for_receive_request)
2025-02-25 15:03:53 +00:00