diff --git a/consensus/fork_choice/src/fork_choice.rs b/consensus/fork_choice/src/fork_choice.rs index b075a23ddd..eac9820de3 100644 --- a/consensus/fork_choice/src/fork_choice.rs +++ b/consensus/fork_choice/src/fork_choice.rs @@ -281,19 +281,6 @@ impl<'a, E: EthSpec> From> for QueuedAttestation { } } -/// Used for queuing payload attestations (PTC votes) from the current slot. -/// Payload attestations have different dequeue timing than regular attestations: -/// gossiped payload attestations need an extra slot of delay (slot + 1 < current_slot). -#[derive(Clone, PartialEq, Encode, Decode)] -pub struct QueuedPayloadAttestation { - slot: Slot, - /// Resolved PTC committee positions (not validator indices). - ptc_indices: Vec, - block_root: Hash256, - payload_present: bool, - blob_data_available: bool, -} - /// Returns all values in `self.queued_attestations` that have a slot that is earlier than the /// current slot. Also removes those values from `self.queued_attestations`. fn dequeue_attestations( @@ -450,6 +437,7 @@ where execution_status, execution_payload_parent_hash, execution_payload_block_hash, + anchor_block.message().proposer_index(), spec, )?; @@ -462,7 +450,7 @@ where head_hash: None, justified_hash: None, finalized_hash: None, - // These will be updated during the next call to `Self::get_head`. + // This will be updated during the next call to `Self::get_head`. head_root: Hash256::zero(), }, _phantom: PhantomData, diff --git a/consensus/fork_choice/src/lib.rs b/consensus/fork_choice/src/lib.rs index 70f1dbc215..8f479125b7 100644 --- a/consensus/fork_choice/src/lib.rs +++ b/consensus/fork_choice/src/lib.rs @@ -5,8 +5,7 @@ mod metrics; pub use crate::fork_choice::{ AttestationFromBlock, Error, ForkChoice, ForkChoiceView, ForkchoiceUpdateParameters, InvalidAttestation, InvalidBlock, PayloadVerificationStatus, PersistedForkChoice, - PersistedForkChoiceV28, PersistedForkChoiceV29, QueuedAttestation, QueuedPayloadAttestation, - ResetPayloadStatuses, + PersistedForkChoiceV28, PersistedForkChoiceV29, QueuedAttestation, ResetPayloadStatuses, }; pub use fork_choice_store::ForkChoiceStore; pub use proto_array::{ diff --git a/consensus/proto_array/src/fork_choice_test_definition.rs b/consensus/proto_array/src/fork_choice_test_definition.rs index 34d7f2e48e..ff9d70bad5 100644 --- a/consensus/proto_array/src/fork_choice_test_definition.rs +++ b/consensus/proto_array/src/fork_choice_test_definition.rs @@ -144,6 +144,7 @@ impl ForkChoiceTestDefinition { ExecutionStatus::Optimistic(ExecutionBlockHash::zero()), self.execution_payload_parent_hash, self.execution_payload_block_hash, + 0, &spec, ) .expect("should create fork choice struct"); diff --git a/consensus/proto_array/src/proto_array_fork_choice.rs b/consensus/proto_array/src/proto_array_fork_choice.rs index cb467f2531..71a5a46f8c 100644 --- a/consensus/proto_array/src/proto_array_fork_choice.rs +++ b/consensus/proto_array/src/proto_array_fork_choice.rs @@ -479,6 +479,7 @@ impl ProtoArrayForkChoice { execution_status: ExecutionStatus, execution_payload_parent_hash: Option, execution_payload_block_hash: Option, + proposer_index: u64, spec: &ChainSpec, ) -> Result { let mut proto_array = ProtoArray { @@ -505,7 +506,7 @@ impl ProtoArrayForkChoice { unrealized_finalized_checkpoint: Some(finalized_checkpoint), execution_payload_parent_hash, execution_payload_block_hash, - proposer_index: Some(0), + proposer_index: Some(proposer_index), }; proto_array @@ -1317,6 +1318,7 @@ mod test_compute_deltas { execution_status, None, None, + 0, &spec, ) .unwrap(); @@ -1471,6 +1473,7 @@ mod test_compute_deltas { execution_status, None, None, + 0, &spec, ) .unwrap();