b49637fbe9
In this commit, we add a field to the ChannelUpdate denoting the maximum HTLC we support sending over this channel, a field which was recently added to the spec. This field serves multiple purposes. In the short term, it enables nodes to signal the largest HTLC they're willing to carry, allows light clients who don't verify channel existence to have some guidance when routing HTLCs, and finally may allow nodes to preserve a portion of bandwidth at all times. In the long term, this field can be used by implementations of AMP to guide payment splitting, as it becomes apparent to a node the largest possible HTLC one can route over a particular channel. This PR was made possible by the merge of #1825, which enables older nodes to properly retain and verify signatures on updates that include new fields (like this new max HTLC field) that they haven't yet been updated to recognize. In addition, the new ChannelUpdate fields are added to the lnwire fuzzing tests. Co-authored-by: Johan T. Halseth <johanth@gmail.com> |
||
---|---|---|
.. | ||
accept_channel.go | ||
announcement_signatures.go | ||
channel_announcement.go | ||
channel_id_test.go | ||
channel_id.go | ||
channel_reestablish.go | ||
channel_update.go | ||
closing_signed.go | ||
commit_sig.go | ||
error.go | ||
features_test.go | ||
features.go | ||
funding_created.go | ||
funding_locked.go | ||
funding_signed.go | ||
gossip_timestamp_range.go | ||
init_message.go | ||
lnwire_test.go | ||
lnwire.go | ||
message.go | ||
msat_test.go | ||
msat.go | ||
netaddress_test.go | ||
netaddress.go | ||
node_announcement_test.go | ||
node_announcement.go | ||
onion_error_test.go | ||
onion_error.go | ||
open_channel.go | ||
ping.go | ||
pong.go | ||
query_channel_range.go | ||
query_short_chan_ids.go | ||
README.md | ||
reply_channel_range.go | ||
reply_short_chan_ids_end.go | ||
revoke_and_ack.go | ||
short_channel_id_test.go | ||
short_channel_id.go | ||
shutdown.go | ||
signature_test.go | ||
signature.go | ||
update_add_htlc.go | ||
update_fail_htlc.go | ||
update_fail_malformed_htlc.go | ||
update_fee.go | ||
update_fulfill_htlc.go |
lnwire
The lnwire package implements the Lightning Network wire protocol.
This package has intentionally been designed so it can be used as a standalone package for any projects needing to interface with lightning peers at the wire protocol level.
Installation and Updating
$ go get -u github.com/lightningnetwork/lnd/lnwire