ThomasV
e1ce3aace7
Separate db from storage
...
- storage is content-agnostic
- db and storage are passed to wallet contructor
2020-02-10 17:45:23 +01:00
SomberNight
96fa03c11b
fix paying bip70 payment request with Kivy GUI
2019-12-31 03:37:50 +01:00
SomberNight
02baae10d7
kivy: implement opening storage-encrypted wallet files
2019-12-17 18:39:52 +01:00
SomberNight
20bbe85bce
receive requests: encode lightning invoices as uppercase -> smaller QRs
...
By encoding bolt11 invoices as uppercase text in QR codes,
we can use the alphanumeric mode, which results in non-negligibly smaller QR codes.
2019-12-07 05:58:58 +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
4057140e6a
lightning qr codes: more robust parsing
...
kivy qr code handling did not accept "lightning:" prefix or uppercase
2019-11-20 03:21:59 +01:00
SomberNight
27df235c26
transactions: reading QR codes: clean-up and accept all encodings
2019-11-07 06:33:15 +01:00
SomberNight
bafe8a2fff
integrate PSBT support natively. WIP
2019-11-04 22:24:36 +01:00
ThomasV
7b5869c7bc
kivy:
...
- simplify menu
- add lightning network dialog
2019-10-25 16:46:52 +02: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
576fbbd074
kivy: minor fixes
2019-10-22 11:59:16 +02:00
ThomasV
3af7920b63
fix typo
2019-10-14 12:02:04 +02:00
ThomasV
1b0521cabd
kivy: toggle lightning dialog
2019-10-14 11:59:04 +02:00
ThomasV
90ce9f195b
Allow user to enable lightning in the GUI. Make it a per-wallet setting.
2019-10-13 20:34:38 +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
SomberNight
04edad9984
config: no longer singleton. it is passed to Wallet.__init__
...
The few other cases that used SimpleConfig.get_instance() now
either get passed a config instance, or they try to get a reference
to something else that has a reference to a config.
(see lnsweep, qt/qrcodewidget, qt/qrtextedit)
2019-09-22 20:46:01 +02:00
ThomasV
f08e5541ae
Refactor invoices in lnworker.
...
- use InvoiceInfo (NamedTuple) for normal operations,
because lndecode operations can be very slow.
- all invoices/requests are stored in wallet
- invoice expiration detection is performed in wallet
- CLI commands: list_invoices, add_request, add_lightning_request
- revert 0062c6d695
because it forbids self-payments
2019-09-22 16:06:53 +02:00
SomberNight
49a2dbb021
kivy: receive to ln invoice should be disabled if lightning is disabled
2019-09-16 16:19:19 +02:00
SomberNight
ff9cc4d292
kivy: fix "use change addresses" setting (previously ignored, always on)
...
this config setting is stored in the WalletStorage unlike most others
closes #5643
2019-09-16 16:01:52 +02:00
ThomasV
30092cd68c
kivy: request PIN to load_wallet only on android
2019-09-11 16:36:04 +02:00
SomberNight
c531c72940
kivy: attempt at handling (some) exceptions on startup
2019-09-10 21:29:13 +02:00
SomberNight
a05dab2c4d
storage: read/write sanity checks
...
related: #4110
supersedes: #4528
2019-09-10 21:17:15 +02:00
SomberNight
1a08063928
config: remove 'open_last_wallet' side-effecting
...
related: #5629
2019-09-10 17:10:52 +02:00
ThomasV
cefa4762ba
do not create multiple instances of SimpleConfig ( fix #5629 ). Add config field to wallet
2019-09-10 08:57:40 +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
b99a71d1b3
kivy: call register_callback only from main_window. Display CTN in channel details.
2019-08-31 10:13:20 +02:00
ThomasV
ab5a02ba50
kivy: remove hidden state in RefLabel, use it for seed and private keys
2019-08-23 15:46:58 +02:00
ThomasV
e9c32bad19
kivy: remove context menus, cleanup unused files
2019-08-23 12:15:42 +02:00
ThomasV
587f8aa487
Kivy GUI improvements:
...
- create unique instances of channels_dialog and addresses_dialog
- display and refresh balances in channels_dialog
- improve formatting of tx history
- repurpose left button in receive_tab
2019-08-22 19:04:32 +02:00
ThomasV
70cd29f9e1
GUI refactoring for Kivy and lightning.
...
This also touches Qt and wallet code.
2019-08-20 09:03:12 +02:00
Janus
9d32031ca2
Kivy: Lightning support in Receive tab
2019-08-20 09:03:11 +02:00
Janus
7db9a22d63
Kivy: open channel dialog
2019-08-20 09:03:11 +02:00
Janus
1352b0ce9f
Kivy: Support Lightning in Send tab
2019-08-20 09:03:11 +02:00
Janus
ad5aac1383
lightning: march 2018 rebase, without integration
2019-08-20 09:03:09 +02:00
SomberNight
e62d652f14
(trivial) time.clock is deprecated, replace with time.process_time
2019-08-14 02:18:08 +02:00
SomberNight
95ae42b998
kivy wizard: undo Window.bind callbacks
...
related: #5534
2019-08-13 17:12:42 +02:00
SomberNight
c7a8540d06
kivy: show tx fee rate in tx dialog
2019-06-19 21:56:52 +02:00
SomberNight
6cf7aefe28
kivy: offer to copy raw hex tx to clipboard
...
related: #5405
2019-06-04 19:20:31 +02:00
SomberNight
3b445d7248
fix #5376
2019-05-25 05:13:57 +02:00
SomberNight
158090bf8b
util.parse_URI: more granular exceptions
...
related: #5376
first report in #5376 was generated with these changes;
before, the exception was caught and a toast displayed "Not a Bitcoin URI"
2019-05-25 04:55:36 +02:00
SomberNight
0e6cf153d7
synchronizer: show progress in GUI
2019-05-07 17:58:06 +02:00
SomberNight
fd09033890
kivy: fix a race at startup
...
on_history (fx) races with load_wallet
2019-05-06 21:10:52 +02:00
SomberNight
0c1ea909df
kivy: "server lagging" -> show number of blocks
2019-04-12 17:13:10 +02:00
SomberNight
12b98fa251
wizard: fix regression: unencrypted wallets were not getting upgraded
...
fixes #5177
2019-03-04 17:23:43 +01:00
ThomasV
d5790ea109
wizard: do not use on storage object during wallet creation
2019-02-28 09:02:58 +01:00
SomberNight
fd62ba874b
kivy: rm dead code
2019-02-11 20:22:03 +01:00
SomberNight
2c71b9da0c
icons: instead of symlinks, just mv "icons" dir
...
symlinks are really inconvenient on Windows
(when running from cloned source)
follow-up #5055
2019-02-07 20:01:52 +01:00
SomberNight
5403ae7687
network: sanitize tx broadcast response
2019-01-18 20:25:21 +01:00
SomberNight
5248613e9d
gui: prepend broadcast_transaction errors with explanatory message
2018-12-21 20:44:38 +01:00