Verify channel type features for decoding.
[rust-lightning] / lightning / src / chain / onchaintx.rs
index f7d781a35deed19f49665638bff7363ab2169fcf..42cfb91bd0a87c1c2ebad8d6eac5d3a151160159 100644 (file)
@@ -52,6 +52,7 @@ use core::ops::Deref;
 use core::mem::replace;
 #[cfg(anchors)]
 use core::mem::swap;
+use crate::ln::features::ChannelTypeFeatures;
 
 const MAX_ALLOC_SIZE: usize = 64*1024;
 
@@ -475,10 +476,10 @@ impl<ChannelSigner: WriteableEcdsaChannelSigner> OnchainTxHandler<ChannelSigner>
        }
 
        #[cfg(anchors)]
-       pub(crate) fn get_and_clear_pending_claim_events(&mut self) -> Vec<ClaimEvent> {
+       pub(crate) fn get_and_clear_pending_claim_events(&mut self) -> Vec<(ClaimId, ClaimEvent)> {
                let mut events = Vec::new();
                swap(&mut events, &mut self.pending_claim_events);
-               events.into_iter().map(|(_, event)| event).collect()
+               events
        }
 
        /// Triggers rebroadcasts/fee-bumps of pending claims from a force-closed channel. This is
@@ -1215,8 +1216,8 @@ impl<ChannelSigner: WriteableEcdsaChannelSigner> OnchainTxHandler<ChannelSigner>
                        .or_else(|| self.prev_holder_commitment.as_ref().map(|c| find_htlc(c)).flatten())
        }
 
-       pub(crate) fn opt_anchors(&self) -> bool {
-               self.channel_transaction_parameters.opt_anchors.is_some()
+       pub(crate) fn channel_type_features(&self) -> &ChannelTypeFeatures {
+               &self.channel_transaction_parameters.channel_type_features
        }
 
        #[cfg(any(test,feature = "unsafe_revoked_tx_signing"))]