+/// Represents the set of gossip messages that require a signature from a node's identity key.
+#[derive(Clone)]
+pub enum UnsignedGossipMessage {
+ /// An unsigned channel announcement.
+ ChannelAnnouncement(UnsignedChannelAnnouncement),
+ /// An unsigned channel update.
+ ChannelUpdate(UnsignedChannelUpdate),
+ /// An unsigned node announcement.
+ NodeAnnouncement(UnsignedNodeAnnouncement)
+}
+
+impl Writeable for UnsignedGossipMessage {
+ fn write<W: Writer>(&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),
+ }
+ }
+}