ThomasV
2be68ac4d2
Use one LNWatcher instance per wallet
2019-08-20 09:03:12 +02:00
ThomasV
6b90d501ab
fix type: list
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
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
a54cb30cf3
kivy: simplify open_channel dialog
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
SomberNight
efc8948c00
lnworker: set DATA_LOSS_PROTECT flag for LNGossip too
...
otherwise peers disconnect
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
d477e3489f
lnworker: fix reestablish_peer_for_given_channel by passing chan explicitly
2019-08-20 09:03:12 +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
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
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
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
81d340b19c
lnworker: do not create sweep transactions before outputs can be redeemed
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
6bbdbf7596
rework on_channel_closed in LNWorker:
...
- use detect_who_closed; this allows us to redeem to_remote of breach ctx
- do not redeem to_local of breach ctx, because it is redundant with lnwatcher
- rename a few methods
2019-08-20 09:03:11 +02:00
SomberNight
930d21c31c
channel close handling: detect situation based on output addresses
...
WIP...
2019-08-20 09:03:11 +02:00
SomberNight
6d8c605307
move lnworker.first_block to constants
2019-08-20 09:03:11 +02:00
ThomasV
a70441f0f1
minor fixes: remove_channel
2019-08-20 09:03:11 +02:00
ThomasV
6d9ef29690
redo LNWorker pay:
...
- wait until htlc has been fulfilled
- raise if htlc is not fulfilled
- return boolean success
- try multiple paths in GUI
2019-08-20 09:03:11 +02:00
ThomasV
fed6c96693
add option to remove channel after it has been closed
2019-08-20 09:03:11 +02:00
ThomasV
3c0df28c98
do not include 'force_closing' in channel states, because it is not part of the peer protocol
2019-08-20 09:03:11 +02:00
ThomasV
d30307b29e
gui: improve display of lightning status
2019-08-20 09:03:11 +02:00
ThomasV
b055eeace2
prune channels older than two weeks from database
2019-08-20 09:03:11 +02:00
ThomasV
522ce5bb9f
verify channel updates in peer's TaskGroup
2019-08-20 09:03:11 +02:00
ThomasV
308dc6aa6b
use a single queue for gossip messages, so that they are processed in the correct order
2019-08-20 09:03:11 +02:00
ThomasV
0e42fd9f17
parallelize short_channel_id requests
2019-08-20 09:03:11 +02:00
ThomasV
1011245c5e
LNGossip: sync channel db using query_channel_range
2019-08-20 09:03:11 +02:00
ThomasV
95376226e8
save lightning invoice descriptions as labels and allow user to edit them
2019-08-20 09:03:11 +02:00
ThomasV
e53ecb9b77
add labels to lightning history
2019-08-20 09:03:11 +02:00
ThomasV
c4081284bd
lightning: GUI improvements
2019-08-20 09:03:11 +02:00
ThomasV
9a3a63d18e
logging (follow-up rebase)
2019-08-20 09:03:11 +02:00
SomberNight
cc57da704b
logging: adapt lightning branch to logging changes
2019-08-20 09:03:11 +02:00
ThomasV
730be17aba
Use separate lightning nodes for gossip and channel operations.
2019-08-20 09:03:11 +02:00
ThomasV
34f22e6681
lnrouter: load data before finding path
2019-08-20 09:03:11 +02:00
ThomasV
f0ac81419c
increase timeout in open_channel
2019-08-20 09:03:11 +02:00
ThomasV
aa398993cf
lnrouter fixes:
...
- use gossip_queries_req instead of initial_routing_sync
- add connected nodes to recent peers only after successful init
- derive timestamp used with gossip_timestamp_filter from channel_db
- fix query_short_channel_ids:
1. channel IDs must be sorted with zlib
2. limit request to 100
3. do not abuse this to request node_announcements; it is fine not to have all nodes.
- fix get_recent_peers:
1. do not set last_connected_date to 'now' if we never connected a node
2. sql query was misconstructed and was returning only one peer
- populate FALLBACK_NODE_LIST_MAINNET with nodes that have the requested flags
2019-08-20 09:03:11 +02:00
ThomasV
3abe30e9d8
basic watchtower synchronization
2019-08-20 09:03:11 +02:00
ThomasV
ec97d623a5
force-close channel if unfulfilled htlc is close to cltv expiry
2019-08-20 09:03:11 +02:00
ThomasV
8d77a7ecd8
save timestamps in htlc log
2019-08-20 09:03:11 +02:00
ThomasV
51466930f2
reestablish_peers_and_channels: spawn tasks in for loop
2019-08-20 09:03:11 +02:00
ThomasV
38f1436d78
post rebase fixes
2019-08-20 09:03:11 +02:00
ThomasV
436c313790
follow-up previous commit
2019-08-20 09:03:11 +02:00
ThomasV
9f188c087c
Flatten the structure of lnrouter, so that DBSession is not used outside of ChannelDB
2019-08-20 09:03:11 +02:00
Janus
dd7c4b3bab
sqlite in lnrouter
2019-08-20 09:03:11 +02:00
ThomasV
7a51f034e4
add future transactions to address synchronizer
2019-08-20 09:03:11 +02:00