Skip to content
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

Missing version in /eth/v1/validator/blinded_blocks/{slot} #3418

Closed
moshe-blox opened this issue Aug 3, 2022 · 2 comments
Closed

Missing version in /eth/v1/validator/blinded_blocks/{slot} #3418

moshe-blox opened this issue Aug 3, 2022 · 2 comments
Assignees
Labels
bellatrix Required to support the Bellatrix Upgrade

Comments

@moshe-blox
Copy link

Description

Blinded block production (/eth/v1/validator/blinded_blocks/{slot}) is missing the version field in it's response, when it should be "bellatrix" (spec).

Version

Built from builder-api branch.

Present Behaviour

/eth/v1/validator/blinded_blocks/{slot} on Sepolia returns:

{
  "data": <block>
}

Expected Behaviour

Should return:

{
  "version": "bellatrix",
  "data": <block>
}

Steps to resolve

  1. Set response version to the block's version
  2. (Arguably) Consider not omitting version from the response even if it's phase0 in other routes such as /eth/v1/validator/blocks/{slot}
@michaelsproul michaelsproul added the bellatrix Required to support the Bellatrix Upgrade label Aug 4, 2022
@macladson macladson self-assigned this Aug 4, 2022
@macladson
Copy link
Member

macladson commented Aug 5, 2022

To add some more context to this issue:

Currently endpoints which respond with version such as:

  • /beacon/blocks/{block}
  • /debug/beacon/states/{state_id}
  • /validator/blocks/{slot}
    will only do so when using the v2 endpoint (this is consistent with the spec for the above endpoints).

Additionally, when using the v2 endpoints, version should still be getting returned even when it is phase0. If there is evidence of this not being the case, please let us know.

However

eth/v1/validator/blinded_blocks/{slot} is currently the only v1 endpoint which returns version as part of its response.
Lighthouse uses an assumption that all endpoints returning version are a v2 endpoint which does not hold in this particular case, which is the cause of this issue.

bors bot pushed a commit that referenced this issue Aug 5, 2022
…3429)

## Issue Addressed

#3418

## Proposed Changes

- Remove `eth/v2/validator/blinded_blocks/{slot}` as this endpoint does not exist in the spec.
- Return `version` in the `eth/v1/validator/blinded_blocks/{slot}` endpoint.

## Additional Info

Since this removes the `v2` endpoint, this is *technically* a breaking change, but as this does not exist in the spec users may or may not be relying on this.

Depending on what we feel is appropriate, I'm happy to edit this so we keep the `v2` endpoint for now but simply bring the `v1` endpoint in line with `v2`.
@macladson
Copy link
Member

Fixed in #3429

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bellatrix Required to support the Bellatrix Upgrade
Projects
None yet
Development

No branches or pull requests

3 participants