-
Notifications
You must be signed in to change notification settings - Fork 997
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
Store prev/current justified root #742
Comments
It might not necessarily have to be part of the state (duplicate info, kind of).. we can cache it somewhere in the client as well - we already keep a few other book-keeping fields like this around anyway. |
State transition should be self contained wrt |
fair enuff, I was still on a version that required the previous block. |
actually, there's nuance here. it doesn't look like the fields are needed to apply a block state transition - they're needed to fill out a block when you're proposing one, no? |
@arnetheduck which fields? access to the root of the justified epoch is needed both when creating an attestation and when validating it. |
right, my bad. missed this one. |
issue
Attestation processing assumes that the previous/current block root will be available in
state.latest_block_roots
when processing attestations.The call to
get_block_root
fails if more thanSLOTS_PER_HISTORICAL_ROOT
have passed since latest justified block. This is currently only about ~13 hours which requires liveness wrt justification in this period for the chain to continue to function. Oh no!proposed solution
Add
previous_justified_root
andcurrent_justified_root
directly to state to eliminate this lookup to a potentially unavailable slot.(Thanks @arnetheduck for running your non-justifying chain for 8192 slots!)
The text was updated successfully, but these errors were encountered: