This repository has been archived by the owner on Jan 22, 2025. It is now read-only.
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.
Problem
(From #11032)
As of #10973 , a successful nonce transaction advances the nonce to the most recent blockhash from the RecentBlockhashes sysvar instead of re-overwriting that nonce with the most recent bank blockhash. We expect those hashes to be the same, but in fact that can be different in the final tick of the slot, due to this:
solana/runtime/src/bank.rs
Line 1255 in 1880621
This caused a bank hash mismatch on our api nodes.
We fixed the discrepancy, but that fix needs gating due to changing the bank. Therefore the overwrite also needs gating to avoid breaking anything while nodes are upgrading.
Summary of Changes
prepare_if_nonce_account()
to gate overwrite in tandem with recent_blockhashes_sysvar_delay fix