Commit graph

11 commits

Author SHA1 Message Date
Valentine Wallace
40a1aef322
Add test cases for feature messages from other lightning clients. 2020-03-11 12:55:00 -04:00
Valentine Wallace
658b681772
Fix blanking out non-node-context feature flags when pulling features from init context.
Fixes bug introduced in 912f877
2020-03-11 12:54:14 -04:00
Matt Corallo
32ca8ec13e Make Readable::read a templated on the stream, not Readable itself
This makes Readable symmetric with Writeable and makes sense -
something which is Readable should be Readable for any stream which
implements std::io::Read, not only for a stream type it decides on.

This solves some lifetime-compatibility issues in trying to read()
from a LengthLimitingReader in arbitrary Readable impls.
2020-03-04 14:29:06 -05:00
Matt Corallo
4ac9ed2f00 Add some basic sanity tests for feature flags 2020-02-12 17:16:42 -05:00
Matt Corallo
a3ddb9fb19 Avoid treating option_upfront_shutdown (req) as unknown_required.
This fixes the bitmask in requires_unknown_bits.
2020-02-12 17:13:50 -05:00
Matt Corallo
bfe59a753e Use RouteHop's new node_features to send TLV-encoded onion hops
This implements the new TLV variable-length encoding for onion hop
data, opting to send it if the RouteHop's node_features indicates
support. It also uses the new process_inline method in ChaCha20 to
optimize a few things (though it grows a new TODO for a
probably-important optimization).
2020-02-11 16:27:38 -05:00
Matt Corallo
c94e53d9dd Add support for variable-length onion payload reads using TLV 2020-02-11 16:27:38 -05:00
Matt Corallo
912f877482 Pass node features through to RouteHops
This exposes the latest Init-context features in the ChannelDetails
passed to the Router during route calculation, which combines those
with the Node-context features tracked from node_announcements to
provide the latest Node-context features in RouteHop structs.

Fields are also added for Channel-context features, though those are
only partially used since no such features are defined today anyway.

These will be useful when determining whether to use new
TLV-formatted onion hop datas when generating onions for peers.
2020-01-21 15:09:12 -05:00
Devrandom
481e221187 increase visibility for external integration tests 2020-01-16 15:07:45 -08:00
Matt Corallo
49f88eca28 Seal the features contexts 2020-01-13 13:53:20 -05:00
Matt Corallo
cd5a11fe0d Move features into a separate module out of msgs. 2020-01-13 13:53:20 -05:00