You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
👋 Thanks for assigning @wpaulino as a reviewer!
I'll wait for their review and will help manage the review process.
Once they submit their review, I'll check if a second reviewer would be helpful.
The production change in lightning/src/ln/channel.rs:9690 is a correct, minimal fix for #4729. Replacing the debug_assert!(self.context.monitor_pending_tx_signatures) with an unconditional self.context.monitor_pending_tx_signatures = true:
Is idempotent in the original splice-initial-commitment case (the flag is already set at line 8584), so it doesn't change that path's behavior.
Correctly handles the previously-asserting case where an unrelated monitor update (e.g. an HTLC fulfillment) is pending when delayed splice tx_signatures arrive. The flag now ensures monitor_updating_restored (line 9914) releases the deferred tx_signatures once the monitor update completes.
The deferral remains safe because received_tx_signatures (line 9670) records counterparty/holder signatures and marks the session before the early return, and the restore path is guarded by signer_pending_funding / holder_tx_signatures() availability, so nothing is released prematurely. This is consistent with the signer_unblocked path (line 10204), which already skips release while is_awaiting_monitor_update().
The added regression test exercises the exact scenario from the issue (deferred tx_signatures while an HTLC-fulfill monitor update is in progress). No bugs, security issues, or logic errors found in the diff.
Hey @valentinewallace! This PR has been waiting for your review.
Please take a look when you have a chance. If you're unable to review, please let us know so we can find another reviewer.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fix #4729 Defers delayed splice tx_signatures during unrelated monitor updates