Remove head_payload_status from ForkchoiceUpdateParameters

head_payload_status is internal fork choice state, not an EL
forkchoiceUpdated parameter. It already lives on CachedHead — source
it directly from get_head() return in recompute_head_at_slot instead
of threading through ForkchoiceUpdateParameters.

Also add TODO(gloas) for parent_head_hash in re-org path (V29 nodes
don't carry execution_status).
This commit is contained in:
dapplion
2026-03-25 21:16:06 -05:00
parent bc28e63585
commit 93f987f3cf
6 changed files with 13 additions and 22 deletions

View File

@@ -12,7 +12,7 @@ use eth2::{
BeaconNodeHttpClient, CONSENSUS_VERSION_HEADER, CONTENT_TYPE_HEADER, SSZ_CONTENT_TYPE_HEADER,
Timeouts,
};
use fork_choice::{ForkchoiceUpdateParameters, PayloadStatus as FcPayloadStatus};
use fork_choice::ForkchoiceUpdateParameters;
use parking_lot::RwLock;
use sensitive_url::SensitiveUrl;
use ssz::Encode;
@@ -934,7 +934,6 @@ impl<E: EthSpec> MockBuilder<E> {
finalized_hash: Some(finalized_execution_hash),
justified_hash: Some(justified_execution_hash),
head_root: head_block_root,
head_payload_status: FcPayloadStatus::Pending,
};
let _status = self

View File

@@ -92,7 +92,6 @@ impl<E: EthSpec> MockExecutionLayer<E> {
let head_block_root = Hash256::repeat_byte(42);
let forkchoice_update_params = ForkchoiceUpdateParameters {
head_root: head_block_root,
head_payload_status: fork_choice::PayloadStatus::Pending,
head_hash: Some(parent_hash),
justified_hash: None,
finalized_hash: None,