SomberNight
d5f368c584
LN invoices: support msat precision
...
fixes #6250
2020-06-22 22:48:13 +02:00
ThomasV
211118ae81
fix #6210 : show_onchain/lightning_invoice dialogs
2020-06-06 18:17:13 +02:00
ThomasV
56f4932f10
import/exports to json files:
...
- fix #5737
- add import/export or requests
2020-06-05 13:17:01 +02:00
ThomasV
6058829870
Use attr.s classes for invoices and requests:
...
- storage upgrade
- fixes #6192
- add can_pay_invoice, can_receive_invoice to lnworker
2020-06-01 21:02:45 +02:00
SomberNight
dfb3138d87
fix #6168 : "'MySortModel' object has no attribute 'item'"
2020-05-21 19:16:19 +02:00
SomberNight
93c90a30f0
qt MyTreeView: impl custom sort order framework, and use for invoices
...
sort invoices and payreqs (for Date column) based on timestamps
(timestamps have second resolution while the displayed date has minute resolution)
2020-05-15 15:32:18 +02:00
ThomasV
6c2ef176cc
kivy: show payment log details
2020-03-10 16:44:23 +01:00
ThomasV
19dcc5789f
invoices list: show 'batch pay' option only if all selected invoices can be paid
2020-03-07 17:02:52 +01:00
ThomasV
f67011d477
Qt: do not filter out paid invoices/requests. let user delete multiple items
2020-03-03 12:56:44 +01:00
ThomasV
94443ebe5e
Qt: list requests and invoices in descending order
2020-03-03 11:25:54 +01:00
ThomasV
4dc74870e1
Catch exceptions raised in LNWorker._pay_to_route
...
Reset payment status if an exception is caught.
Also, do not pass status to the 'invoice_status' network callback.
This fixes #5869 , #5870 , #5964 .
2020-02-17 12:33:43 +01:00
SomberNight
5fd790dec9
follow-up prev
...
These lists are only visible when non-empty. This interacts badly with
the internals of maybe_defer_update().
2020-01-21 11:51:02 +01:00
SomberNight
1d0fc6665b
qt: defer refreshing tabs until they are visible
...
very loosely based on Electron-Cash/Electron-Cash@522e7ca59e
2020-01-19 07:31:50 +01:00
SomberNight
b99add59c3
lnworker: introduce PaymentAttemptLog NamedTuple
2019-12-10 03:17:57 +01:00
SomberNight
d81110014e
qt requests/invoices: use TreeView.sortByColumn instead of model.sort
...
sort the view, not the model
This way, qt will display the icon indicating the sort order on the relevant column header.
2019-12-07 04:28:08 +01:00
SomberNight
8dbbc21aff
wallet: better (outgoing) invoice "paid" detection
...
- no more passing around "invoice" in GUIs, invoice "paid" detection is now handled by wallet logic
- a tx can now pay for multiple invoices
- an invoice can now be paid by multiple txs (through partial payments)
- new data structure in storage: prevouts_by_scripthash
- type: scripthash -> set of (outpoint, value)
- also, storage upgrade to build this for existing wallets
2019-11-29 15:06:16 +01:00
SomberNight
aa3d817ef2
qt: clean-up imports
2019-11-18 20:56:49 +01:00
ThomasV
8c3af39a9b
add option to pay multiple invoices
2019-11-12 18:37:35 +01:00
ThomasV
dd6cb2caf7
GUI: Separate output selection and transaction finalization.
...
- Output selection belongs in the Send tab.
- Tx finalization is performed in a confirmation dialog
(ConfirmTxDialog or PreviewTxDialog)
- the fee slider is shown in the confirmation dialog
- coin control works by selecting items in the coins tab
- user can save invoices and pay them later
- ConfirmTxDialog is used when opening channels and sweeping keys
2019-11-12 14:42:06 +01:00
SomberNight
3bfcfb49c3
fix qt invoices list: handle lightning disabled
...
closes #5738
2019-11-02 03:44:22 +01:00
SomberNight
a20317fe2a
fix #5726
2019-10-28 21:17:20 +01:00
ThomasV
a0ec2690cf
Call wallet.set_paid after onchain broadcast. Check if invoices are expired in util.get_request_status
2019-10-23 17:33:46 +02:00
ThomasV
aac0fe9ae6
kivy: show status with color. show inflight attempts.
2019-10-22 15:41:45 +02:00
ThomasV
c721e880d0
Qt: generic add_copy_menu method for MyTreeView lists
2019-10-16 15:50:18 +02:00
ThomasV
fe550c6c73
payment log: show whether channel have been blacklisted
2019-10-12 18:36:25 +02:00
ThomasV
16644ae00f
follow-up previous commit
2019-10-12 13:57:54 +02:00
ThomasV
8f86a15f92
improve payment log dialog
2019-10-12 13:47:10 +02:00
ThomasV
dd0be1541e
Improve handling of lightning payment status:
...
- Move 'handle_error_code_from_failed_htlc' to channel_db,
and call it from pay_to_route, because it should not be
called when HTLCs are forwarded.
- Replace 'payment_received' and 'payment_status'
callbacks with 'invoice_status' and 'request_status'.
- Show payment error logs in the Qt GUI
- In the invoices list, show paid invoices for which
we still have the log.
2019-10-11 17:51:33 +02:00
ThomasV
aaed594772
Simplify invoices and requests.
...
- We need only two types: PR_TYPE_ONCHAIN and PR_TYPE_LN
- BIP70 is no longer a type, but an optional field in the dict
- Invoices in the wallet are indexed by a hash of their serialized list of outputs.
- Requests are still indexed by address, because we never generate Paytomany requests.
- Add 'clear_invoices' command to CLI
- Add 'save invoice' button to Qt
2019-09-12 20:11:20 +02:00
ThomasV
747ab7a0a2
Integrate http_server (previously in electrum-merchant)
...
Use submodule to fetch HTML and CSS files
2019-09-04 12:20:05 +02:00
ThomasV
a50f935aec
Restructure invoices and requests (WIP)
...
- Terminology: use 'invoices' for outgoing payments, 'requests' for incoming payments
- At the GUI level, try to handle invoices in a generic way.
- Display ongoing payments in send tab.
2019-09-02 15:35:44 +02:00
ThomasV
98a1c9268a
qt: do not show paid requests
2019-08-20 09:03:12 +02:00
ThomasV
e53ecb9b77
add labels to lightning history
2019-08-20 09:03:11 +02:00
ThomasV
842fff832f
enable lightning through command line option
2019-08-20 09:03:11 +02:00
ThomasV
8d77a7ecd8
save timestamps in htlc log
2019-08-20 09:03:11 +02:00
SomberNight
dfc2a35ae6
qt: handle LN invoices better in Send tab
2019-08-20 09:03:11 +02:00
ThomasV
62be0c481c
lightning: Save invoices and preimages separately. Save preimages when forwarding
2019-08-20 09:03:11 +02:00
SomberNight
2976f50b8c
lightning post-rebase fixups
2019-08-20 09:03:11 +02:00
Janus
8274a963e6
lnworker: save outgoing invoice when initiating payment
2019-08-20 09:03:11 +02:00
Janus
f5cee9ecf6
lightning: post-rebase fixes, read_QIcon and invalid import
2019-08-20 09:03:11 +02:00
ThomasV
7bb4ea150f
gui: show incoming lightning requests, add on-chain icon
2019-08-20 09:03:11 +02:00
SomberNight
46a236f167
qt tabs: restore filter state after refresh
2019-04-19 19:12:42 +02:00
Abdussamad Abdurrazzaq
ffe676bc28
Strip whitespace from amounts when copying. Fix bug in request list where address was copied instead of column specific data ( #5228 )
2019-04-05 15:59:14 +02:00
SomberNight
beacf88420
qt invoice list: fix #5222
2019-03-26 16:38:32 +01:00
SomberNight
026448837f
no more "import *"
...
fixes #5101
fixes #5105
2019-02-11 20:21:24 +01:00
SomberNight
c23b869d3c
qt MyTreeView subclasses: change "headers" from list to dict
2019-02-10 21:13:53 +01:00
SomberNight
5aafcb2875
qt MyTreeView subclasses: use IntEnum for columns
2019-02-10 21:00:08 +01:00
SomberNight
16bac5fd73
rm qt icons file
...
so we don't need pyrcc5, which is not deterministic,
and so we don't need the submodule for the icons
based on electrumsv/electrumsv@bf8802c2ea
2019-02-01 20:15:28 +01:00
SomberNight
1b7672f70e
qt: fix invoices tab
...
closes #4941
2018-12-20 01:09:16 +01:00
SomberNight
9bbfd610be
qt: don't flash QWidgets on startup before main window is visible
...
Consider wallet without password set. Using Qt GUI.
When starting the app, before the main window appears, small artefacts
("minimised" windows?) would appear very briefly and then disappear.
2018-12-12 19:58:13 +01:00