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
6 years ago
ThomasV
a5570d94f3
channel blacklist: minor fix
6 years ago
ThomasV
3c0df28c98
do not include 'force_closing' in channel states, because it is not part of the peer protocol
6 years ago
ThomasV
eb4e6bb0de
improve filter_channel_updates
...
blacklist channels that do not really get updated
6 years ago
ThomasV
f4b3d7627d
query_short_channel_ids: use Event instead of Lock
6 years ago
ThomasV
d30e894aaf
fix: add_channel_update
6 years ago
ThomasV
b055eeace2
prune channels older than two weeks from database
6 years ago
ThomasV
522ce5bb9f
verify channel updates in peer's TaskGroup
6 years ago
ThomasV
308dc6aa6b
use a single queue for gossip messages, so that they are processed in the correct order
6 years ago
ThomasV
e68f318b12
verify node and channel announcements before entering sql lock
6 years ago
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
6 years ago
SomberNight
afc5717cf0
lnpeer reply_channel_range: handle lnd
6 years ago
ThomasV
0e42fd9f17
parallelize short_channel_id requests
6 years ago
ThomasV
1011245c5e
LNGossip: sync channel db using query_channel_range
6 years ago
SomberNight
cc57da704b
logging: adapt lightning branch to logging changes
6 years ago
ThomasV
730be17aba
Use separate lightning nodes for gossip and channel operations.
6 years ago
ThomasV
dac686b11d
minor fix
6 years ago
ThomasV
796f199a5b
follow-up prev commit
6 years ago
ThomasV
a6469904ee
fix verify_sig_for_channel_update: use raw message
6 years ago
ThomasV
407114d3cc
lnpeer:
...
- disable option data_loss_protect
- disable query_short_channel_ids
- increase timeouts in pay
6 years ago
ThomasV
f0ac81419c
increase timeout in open_channel
6 years ago
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
6 years ago
ThomasV
93e8d4f953
channel_db: fix timestamp_range, reduce verbosity
6 years ago
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
6 years ago
ThomasV
f5eb369fb7
lnpeer: spawn wait_for(self.initialized) to kill the TaskGroup if it times out
6 years ago
ThomasV
023d4026b9
fix local_index in channel _shutdown
6 years ago
ThomasV
3abe30e9d8
basic watchtower synchronization
6 years ago
ThomasV
c155293166
follow-up variable renaming
6 years ago
ThomasV
8d77a7ecd8
save timestamps in htlc log
6 years ago
ThomasV
ecd9508233
follow-up previous commit
6 years ago
ThomasV
a7d37b72db
factorize channel opening code into chan.open_with_first_pcp
6 years ago
ThomasV
c3f6351922
simplify points, remove side-effect in reestablish_channel
6 years ago
ThomasV
b5fd27c64c
fix local/remote confusion in reestablish_channel
6 years ago
Janus
95a2174789
sqlite in lnrouter: lnpeer: introduce _gossip_loop for gossip handling separated from message handling
6 years ago
Janus
945e1dc4ee
sqlite in lnrouter: request missing channel_announcements and node_announcements
6 years ago
Janus
dd7c4b3bab
sqlite in lnrouter
6 years ago
ThomasV
3e443535a2
lnchannel: pass reference to lnworker
6 years ago
SomberNight
ef7a59b4a9
lnchannel: save htlc preimages as soon as possible but horribly hacky
...
will properly clean this up...
6 years ago
SomberNight
021f5d570e
lnpeer: check that remote only sends commit_sig if there are changes
6 years ago
Janus
f618bb4a67
lnhtlc: handle settles like adds (asymmetrical across ctns)
6 years ago
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
6 years ago
ThomasV
62be0c481c
lightning: Save invoices and preimages separately. Save preimages when forwarding
6 years ago
ThomasV
e475617b75
lnpeer: distinguish local and remote pending updates
6 years ago
ThomasV
4228b926d4
lnpeer: send commitment after receiving updates
6 years ago
ThomasV
3d8e168a85
follow-up previous commit
6 years ago
ThomasV
6eba22b5a8
lnpeer: replace asyncio.sleep with events
6 years ago
ThomasV
86b33a5637
code refactoring: _maybe_fullfill_htlc, _maybe_forward_htlc
6 years ago
ThomasV
a40207cbbb
Refactor LNPeer in order to support HTLC forwarding:
...
1. Do not perform channel updates in coroutines, because they would get executed in random order.
2. After applying channel updates, wait only for the relevant commitment (local or remote) and not for both, because local and remote might be out of sync (BOLT 2).
3. When waiting for a commitment, wait until a given ctn has been reached, because a queue cannot be shared by several coroutines
6 years ago
ThomasV
3dce65dc73
Rename lnchan, lnchannel_verifier, lnbase
...
Auto-completions are a pain if files share a long prefix
6 years ago
Janus
5f1feee331
move lightning message encoding to new lnmsg module
6 years ago