1
0
Commit Graph

18431 Commits

Author SHA1 Message Date
f321x
396800be61 fix: exception in suggest_swap_to_send due to missing method
can_pay_onchain has been removed in commit 840243e but
suggest_swap_to_send was still calling it causing an exception.
2025-05-05 12:41:41 +02:00
ThomasV
5993f95282 Merge pull request #9777 from accumulator/nostr_relays_config_description
config: update description for nostr_relays
2025-05-04 11:25:24 +02:00
ThomasV
59a283a0cc Merge pull request #9778 from accumulator/qt_richlabel
plugins: coldcard: use RichLabel, org imports
2025-05-04 11:20:37 +02:00
ThomasV
1eb489b961 Qt: set main_window.need_update if new transaction is added 2025-05-04 11:13:03 +02:00
accumulator
79ac87f739 Merge pull request #9783 from f321x/add_revealer_infos
plugin: add help text to revealer plugin
2025-05-02 16:13:21 +02:00
Sander van Grieken
eda88b2972 lnaddr: fix outdated doc reference to lnworker._check_invoice
(and clean some imports/whitespace while we're at it)
2025-05-02 15:57:01 +02:00
f321x
31a9934e59 plugin: add help text to revealer plugin
there is no available documentation on what this plugin does or how it
works, also the concept isn't well known. By adding some information in
the form of a help box the user can understand the concept of what this
plugin does and how it is used.
2025-05-02 14:02:25 +02:00
accumulator
d8551990e4 Merge pull request #9773 from f321x/improve_relay_string_input
qt: validate and deduplicate relay config input in qt gui
2025-05-02 10:36:22 +02:00
f321x
ee7d2ee17d validate and deduplicate relay config input in qt gui
Adds validation and deduplication of the relay urls entered in the QT
settings dialog. This is supposed to prevent malformed or duplicated
relay entries.
Also resets the relays to the default value if no (valid) url
is entered. This prevents the user from getting stuck without relays
(otherwise the user would have to research for relay urls manually if
they don't know any).
2025-05-02 09:03:27 +02:00
accumulator
4b23ca1949 Merge pull request #9757 from accumulator/qml_nostr_servers_config
qml: add nostr relay config in NetworkOverview and add relay edit dialog
2025-05-01 14:11:38 +02:00
Sander van Grieken
7146e320f0 plugins: coldcard: use RichLabel, org imports
qt/util.py: introduce RichLabel, allows link select and open
2025-05-01 12:06:16 +02:00
accumulator
83ac15935a Merge pull request #9772 from f321x/fix_suggest_peer
fix: don't suggest onion peers for channel opening
2025-05-01 10:53:13 +02:00
accumulator
1ae12d967d Merge pull request #9775 from f321x/fix_block_exception_dialog
fix: blocked Exception_Window by setting modality
2025-05-01 10:46:51 +02:00
Sander van Grieken
1cfae1edd7 config: update description for nostr_relays 2025-05-01 10:42:57 +02:00
Sander van Grieken
fcaa39b0dc qml: add nostr relay config in NetworkOverview and add relay edit dialog 2025-05-01 10:31:36 +02:00
Sander van Grieken
b12206482a android: remove setting SWAPSERVER_URL in config at startup for android.
This config var should have never been saved to the config file, therefore it is safe to remove
instead of setting to '' to overwrite any existing value.
2025-05-01 09:53:35 +02:00
f321x
2836d84d1d fix: blocked Exception_Window by setting modality
If some dialogs are open while an exception was raised the input of
Exception_Window is blocked and the user cannot click the button to
submit the issue report. Only if the other dialog is closed
Exception_Window starts responding. By setting the modality of
`Exception_Windows` to `ApplicationModal` the `Exception_Window` will
get the 'highest priority' and accepts input even if other dialogs are
open.
2025-04-30 16:34:19 +02:00
ThomasV
9ce21173ec Merge pull request #9770 from f321x/plugin_update
plugins: handle updating plugins from plugin manager
2025-04-30 14:17:01 +02:00
ThomasV
02601921cd Merge pull request #9771 from f321x/fix_tx_dialog_exception
fix: type error when loading psbt with lnworker enabled
2025-04-30 13:54:32 +02:00
ThomasV
f5d97744ba Merge pull request #9769 from f321x/fix_plugins_dialog_bad_state
fix: PluginsDialog bugs causing exceptions
2025-04-30 13:52:19 +02:00
f321x
7e4f87b564 fix: don't suggest onion peers for channel opening
`suggest_node_channel_open()` did suggest peers with onion hostname,
even if the caller has no proxy enabled. This causes channel openings in
the gui to sometimes just not work and show a `CancelledError()` becaues
it wasn't able to connect to the peer.
Now only clearnet peers will get recommended, as these will always work.
2025-04-30 11:24:46 +02:00
f321x
955d3cfc6d fix: type error when loading unsigned transaction 2025-04-29 16:19:33 +02:00
f321x
3bfe1d2d28 handle loading plugins with same name as installed plugin (update) 2025-04-29 15:30:26 +02:00
f321x
84632f53d2 fix: bring dialog to front after reloading
When reloading the windows, e.g. after enabling or disabling a plugin,
the plugins dialog vanished behind the main window. By using a
Timer its possible to bring the Dialog back in front after the windows
have reloaded.
2025-04-29 13:09:19 +02:00
f321x
eed944368c fix: download_plugin_dialog has no access to run_coroutine_dialog
download_plugin_dialog tried to run the zip download with
self.window.run_coroutine_dialog, but self has no window,
instanciating a RunCoroutineDialog directly fixes this.
2025-04-29 13:09:19 +02:00
f321x
1cce216c1f fix: prevent PluginsDialog from getting in bad state
If the plugin file got already deleted while being in the installation
dialog, trying to delete it again will raise an exception.
This is fixed by catching the exception.

If the user tries to install an external plugin that is already
installed, and then closes the PluginDialog, the PluginsDialog will
get into a bad state, throwing an exeption when opening it. This
happens because the add_plugin_dialog deletes the zipfile if the
user closes or cancels the installation dialog.
This is fixed by checking if the plugin is already existing,
instead of trying to install an already existing plugin.
2025-04-29 13:09:19 +02:00
accumulator
4a8590077e Merge pull request #9749 from SomberNight/202504_harden_memory_linux
add harden_memory_linux: harder for other processes to read our memory
2025-04-28 22:02:48 +02:00
accumulator
3e80d47529 Merge pull request #9755 from f321x/psbt_nostr_proxy
plugin: psbt_nostr: use proxy in psbt cosigning plugin
2025-04-28 22:01:04 +02:00
accumulator
19a159b368 Merge pull request #9756 from f321x/use_relays_directly
plugin: psbt_nostr: read psbt cosigning relays directly from config
2025-04-28 22:00:05 +02:00
accumulator
80e7dce539 Merge pull request #9736 from f321x/swapserver_show_amounts
swaps: show swap limits in SwapDialog
2025-04-28 21:59:33 +02:00
accumulator
a7ce107f01 Merge pull request #9737 from f321x/fix_swap_pay_invoice
swaps: don't limit attempts when paying swap invoice
2025-04-28 21:50:23 +02:00
ThomasV
a511ab8e78 lnwatcher.maybe_extract_preimage: early return if tx is unsigned 2025-04-25 13:31:42 +02:00
accumulator
ea03c673e9 Merge pull request #9759 from accumulator/common_taskthread
qt,qml: move TaskThread to common_qt
2025-04-25 09:37:56 +02:00
accumulator
0839229222 Merge pull request #9763 from f321x/fix_9761
qt: fix OverlayControlMixin.add_menu_button type error, fix type hints
2025-04-24 10:13:14 +02:00
Sander van Grieken
ae906fb17c wallet: imports, whitespace, typing hints 2025-04-24 10:09:48 +02:00
f321x
ee8d53b96e fix OverlayControlMixin.add_menu_button type error, fix type hints 2025-04-24 09:32:29 +02:00
Sander van Grieken
41c0558595 exchange_rate: imports, type hints 2025-04-24 09:19:07 +02:00
Sander van Grieken
0ccdddf46a logging levels
lnpeer: received orphan channel update -> debug
exchange_rate: received quotes -> debug
2025-04-24 09:10:59 +02:00
Sander van Grieken
64a160027a imports, whitespace, type hints 2025-04-23 16:09:31 +02:00
Sander van Grieken
c89e8f6f03 qt,qml: move TaskThread to common_qt 2025-04-23 15:24:02 +02:00
Sander van Grieken
960e4ba583 android: update plugin exclude list 2025-04-23 14:50:22 +02:00
f321x
e3a3b65c03 use network proxy in psbt cosigning plugin 2025-04-23 13:54:35 +02:00
f321x
6f5cc7b273 read psbt cosigning relays directly from config 2025-04-23 11:36:38 +02:00
ThomasV
37f0f539c8 Qt: add message argument to get_password 2025-04-22 17:10:30 +02:00
ThomasV
c6a5f4f084 txbatcher: do not sweep anchor outputs if ctx has been mined 2025-04-22 16:39:38 +02:00
ThomasV
89346eda6c Merge pull request #9722 from f321x/enable_anchors_default
lightning: enable anchor channels by default
2025-04-22 14:32:21 +02:00
ThomasV
5bea2c6f6c TxBatcher: detect if base tx has been replaced.
Alow user to bump fee of txbatcher transaction from GUI
2025-04-22 14:12:05 +02:00
ThomasV
bcf60fffe3 relative timelocks: also check that nVersion >= 2 2025-04-22 13:28:05 +02:00
Oren
2fb0dd066f Timelock Recovery Extension (#9589)
* Timelock Recovery Extension

* Timelock Recovery Extension tests

* Use fee_policy instead of fee_est

Following 3f327eea07

* making tx with base_tx

Following ab14c3e138

* move plugin metadata from __init__.py to manifest.json

* removing json large indentation

* timelock recovery icon

* timelock recovery plugin: fix typos

* timelock recovery plugin: use menu instead of status bar.

The status bar should be used for displaying status. For example,
hardware wallet plugins use it because their connection status is
changing and needs to be displayed.

* timelock recovery plugin: ask for password only once

* timelock recovery plugin: ask whether to create cancellation tx in the initial window

* remove unnecessary code.

(calling run_hook from a plugin does not make sense)

* show alert and cancellation address at the end.

skip unnecessary dialog

* timelock recovery plugin: do not show transactions one by one.

Set the fee policy in the first dialog, and use the same fee
policy for all tx. We could add 3 sliders to this dialog, if
different fees are needed, but I think this really isn't
really necessary.

* simplify default_wallet for tests

All the lightning-related stuff is irrelevant for
this plugin.

Also use a different destination address
for the test recovery-plan (an address
that does not belong to the same wallet).

* Fee selection should be above fee calculation

also show fee calculation result with "fee: " label.

* hide Sign and Broadcast buttons during view

* recalculate cancellation transaction

The checkbox could be clicked after the fee rate
has been set. Calling update_transactions() may seem
inefficient, but it's the simplest way to avoid such edge-cases.

Also set the context's cancellation transaction to None when the
checkbox is unset.

* use context.cancellation_tx instead of checkbox value

context.cancellation_tx will be None iff the checkbox was unset

* hide cancellation address if not used

* init monospace font correctly

* timelock recovery plugin: add input info at signing time.

Fixes trezor exception: 'Missing previous tx'

* timelock recovery: remove unused parameters

* avoid saving the tx in a separate var

fixing the assertions

* avoid caching recovery & cancellation inputs

* timelock recovery: separate help window from agreement.

move agreement at the end of the flow, rephrase it

* do not cache alert_tx_outputs

* do not crash when not enough funds

not enough funds can happen
when multiple addresses are specified
in payto_e, with an amount larger
than the wallet has - so we set
the payto_e color to red.

It can also happen when the user
selects a really high fee, but this
is not common in a "recovery"
wallet with significant funds.

* If files not saved - ask before closing

* move the checkbox above the save buttons

people read the text from top to
bottom and may not understand
why the buttons are disabled

---------

Co-authored-by: f321x <f321x@tutamail.com>
Co-authored-by: ThomasV <thomasv@electrum.org>
2025-04-22 10:02:01 +02:00
ThomasV
c12eb31d88 qt main_window: add get_password utility function 2025-04-22 09:41:26 +02:00