In the case where a builder exits in the payload of slot N, their bid(s) for slot N + 1 which were validated against the state at slot N (sans payload N), can become invalid by the time of block processing for slot N + 1 (due to the exit).
This is similar to the issue with packing voluntary exits, which can be invalidated by EL exits in the delayed payload:
Note: Because execution request processing is deferred, a request in parent_execution_requests can invalidate a voluntary exit in the same block. For example, a withdrawal request for a validator will cause a voluntary exit for the same validator to fail, invalidating the entire block. When selecting voluntary exits to include, proposers must take heed of this interaction.
From: https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.14/specs/gloas/validator.md#voluntary-exits
I believe a similar note for the bid itself is required, else proposers risk committing to a bid which is invalid once applied. This issue applies somewhat to gossip as well, so an alternative fix would be for gossip validation to take into account the side-effects of the parent payload (when building on Full).
In the case where a builder exits in the payload of slot
N, their bid(s) for slotN + 1which were validated against the state at slotN(sans payloadN), can become invalid by the time of block processing for slotN + 1(due to the exit).This is similar to the issue with packing voluntary exits, which can be invalidated by EL exits in the delayed payload:
From: https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.14/specs/gloas/validator.md#voluntary-exits
I believe a similar note for the bid itself is required, else proposers risk committing to a bid which is invalid once applied. This issue applies somewhat to gossip as well, so an alternative fix would be for gossip validation to take into account the side-effects of the parent payload (when building on
Full).