Skip to content

Commit fc3640f

Browse files
committed
Require the builder is active and non-slashed
1 parent 13ac373 commit fc3640f

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

specs/_features/eip7732/beacon-chain.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -493,9 +493,12 @@ def process_execution_payload_header(state: BeaconState, block: BeaconBlock) ->
493493
signed_header = block.body.signed_execution_payload_header
494494
assert verify_execution_payload_header_signature(state, signed_header)
495495

496-
# Check that the builder has funds to cover the bid
496+
# Check that the builder is active non-slashed has funds to cover the bid
497497
header = signed_header.message
498498
builder_index = header.builder_index
499+
builder = state.validators[builder_index]
500+
assert is_active_validator(builder, get_current_epoch(state))
501+
assert not builder.slashed
499502
amount = header.value
500503
assert state.balances[builder_index] >= amount
501504

specs/_features/eip7732/p2p-interface.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,9 +170,10 @@ The following validations MUST pass before forwarding the `signed_execution_payl
170170

171171
- _[IGNORE]_ this is the first signed bid seen with a valid signature from the given builder for this slot.
172172
- _[IGNORE]_ this bid is the highest value bid seen for the pair of the corresponding slot and the given parent block hash.
173-
- _[REJECT]_ The signed builder bid, `header.builder_index` is a valid and non-slashed builder index in state.
173+
- _[REJECT]_ The signed builder bid, `header.builder_index` is a valid, active, and non-slashed builder index in state.
174174
- _[IGNORE]_ The signed builder bid value, `header.value`, is less or equal than the builder's balance in state. i.e. `MIN_BUILDER_BALANCE + header.value < state.builder_balances[header.builder_index]`.
175175
- _[IGNORE]_ `header.parent_block_hash` is the block hash of a known execution payload in fork choice.
176+
_ _[IGNORE]_ `header.parent_block_root` is the hash tree root of a known beacon block in fork choice.
176177
- _[IGNORE]_ `header.slot` is the current slot or the next slot.
177178
- _[REJECT]_ The builder signature, `signed_execution_payload_header_envelope.signature`, is valid with respect to the `header_envelope.builder_index`.
178179

0 commit comments

Comments
 (0)