-
Notifications
You must be signed in to change notification settings - Fork 61
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
add initial electra spec #101
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.
looks good! may hold off on merging until after the first iteration of pectra following devnet-0
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.
looks good!
we are blocked on the beacon-apis
but this should be good enough to get implementers started
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.
updates lgtm, thanks!
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.
LGMT
class BuilderBid(Container): | ||
header: ExecutionPayloadHeader | ||
blob_kzg_commitments: List[KZGCommitment, MAX_BLOB_COMMITMENTS_PER_BLOCK] | ||
execution_requests: ExecutionRequests # [New in Electra] |
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.
Should this field type be switched to bytes
If ethereum/execution-apis#591 is accepted?
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.
I think it makes sense to keep them consistent. So it makes sense to change it. Otherwise we need two decoding implementations on the CL side.
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.
I think I would leave this as-is in the spec, this repo leverages the beacon-apis
so its most natural to use those definitions
can mirror the Engine API for the Builder API HTTP definition
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.
to @lucassaldanha point, given that this version will be in the beacon-apis
, I don't think we are making an additional ask of CLs to deal with this version here
will go ahead and merge this for now to unblock devnet-4, if we decide we want to mirror the Engine API we can address in a future PR
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.
Should this field type be switched to bytes
What would be the difference of this compared to using SSZ encoding for the whole BuilderBid
? It seems much cleaner to have the option to use JSON (for debugging purposes) or SSZ in transit and is what we do on the beacon-api for most of the time sensitive apis.
If we are concerned about latency, should move to using SSZ on the builder api as proposed in #104
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.
yeah I think that's a nice resolution here! and honestly likely how we should be thinking about it in the Engine API but full SSZ there will take more time
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.
but full SSZ there will take more time
yeah I see why this is done on the engine api, but please not on CL side, embedding ssz inside json data is just the worst of both worlds, it's harder to debug issues during development and you still send json around for all others fields + it does not allow streaming the response. Ideally, we only wanna use json for development and stuff like kurtosis testing.
add initial
electra
spec.NOTES
relevant PRs: