Commit graph

2311 commits

Author SHA1 Message Date
ThomasV
b55f9e9e6a Do not route through channels for which we did not receive
both updates, because this often means one of the nodes is
offline.
2019-08-20 09:03:12 +02:00
ThomasV
30e942bead fix: delete from channel_db 2019-08-20 09:03:12 +02:00
ThomasV
32fcad5bc3 channel_db: update channels_for_node when removing channel 2019-08-20 09:03:12 +02:00
ThomasV
2be68ac4d2 Use one LNWatcher instance per wallet 2019-08-20 09:03:12 +02:00
ThomasV
4d76e84218 improve regtest.sh with wait functions 2019-08-20 09:03:12 +02:00
ThomasV
6b90d501ab fix type: list 2019-08-20 09:03:12 +02:00
ThomasV
94fe28b576 regtest: remove cost limit 2019-08-20 09:03:12 +02:00
ThomasV
c7b9bdc5f5 lnwatcher: wait until lnwatcher is fully synchronized before check_onchain_situation 2019-08-20 09:03:12 +02:00
ThomasV
a8ce8109be Perform breach remedy without sweepstore:
- add functions to lnsweep
 - lnworker: analyze candidate ctx and htlc_tx
 - watchtower will be optional
 - add test for breach remedy with spent htlcs
 - save tx name as label
2019-08-20 09:03:12 +02:00
ThomasV
238f3c949c get rid of sql_alchemy 2019-08-20 09:03:12 +02:00
ThomasV
0eab1692d6 Do not store message payloads in channel db.
Use single primary key for addresses.
2019-08-20 09:03:12 +02:00
ThomasV
f2d58d0e3f optimize channel_db:
- use python objects mirrored by sql database
 - write sql to file asynchronously
 - the sql decorator is awaited in sweepstore, not in channel_db
2019-08-20 09:03:12 +02:00
ThomasV
180f6d34be separate channel_db module 2019-08-20 09:03:12 +02:00
ThomasV
06b5299b0f comment out convert, add logging statement 2019-08-20 09:03:12 +02:00
ThomasV
a54cb30cf3 kivy: simplify open_channel dialog 2019-08-20 09:03:12 +02:00
SomberNight
c15267e1f6 pycryptodomex for android 2019-08-20 09:03:12 +02:00
ThomasV
115113f492 remove expensive sql request, python set comparison is faster 2019-08-20 09:03:12 +02:00
ThomasV
af7d7e883c Rework wallet history methods:
- wallet.get_full_history returns onchain and lightning
 - capital gains are returned by get_detailed_history
 - display lightning history in kivy
 - command line: separate lightning and onchain history
2019-08-20 09:03:12 +02:00
SomberNight
7e8be3d2e7 lnpeer: some exception handling clean up
main_loop should dump traces of unexpected exceptions to log.
Coroutines/functions invoked inside main_loop should simply propagate it
up the chain.
Typical exceptions are handled in handle_disconnect without dumping the trace.
2019-08-20 09:03:12 +02:00
SomberNight
efc8948c00 lnworker: set DATA_LOSS_PROTECT flag for LNGossip too
otherwise peers disconnect
2019-08-20 09:03:12 +02:00
SomberNight
e6fc8868b1 qt channels list: add "short channel id" column 2019-08-20 09:03:12 +02:00
SomberNight
aa4027298f do not "import *" 2019-08-20 09:03:12 +02:00
SomberNight
3413eb05b9 qt ChannelsList: some clean-up 2019-08-20 09:03:12 +02:00
SomberNight
5e3e3e41a1 qt receive tab: fix update_receive_address_styling 2019-08-20 09:03:12 +02:00
SomberNight
63217c1ca7 qt main window: hide "Channels" tab if lightning is disabled 2019-08-20 09:03:12 +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
ThomasV
1a23dcb8d5 display lightning payment attempts using signal 2019-08-20 09:03:12 +02:00
ThomasV
049857d528 on_revoke_and_ack: be robust to exceptions raised in lnwatcher 2019-08-20 09:03:12 +02:00
ThomasV
dff1822c37 fix watchtower: sweep_tx must not be None 2019-08-20 09:03:12 +02:00
ThomasV
d477e3489f lnworker: fix reestablish_peer_for_given_channel by passing chan explicitly 2019-08-20 09:03:12 +02:00
ThomasV
0f00f4f655 fix encode_msg: optional fields were not sent 2019-08-20 09:03:12 +02:00
ThomasV
67f1ade798 send data_loss_protect fields if we support it 2019-08-20 09:03:12 +02:00
ThomasV
9eddb9844c on_commitment_signed: distinguish between exceptions 2019-08-20 09:03:11 +02:00
ThomasV
0913194a53 qt: add clear button to receive tab, show invoice right after it is added 2019-08-20 09:03:11 +02:00
ThomasV
234591624e request_lists: remove non-sense 2019-08-20 09:03:11 +02:00
ThomasV
b8d908d63e lnworker improvements:
- enable option data_loss_protect
 - separate add_peer from open_channel
 - display exceptions raised in open_channel
2019-08-20 09:03:11 +02:00
ThomasV
d2dfa8c558 regtest: use while loops instead of fine-tuned delays 2019-08-20 09:03:11 +02:00
ThomasV
d9b041e64d encapsulate detect_who_closed in channel 2019-08-20 09:03:11 +02:00
ThomasV
24cc3599c7 lnworker: catch exceptions raised by add_future_tx 2019-08-20 09:03:11 +02:00
ThomasV
740ef09883 simplify_lnsweep 2019-08-20 09:03:11 +02:00
ThomasV
9abbd077a5 lnhtlc: use boolean instead of int in ctn_latest 2019-08-20 09:03:11 +02:00
SomberNight
69bffac86a lnhtlc: fix adding htlc between sending commitment_signed and receiving revoke_and_ack 2019-08-20 09:03:11 +02:00
ThomasV
50479086b5 raise PaymentFailure in case of timeout (follow-up previous commit) 2019-08-20 09:03:11 +02:00
ThomasV
dbe8b75659 move lnpay attempts logic to lnworker.pay 2019-08-20 09:03:11 +02:00
ThomasV
3349e941de lnsweep: minor fix 2019-08-20 09:03:11 +02:00
ThomasV
81d340b19c lnworker: do not create sweep transactions before outputs can be redeemed 2019-08-20 09:03:11 +02:00
ThomasV
2b04cb3bc4 fix tests broken by previous commit 2019-08-20 09:03:11 +02:00
ThomasV
8d99fe8243 Let lnworker sweep HTLC outputs after breach, instead of lnwatcher 2019-08-20 09:03:11 +02:00
ThomasV
3dacc525e6 on_network_update: check if channel is closed 2019-08-20 09:03:11 +02:00
ThomasV
7be4cdaf18 redeem htlcs:
- fix bug in lnsweep: lnwatcher transactions were indexed by prev_txid
 - add test for breach remedy with unsettled htlcs
 - add timeout option to lnpay, and replace DO_NOT_SETTLE with SETTLE_DELAY
   so that we can read intermediate commitment tx in regtest
2019-08-20 09:03:11 +02:00