lnd/lnwire
Olaoluwa Osuntokun 57b7a668c0
lnwire: add new ChannelType field as TLV record to Open/AcceptChannel
In this commit, we add a new ChannelType field as a new TLV record to
the OpenChannel message. During this change, we make a few tweaks to the
generic TLV encode/decode methods for the ExtraOpaqueData struct to have
it work on the level of tlv.RecordProducer instead of tlv.Record, as
this reduces line noise a bit.

We also partially undo existing logic that would attempt to "prepend"
any new TLV records to the end of the ExtraOpaqueData if one was already
present within the struct. This is based on the assumption that if we've
read a message from disk to order to re-send/transmit it, then the
ExtraOpaqueData is fully populated so we'll write that as is. Otherwise,
a message is being encoded for the first time, and we expect all fields
that are known TLV fields to be specified within the struct itself.

This change required the unit tests to be modified slightly, as we'll
always encode a fresh set of TLV records if none was already specified
within the struct.
2021-08-30 19:17:21 -07:00
..
accept_channel.go lnwire: add new ChannelType field as TLV record to Open/AcceptChannel 2021-08-30 19:17:21 -07:00
accept_channel_test.go lnwire: Add upfront shutdown messages and feature bit 2019-12-03 11:38:21 +02:00
announcement_signatures.go lnwire: refactor Encode to use specific writers - I 2021-08-10 05:36:09 +08:00
channel_announcement.go lnwire: refactor Encode to use specific writers - III 2021-08-10 05:36:09 +08:00
channel_id.go lnwire: fixing buffer size and cleaning up uint16/32 conversion 2019-12-05 16:28:25 +01:00
channel_id_test.go lnwire: fix minor typo in tests 2017-09-18 19:46:16 +02:00
channel_reestablish.go lnwire: refactor Encode to use specific writers - III 2021-08-10 05:36:09 +08:00
channel_type.go lnwire: introduce new explicit ChannelType TLV record 2021-08-30 19:17:19 -07:00
channel_type_test.go lnwire: add new ChannelType field as TLV record to Open/AcceptChannel 2021-08-30 19:17:21 -07:00
channel_update.go lnwire: refactor Encode to use specific writers - III 2021-08-10 05:36:09 +08:00
closing_signed.go lnwire: refactor Encode to use specific writers - I 2021-08-10 05:36:09 +08:00
commit_sig.go lnwire: refactor Encode to use specific writers - I 2021-08-10 05:36:09 +08:00
error.go lnwire: refactor Encode to use specific writers - I 2021-08-10 05:36:09 +08:00
extra_bytes.go lnwire: add new ChannelType field as TLV record to Open/AcceptChannel 2021-08-30 19:17:21 -07:00
extra_bytes_test.go lnwire: add new ChannelType field as TLV record to Open/AcceptChannel 2021-08-30 19:17:21 -07:00
features.go lnwire: fix typo in docs 2021-08-10 05:36:08 +08:00
features_test.go lnwire: add new RequiresFeature method 2020-11-25 16:31:56 -08:00
funding_created.go lnwire: refactor Encode to use specific writers - I 2021-08-10 05:36:09 +08:00
funding_locked.go lnwire: refactor Encode to use specific writers - I 2021-08-10 05:36:09 +08:00
funding_signed.go lnwire: refactor Encode to use specific writers - I 2021-08-10 05:36:09 +08:00
gossip_timestamp_range.go lnwire: refactor Encode to use specific writers - I 2021-08-10 05:36:09 +08:00
init_message.go lnwire: refactor Encode to use specific writers - I 2021-08-10 05:36:09 +08:00
lnwire.go lnwire: add independent writers 2021-08-10 05:36:09 +08:00
lnwire_test.go lnwire: add new ChannelType field as TLV record to Open/AcceptChannel 2021-08-30 19:17:21 -07:00
message.go lnwire: use write buffer in Encode methods 2021-08-10 05:36:08 +08:00
message_test.go lnwire: use write buffer in Encode methods 2021-08-10 05:36:08 +08:00
msat.go routing: use unified policy for path finding 2019-10-25 11:22:28 +02:00
msat_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
netaddress_test.go multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
node_announcement.go lnwire: refactor Encode to use specific writers - II 2021-08-10 05:36:09 +08:00
node_announcement_test.go lnwire: add test cases for node alias validation 2019-01-07 12:53:40 -08:00
onion_error.go lnwire: refactor Encode to use specific writers - II 2021-08-10 05:36:09 +08:00
onion_error_test.go lnwire: refactor Encode to use specific writers - II 2021-08-10 05:36:09 +08:00
open_channel.go lnwire: add new ChannelType field as TLV record to Open/AcceptChannel 2021-08-30 19:17:21 -07:00
ping.go lnwire: refactor Encode to use specific writers - II 2021-08-10 05:36:09 +08:00
pong.go lnwire: refactor Encode to use specific writers - II 2021-08-10 05:36:09 +08:00
query_channel_range.go lnwire: refactor Encode to use specific writers - II 2021-08-10 05:36:09 +08:00
query_short_chan_ids.go lnwire: refactor Encode to use specific writers - III 2021-08-10 05:36:09 +08:00
query_short_chan_ids_test.go lnwire: fix decoding for initial zero sid 2020-06-18 14:04:39 -03:00
README.md multi: unify code blocks in READMEs 2021-01-22 09:14:11 +01:00
reply_channel_range.go lnwire: refactor Encode to use specific writers - III 2021-08-10 05:36:09 +08:00
reply_channel_range_test.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
reply_short_chan_ids_end.go lnwire: refactor Encode to use specific writers - II 2021-08-10 05:36:09 +08:00
revoke_and_ack.go lnwire: refactor Encode to use specific writers - II 2021-08-10 05:36:09 +08:00
short_channel_id.go lnwire: remove pointer receiver from ToUint64 for ShortChannelID 2018-04-06 14:52:02 -07:00
short_channel_id_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
shutdown.go lnwire: refactor Encode to use specific writers - II 2021-08-10 05:36:09 +08:00
signature.go multi: return input.Signature from SignOutputRaw 2020-04-10 14:27:35 -07:00
signature_test.go multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
typed_delivery_addr.go lnwire: add new ChannelType field as TLV record to Open/AcceptChannel 2021-08-30 19:17:21 -07:00
typed_delivery_addr_test.go lnwire: add new ChannelType field as TLV record to Open/AcceptChannel 2021-08-30 19:17:21 -07:00
update_add_htlc.go lnwire: refactor Encode to use specific writers - III 2021-08-10 05:36:09 +08:00
update_fail_htlc.go lnwire: refactor Encode to use specific writers - III 2021-08-10 05:36:09 +08:00
update_fail_malformed_htlc.go lnwire: refactor Encode to use specific writers - III 2021-08-10 05:36:09 +08:00
update_fee.go lnwire: refactor Encode to use specific writers - III 2021-08-10 05:36:09 +08:00
update_fulfill_htlc.go lnwire: refactor Encode to use specific writers - III 2021-08-10 05:36:09 +08:00
writer.go lnwire: add independent writers 2021-08-10 05:36:09 +08:00
writer_test.go lnwire: add independent writers 2021-08-10 05:36:09 +08: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