From 83da883b86616ffa5157bee012919a096f974708 Mon Sep 17 00:00:00 2001 From: Potuz Date: Sat, 26 Aug 2023 08:27:49 -0300 Subject: [PATCH] Do not broadcast the parent_block_hash but use it as parameter to the EL --- specs/_features/epbs/beacon-chain.md | 2 +- specs/_features/epbs/fork-choice.md | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/specs/_features/epbs/beacon-chain.md b/specs/_features/epbs/beacon-chain.md index cc93060a6a..3e65363b32 100644 --- a/specs/_features/epbs/beacon-chain.md +++ b/specs/_features/epbs/beacon-chain.md @@ -130,7 +130,6 @@ class InclusionListSummaryEntry(Container): ```python class InclusionListSummary(Container) proposer_index: ValidatorIndex - parent_block_hash: Hash32 summary: List[InclusionListSummaryEntry, MAX_TRANSACTIONS_PER_INCLUSION_LIST] ``` @@ -335,6 +334,7 @@ def process_epoch(state: BeaconState) -> None: @dataclass class NewInclusionListRequest(object): inclusion_list: InclusionList + parent_block_hash: Hash32 ``` #### Engine APIs diff --git a/specs/_features/epbs/fork-choice.md b/specs/_features/epbs/fork-choice.md index 50b44bd297..23dc2929fe 100644 --- a/specs/_features/epbs/fork-choice.md +++ b/specs/_features/epbs/fork-choice.md @@ -33,10 +33,6 @@ def verify_inclusion_list(state: BeaconState, block: BeaconBlock, inclusion_list proposer = state.validators[proposer_index] assert bls.Verify(proposer.pubkey, signing_root, signed_summary.signature) - # Check that the parent_hash corresponds to the state's last execution payload header - parent_hash = signed_summary.message.parent_block_hash - assert parent_hash == state.latest_execution_payload_header.block_hash - # TODO: These checks will also be performed by the EL surely so we can probably remove them from here. # Check the summary and transaction list lengths summary = signed_summary.message.summary @@ -49,7 +45,8 @@ def verify_inclusion_list(state: BeaconState, block: BeaconBlock, inclusion_list assert total_gas_limit <= MAX_GAS_PER_INCLUSION_LIST # Check that the inclusion list is valid - return execution_engine.notify_new_inclusion_list(inclusion_list) + return execution_engine.notify_new_inclusion_list(NewInclusionListRequest( + inclusion_list=inclusion_list, parent_block_hash = state.latest_execution_payload_header.block_hash )) ``` ### `is_inclusion_list_available`