1
0
Commit Graph

152 Commits

Author SHA1 Message Date
Sander van Grieken
e011bd235b qml: implement delete address for imported wallets, and fix address list on address/key add. 2023-11-10 09:30:56 +01:00
Sander van Grieken
6270eae5c9 qml: port PyQt5 to PyQt6 2023-11-07 10:16:18 +01:00
Sander van Grieken
cf91d2e5cc qml: also show coins in Addresses page, and add a few filter options. Additionally, long press
now activates multi-select mode, and add action to (un)freeze selection.
2023-11-01 14:32:38 +01:00
Sander van Grieken
e5e1e46b7b qml: add message sign/verify 2023-09-26 11:28:55 +02:00
Sander van Grieken
190c19d48c whitespace, imports, code style 2023-09-22 16:38:37 +02:00
Sander van Grieken
24f27618e2 qml: handle no wallet password for authed info 2023-09-15 11:42:49 +02:00
Sander van Grieken
04c9078955 qml: show pay_invoice error to user 2023-05-15 11:56:40 +02:00
Sander van Grieken
89225a9f41 qml: show result dialog after password change 2023-05-12 10:53:02 +02:00
SomberNight
97650399cf qml: always ask for the password on wallet-open, even for ks-enc-only wallets
This is a hugely hackish -- it uses the kivy approach, which uses this same hack...
I am not really content with it but it should be relatively easy to review,
and if ok, should hotfix the linked issue.

fixes https://github.com/spesmilo/electrum/issues/8374
related https://github.com/spesmilo/electrum/pull/8382
2023-05-04 10:11:30 +00:00
Sander van Grieken
db53b0f573 qml: fix 2fa callback issue #8368 2023-04-29 12:05:25 +02:00
Sander van Grieken
663ea431f6 followup 61179ede8c 2023-04-25 14:22:19 +02:00
Sander van Grieken
61179ede8c qml: consistency camelcase qewallet 2023-04-25 13:33:15 +02:00
Sander van Grieken
f0bbbe9955 qml: consistency camelcase public slots listmodels 2023-04-25 13:22:34 +02:00
SomberNight
312f2641e7 don't use bare except
use "except Exception", or if really needed explicitly "except BaseException"
2023-04-24 12:58:01 +00:00
Sander van Grieken
e9d5e5737e qml: update UI after import key/address, add icon to address/key import dialog 2023-04-21 17:05:44 +02:00
Sander van Grieken
b9ec04f13a qml: make txdetails less reliant on txid 2023-04-21 13:20:19 +02:00
Sander van Grieken
1aa14e749a qml: first part of partially signing tx while not having txid yet 2023-04-21 00:10:15 +02:00
SomberNight
89b75f95d0 wallet.set_broadcasting: fix incorrect type-hint and rename arg 2023-04-19 16:29:54 +00:00
ThomasV
9dbf354bf2 follow-up a03f4769ca
fixes TypeError: auth_protect.<locals>.decorator() got an unexpected keyword argument 'broadcast'
2023-04-18 14:30:24 +02:00
ThomasV
a03f4769ca auth_protect: pass authMessage in the auth_protect decorator,
instead of relying on side-effects

This is probably safer, and also more self-contained.
2023-04-17 18:17:29 +02:00
Sander van Grieken
01b9cee643 qml: add recoverable channels warning to OpenChannelDialog 2023-04-17 11:41:02 +02:00
ThomasV
460c198b02 qml: remove send_onchain (dead code) 2023-04-15 11:31:44 +02:00
Sander van Grieken
21d1a6239f qml: always pass wallet password to init_lightning.
emit also dataChanged so UI updates node pubkey
2023-04-14 12:21:38 +02:00
SomberNight
2c1abf24fa (trivial) use util.get_asyncio_loop() in some places 2023-04-13 23:08:02 +00:00
Sander van Grieken
f0d7983a46 qml: piechart from wallet.get_balances_for_piechart 2023-04-06 16:05:41 +02:00
SomberNight
b81508cfc0 qml: fix refresh bug in history, for local->unconfirmed tx transition
Previously if a local tx got broadcast, it was still displayed as local
in the history until it got mined (or some other action forced a full refresh).
2023-04-05 13:09:51 +00:00
ThomasV
f04e2e2e6f Add an extra state for invoices where our tx has been broadcast
successfully, but it is not in our history yet.

(follow-up 159646fe54)
2023-04-04 19:31:25 +02:00
ThomasV
159646fe54 Set status of onchain invoices to PR_INFLIGHT while tx is being broadcast 2023-04-04 18:22:30 +02:00
Sander van Grieken
6c65161d27 qml: refactor qeinvoice.py
QEInvoice/QEInvoiceParser now properly split for mapping to Invoice type (QEInvoice)
and parsing/resolving of payment identifiers (QEInvoiceParser).
additionally, old, unused QEUserEnteredPayment was removed.

invoices are now never saved with user-entered amount if the original invoice
did not specify an amount (e.g. address-only, no-amount bip21 uri, or no-amount
lightning invoice). Furthermore, QEInvoice now adds an isSaved property so the
UI doesn't need to infer that from the existence of the invoice key.

Payments of lightning invoices are now triggered through QEInvoice.pay_lightning_invoice(),
using the internally kept Invoice instance. This replaces the old call path of
QEWallet.pay_lightning_invoice(invoice_key) which required the invoice to be saved
in the backend wallet before payment.

The LNURLpay flow arriving on InvoiceDialog implicitly triggered payment, this is
now indicated by InvoiceDialog.payImmediately property instead of inferrred from the
QEInvoiceParser isLnurlPay property.
2023-04-04 16:13:00 +02:00
SomberNight
5d0d07c2b3 qml: QEWallet.broadcast: bring error msgs in line with qt 2023-04-04 14:02:54 +00:00
Sander van Grieken
4c87773174 qml: move user_knowns_press_and_hold to config 2023-04-03 10:26:03 +02:00
ThomasV
198ca10cd0 qml: add InfoTextArea about PressAndHold 2023-04-02 11:15:28 +02:00
ThomasV
fb47346ed3 follow-up 2cbb16ae4b. fixes #8290 2023-04-01 09:43:52 +02:00
ThomasV
986955a6e8 qml: allow user to delete invoices and requests from the list screen
also, delete expired requests before loading list
2023-03-31 20:00:29 +02:00
Sander van Grieken
d99a220c66 qml: add new 'removed_transaction' callback in wallet.py, hook up callback in qewallet and
emit balanceChanged events for add_transaction and remove_transaction
2023-03-31 12:32:02 +02:00
Sander van Grieken
df44a5c361 qml: port over 'show_qr to warn if QR code is missing data' 2023-03-31 10:50:11 +02:00
ThomasV
ea46d3c318 qml create request: if no address is available, show how to access
the list of pending requests.
2023-03-31 10:22:16 +02:00
SomberNight
0a3e286f1d qt tx dialog: show_qr to warn if QR code is missing data
When exporting a tx as qr code, the prev txs are omitted to save space.
This causes problems with offline signers: software electrum signers will
just warn and then proceed, but hw devices will typically error.
2023-03-30 14:32:31 +00:00
Sander van Grieken
c08ca94591 qml: support create & save transaction on watch-only wallet, refactor showExport and supply
relevant help text when sharing a transaction
2023-03-30 12:28:09 +02:00
Sander van Grieken
2cbb16ae4b qml: move save_tx to qewallet 2023-03-30 10:41:01 +02:00
ThomasV
39097783c3 qml: ask password to show seed 2023-03-23 11:04:58 +01:00
ThomasV
3b78466123 simplify code (follow-up 2836dccfbb) 2023-03-18 17:45:42 +01:00
ThomasV
dd2dced296 follow-up 2836dccfbb 2023-03-18 13:14:14 +01:00
ThomasV
2836dccfbb qml: Handle situation where no more addresses are available without
creating addresses beyond the gap limit.

- if lightning is enabled, propose to create a lightning-only invoice
- otherwise, propose to reuse an address
- never generate addresses beyond the gap limit

Implementation:
 - createDefaultRequest is removed
 - create_bitcoin_address is called whether the wallet has lightning
   or not
2023-03-18 12:58:42 +01:00
ThomasV
8cc610298b QML: auto-delete expired requests. Add action to Qt menu 2023-03-18 09:59:18 +01:00
Sander van Grieken
46d5fdbc86 qml: PIN protect wallet seed display 2023-03-16 11:45:28 +01:00
ThomasV
c5dc133c4c qml: use daemon threads
Without this, if a user starts a lightning payment and quits the
app before the payment succeeds or fails, the app hangs indefinitely
and needs to be killed, because the future never returns.
2023-03-16 10:38:35 +01:00
Sander van Grieken
1b0a58a0ff qml: don't pass lightning flag from GUI when creating payment requests 2023-03-14 14:49:58 +01:00
Sander van Grieken
15a3c2d344 qml: auto sign & broadcast fee bump transactions if wallet can sign without cosigners.
Show a dialog otherwise
2023-03-10 13:31:41 +01:00
Sander van Grieken
016eea2c04 qml: more robust keystore properties builder, support imported type 2023-03-09 21:49:42 +01:00