Commit graph

52 commits

Author SHA1 Message Date
SomberNight
acbb458ef7 set default to_self_delay to 1 day 2019-08-20 09:03:11 +02:00
SomberNight
6d8c605307 move lnworker.first_block to constants 2019-08-20 09:03:11 +02:00
SomberNight
a0764c017c lnpeer: process gossip in chunks 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
a5570d94f3 channel blacklist: minor fix 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
eb4e6bb0de improve filter_channel_updates
blacklist channels that do not really get updated
2019-08-20 09:03:11 +02:00
ThomasV
f4b3d7627d query_short_channel_ids: use Event instead of Lock 2019-08-20 09:03:11 +02:00
ThomasV
d30e894aaf fix: add_channel_update 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
e68f318b12 verify node and channel announcements before entering sql lock 2019-08-20 09:03:11 +02:00
SomberNight
fbafc77f01 lnpeer query_short_channel_ids: BOLT-07 says ids must be sorted
this is why most remote peers were disconnecting upon receiving this msg
2019-08-20 09:03:11 +02:00
SomberNight
afc5717cf0 lnpeer reply_channel_range: handle lnd 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
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
dac686b11d minor fix 2019-08-20 09:03:11 +02:00
ThomasV
796f199a5b follow-up prev commit 2019-08-20 09:03:11 +02:00
ThomasV
a6469904ee fix verify_sig_for_channel_update: use raw message 2019-08-20 09:03:11 +02:00
ThomasV
407114d3cc lnpeer:
- disable option data_loss_protect
 - disable query_short_channel_ids
 - increase timeouts in pay
2019-08-20 09:03:11 +02:00
ThomasV
f0ac81419c increase timeout in open_channel 2019-08-20 09:03:11 +02:00
ThomasV
5eab60621d lnpeer:
- send data_loss_protect fields with channel_reestablish
 - close connection if we receive an unknown channel_reestablish
 - log all exceptions that make us close a connection
 - formatting
2019-08-20 09:03:11 +02:00
ThomasV
93e8d4f953 channel_db: fix timestamp_range, reduce verbosity 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
f5eb369fb7 lnpeer: spawn wait_for(self.initialized) to kill the TaskGroup if it times out 2019-08-20 09:03:11 +02:00
ThomasV
023d4026b9 fix local_index in channel _shutdown 2019-08-20 09:03:11 +02:00
ThomasV
3abe30e9d8 basic watchtower synchronization 2019-08-20 09:03:11 +02:00
ThomasV
c155293166 follow-up variable renaming 2019-08-20 09:03:11 +02:00
ThomasV
8d77a7ecd8 save timestamps in htlc log 2019-08-20 09:03:11 +02:00
ThomasV
ecd9508233 follow-up previous commit 2019-08-20 09:03:11 +02:00
ThomasV
a7d37b72db factorize channel opening code into chan.open_with_first_pcp 2019-08-20 09:03:11 +02:00
ThomasV
c3f6351922 simplify points, remove side-effect in reestablish_channel 2019-08-20 09:03:11 +02:00
ThomasV
b5fd27c64c fix local/remote confusion in reestablish_channel 2019-08-20 09:03:11 +02:00
Janus
95a2174789 sqlite in lnrouter: lnpeer: introduce _gossip_loop for gossip handling separated from message handling 2019-08-20 09:03:11 +02:00
Janus
945e1dc4ee sqlite in lnrouter: request missing channel_announcements and node_announcements 2019-08-20 09:03:11 +02:00
Janus
dd7c4b3bab sqlite in lnrouter 2019-08-20 09:03:11 +02:00
ThomasV
3e443535a2 lnchannel: pass reference to lnworker 2019-08-20 09:03:11 +02:00
SomberNight
ef7a59b4a9 lnchannel: save htlc preimages as soon as possible but horribly hacky
will properly clean this up...
2019-08-20 09:03:11 +02:00
SomberNight
021f5d570e lnpeer: check that remote only sends commit_sig if there are changes 2019-08-20 09:03:11 +02:00
Janus
f618bb4a67 lnhtlc: handle settles like adds (asymmetrical across ctns) 2019-08-20 09:03:11 +02:00
SomberNight
3a2ab149b9 lnchannel: add_htlc and receive_htlc now take and return UpdateAddHtlc
also fix undefined vars in _maybe_forward_htlc and _maybe_fulfill_htlc
in lnpeer
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
ThomasV
e475617b75 lnpeer: distinguish local and remote pending updates 2019-08-20 09:03:11 +02:00
ThomasV
4228b926d4 lnpeer: send commitment after receiving updates 2019-08-20 09:03:11 +02:00
ThomasV
3d8e168a85 follow-up previous commit 2019-08-20 09:03:11 +02:00
ThomasV
6eba22b5a8 lnpeer: replace asyncio.sleep with events 2019-08-20 09:03:11 +02:00
ThomasV
86b33a5637 code refactoring: _maybe_fullfill_htlc, _maybe_forward_htlc 2019-08-20 09:03:11 +02:00