Explicitly reject routes that double-back
[rust-lightning] / lightning / src / events / mod.rs
index 32192297432d1873c6898e79ccf41f8b66ada62a..4fbb2c9000cd5e9a8e36aee5565f8e48a64ee926 100644 (file)
@@ -102,9 +102,15 @@ pub struct ClaimedHTLC {
        pub cltv_expiry: u32,
        /// The amount (in msats) of this part of an MPP.
        pub value_msat: u64,
+       /// The extra fee our counterparty skimmed off the top of this HTLC, if any.
+       ///
+       /// This value will always be 0 for [`ClaimedHTLC`]s serialized with LDK versions prior to
+       /// 0.0.119.
+       pub counterparty_skimmed_fee_msat: u64,
 }
 impl_writeable_tlv_based!(ClaimedHTLC, {
        (0, channel_id, required),
+       (1, counterparty_skimmed_fee_msat, (default_value, 0u64)),
        (2, user_channel_id, required),
        (4, cltv_expiry, required),
        (6, value_msat, required),
@@ -1642,6 +1648,34 @@ pub enum MessageSendEvent {
                /// The message which should be sent.
                msg: msgs::FundingSigned,
        },
+       /// Used to indicate that a stfu message should be sent to the peer with the given node id.
+       SendStfu {
+               /// The node_id of the node which should receive this message
+               node_id: PublicKey,
+               /// The message which should be sent.
+               msg: msgs::Stfu,
+       },
+       /// Used to indicate that a splice message should be sent to the peer with the given node id.
+       SendSplice {
+               /// The node_id of the node which should receive this message
+               node_id: PublicKey,
+               /// The message which should be sent.
+               msg: msgs::Splice,
+       },
+       /// Used to indicate that a splice_ack message should be sent to the peer with the given node id.
+       SendSpliceAck {
+               /// The node_id of the node which should receive this message
+               node_id: PublicKey,
+               /// The message which should be sent.
+               msg: msgs::SpliceAck,
+       },
+       /// Used to indicate that a splice_locked message should be sent to the peer with the given node id.
+       SendSpliceLocked {
+               /// The node_id of the node which should receive this message
+               node_id: PublicKey,
+               /// The message which should be sent.
+               msg: msgs::SpliceLocked,
+       },
        /// Used to indicate that a tx_add_input message should be sent to the peer with the given node_id.
        SendTxAddInput {
                /// The node_id of the node which should receive this message