chore(consensus): add eip6110 deposit log validation #18578
+142
−13
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The current EIP-6110 implementation does not validate the deposit log length or internal ABI structure as required by the EIP specification. This causes EEST test failures where invalid deposit event errors are not distinctly caught for the appropriate reason.
Solution
This PR implements the deposit event layout validation as specified in EIP-6110's
is_valid_deposit_event_data
function, where the function returns False for incorrect validations.Hive
eest/consume-engine
Following this PR, the failing EIP-6110 tests now pass:
https://hive.ethpandaops.io/#/test/fusaka/1758204471-aa8d60fbce3ef54fecbaf57a3fd84ef3?page=1&testnumber=17831
Requires: ethereum/hive#1344
Alternative Option
This is not my preference but as an alternative solution we can note this spec mismatch within EEST and accept the current errors for the test: