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