1
0
Commit Graph

43 Commits

Author SHA1 Message Date
ThomasV
d7c5c40c1d Save user-entered amount in invoice. fixes #8252.
Note that this allows users to save invoices that have an empty
amount, which is not allowed by the Qt GUI. Qt will complain at
pay time about empty amount if a lightning invoice without amount
is saved. With onchain invoices, Qt will create an onchain tx with
a zero output.
2023-03-18 17:29:56 +01:00
Sander van Grieken
7d2ba3cc39 qml: fix 43d6fd2aef 2023-03-17 16:46:58 +01:00
Sander van Grieken
24a3d6e10f qml: remove editmode toggle, now enabled only on amount-less invoices 2023-03-17 16:46:58 +01:00
Sander van Grieken
a571451179 qml: allow pay while amount in edit mode 2023-03-17 11:51:48 +01:00
ThomasV
43d6fd2aef qml: use get_node_alias in name_for_node_id.
(fixes crash caused by lnworker.channel_db being None with trampoline.)
2023-03-16 08:26:57 +01:00
Sander van Grieken
2881c49671 qml: move technical details to bottom of InvoiceDialog, add routing hints 2023-03-15 15:19:30 +01:00
SomberNight
02a2f02d02 qml: actually do the x509 validation for bip70
as in other GUIs
2023-03-14 17:04:39 +00:00
SomberNight
e14ed717a8 qml: fix paying bip70 invoices 2023-03-14 16:32:14 +00: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
8e2a5853b8 qml: don't crash on bolt11 invoice when wallet is non-lightning 2023-03-13 17:20:01 +01:00
Sander van Grieken
995754e523 qml: add expiry timers to update status string in InvoiceDialog and ReceiveDialog 2023-02-14 11:36:13 +01:00
Sander van Grieken
d79de092e2 qml: just to be sure, keep QEAmount instances around if exposed to QML 2023-01-16 14:54:42 +01:00
Sander van Grieken
0bc8460005 qml: don't initialize instance variables on class scope for non-singletons
(this somehow escaped attention before, as most objects usually don't have multiple instances,
unless multiple wallets are open at the same time.)
Also, move all signal declarations, class constants and variables to the top of class definitions.
2023-01-12 13:09:21 +01:00
Sander van Grieken
34d39e84f0 qml: don't check min amount for amount-less invoice 2022-10-26 11:18:01 +02:00
Sander van Grieken
3ace53391f qml: disable pay button while editing amount, perform minimum amount check for lightning invoices, update amount in invoice list. 2022-10-26 11:12:58 +02:00
Sander van Grieken
b37262f232 qml: proper check for max amount onchain. move max amount lightning to superclass 2022-10-21 13:24:39 +02:00
Sander van Grieken
a1fac70ebc qml: fix bug with lingering info text from previous shown invoice 2022-10-21 13:01:45 +02:00
Sander van Grieken
65250e69d8 qml: add max amount option in invoice dialog and show in invoice delegate 2022-10-20 17:18:46 +02:00
Sander van Grieken
0c163a5322 qml: don't duplicate invoice (e.g. when scanned twice)
also add invoice to invoiceModel from python, not qml
2022-10-17 15:44:27 +02:00
Sander van Grieken
488600788e qml: open invoices list after saving invoice, add invoice to model instead of reloading the whole list 2022-10-05 11:07:40 +02:00
Sander van Grieken
8538bfe49b qml: add lnurl-pay comment feature 2022-09-30 14:40:35 +02:00
Sander van Grieken
8437e13666 add initial lnurl-pay 2022-09-28 18:21:07 +02:00
Sander van Grieken
d65a7e7efc change address-only handling: create amount=0 onchain invoice
invoicedialog auto enables edit mode when amount is 0
2022-09-28 18:21:07 +02:00
Sander van Grieken
fb68931a8d allow zero amount invoices, add edit amount option for invoices 2022-09-28 18:21:07 +02:00
Sander van Grieken
15c76114c6 replace swipeview, send & receive now dialogs
send mostly working, though no user entered payment yet
2022-09-28 18:21:07 +02:00
ThomasV
14e96f4d53 Index request by ID instead of receiving address.
Replace get_key_for_outgoing_invoice, get_key_for_incoming_request
with Invoice.get_id()

When a new request is created, reuse addresses of expired requests (fixes #7927)

The API is changed for the following commands:
 get_request, get_invoice,
 list_requests, list_invoices,
 delete_request, delete_invoice
2022-09-02 10:58:11 +02:00
Sander van Grieken
5008cef491 qml: optimize imports 2022-07-28 16:53:05 +02:00
SomberNight
d5b5f82b01 LN invoice: better handle unknown required featured bits in bolt11 invs
A user provided an invoice that requires feature bit 30. (That bit is not in the spec)
To test:
```
lnbc1p324a66pp5tundykxx3q5kztsr8x00eknpn2uwe3394cnky3j9a0fswm568wnsdp9facx2mj5d9kk2um5v9khqueqv3hkuct5d9hkucqzpgxq9z0rgqsp5l73jgfgctzc92juer5rk2mqcrkj8teng53dr9vfxj4n8lulu4jmq9q8pqqqssq4gacn859tpzz99hkusnh7m93d5ncpx3t4zns8ynca7akmljpl5vh504qjz7dqwewqjh4md7xagaz5wg85knvxywrhp0sp2t09yta7lcq3qs6fy

lntb1p324a66pp5tundykxx3q5kztsr8x00eknpn2uwe3394cnky3j9a0fswm568wnssp5l73jgfgctzc92juer5rk2mqcrkj8teng53dr9vfxj4n8lulu4jmqdp9facx2mj5d9kk2um5v9khqueqv3hkuct5d9hkuxq9z0rgq9q8pqqqssqdte0z9dy7ur7fagsk7r3mtfj6upq88xfylhufys87zqpamklcfgn2f3xeq3nlhvn3qy9tdgg42vq9eq99qz6rz6tzqezfhzuv6zsr5qp7cgel4
```
2022-07-15 18:00:33 +02:00
Sander van Grieken
a5fc067481 take out routing hints retrieval for display for now. 2022-07-08 12:32:27 +02:00
Sander van Grieken
0228169852 refactor to new event listener framework 2022-07-08 11:09:08 +02:00
Sander van Grieken
1f827f71d2 add info text for all remaining invoice states 2022-07-07 18:30:20 +02:00
Sander van Grieken
cc778356eb allow paying when lightning invoice is in status FAILED 2022-07-07 18:30:20 +02:00
Sander van Grieken
71cd996379 InvoiceDialog: add balance & expired checks on invoices, add a few ln invoice fields to show 2022-07-07 18:29:02 +02:00
Sander van Grieken
4c9f713f9a further separate invoice objects 2022-07-07 18:29:02 +02:00
Sander van Grieken
12d726efc2 split user entered fields object from invoice uri parsing object 2022-07-07 18:29:01 +02:00
Sander van Grieken
04ce548e42 initial lightning channel details, action menu 2022-07-07 18:29:01 +02:00
Sander van Grieken
8f8a1fc8cf wip 2022-07-07 18:29:01 +02:00
Sander van Grieken
f6a46f3900 initial create invoice from user input 2022-07-07 18:29:01 +02:00
Sander van Grieken
b188b48e2f after-rebase fixes 2022-07-07 18:29:01 +02:00
Sander van Grieken
bf072b037c hook up invoice confirm to payment flow (onchain only)
fix some leftover QEAmount issues
2022-07-07 18:29:01 +02:00
Sander van Grieken
0dce872d37 add invoice status 2022-07-07 18:29:01 +02:00
Sander van Grieken
5031391484 add a QEAmount type for storing/passing BTC amounts in the widest sense
from a UI perspective. Stores sats, millisats (LN), whether MAX amount is
requested etc

some refactor QEInvoice type and Send page
2022-07-07 18:29:01 +02:00
Sander van Grieken
cd4bd39583 wip 2022-07-07 18:29:01 +02:00