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