Commit Graph

3409 Commits

Author SHA1 Message Date
accumulator
1e403adf42 Merge pull request #9277 from accumulator/qml_tx_signing_flow
qml: refactor QEWallet.sign() to sign() and sign_and_broadcast(), add user feedback when signing fails.
2024-10-28 15:27:40 +01:00
accumulator
3f3c776124 Merge pull request #9279 from accumulator/qt_wizard_musig_user_feedback
qt: wizard: implement user feedback TODOs, consistently use wizard.check_multisig_constraints
2024-10-28 14:15:36 +01:00
Sander van Grieken
1363d8c878 qml: remove unused signals QEWallet.signSucceeded and QEWallet.signFailed 2024-10-28 10:08:32 +01:00
Sander van Grieken
a1a28afee6 qt: simplify df2a6f5 2024-10-24 16:41:47 +02:00
Sander van Grieken
624de1d43c qml: show invalid derivation path message to user in WCScriptAndDerivation 2024-10-24 16:40:02 +02:00
Sander van Grieken
df2a6f54d3 qt: don't remove seed_warning for new seeds when ext option gets enabled 2024-10-24 16:37:03 +02:00
Sander van Grieken
3aa12cd97f qml: allow direct seed edit when platform is not android
useful for debugging
2024-10-24 16:19:07 +02:00
Sander van Grieken
6bc15e21ba qml: fix display validation error in WCHaveSeed 2024-10-24 16:18:00 +02:00
Sander van Grieken
4a37668b01 wizard: don't require seed extension to be set early.
this also fixes deferring multisig constraint validation when seed is same as another cosigner,
but still can have different seed extension
2024-10-24 16:07:00 +02:00
Sander van Grieken
adb567b20f qt: wizard: implement user feedback TODOs, consistently use wizard.check_multisig_constraints 2024-10-24 14:48:39 +02:00
Sander van Grieken
06efe25ae7 qt: wizard: focus Next by default, focus Back/Cancel last 2024-10-24 14:26:52 +02:00
Sander van Grieken
6bbc5f8553 qt: wizard: keep wizard stack in a consistent state if load_next_component raises 2024-10-24 12:33:12 +02:00
Sander van Grieken
96f7d91e3a qml: improve validation of pubkey/connectstring 2024-10-23 16:09:28 +02:00
ghost43
82a29b7b86 Merge pull request #9275 from SomberNight/20241022_tx_fee_warnings
qml: qetxfinalizer: use wallet.get_tx_fee_warning in all subclasses
2024-10-23 12:56:43 +00:00
Sander van Grieken
71d8f8b33c qml: followup prev. As now since c90c87afb9 there's always a confirmation popup, we
can use Pay... here
2024-10-23 13:08:58 +02:00
Sander van Grieken
c6cd47ebba qml: refactor QEWallet.sign() to sign() and sign_and_broadcast(), add user feedback when signing fails. 2024-10-23 12:02:01 +02:00
Sander van Grieken
0f26f38d18 qml: use Pay... on buttons where payment is not immediate on press, fix trustedcoin icon in OtpDialog 2024-10-23 11:45:42 +02:00
SomberNight
c648cd1bae qml: qetxfinalizer: use wallet.get_tx_fee_warning in all subclasses
to show high fee warnings for RBF/dscancel
2024-10-22 18:40:56 +00:00
SomberNight
c90c87afb9 qml: QEWallet.sign: prompt for confirmation even if no PIN is set
it would probably be better to also tell the user if the tx is going to be broadcast
2024-10-22 17:10:15 +00:00
SomberNight
ca86c7eb44 qt tx_dialog: also show high-fee warnings for self-payments
e.g. if you consolidate own utxos, the "amount sent" in the dialog is zero,
but for high fee warnings that's not the amount we should be comparing against
2024-10-22 15:06:26 +00:00
SomberNight
ffb8f42259 qt rbf_dialog: set output_value properly
to also show high fee warnings for bump_fee/dscancel flows

fixes https://github.com/spesmilo/electrum/issues/9273
2024-10-22 15:04:06 +00:00
ThomasV
c58c4d7451 Make lntransport not require lnutil.
This will be useful if we decide to ship lntransport as a separate
package. It is also a conceptual cleanup.

Notes:
 - lntransport still requires crypto.py
 - parsing node id from a bolt11 invoice is not supported.
2024-10-22 09:26:36 +02:00
SomberNight
8db2489739 qt gui: faster clean-up of hung UpdateCheckThread during exit
If you closed a main_window soon after opening it, and the UpdateCheckThread network request was slow
and still in progress, the gui would freeze until the network request finished.
2024-10-21 18:28:32 +00:00
Sander van Grieken
fd21a3bec2 qt: wizard: fix type hint, avoid shadowing builtin 'next' 2024-10-21 16:14:58 +02:00
ThomasV
6635e40a2c confirm_tx dialog: provide feedback to the user when tx is not ready 2024-10-18 16:04:10 +02:00
ThomasV
2fd70d5d94 qt: replace BlockingWaitingDialog with RunCoroutineDialog
RunCoroutineDialog has a run() method that blocks the thread
without blocking the GUI (using exec), and a Cancel button
that cancels the coroutine.

main_window.run_coroutine_dialog() is a wrapper that returns
the coroutine result and may raise exceptions.

BlockingWaitingDialog was removed is transaction_dialog,
where it was not particularly useful.
2024-10-18 12:37:54 +02:00
ThomasV
eccc5900e0 move plugin icons to plugins 2024-10-17 13:32:30 +02:00
SomberNight
e84679982e qt tx dlg: fix showing fee warnings
In qt, only the confirm_tx_dialog was showing the fee warnings, the transaction_dialog was not...

regression from bc3946d2f4
2024-10-16 12:42:58 +00:00
Sander van Grieken
b8f12abfe4 qml: sweep: properly wrap text 2024-10-15 11:54:08 +02:00
ThomasV
267df91c0b send tab: catch exception raised if swap server is unreachable,
show error to the user.
(similar to main_window.run_swap_dialog)
2024-10-14 18:40:15 +02:00
Sander van Grieken
b22fb329cc coldcard: small fixes 2024-10-14 12:04:37 +02:00
accumulator
f7d3a850ba Merge pull request #9237 from accumulator/fix_2fa_keystore_only_encryption
trustedcoin: fix continuation of 2fa wallet file with keystore-only encryption
2024-10-14 11:50:18 +02:00
accumulator
5aa0d52121 Merge pull request #9248 from accumulator/issue7682_and_cc_bugs
coldcard: rebase #7682 and fix CC bugs
2024-10-14 11:43:30 +02:00
accumulator
d19f1f4790 Merge pull request #9245 from accumulator/qt_refactor_layouts_to_widgets
qt: refactor SeedLayout/KeysLayout to SeedWidget/KeysWidget, remove t…
2024-10-14 11:42:27 +02:00
Sander van Grieken
9e1c1bd0ad trustedcoin: fix continuation of 2fa wallet file with keystore-only encryption 2024-10-14 11:32:15 +02:00
ThomasV
5928dbbc47 qt normal swap dialog: do not use run_from_another_thread, as it is blocking 2024-10-13 09:53:14 +02:00
ThomasV
92d566f50e normal swaps message: put TLDR at the beginning! 2024-10-13 09:52:11 +02:00
avirgovi
572252abcd coldcard: rebase #7682 and fix CC bugs 2024-10-12 09:23:02 +02:00
SomberNight
395618723b qt: tray icon: don't show "network" if --offline 2024-10-11 18:48:49 +00:00
Sander van Grieken
97a7136b5f qt: refactor SeedLayout/KeysLayout to SeedWidget/KeysWidget, remove the hacks left over from old to new wizard and
update validation in all cases (e.g. validate electrum seed when switching from bip39 to electrum in options dialog)
2024-10-11 17:08:33 +02:00
ThomasV
3721f04ac8 replace electrum/ecc with electrum_ecc package 2024-10-10 15:46:00 +00:00
SomberNight
6e46fb329d qml/qeapp.py: (trivial) use os.path.join for constructing path
There is an issue with plyer on Windows, which I thought was related to the mixed
backwards/forward slashes in the path, but no, this change still did not fix it:
```
  1.84 | D | gui.qml.qeapp.QEAppController | sending push notification to OS: message='heyheyhey'
Traceback (most recent call last):
  File "...\electrum\electrum\util.py", line 1111, in run_with_except_hook
    run_original(*args2, **kwargs2)
  File "...\Python310\lib\threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "...\plyer\platforms\win\libs\balloontip.py", line 206, in balloon_tip
    WindowsBalloonTip(**kwargs)
  File "...\plyer\platforms\win\libs\balloontip.py", line 130, in __init__
    raise Exception('Could not load icon {}'.format(app_icon))
Exception: Could not load icon ...\electrum\electrum\gui\icons\electrum.png
```
2024-10-10 15:42:39 +00:00
Sander van Grieken
fbca54db49 qml: styling OpenChannelDialog 2024-10-10 12:50:16 +02:00
Sander van Grieken
94c54f7057 qml: sweep: allow sweep to watch-only wallet, but ask confirmation. 2024-10-09 17:45:40 +02:00
SomberNight
48527b1501 sweep: trivial clean-up
- wallet.get_receiving_addresses is guaranteed to exist (maybe it was only for HD wallets in the past)
- wallet.is_mine is stricter than wallet.adb.is_mine, usually we want the former
2024-10-09 15:09:49 +00:00
Sander van Grieken
d918067f77 qml: sweep: just use wallet.get_receiving_address() 2024-10-09 16:55:43 +02:00
Sander van Grieken
831aa80661 qml: remove pageindicator from wizard 2024-10-09 16:38:28 +02:00
Sander van Grieken
8ff7457bf2 qml: styling Pin dialog, fix size glitching 2024-10-09 12:11:46 +02:00
accumulator
117c7b2c2a Merge pull request #9203 from accumulator/qml_sweep_privkeys
qml: Sweep from privkeys
2024-10-09 11:14:00 +02:00
Sander van Grieken
3cabbf7caa qml: sweep: obtain wallet address like desktop 2024-10-09 11:06:59 +02:00