-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Check holocene activation based on the parent's timestamp #13060
Check holocene activation based on the parent's timestamp #13060
Conversation
where is this mentioned? hmm, but yeah I wonder if this is problematic for the transition block looks like we're missing this edge case where |
It's mentioned here:
I think this is also how geth is implemented |
// > parent_header.extraData are used. | ||
let is_holocene_activated = self.inner.is_fork_active_at_timestamp( | ||
reth_optimism_forks::OpHardfork::Holocene, | ||
parent.timestamp, |
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.
right, nice find
we haven't Hit this on sepolia yet because I think assume we crossed that transition via p2p blocks and not via derivation
thanks @mininny after reading the base fee section, this is indeed the right fix, makes sense because we can only extract from parent if holocene is active at parent |
Awesome! glad we found it before mainnet 😄 |
definitely, targeted for early next week |
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.
It seems like, when op-reth is decoding the extraData for holocene gas fee, it is currently using the current block's timestamp to check if the holocene was activated. However, according to the spec, the check should be done on the parent block's timestamp since only holocene-activated parent would have proper extraData.
This PR modifies the behavior to check for the parent block's timestamp.
Please correct me if my understanding of reth codebase is incorrect! :)