Commit Graph

2988 Commits

Author SHA1 Message Date
Sander van Grieken
7a2633b2de flake happifier 2023-09-20 14:34:31 +02:00
Sander van Grieken
902290ee8c qt: multisig checks with hardware cosigners 2023-09-20 14:34:31 +02:00
Sander van Grieken
d3a1cef9ba create ChoiceWidget, refactor ChoicesLayout to ChoiceWidget 2023-09-20 14:34:31 +02:00
Sander van Grieken
b7ed4c569b wip. trezor works for standard wallet, also for cosigners 2023-09-20 14:34:31 +02:00
Sander van Grieken
3c232d70d1 small fixes 2023-09-20 14:34:31 +02:00
Sander van Grieken
571d16314f qt: introduce electrum/gui/qt_common, implement remaining trustedcoin views,
unify most qml and qt wizard code for trustedcoin,
separate non-GUI trustedcoin wizard definition to trustedcoin.py
2023-09-20 14:34:31 +02:00
Sander van Grieken
0de6216560 qt: have_seed and create_seed support 2fa 2023-09-20 14:34:30 +02:00
Sander van Grieken
ac5ebb9204 qt: refactor please_wait layout to widget to better control UI, add in-page error view 2023-09-20 14:34:30 +02:00
Sander van Grieken
15773086e5 qt: initial trustedcoin wizard pages 2023-09-20 14:34:30 +02:00
Sander van Grieken
c99f71aefc wizard: imports, flake 2023-09-20 14:34:30 +02:00
Sander van Grieken
a6aff1ec07 qml: check passphrase not empty when checked 2023-09-20 14:34:30 +02:00
Sander van Grieken
a6caa3ffe9 wizard: fix wizard_data instance not isolated between pages,
combine is_bip39_seed and is_slip39_seed into cosigner aware needs_derivation_path
add instance id logging to wizard.log_stack()
qt: add updated signal to SeedLayout
2023-09-20 14:34:30 +02:00
Sander van Grieken
c485753ffd wizard: rename bip39_refine to script_and_derivation 2023-09-20 14:34:30 +02:00
Sander van Grieken
0222c93228 wizard: add support for slip39 2023-09-20 14:34:30 +02:00
Sander van Grieken
d395b97e83 qt: add have_master_key gui, implement cosigners in have_seed and bip39_refine guis
fix adding data from accept handler
2023-09-20 14:34:30 +02:00
Sander van Grieken
e43b005047 qt: implement initial bip39 refine and account detect, restore from seed pages 2023-09-20 14:34:30 +02:00
Sander van Grieken
41cf7f920e qt: implement multisig and import addresses/keys pages 2023-09-20 14:34:30 +02:00
Sander van Grieken
4a12b285e4 qt: submit final state to wizard and return proper dialog result when finished 2023-09-20 14:34:30 +02:00
Sander van Grieken
ffbddb9208 wizard: implement confirm seed and wallet password pages
some styling improvements
2023-09-20 14:34:30 +02:00
Sander van Grieken
113d698e42 wizard: avoid importing from installwizard.py 2023-09-20 14:34:30 +02:00
Sander van Grieken
39f34fd7d1 implement first batch of pages for wallet wizard 2023-09-20 14:34:30 +02:00
Sander van Grieken
1440eab5bf qt wizardcomponent receives qeabstractwizard instance 2023-09-20 14:34:30 +02:00
Sander van Grieken
d651220685 extract proxy and server widgets 2023-09-20 14:34:30 +02:00
Sander van Grieken
9e096fbf1e wizard: remove view from is_last_view call, it's never used 2023-09-20 14:34:30 +02:00
Sander van Grieken
8f0cb38af2 qt: add initial wizard classes for desktop client 2023-09-20 14:34:30 +02:00
Sander van Grieken
3e12d92a41 flake: remove whitespace 2023-09-18 18:03:31 +02:00
ThomasV
b0ff95d7c5 Merge pull request #8619 from SomberNight/202309_config_tooltips
config: move tooltips from Qt gui into configvars
2023-09-18 17:31:48 +02:00
Sander van Grieken
bbfe5225b6 qml: port cancel normal swap feature from desktop client 2023-09-18 16:13:32 +02:00
SomberNight
357ae985cc config: move tooltips from Qt gui into configvars 2023-09-18 13:54:48 +00:00
SomberNight
f58387eaa8 qt settings_dialog: rm unused coinchooser selection 2023-09-18 11:48:02 +00:00
ThomasV
6cd42faa68 QML: show onchain and offchain amounts for groups in txdetails 2023-09-16 15:42:16 +02:00
ThomasV
7eabbbc81f Move history grouping logic from qt GUI to wallet.get_full_history()
Tx groups are now rendered similarly on all GUIs.
2023-09-16 15:39:32 +02:00
SomberNight
4c63d8729b add sanity checks we don't sign tx including dummy addr
Somewhat a follow-up to 649ce979ab.

This adds some safety belts so we don't accidentally sign a tx that
contains a dummy address.
Specifically we check that tx does not contain output for dummy addr:
- in wallet.sign_transaction
- in network.broadcast_transaction

The second one is perhaps redundant, but I think it does not hurt.
2023-09-16 04:36:08 +00:00
SomberNight
956b455954 qt tx dlg: follow-up "send tx change to lightning"
lnworker is None if lightning is disabled.
follow-up 649ce979ab

```
 15.14 | E | gui.qt.exception_window.Exception_Hook | exception caught by crash reporter
Traceback (most recent call last):
  File "...\electrum\electrum\gui\qt\rate_limiter.py", line 231, in wrapper
    return RateLimiter.invoke(rate, ts_after, func, args, kwargs)
  File "...\electrum\electrum\gui\qt\rate_limiter.py", line 79, in invoke
    return rl._invoke(args, kwargs)
  File "...\electrum\electrum\gui\qt\rate_limiter.py", line 91, in _invoke
    return self._doIt()
  File "...\electrum\electrum\gui\qt\rate_limiter.py", line 120, in _doIt
    retval = self.func(*args, **kwargs) # and.. call the function. use latest invocation's args
  File "...\electrum\electrum\gui\qt\transaction_dialog.py", line 745, in _throttled_update
    self.update()
  File "...\electrum\electrum\gui\qt\transaction_dialog.py", line 750, in update
    self.io_widget.update(self.tx)
  File "...\electrum\electrum\gui\qt\transaction_dialog.py", line 243, in update
    insert_tx_io(
  File "...\electrum\electrum\gui\qt\transaction_dialog.py", line 205, in insert_tx_io
    tcf_addr = addr_text_format(addr)
  File "...\electrum\electrum\gui\qt\transaction_dialog.py", line 173, in addr_text_format
    sm = self.wallet.lnworker.swap_manager
AttributeError: 'NoneType' object has no attribute 'swap_manager'
```
2023-09-16 02:21:23 +00:00
Sander van Grieken
24f27618e2 qml: handle no wallet password for authed info 2023-09-15 11:42:49 +02:00
ThomasV
1e96bbc1e8 fix typo (follow-up previous commit) 2023-09-14 16:05:36 +02:00
ThomasV
d03c77837f Let the GUI compute the balance displayed in history.
Since Qt groups swap transactions, the displayed balance
was sometimes incorrect.
2023-09-14 15:58:58 +02:00
ThomasV
9df8bb61a5 Give users an option to cancel a submarine swap while awaiting HTLCs.
Note that HTLCs must not be cancelled after the funding transaction
has been broadcast. If one want to cancel a swap once the funding
transaction is in mempool, one should double spend the transaction.
2023-09-13 16:28:31 +02:00
Sander van Grieken
58dbe6690d qml: create ElCombBox and ElRadioButton that automatically word wrap their text element. Fixes #8611 2023-09-12 17:56:35 +02:00
SomberNight
139eb632d7 (trivial) follow-up paysession.use_two_trampolines arg change
follow-up b2053c68f1

- use_two_trampolines is already passed as arg to init
- strings in gui/messages.py should not end with a newline
2023-09-12 14:05:12 +00:00
ThomasV
aade0e8ef9 disable option SEND_CHANGE_TO_LIGHTNING if we are already doing a swap 2023-09-11 10:46:37 +02:00
ThomasV
649ce979ab send tx change to lightning 2023-09-09 14:14:43 +02:00
SomberNight
976f06f3c6 follow-up kivy removal: rm kivy/theming submodule
Looks like this was not fully removed.

$ git rm --force electrum/gui/kivy/theming/atlas

follow-up b45c84f24f
see https://github.com/spesmilo/electrum/pull/8591
2023-09-06 16:11:04 +00:00
SomberNight
1dd4acce9c Merge branch '202308_rm_kivy'
(PR https://github.com/spesmilo/electrum/pull/8591)
2023-09-06 13:35:57 +00:00
Sander van Grieken
307cf25fd4 register distinction between address and script for SPK type payment identifiers and allow zero amount for
script destinations.

This is mainly to support OP_RETURN outputs, which typically have a zero amount output value,
but as we don't special case OP_RETURN, this is currently done for all non-address scripts

Also, it's probably good to add a warning popup for OP_RETURN outputs with a non-zero output value, but this
would also need special casing for OP_RETURN.

Saving of script output payment identifiers is disabled for now, as reading the script from the stored invoice
back into human-readable form is currently not implemented, and currently only lightning invoices or address output
is supported.
2023-09-04 20:00:40 +02:00
Sander van Grieken
0d96bc1dbd qt/send_tab: fix regressions paymentidentifier
Fix '!' amount expand while PaymentIdentifier not set due to editor pushback timer.
Fix '!' amount expand for BIP21 without a specified payment amount.
2023-09-04 15:55:23 +02:00
Sander van Grieken
a52c715304 qml: show experimental warning before opening first lightning channel. closes #8564 2023-09-04 15:02:40 +02:00
Sander van Grieken
a740a20fc2 qml: pass the invoice/invoiceparser to payOnchain 2023-09-01 15:44:24 +02:00
Sander van Grieken
c348d4d7ce follow-up 0a804607a4, don't ask confirmation for regular onchain invoices 2023-09-01 15:08:01 +02:00
Sander van Grieken
0a804607a4 qml: properly suggest paying bolt11 invoice onchain if insufficient LN balance.
Also, if fallback address is present, don't warn on bolt11 and no ln channels.
2023-09-01 15:03:44 +02:00