lnd/lnwire
Johan T. Halseth 6842c0ba8c
lnwire: convert the delivery addr in [Open+Accept]Channel to a TLV type in ExtraData
In this commit, we convert the delivery address in the open and accept
channel methods to be a TLV type. This works as an "empty" delivery
address is encoded using a two zero bytes (uint16 length zero), and a
tlv type of 0 is encoded in the same manner (byte for type, byte for
zero length). This change allows us to easily extend these messages in
the future, in a uniform manner.

When decoding the message we snip the bytes from the read TLV data.
Similarly, when encoding we concatenate the TLV record for the shutdown
script with the rest of the TLV data.
2021-02-24 17:40:08 +01:00
..
accept_channel_test.go lnwire: Add upfront shutdown messages and feature bit 2019-12-03 11:38:21 +02:00
accept_channel.go lnwire: convert the delivery addr in [Open+Accept]Channel to a TLV type in ExtraData 2021-02-24 17:40:08 +01:00
announcement_signatures.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
channel_announcement.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
channel_id_test.go lnwire: fix minor typo in tests 2017-09-18 19:46:16 +02:00
channel_id.go lnwire: fixing buffer size and cleaning up uint16/32 conversion 2019-12-05 16:28:25 +01:00
channel_reestablish.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
channel_update.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
closing_signed.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
commit_sig.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
error.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
extra_bytes_test.go lnwire: create new ExtraOpaqueData type for parsing TLV extensions 2021-02-24 17:31:55 +01:00
extra_bytes.go lnwire: create new ExtraOpaqueData type for parsing TLV extensions 2021-02-24 17:31:55 +01:00
features_test.go lnwire: add new RequiresFeature method 2020-11-25 16:31:56 -08:00
features.go lnwire+feature: define AnchorsZeroFeeHtlcTx feature 2020-12-15 10:13:04 +01:00
funding_created.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
funding_locked.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
funding_signed.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
gossip_timestamp_range.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
init_message.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
lnwire_test.go lnwire: convert the delivery addr in [Open+Accept]Channel to a TLV type in ExtraData 2021-02-24 17:40:08 +01:00
lnwire.go lnwire: create new ExtraOpaqueData type for parsing TLV extensions 2021-02-24 17:31:55 +01:00
message.go lnwire: update tests and message code definitions for new gossip query msgs 2018-05-31 16:30:52 -07:00
msat_test.go multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
msat.go routing: use unified policy for path finding 2019-10-25 11:22:28 +02:00
netaddress_test.go multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
netaddress.go multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
node_announcement_test.go lnwire: add test cases for node alias validation 2019-01-07 12:53:40 -08:00
node_announcement.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
onion_error_test.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
onion_error.go lnwire: fix typo 2020-12-04 23:07:53 +08:00
open_channel.go lnwire: convert the delivery addr in [Open+Accept]Channel to a TLV type in ExtraData 2021-02-24 17:40:08 +01:00
ping.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
pong.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
query_channel_range.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
query_short_chan_ids_test.go lnwire: fix decoding for initial zero sid 2020-06-18 14:04:39 -03:00
query_short_chan_ids.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
README.md multi: unify code blocks in READMEs 2021-01-22 09:14:11 +01:00
reply_channel_range_test.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
reply_channel_range.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
reply_short_chan_ids_end.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
revoke_and_ack.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
short_channel_id_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
short_channel_id.go lnwire: remove pointer receiver from ToUint64 for ShortChannelID 2018-04-06 14:52:02 -07:00
shutdown.go lnwire: convert the delivery addr in [Open+Accept]Channel to a TLV type in ExtraData 2021-02-24 17:40:08 +01:00
signature_test.go multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
signature.go multi: return input.Signature from SignOutputRaw 2020-04-10 14:27:35 -07:00
typed_delivery_addr_test.go lnwire: convert the delivery addr in [Open+Accept]Channel to a TLV type in ExtraData 2021-02-24 17:40:08 +01:00
typed_delivery_addr.go lnwire: convert the delivery addr in [Open+Accept]Channel to a TLV type in ExtraData 2021-02-24 17:40:08 +01:00
update_add_htlc.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
update_fail_htlc.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
update_fail_malformed_htlc.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
update_fee.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
update_fulfill_htlc.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00

lnwire

Build Status MIT licensed GoDoc

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