Skip to content

Delete /eth/v1/builder/states/{state_id}/expected_withdrawals API #9158

@michaelsproul

Description

@michaelsproul

Description

The expected withdrawals API was deprecated in v3.1.0 of the beacon API spec (Electra):

/eth/v1/builder/states/{state_id}/expected_withdrawals

It was removed entirely in v4.0.0 (Fulu).

It is broken for Gloas because get_expected_withdrawals called on a state is not a useful thing to calculate. The correct withdrawals for the next slot also depend on the payload status of the head (and a possible call to apply_parent_execution_payload). See spec.

Therefore I think it would be best if we just delete this API.

However, Lighthouse uses it internally in the mock-builder (a notoriously fiddly component). Depending on how we write the tests for the Gloas builder flow, we may be able to delete the mock-builder as well (although this would probably mean deleting pre-Gloas builder tests).

Steps to resolve

  • Work out how to test builder flow for Gloas
  • Commit to deleting, or refactor, pre-Gloas builder flow tests (so that get_expected_withdrawals API is not required)
  • Delete get_expected_withdrawals API on client and server side 🎉

Additional Info

Builders should use the SSE event, which is being updated as part of:

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions