Merge pull request #3003 from TheBlueMatt/2024-04-2964-followups
[rust-lightning] / lightning / src / chain / channelmonitor.rs
index 66d083377b0e6c23b5f863adb1c2f2aa0b7f98a4..a7c88cd08a220ecf4f2698c8ce045759cea6ab27 100644 (file)
@@ -1865,7 +1865,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
        /// its outputs and balances (i.e. [`Self::get_claimable_balances`] returns an empty set).
        ///
        /// This function returns true only if [`Self::get_claimable_balances`] has been empty for at least
-       /// 2016 blocks as an additional protection against any bugs resulting in spuriously empty balance sets.
+       /// 4032 blocks as an additional protection against any bugs resulting in spuriously empty balance sets.
        pub fn is_fully_resolved<L: Logger>(&self, logger: &L) -> bool {
                let mut is_all_funds_claimed = self.get_claimable_balances().is_empty();
                let current_height = self.current_best_block().height;
@@ -1878,10 +1878,10 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
                        }
                }
 
+               const BLOCKS_THRESHOLD: u32 = 4032; // ~four weeks
                match (inner.balances_empty_height, is_all_funds_claimed) {
                        (Some(balances_empty_height), true) => {
                                // Claimed all funds, check if reached the blocks threshold.
-                               const BLOCKS_THRESHOLD: u32 = 4032; // ~four weeks
                                return current_height >= balances_empty_height + BLOCKS_THRESHOLD;
                        },
                        (Some(_), false) => {
@@ -1897,6 +1897,9 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
                        (None, true) => {
                                // Claimed all funds but `balances_empty_height` is None. It is set to the
                                // current block height.
+                               log_debug!(logger,
+                                       "ChannelMonitor funded at {} is now fully resolved. It will become archivable in {} blocks",
+                                       inner.get_funding_txo().0, BLOCKS_THRESHOLD);
                                inner.balances_empty_height = Some(current_height);
                                false
                        },