Note required levels of descendant transactions in get_spendable_outputs
authorWilmer Paulino <wilmer@wilmerpaulino.com>
Fri, 29 Sep 2023 16:16:48 +0000 (09:16 -0700)
committerWilmer Paulino <wilmer@wilmerpaulino.com>
Fri, 29 Sep 2023 17:01:21 +0000 (10:01 -0700)
Three levels of descendant transactions starting from the channel's
funding transaction should cover all potential spendable outputs.

The first level covers the commitment transaction.

The second level covers the to_self claims, to_remote claims,
second-stage HTLC claims and justice transactions.

The third levels covers the justice transactions on second-stage HTLCs,
and to_self claims on second-stage HTLCs.

lightning/src/chain/channelmonitor.rs

index 7088d32d1607e1f4fa0137d6ceda9182d32ca3b2..61669b784f846cd99f9cf8ebee4a5b1fe170010b 100644 (file)
@@ -1680,8 +1680,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
        /// missed/unhandled descriptors. For the purpose of gathering historical records, if the
        /// channel close has fully resolved (i.e., [`ChannelMonitor::get_claimable_balances`] returns
        /// an empty set), you can retrieve all spendable outputs by providing all descendant spending
-       /// transactions starting from the channel's funding or closing transaction that have at least
-       /// [`ANTI_REORG_DELAY`] confirmations.
+       /// transactions starting from the channel's funding transaction and going down three levels.
        ///
        /// `tx` is a transaction we'll scan the outputs of. Any transaction can be provided. If any
        /// outputs which can be spent by us are found, at least one descriptor is returned.