-
Notifications
You must be signed in to change notification settings - Fork 677
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: when validating a block, clone the blocks version #5539
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great catch! LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wow! Great find @hstove
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
When nodes change their
NAKAMOTO_BLOCK_VERSION
, unupgraded signers reject the block, because the unupgraded signers use the old version when trying to clone (and compare the block hash) of the proposed block.This change has the block validation endpoint clone the version of the proposed block to the local block, so that the block hash will match.
We may need more validation here about what a valid block version is - for example, I believe it needs to be <128, or it is treated as a shadow block. Thus, opening as a draft.