From ea80ce11a6df09ed8bc0c21d6134b7586ffade5e Mon Sep 17 00:00:00 2001 From: Elias Rohrer Date: Thu, 14 Jul 2022 10:52:21 +0200 Subject: [PATCH] Decode as required option --- lightning/src/routing/gossip.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lightning/src/routing/gossip.rs b/lightning/src/routing/gossip.rs index 4965dc1b1c5..e3f370c11c4 100644 --- a/lightning/src/routing/gossip.rs +++ b/lightning/src/routing/gossip.rs @@ -643,12 +643,12 @@ impl Writeable for ChannelUpdateInfo { } } -struct ChannelUpdateInfoDeserWrap(ChannelUpdateInfo); +struct ChannelUpdateInfoDeserWrap(Option); impl MaybeReadable for ChannelUpdateInfoDeserWrap { fn read(reader: &mut R) -> Result, DecodeError> { - if let Ok(channel_update) = ::util::ser::Readable::read(reader) { - Ok(Some(Self(channel_update))) + if let Ok(channel_update_option) = ::util::ser::Readable::read(reader) { + Ok(Some(Self(channel_update_option))) } else { Ok(None) } @@ -808,9 +808,9 @@ impl Readable for ChannelInfo { Ok(ChannelInfo { features: init_tlv_based_struct_field!(features, required), node_one: init_tlv_based_struct_field!(node_one, required), - one_to_two: one_to_two_wrap.map(|w| w.0), + one_to_two: one_to_two_wrap.map(|w| w.0).unwrap_or(None), node_two: init_tlv_based_struct_field!(node_two, required), - two_to_one: two_to_one_wrap.map(|w| w.0), + two_to_one: two_to_one_wrap.map(|w| w.0).unwrap_or(None), capacity_sats: init_tlv_based_struct_field!(capacity_sats, required), announcement_message: init_tlv_based_struct_field!(announcement_message, required), announcement_received_time: init_tlv_based_struct_field!(announcement_received_time, (default_value, 0)),