Merge pull request #3660 from ethereum/ralexstokes-patch-2

EIP-7002: Bugfix when processing execution layer exit request
This commit is contained in:
Hsiao-Wei Wang 2024-04-09 12:23:45 +09:00 committed by GitHub
commit 93dba675dc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 5 additions and 1 deletions

View File

@ -222,7 +222,11 @@ def process_operations(state: BeaconState, body: BeaconBlockBody) -> None:
```python ```python
def process_execution_layer_exit(state: BeaconState, execution_layer_exit: ExecutionLayerExit) -> None: def process_execution_layer_exit(state: BeaconState, execution_layer_exit: ExecutionLayerExit) -> None:
validator_pubkeys = [v.pubkey for v in state.validators] validator_pubkeys = [v.pubkey for v in state.validators]
validator_index = ValidatorIndex(validator_pubkeys.index(execution_layer_exit.validator_pubkey)) # Verify pubkey exists
pubkey_to_exit = execution_layer_exit.validator_pubkey
if pubkey_to_exit not in validator_pubkeys:
return
validator_index = ValidatorIndex(validator_pubkeys.index(pubkey_to_exit))
validator = state.validators[validator_index] validator = state.validators[validator_index]
# Verify withdrawal credentials # Verify withdrawal credentials