Description
As noted by Mark here, the get_expected_withdrawals function that we call when preparing payload attributes needs to be aware of the Fullness of the block it is building upon. The current code in unstable is blind to this and faulty as a result.
Steps to resolve
I think it probably makes sense to plumb through the {State}PayloadStatus of the head block when calling get_expected_withdrawals, and make the changes Pawan describes here: https://github.com/sigp/lighthouse/pull/8886/files#r2908263183
I.e. reissue fcU when a payload becomes head, as it could change the payload attributes.
Description
As noted by Mark here, the
get_expected_withdrawalsfunction that we call when preparing payload attributes needs to be aware of theFullness of the block it is building upon. The current code inunstableis blind to this and faulty as a result.Steps to resolve
I think it probably makes sense to plumb through the
{State}PayloadStatusof the head block when callingget_expected_withdrawals, and make the changes Pawan describes here: https://github.com/sigp/lighthouse/pull/8886/files#r2908263183I.e. reissue fcU when a payload becomes head, as it could change the payload attributes.