Commit Graph

80 Commits

Author SHA1 Message Date
Sander van Grieken 9bbc354e0e qml: refactor txaccepted/txcancelled signals to standard accepted/rejected. 2023-04-11 12:13:41 +02:00
Sander van Grieken 75f63a4666 qml: remove yesClicked signal, use accept()/accepted signal in MessageDialog. 2023-04-11 10:22:48 +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
Sander van Grieken 2f9ecf3311 qml: combine Connections on same target 2023-04-04 13:22:58 +02:00
Sander van Grieken ffac79c324 qml: follupup prev 2023-04-03 10:27:33 +02: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 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 b8aa87ded8 qml: handle phase-2 lnurl errors from within WalletMainView, add sanity check on
the bolt11 invoice we get from the service
2023-03-31 13:21:11 +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
ThomasV 4647fda04f qml: show invoices/requests lists through long press
I think we can re-enable the requests list, because requests
are now created explicitly by pressing the create request button.

Since this is an advanced feature, it should not be in the way of
people who do not want to see it. Here is a solution that might
work.
2023-03-30 16:09:59 +02: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 7efd6fe1e2 qml: don't show ln payment dialog, update info text instead 2023-03-29 19:08:11 +02:00
Sander van Grieken 288b7cd3bc qml: show explanatory text when sharing partially signed tx
after creating a multisig transaction
2023-03-29 11:39:40 +02: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 fed5fe5991 Qml: new receive flow. fixes #8258 2023-03-17 23:02:43 +01:00
Sander van Grieken 4979346881 qml: detect channel backups in send dialog 2023-03-14 10:20:42 +01:00
Sander van Grieken 5fd7721508 qml: de-dupe broadcastFailed handler, styling InvoiceDialog amount 2023-03-13 18:22:51 +01:00
Sander van Grieken faf0c80893 qml: enable canPay in InvoiceDialog if wallet has insufficient funds to pay via lightning
and invoice has fallback address and amount can be paid on-chain.
In WalletMainView, follow on-chain payment path if available lighting balance is
insufficient for the invoice amount
2023-03-13 18:07:37 +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 6383f83933 qml: separate app menu and wallet menu 2023-03-02 12:54:59 +01:00
Sander van Grieken f65158a23f qml: move menu back to topbar, move addresses and channels to walletdetails and
add walletdetails to topbar menu
2023-03-02 10:49:01 +01:00
Sander van Grieken 68a3364c33 qml: clear deferred intent after processing 2023-02-27 14:42:26 +01:00
Sander van Grieken 6a6982cdae qml: defer intent handling at startup, otherwise it gets lost as the app is not handling the signal yet.
Also defer intent handling until a wallet is opened.
2023-02-27 12:20:51 +01:00
Sander van Grieken f12fe4af4d qml: add option to open ReceiveDialog with existing request key 2023-02-24 14:47:28 +01:00
Sander van Grieken 5ee91594d3 qml: replace Enter manually option in SendDialog with Invoices, which is removed from main menu 2023-02-24 11:15:12 +01:00
Sander van Grieken 7fe5282f7c qml: hamburger styling/menu position 2023-02-23 21:49:23 +01:00
Sander van Grieken 8ccc4801f7 qml: ConfirmTxDialog styling slider, avoid running off small screens 2023-02-10 13:29:18 +01:00
Sander van Grieken daa5c984fa qml: remove leftovers WalletMainView 2023-02-03 13:49:21 +01:00
Sander van Grieken b2a02dd047 qml: put FlatButtons in ButtonContainer where (potentially) more buttons are grouped 2023-02-03 13:34:53 +01:00
Sander van Grieken cf3e5c0dfd qml: hamburger menu use icon, not label 2023-01-31 13:31:27 +01:00
Sander van Grieken 8b7743c4bf qml: show menu also when no wallet loaded 2023-01-27 14:54:45 +01:00
Sander van Grieken 38472c895c qml: NetworkOverview removed from menu, now triggered by onchain and lightning status icon 2023-01-17 16:52:50 +01:00
Sander van Grieken ff8a049525 qml swap send and receive buttons, move menu button to bottom button group 2023-01-17 16:33:21 +01:00
Sander van Grieken b7106fd746 qml: show QR when finalized and saved 2023-01-13 22:39:01 +01:00
Sander van Grieken 3b7a09a307 qml: fix tx not saved when PIN active 2023-01-13 21:31:08 +01:00
Sander van Grieken 78020e5cc9 qml: Only enable Invoices menu option when there is a wallet opened 2023-01-10 17:28:33 +01:00
Sander van Grieken 10e7d8d926 qml: styling main view 2023-01-09 18:17:17 +01:00
Sander van Grieken 971d7d4da6 qml: make app menu modal 2023-01-06 14:05:49 +01:00
Sander van Grieken 0cfbbe3b1d qml: remove Wallets menu option, wallet selection is now shown when pressing topbar wallet name 2023-01-06 13:44:29 +01:00
Sander van Grieken 02dce339cc qml: fix regressions after can_rbf removal, remove RbF checkboxes 2023-01-03 22:52:09 +01:00
Sander van Grieken 441ffff02b qml: network overview page 2022-11-30 11:05:57 +01:00
Sander van Grieken 57ec81cad0 qml: multisig implement finalize tx not complete result 2022-11-15 17:11:08 +01:00
Sander van Grieken 00e1d1786c qml: balance piechart in walletdetails, fix menus to top header height 2022-11-01 09:39:20 +01:00
Sander van Grieken 26d9c06e0c qml: add export TX and scan of TX 2022-10-28 10:46:23 +02:00
Sander van Grieken 571c626eb4 qml: run tx broadcast in thread, re-enable broadcast button in TxDetails when broadcast fails
show notification when broadcast fails
2022-10-25 16:24:56 +02:00
Sander van Grieken acb88f21c1 implement success and failure paths, keep dialog over multiple tries 2022-10-21 13:32:16 +02:00
Sander van Grieken 20c95b26ea wip otp on pay 2022-10-21 13:32:13 +02:00
Sander van Grieken 49037ecc85 qml: handle bitcoin: and lightning: uri intents 2022-10-18 18:31:59 +02:00