AcceptChannelV2(msgs::AcceptChannelV2),
FundingCreated(msgs::FundingCreated),
FundingSigned(msgs::FundingSigned),
+ Stfu(msgs::Stfu),
+ #[cfg(splicing)]
+ Splice(msgs::Splice),
+ #[cfg(splicing)]
+ SpliceAck(msgs::SpliceAck),
+ #[cfg(splicing)]
+ SpliceLocked(msgs::SpliceLocked),
TxAddInput(msgs::TxAddInput),
TxAddOutput(msgs::TxAddOutput),
TxRemoveInput(msgs::TxRemoveInput),
&Message::AcceptChannelV2(ref msg) => msg.write(writer),
&Message::FundingCreated(ref msg) => msg.write(writer),
&Message::FundingSigned(ref msg) => msg.write(writer),
+ &Message::Stfu(ref msg) => msg.write(writer),
+ #[cfg(splicing)]
+ &Message::Splice(ref msg) => msg.write(writer),
+ #[cfg(splicing)]
+ &Message::SpliceAck(ref msg) => msg.write(writer),
+ #[cfg(splicing)]
+ &Message::SpliceLocked(ref msg) => msg.write(writer),
&Message::TxAddInput(ref msg) => msg.write(writer),
&Message::TxAddOutput(ref msg) => msg.write(writer),
&Message::TxRemoveInput(ref msg) => msg.write(writer),
&Message::AcceptChannelV2(ref msg) => msg.type_id(),
&Message::FundingCreated(ref msg) => msg.type_id(),
&Message::FundingSigned(ref msg) => msg.type_id(),
+ &Message::Stfu(ref msg) => msg.type_id(),
+ #[cfg(splicing)]
+ &Message::Splice(ref msg) => msg.type_id(),
+ #[cfg(splicing)]
+ &Message::SpliceAck(ref msg) => msg.type_id(),
+ #[cfg(splicing)]
+ &Message::SpliceLocked(ref msg) => msg.type_id(),
&Message::TxAddInput(ref msg) => msg.type_id(),
&Message::TxAddOutput(ref msg) => msg.type_id(),
&Message::TxRemoveInput(ref msg) => msg.type_id(),
msgs::FundingSigned::TYPE => {
Ok(Message::FundingSigned(Readable::read(buffer)?))
},
+ #[cfg(splicing)]
+ msgs::Splice::TYPE => {
+ Ok(Message::Splice(Readable::read(buffer)?))
+ },
+ msgs::Stfu::TYPE => {
+ Ok(Message::Stfu(Readable::read(buffer)?))
+ },
+ #[cfg(splicing)]
+ msgs::SpliceAck::TYPE => {
+ Ok(Message::SpliceAck(Readable::read(buffer)?))
+ },
+ #[cfg(splicing)]
+ msgs::SpliceLocked::TYPE => {
+ Ok(Message::SpliceLocked(Readable::read(buffer)?))
+ },
msgs::TxAddInput::TYPE => {
Ok(Message::TxAddInput(Readable::read(buffer)?))
},
fn type_id(&self) -> u16 { T::TYPE }
}
+impl Encode for msgs::Stfu {
+ const TYPE: u16 = 2;
+}
+
impl Encode for msgs::Init {
const TYPE: u16 = 16;
}
const TYPE: u16 = 65;
}
+impl Encode for msgs::Splice {
+ // TODO(splicing) Double check with finalized spec; draft spec contains 74, which is probably wrong as it is used by tx_Abort; CLN uses 75
+ const TYPE: u16 = 75;
+}
+
+impl Encode for msgs::SpliceAck {
+ const TYPE: u16 = 76;
+}
+
+impl Encode for msgs::SpliceLocked {
+ const TYPE: u16 = 77;
+}
+
impl Encode for msgs::TxAddInput {
const TYPE: u16 = 66;
}
mod tests {
use super::*;
use crate::prelude::*;
- use core::convert::TryInto;
use crate::ln::peer_handler::IgnoringMessageHandler;
// Big-endian wire encoding of Pong message (type = 19, byteslen = 2).