-
-
Notifications
You must be signed in to change notification settings - Fork 289
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
feat: send and use validators fee recipient for engine block production #5831
Conversation
Performance Report✔️ no performance regression detected Full benchmark results
|
@@ -428,7 +431,7 @@ export type ReqTypes = { | |||
getProposerDuties: {params: {epoch: Epoch}}; | |||
getSyncCommitteeDuties: {params: {epoch: Epoch}; body: U64Str[]}; | |||
produceBlock: {params: {slot: number}; query: {randao_reveal: string; graffiti: string}}; | |||
produceBlockV2: {params: {slot: number}; query: {randao_reveal: string; graffiti: string}}; | |||
produceBlockV2: {params: {slot: number}; query: {randao_reveal: string; graffiti: string; fee_recipient?: string}}; |
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 part of the spec right? https://github.com/ethereum/beacon-APIs/blob/ea5668708f2c6717fd2934c9a0b82b6705818a2e/apis/validator/block.v2.yaml#L13 adding this here will cause our API client to break with spec compliant impls
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.
yes you are correct 🙂 its not in spec, plan to PR there as well (for produce block v3),
but its spec compatible, in the sense that if the fee recipient is not passed, it will behave in the old spec complaint way
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! Please upstream this change to API specs
sounds good! will open PR |
🎉 This PR is included in v1.11.0 🎉 |
part of
Generally the validator registers fee recipient every epoch for engine (as well as builder block production). However in some edge cases like where registration was not updated (for e.g. fee recipient updated just few slots into epoch via keymanager) or registration issues or the block production requests routed to a fallback bn where validators registrations were not done .... (the edge case lodestar deployments witnessed on 31 july), its imperative that the produce block calls should carry the fee recipient and start a fresh engine block production with a new recipient if bn didn't have a prepared payload id which matches the requested fee recipient.
This PR achieves the same.
TODO: