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:
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_withdrawalscalled on astateis 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 toapply_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
get_expected_withdrawalsAPI is not required)get_expected_withdrawalsAPI on client and server side 🎉Additional Info
Builders should use the SSE event, which is being updated as part of:
get_expected_withdrawals/fcU interaction with Full/Empty blocks #8957