Fix long-range fork density comparison in select_secure_chain#2277
Open
coldstar1993 wants to merge 1 commit intoyetanotherco:stagingfrom
Open
Fix long-range fork density comparison in select_secure_chain#2277coldstar1993 wants to merge 1 commit intoyetanotherco:stagingfrom
coldstar1993 wants to merge 1 commit intoyetanotherco:stagingfrom
Conversation
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
TITLE
Fix long-range fork density comparison in
select_secure_chainDescription
Fixes a bug where both tip_density and candidate_density were computed with identical inputs.
Ensures long-range fork decisions compare the candidate chain density against the tip chain density correctly.
Details
The current implementation computes:
This makes both densities identical, causing long‑range fork resolution to always fall back to the tie path and use
select_longer_chain, effectively disabling density-based selection.The fix swaps the arguments for tip_density:
This aligns with the intended semantics: compute each chain’s relative density against the other’s slot horizon.
Type of change
Checklist
testnet, everything else tostaging