-
Notifications
You must be signed in to change notification settings - Fork 995
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
Prysm rpc: Get local header #14409
base: epbs
Are you sure you want to change the base?
Prysm rpc: Get local header #14409
Conversation
return nil, status.Errorf(codes.FailedPrecondition, "EPBS fork has not occurred yet") | ||
} | ||
|
||
st, parentRoot, err := vs.getParentState(ctx, slot) |
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.
This is not good enough, this path will get the parent state from the blockroot without caring for full vs empty. I am not sure how to proceed, while this would be outside of the scope of this PR, I feel like merging this right now may turn out to surface subtle bugs later.
} | ||
|
||
proposerIndex := req.ProposerIndex | ||
localPayload, err := vs.getLocalPayloadFromEngine(ctx, st, parentRoot, slot, proposerIndex) |
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.
This function is still not compatible with ePBS, it doesn't handle the fork
e37fe64
to
9ec23e3
Compare
9ec23e3
to
3471b7f
Compare
3471b7f
to
e88900f
Compare
This implements a helper to get the ptc committee from a state. It uses the cached beacon committees if possible It also implements a helper to compute the largest power of two of a uint64 and a helper to test for nil payload attestation messages
* Add ePBS to db
* Signed execution payload header for sync * Use RO state * SignedExecutionPayloadHeader by hash and root * Fix execution headers cache
* Handle incoming ptc attestation messages in the chain package * fix double import * remove unused error
Add wait until PTC duty
7cb2381
to
0eb509b
Compare
e88900f
to
c07eb89
Compare
c07eb89
to
00b32da
Compare
fd37f28
to
f30c97a
Compare
This PR adds a Prysm RPC endpoint to retrieve the local header for the proposer to sign. The
getLocalHeader
call uses the existinggetLocalPayloadFromEngine
method and the input slot and proposer index to obtain the payload from the execution client.This PR does not include caching the payload, we should implement caching once the end-to-end process is more defined, so we have a clearer understanding of what the cache's API will look like.