X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fln%2Fmsgs.rs;h=40817aa3c7d5494e6d4340427d666a5a4fe363ed;hb=ccf92157620da45032d75f06b5972eaf142c1ce3;hp=feb2261d7d3604cb27e715471ebc1fadacc160d5;hpb=437fa4f807e1ff6f3a5658f99c80c92ef5f86f6a;p=rust-lightning diff --git a/lightning/src/ln/msgs.rs b/lightning/src/ln/msgs.rs index feb2261d..40817aa3 100644 --- a/lightning/src/ln/msgs.rs +++ b/lightning/src/ln/msgs.rs @@ -632,6 +632,25 @@ impl Readable for NetAddress { } } +/// Represents the set of gossip messages that require a signature from a node's identity key. +pub enum UnsignedGossipMessage<'a> { + /// An unsigned channel announcement. + ChannelAnnouncement(&'a UnsignedChannelAnnouncement), + /// An unsigned channel update. + ChannelUpdate(&'a UnsignedChannelUpdate), + /// An unsigned node announcement. + NodeAnnouncement(&'a UnsignedNodeAnnouncement) +} + +impl<'a> Writeable for UnsignedGossipMessage<'a> { + fn write(&self, writer: &mut W) -> Result<(), io::Error> { + match self { + UnsignedGossipMessage::ChannelAnnouncement(ref msg) => msg.write(writer), + UnsignedGossipMessage::ChannelUpdate(ref msg) => msg.write(writer), + UnsignedGossipMessage::NodeAnnouncement(ref msg) => msg.write(writer), + } + } +} /// The unsigned part of a [`node_announcement`] message. /// @@ -814,7 +833,7 @@ pub struct QueryShortChannelIds { pub short_channel_ids: Vec, } -/// A [`reply_short_channel_ids_end message`] is sent as a reply to a +/// A [`reply_short_channel_ids_end`] message is sent as a reply to a /// message. The query recipient makes a best /// effort to respond based on their local network view which may not be /// a perfect view of the network.