Commit Graph

3438 Commits

Author SHA1 Message Date
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
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
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
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
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
bitromortac
f746e2cc6b qt: add anchor channel icon
source: https://tabler-icons.io/anchor
2024-11-21 11:59:06 +01:00
ThomasV
a04844b451 fix #9282 2024-11-18 08:43:47 +01:00
Sander van Grieken
fec2768692 qml: fix check when swap enabled 2024-11-15 02:14:16 +01:00
Sander van Grieken
7ee863f225 wizard: hint for primary signer xpub instead of xprv 2024-11-13 14:51:14 +01:00
ThomasV
efb2bc1133 Merge pull request #9285 from accumulator/qt_wizard_validate_master_key
qt: additional validation for master keys in WCHaveMasterKey in wallet wizard
2024-11-13 10:27:12 +01:00
ThomasV
60f13a977e Swaps over Nostr
- Separation between SwapManager and its transport:
   Legacy transpport uses http, Nostr uses websockets
 - The transport uses a context to open/close connections.
   This context is not async, because it needs to be called
   from the GUI
 - Swapserver fees values are initialized to None instead
   of 0, so that any attempt to use them before the swap
   manager is initialized will raise an exception.
 - Remove swapserver fees disk caching (swap_pairs file)
 - Regtests use http transport
 - Android uses http transport (until QML is ready)
2024-11-12 09:32:25 +01:00
ThomasV
7fdf1e0669 add nostr, and nostr_relays in config 2024-11-12 08:52:42 +01:00
accumulator
499e02fdcc Merge pull request #9290 from accumulator/qt_wizard_initial_focus
qt: add WizardComponent.initialFocus()
2024-11-05 20:24:37 +01:00
accumulator
3fbceacca2 Merge pull request #9284 from accumulator/update_recently_opened_sync
qt: keep list of recently used wallets in sync across windows
2024-11-05 15:02:38 +01:00
ThomasV
02e6c49fa6 Qt: fix tx grouping issue arising if onchain tx of a swap does not get mined. 2024-11-05 08:46:53 +01:00
Sander van Grieken
2134fcc4dc qml: fix InfoTextArea text sometimes out of bounds 2024-11-01 17:35:37 +01:00
Sander van Grieken
f2e590ae81 qt: add WizardComponent.initialFocus() which specifies the control to focus. If undefined, the Next button is focused by default 2024-10-29 12:03:57 +01:00
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
Sander van Grieken
fd12668da4 qt: additional validation for master keys in WCHaveMasterKey in wallet wizard 2024-10-28 14:30:56 +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
2113cd4f2e qt: keep list of recently used wallets in sync across windows
this also removes alpha-sort of the wallet list in favor of
placing most recently opened on top
2024-10-28 10:59:57 +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