Skip to content

Commit 50cbabd

Browse files
chore(tests): workaround for EIP-6110 deposit log checks (#2177)
* chore(tests): workaround for EIP-6110 deposit log checks. * chore(tests): future-proof comments for line-length 79 --------- Co-authored-by: danceratopz <[email protected]>
1 parent f3354c6 commit 50cbabd

File tree

1 file changed

+46
-2
lines changed

1 file changed

+46
-2
lines changed

tests/prague/eip6110_deposits/test_modified_contract.py

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,29 @@ def test_invalid_layout(
213213
blockchain_test(
214214
pre=pre,
215215
blocks=[
216-
Block(txs=[tx], exception=BlockException.INVALID_DEPOSIT_EVENT_LAYOUT),
216+
Block(
217+
txs=[tx],
218+
exception=[
219+
BlockException.INVALID_DEPOSIT_EVENT_LAYOUT,
220+
BlockException.INVALID_REQUESTS,
221+
# INVALID_REQUESTS is an alternative workaround for
222+
# Geth/Reth only.
223+
#
224+
# Geth/Reth do not validate the sizes or offsets of the
225+
# deposit contract logs.
226+
#
227+
# Although this is out of spec, it is understood that this
228+
# will not cause an issue so long as the mainnet/testnet
229+
# deposit contracts don't change.
230+
#
231+
# This offsets are checked second and the sizes are checked
232+
# third within the `is_valid_deposit_event_data` function:
233+
# https://eips.ethereum.org/EIPS/eip-6110#block-validity
234+
#
235+
# EELS definition for `is_valid_deposit_event_data`:
236+
# https://github.com/ethereum/execution-specs/blob/5ddb904fa7ba27daeff423e78466744c51e8cb6a/src/ethereum/forks/prague/requests.py#L51
237+
],
238+
),
217239
],
218240
post={},
219241
)
@@ -267,7 +289,29 @@ def test_invalid_log_length(blockchain_test: BlockchainTestFiller, pre: Alloc, s
267289
blockchain_test(
268290
pre=pre,
269291
blocks=[
270-
Block(txs=[tx], exception=BlockException.INVALID_DEPOSIT_EVENT_LAYOUT),
292+
Block(
293+
txs=[tx],
294+
exception=[
295+
BlockException.INVALID_DEPOSIT_EVENT_LAYOUT,
296+
BlockException.INVALID_REQUESTS,
297+
# INVALID_REQUESTS is an alternative workaround for
298+
# Geth/Reth only.
299+
#
300+
# Geth/Reth do not validate the sizes or offsets of the
301+
# deposit contract logs.
302+
#
303+
# Although this is out of spec, it is understood that this
304+
# will not cause an issue so long as the mainnet/testnet
305+
# deposit contracts don't change.
306+
#
307+
# This offsets are checked second and the sizes are checked
308+
# third within the `is_valid_deposit_event_data` function:
309+
# https://eips.ethereum.org/EIPS/eip-6110#block-validity
310+
#
311+
# EELS definition for `is_valid_deposit_event_data`:
312+
# https://github.com/ethereum/execution-specs/blob/5ddb904fa7ba27daeff423e78466744c51e8cb6a/src/ethereum/forks/prague/requests.py#L51
313+
],
314+
),
271315
],
272316
post={},
273317
)

0 commit comments

Comments
 (0)