From: Wilmer Paulino Date: Fri, 21 Apr 2023 22:54:03 +0000 (-0700) Subject: Use current height when generating claims on block_disconnected X-Git-Tag: v0.0.115~6^2~2 X-Git-Url: http://git.bitcoin.ninja/?a=commitdiff_plain;h=69d0bfacd916a42381059cf703fb0554608233d9;p=rust-lightning Use current height when generating claims on block_disconnected The `height` argument passed to `OnchainTxHandler::block_disconnected` represents the height being disconnected, and not the current height. Due to the incorrect assumption, we'd generate a claim with a locktime in the future. Ultimately, we shouldn't be generating claims within `block_disconnected`. Rather, we should retry the claim at a later block height, since the bitcoin blockchain does not ever roll back without connecting a new block. Addressing this is left for future work. --- diff --git a/lightning/src/chain/onchaintx.rs b/lightning/src/chain/onchaintx.rs index 04776fbb0..9141efc0b 100644 --- a/lightning/src/chain/onchaintx.rs +++ b/lightning/src/chain/onchaintx.rs @@ -1036,8 +1036,10 @@ impl OnchainTxHandler } } for ((_package_id, _), ref mut request) in bump_candidates.iter_mut() { + // `height` is the height being disconnected, so our `current_height` is 1 lower. + let current_height = height - 1; if let Some((new_timer, new_feerate, bump_claim)) = self.generate_claim( - height, &request, true /* force_feerate_bump */, fee_estimator, &&*logger + current_height, &request, true /* force_feerate_bump */, fee_estimator, &&*logger ) { request.set_timer(new_timer); request.set_feerate(new_feerate);