lnd/lnwire
Matheus Degiovani 44555a70ed lnwire: fix decoding for initial zero sid
This fixes a decoding error when the list of short channel ids within a
QueryShortChanIDs message started with a zero sid.

BOLT-0007 specifies that lists of short channel ids should be sorted in
ascending order. Previously, this was checked within lnwire by comparing
two consecutive sids in the list, starting at the empty (zero) sid.

This meant that a list that started with a zero sid couldn't be decoded
since the first element would _not_ be greater than the last one
(namely: also zero).

Given that one can only check for ordering starting at the second
element, we add a check to ensure the proper behavior.

A unit test is also added to ensure no future regressions on this
behavior.
2020-06-18 14:04:39 -03: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: Add upfront shutdown messages and feature bit 2019-12-03 11:38:21 +02:00
announcement_signatures.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
channel_announcement.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06: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: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
channel_update.go lnwire+multi: define HasMaxHtlc helper on msgFlags 2019-01-22 08:42:30 +01:00
closing_signed.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
commit_sig.go peer+lnwire: add LinkUpdater iface and impl on relevant msgs 2019-09-25 12:00:59 -07:00
error.go lnwire: rename ErrorCode -> FundingError 2019-09-20 10:55:21 +02:00
features_test.go lnwire+rpcserver: populate feature bits on decodepayreq 2019-12-10 13:09:36 -08:00
features.go multi: optionally enable and signal anchor support 2020-03-09 12:59:34 +01:00
funding_created.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
funding_locked.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
funding_signed.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
gossip_timestamp_range.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
init_message.go multi: merge local+global features from remote peer 2019-11-08 05:31:47 -08:00
lnwire_test.go lnwire: Add upfront shutdown messages and feature bit 2019-12-03 11:38:21 +02:00
lnwire.go misc: fix error formatting in multiple files 2020-04-24 19:15:08 +02: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 netann/node_announcement: consolidate signing logic 2020-03-17 16:25:02 -07:00
onion_error_test.go lnwire: add FailMPPTimeout message 2019-12-20 13:01:41 +02:00
onion_error.go lnwire: add FailMPPTimeout message 2019-12-20 13:01:41 +02:00
open_channel.go lnwire: Add upfront shutdown messages and feature bit 2019-12-03 11:38:21 +02: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: add LastBlockHeight method to QueryChannelRange 2020-01-06 14:00:16 -08: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: fix decoding for initial zero sid 2020-06-18 14:04:39 -03:00
README.md multi: fix formatting issues in packge README's 2017-03-27 16:25:25 -07:00
reply_channel_range_test.go lnwire: explicitly handle empty list when encoding short chan IDs 2020-01-13 20:26:55 -08:00
reply_channel_range.go lnwire/reply_channel_range: assert sorted encodings 2019-11-20 01:57:59 -08:00
reply_short_chan_ids_end.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
revoke_and_ack.go peer+lnwire: add LinkUpdater iface and impl on relevant msgs 2019-09-25 12:00:59 -07: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: Add upfront shutdown messages and feature bit 2019-12-03 11:38:21 +02: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
update_add_htlc.go peer+lnwire: add LinkUpdater iface and impl on relevant msgs 2019-09-25 12:00:59 -07:00
update_fail_htlc.go peer+lnwire: add LinkUpdater iface and impl on relevant msgs 2019-09-25 12:00:59 -07:00
update_fail_malformed_htlc.go peer+lnwire: add LinkUpdater iface and impl on relevant msgs 2019-09-25 12:00:59 -07:00
update_fee.go peer+lnwire: add LinkUpdater iface and impl on relevant msgs 2019-09-25 12:00:59 -07:00
update_fulfill_htlc.go peer+lnwire: add LinkUpdater iface and impl on relevant msgs 2019-09-25 12:00:59 -07: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