mirror of
https://github.com/ethereum/consensus-specs.git
synced 2026-02-01 09:45:02 -05:00
Address PR feedback from @mkalinin
This commit is contained in:
@@ -79,7 +79,7 @@ def test_from_syncing_to_invalid(spec, state):
|
||||
signed_block = state_transition_with_full_block(spec, state, True, True, block=block)
|
||||
signed_blocks_b.append(signed_block.copy())
|
||||
yield from add_optimistic_block(spec, mega_store, signed_block, test_steps,
|
||||
status=PayloadStatusV1Status.SYNCING)
|
||||
status=PayloadStatusV1Status.SYNCING, valid=False)
|
||||
assert spec.get_head(mega_store.fc_store) == mega_store.opt_store.head_block_root
|
||||
|
||||
# Now add block 4 to chain `b` with INVALID
|
||||
@@ -92,7 +92,8 @@ def test_from_syncing_to_invalid(spec, state):
|
||||
latest_valid_hash=block_0.body.execution_payload.block_hash,
|
||||
validation_error="invalid",
|
||||
)
|
||||
yield from add_optimistic_block(spec, mega_store, signed_block, test_steps, payload_status=payload_status)
|
||||
yield from add_optimistic_block(spec, mega_store, signed_block, test_steps,
|
||||
payload_status=payload_status, valid=False)
|
||||
assert mega_store.opt_store.head_block_root == signed_blocks_a[-1].message.hash_tree_root()
|
||||
|
||||
yield 'steps', test_steps
|
||||
|
||||
@@ -137,9 +137,9 @@ def add_block(spec,
|
||||
return
|
||||
else:
|
||||
assert False
|
||||
|
||||
run_on_block(spec, store, signed_block, valid=True)
|
||||
test_steps.append({'block': get_block_file_name(signed_block)})
|
||||
else:
|
||||
run_on_block(spec, store, signed_block, valid=True)
|
||||
test_steps.append({'block': get_block_file_name(signed_block)})
|
||||
|
||||
# An on_block step implies receiving block's attestations
|
||||
for attestation in signed_block.message.body.attestations:
|
||||
|
||||
@@ -76,7 +76,14 @@ def get_optimistic_store(spec, anchor_state, anchor_block):
|
||||
|
||||
|
||||
def add_optimistic_block(spec, mega_store, signed_block, test_steps,
|
||||
payload_status=None, status=PayloadStatusV1Status.SYNCING):
|
||||
payload_status=None, status=PayloadStatusV1Status.SYNCING,
|
||||
valid=True):
|
||||
"""
|
||||
Add a block with optimistic sync logic
|
||||
|
||||
``valid`` indicates if the given ``signed_block.message.body.execution_payload`` is valid/invalid
|
||||
from ``notify_new_payload`` method response.
|
||||
"""
|
||||
block = signed_block.message
|
||||
block_root = block.hash_tree_root()
|
||||
el_block_hash = block.body.execution_payload.block_hash
|
||||
@@ -93,8 +100,6 @@ def add_optimistic_block(spec, mega_store, signed_block, test_steps,
|
||||
|
||||
# Optimistic sync
|
||||
|
||||
valid = True
|
||||
|
||||
# Case: INVALID
|
||||
if payload_status.status == PayloadStatusV1Status.INVALID:
|
||||
# Update parent status to INVALID
|
||||
@@ -108,9 +113,6 @@ def add_optimistic_block(spec, mega_store, signed_block, test_steps,
|
||||
current_block = mega_store.fc_store.blocks[current_block.parent_root]
|
||||
el_block_hash = current_block.body.execution_payload.block_hash
|
||||
|
||||
if payload_status.status != PayloadStatusV1Status.VALID:
|
||||
valid = False
|
||||
|
||||
yield from add_block(spec, mega_store.fc_store, signed_block,
|
||||
valid=valid,
|
||||
test_steps=test_steps,
|
||||
|
||||
Reference in New Issue
Block a user