diff --git a/lightning/src/events/mod.rs b/lightning/src/events/mod.rs index 32192297432..5ffea4ee648 100644 --- a/lightning/src/events/mod.rs +++ b/lightning/src/events/mod.rs @@ -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), diff --git a/lightning/src/ln/channelmanager.rs b/lightning/src/ln/channelmanager.rs index 76b7492fdcb..ce79f25400a 100644 --- a/lightning/src/ln/channelmanager.rs +++ b/lightning/src/ln/channelmanager.rs @@ -238,6 +238,7 @@ impl From<&ClaimableHTLC> for events::ClaimedHTLC { user_channel_id: val.prev_hop.user_channel_id.unwrap_or(0), cltv_expiry: val.cltv_expiry, value_msat: val.value, + counterparty_skimmed_fee_msat: val.counterparty_skimmed_fee_msat.unwrap_or(0), } } } diff --git a/lightning/src/util/config.rs b/lightning/src/util/config.rs index ef4111e4f82..13284113d2c 100644 --- a/lightning/src/util/config.rs +++ b/lightning/src/util/config.rs @@ -462,8 +462,9 @@ pub struct ChannelConfig { /// - The counterparty will get an [`HTLCIntercepted`] event upon payment forward, and call /// [`forward_intercepted_htlc`] with less than the amount provided in /// [`HTLCIntercepted::expected_outbound_amount_msat`]. The difference between the expected and - /// actual forward amounts is their fee. - // TODO: link to LSP JIT channel invoice generation spec when it's merged + /// actual forward amounts is their fee. See + /// + /// for how this feature may be used in the LSP use case. /// /// # Note /// It's important for payee wallet software to verify that [`PaymentClaimable::amount_msat`] is