diff --git a/beacon_node/beacon_chain/src/block_production/gloas.rs b/beacon_node/beacon_chain/src/block_production/gloas.rs index 38723c1f3a..8e6c768c45 100644 --- a/beacon_node/beacon_chain/src/block_production/gloas.rs +++ b/beacon_node/beacon_chain/src/block_production/gloas.rs @@ -27,18 +27,13 @@ use tree_hash::TreeHash; use types::consts::gloas::BUILDER_INDEX_SELF_BUILD; use types::{ Address, Attestation, AttestationElectra, AttesterSlashing, AttesterSlashingElectra, -<<<<<<< HEAD BeaconBlock, BeaconBlockBodyGloas, BeaconBlockBodyHeze, BeaconBlockGloas, BeaconBlockHeze, - BeaconState, BeaconStateError, - BuilderIndex, Deposit, Eth1Data, EthSpec, ExecutionBlockHash, ExecutionPayloadBid, -======= - BeaconBlock, BeaconBlockBodyGloas, BeaconBlockGloas, BeaconState, BeaconStateError, - BuilderIndex, ChainSpec, Deposit, Eth1Data, EthSpec, ExecutionBlockHash, ExecutionPayloadBid, ->>>>>>> f406e9c3fbf6f4abdd65a7d1501e2e892c96d2c9 - ExecutionPayloadEnvelope, ExecutionPayloadGloas, ExecutionRequests, FullPayload, Graffiti, - Hash256, PayloadAttestation, ProposerSlashing, RelativeEpoch, SignedBeaconBlock, - SignedBlsToExecutionChange, SignedExecutionPayloadBid, SignedExecutionPayloadEnvelope, - SignedVoluntaryExit, Slot, SyncAggregate, Withdrawal, Withdrawals, + BeaconState, BeaconStateError, BuilderIndex, ChainSpec, Deposit, Eth1Data, EthSpec, + ExecutionBlockHash, ExecutionPayloadBid, ExecutionPayloadEnvelope, ExecutionPayloadGloas, + ExecutionRequests, FullPayload, Graffiti, Hash256, PayloadAttestation, ProposerSlashing, + RelativeEpoch, SignedBeaconBlock, SignedBlsToExecutionChange, SignedExecutionPayloadBid, + SignedExecutionPayloadEnvelope, SignedVoluntaryExit, Slot, SyncAggregate, Withdrawal, + Withdrawals, }; use crate::pending_payload_envelopes::PendingEnvelopeData; diff --git a/beacon_node/beacon_chain/src/builder.rs b/beacon_node/beacon_chain/src/builder.rs index 39235461d2..d70561db9b 100644 --- a/beacon_node/beacon_chain/src/builder.rs +++ b/beacon_node/beacon_chain/src/builder.rs @@ -8,10 +8,7 @@ use crate::custody_context::NodeCustodyType; use crate::data_availability_checker::DataAvailabilityChecker; use crate::fork_choice_signal::ForkChoiceSignalTx; use crate::graffiti_calculator::{GraffitiCalculator, GraffitiOrigin}; -use crate::kzg_utils::{ - build_data_column_sidecars_fulu, build_data_column_sidecars_gloas, - build_data_column_sidecars_heze, -}; +use crate::kzg_utils::{build_data_column_sidecars_fulu, build_data_column_sidecars_gloas}; use crate::light_client_server_cache::LightClientServerCache; use crate::migrate::{BackgroundMigrator, MigratorConfig}; use crate::observed_data_sidecars::ObservedDataSidecars; @@ -1239,15 +1236,7 @@ fn build_data_columns_from_blobs( .cloned() .map_err(|e| format!("Unexpected pre Deneb block: {e:?}"))?; - if block.fork_name_unchecked().heze_enabled() { - build_data_column_sidecars_heze( - block.message().tree_hash_root(), - block.slot(), - blob_cells_and_proofs_vec, - spec, - ) - .map_err(|e| format!("Failed to compute weak subjectivity data_columns: {e:?}"))? - } else if block.fork_name_unchecked().gloas_enabled() { + if block.fork_name_unchecked().gloas_enabled() { build_data_column_sidecars_gloas( block.message().tree_hash_root(), block.slot(), diff --git a/beacon_node/beacon_chain/src/data_column_verification.rs b/beacon_node/beacon_chain/src/data_column_verification.rs index 2f2fe6a781..02dd887c83 100644 --- a/beacon_node/beacon_chain/src/data_column_verification.rs +++ b/beacon_node/beacon_chain/src/data_column_verification.rs @@ -320,9 +320,7 @@ impl GossipVerifiedDataColumn }) } // TODO(gloas) support gloas data column variant - DataColumnSidecar::Gloas(_) | DataColumnSidecar::Heze(_) => { - Err(GossipDataColumnError::InvalidVariant) - } + DataColumnSidecar::Gloas(_) => Err(GossipDataColumnError::InvalidVariant), } } @@ -1131,9 +1129,7 @@ fn verify_data_column_sidecar( // TODO(gloas): implement Gloas verification that takes kzg_commitments from block as parameter let commitments_len = match data_column { DataColumnSidecar::Fulu(dc) => dc.kzg_commitments.len(), - DataColumnSidecar::Gloas(_) | DataColumnSidecar::Heze(_) => { - return Err(GossipDataColumnError::InvalidVariant) - } + DataColumnSidecar::Gloas(_) => return Err(GossipDataColumnError::InvalidVariant), }; if commitments_len == 0 { diff --git a/beacon_node/beacon_chain/src/kzg_utils.rs b/beacon_node/beacon_chain/src/kzg_utils.rs index 17dd8ae125..b05a896777 100644 --- a/beacon_node/beacon_chain/src/kzg_utils.rs +++ b/beacon_node/beacon_chain/src/kzg_utils.rs @@ -13,8 +13,7 @@ use types::data::{ use types::kzg_ext::KzgCommitments; use types::{ Blob, BlobSidecar, BlobSidecarList, ChainSpec, DataColumnSidecar, DataColumnSidecarFulu, - DataColumnSidecarGloas, DataColumnSidecarHeze, DataColumnSidecarList, EthSpec, Hash256, - KzgCommitment, KzgProof, + DataColumnSidecarGloas, DataColumnSidecarList, EthSpec, Hash256, KzgCommitment, KzgProof, SignedBeaconBlock, SignedBeaconBlockHeader, SignedBlindedBeaconBlock, Slot, }; @@ -81,11 +80,11 @@ pub fn validate_full_data_columns<'a, E: EthSpec>( // This function requires Fulu sidecars with embedded commitments. let kzg_commitments = match data_column.as_ref() { DataColumnSidecar::Fulu(dc) => &dc.kzg_commitments, - DataColumnSidecar::Gloas(_) | DataColumnSidecar::Heze(_) => { + DataColumnSidecar::Gloas(_) => { return Err(( Some(col_index), KzgError::InconsistentArrayLength( - "Gloas/Heze data columns require commitments from block".to_string(), + "Gloas data columns require commitments from block".to_string(), ), )); } @@ -275,15 +274,7 @@ pub fn blobs_to_data_column_sidecars( }) .collect::, KzgError>>()?; - if block.fork_name_unchecked().heze_enabled() { - build_data_column_sidecars_heze( - signed_block_header.message.tree_hash_root(), - block.slot(), - blob_cells_and_proofs_vec, - spec, - ) - .map_err(DataColumnSidecarError::BuildSidecarFailed) - } else if block.fork_name_unchecked().gloas_enabled() { + if block.fork_name_unchecked().gloas_enabled() { build_data_column_sidecars_gloas( signed_block_header.message.tree_hash_root(), block.slot(), @@ -403,7 +394,7 @@ pub(crate) fn build_data_column_sidecars_fulu( .fork_name_at_slot::(signed_block_header.message.slot) .gloas_enabled() { - return Err("Attempting to construct Fulu data columns post-Gloas/Heze".to_owned()); + return Err("Attempting to construct Fulu data columns post-Gloas".to_owned()); } let number_of_columns = E::number_of_columns(); @@ -528,68 +519,6 @@ pub(crate) fn build_data_column_sidecars_gloas( sidecars } -pub(crate) fn build_data_column_sidecars_heze( - beacon_block_root: Hash256, - slot: Slot, - blob_cells_and_proofs_vec: Vec, - spec: &ChainSpec, -) -> Result, String> { - if !spec.fork_name_at_slot::(slot).heze_enabled() { - return Err("Attempting to construct Heze data columns pre-Heze".to_owned()); - } - - let number_of_columns = E::number_of_columns(); - let max_blobs_per_block = spec.max_blobs_per_block(slot.epoch(E::slots_per_epoch())) as usize; - let mut columns = vec![Vec::with_capacity(max_blobs_per_block); number_of_columns]; - let mut column_kzg_proofs = vec![Vec::with_capacity(max_blobs_per_block); number_of_columns]; - - for (blob_cells, blob_cell_proofs) in blob_cells_and_proofs_vec { - for col in 0..number_of_columns { - let cell = blob_cells - .get(col) - .ok_or(format!("Missing blob cell at index {col}"))?; - let cell: Vec = cell.to_vec(); - let cell = - Cell::::try_from(cell).map_err(|e| format!("BytesPerCell exceeded: {e:?}"))?; - - let proof = blob_cell_proofs - .get(col) - .ok_or(format!("Missing blob cell KZG proof at index {col}"))?; - - let column = columns - .get_mut(col) - .ok_or(format!("Missing data column at index {col}"))?; - let column_proofs = column_kzg_proofs - .get_mut(col) - .ok_or(format!("Missing data column proofs at index {col}"))?; - - column.push(cell); - column_proofs.push(*proof); - } - } - - let sidecars: Result>>, String> = columns - .into_iter() - .zip(column_kzg_proofs) - .enumerate() - .map( - |(index, (col, proofs))| -> Result>, String> { - Ok(Arc::new(DataColumnSidecar::Heze(DataColumnSidecarHeze { - index: index as u64, - column: DataColumn::::try_from(col) - .map_err(|e| format!("MaxBlobCommitmentsPerBlock exceeded: {e:?}"))?, - kzg_proofs: VariableList::try_from(proofs) - .map_err(|e| format!("MaxBlobCommitmentsPerBlock exceeded: {e:?}"))?, - beacon_block_root, - slot, - }))) - }, - ) - .collect(); - - sidecars -} - pub(crate) fn build_partial_data_columns( header: &PartialDataColumnHeader, blob_cells_and_proofs_vec: Vec>, @@ -700,7 +629,7 @@ pub fn reconstruct_blobs( // https://github.com/sigp/lighthouse/issues/7413 let num_of_blobs = first_data_column .kzg_commitments() - .map_err(|_| "Gloas/Heze blob reconstruction not yet supported".to_string())? + .map_err(|_| "Gloas blob reconstruction not yet supported".to_string())? .len(); (0..num_of_blobs).collect() } @@ -780,7 +709,7 @@ pub fn reconstruct_data_columns( .kzg_commitments() .map_err(|_| { KzgError::InconsistentArrayLength( - "Gloas/Heze data column reconstruction not yet supported".to_string(), + "Gloas data column reconstruction not yet supported".to_string(), ) })? .len(); @@ -822,13 +751,6 @@ pub fn reconstruct_data_columns( spec, ) .map_err(KzgError::ReconstructFailed), - DataColumnSidecar::Heze(first_column) => build_data_column_sidecars_heze( - first_column.beacon_block_root, - first_column.slot, - blob_cells_and_proofs_vec, - spec, - ) - .map_err(KzgError::ReconstructFailed), } } diff --git a/beacon_node/beacon_chain/src/observed_data_sidecars.rs b/beacon_node/beacon_chain/src/observed_data_sidecars.rs index 54a165fa56..2461c8115d 100644 --- a/beacon_node/beacon_chain/src/observed_data_sidecars.rs +++ b/beacon_node/beacon_chain/src/observed_data_sidecars.rs @@ -265,8 +265,7 @@ mod tests { use bls::{FixedBytesExtended, Signature}; use std::sync::Arc; use types::{ - BeaconBlockHeader, DataColumnSidecarFulu, DataColumnSidecarGloas, DataColumnSidecarHeze, - ForkName, MainnetEthSpec, + BeaconBlockHeader, DataColumnSidecarFulu, DataColumnSidecarGloas, ForkName, MainnetEthSpec, SignedBeaconBlockHeader, }; @@ -321,31 +320,13 @@ mod tests { })) } - /// Creates a Heze DataColumnSidecar for testing. - /// Keyed by (beacon_block_root, slot) in the observation cache. - fn get_data_column_sidecar_heze( - slot: u64, - beacon_block_root: Hash256, - index: u64, - ) -> Arc> { - Arc::new(DataColumnSidecar::Heze(DataColumnSidecarHeze { - index, - column: vec![].try_into().unwrap(), - kzg_proofs: vec![].try_into().unwrap(), - slot: slot.into(), - beacon_block_root, - })) - } - fn get_sidecar( slot: u64, key: u64, index: u64, fork_name: ForkName, ) -> Arc> { - if fork_name.heze_enabled() { - get_data_column_sidecar_heze(slot, Hash256::from_low_u64_be(key), index) - } else if fork_name.gloas_enabled() { + if fork_name.gloas_enabled() { get_data_column_sidecar_gloas(slot, Hash256::from_low_u64_be(key), index) } else { get_data_column_sidecar_fulu(slot, key, index) diff --git a/beacon_node/beacon_chain/src/test_utils.rs b/beacon_node/beacon_chain/src/test_utils.rs index e4a3cae197..3089b488ec 100644 --- a/beacon_node/beacon_chain/src/test_utils.rs +++ b/beacon_node/beacon_chain/src/test_utils.rs @@ -3,10 +3,7 @@ use crate::block_verification_types::{AsBlock, AvailableBlockData, LookupBlock, use crate::custody_context::NodeCustodyType; use crate::data_availability_checker::DataAvailabilityChecker; use crate::graffiti_calculator::GraffitiSettings; -use crate::kzg_utils::{ - build_data_column_sidecars_fulu, build_data_column_sidecars_gloas, - build_data_column_sidecars_heze, -}; +use crate::kzg_utils::{build_data_column_sidecars_fulu, build_data_column_sidecars_gloas}; use crate::observed_operations::ObservationOutcome; pub use crate::persisted_beacon_chain::PersistedBeaconChain; use crate::{BeaconBlockResponseWrapper, CustodyContext, get_block_root}; @@ -3802,41 +3799,6 @@ pub fn generate_data_column_sidecars_from_block( ) -> DataColumnSidecarList { // Load the precomputed column sidecar to avoid computing them for every block in the tests. // Then repeat the cells and proofs for every blob -<<<<<<< HEAD - if block.fork_name_unchecked().heze_enabled() { - let template_data_columns = - RuntimeVariableList::>::from_ssz_bytes( - TEST_DATA_COLUMN_SIDECARS_SSZ, - E::number_of_columns(), - ) - .unwrap(); - - let (cells, proofs) = template_data_columns - .into_iter() - .map(|sidecar| { - let DataColumnSidecarHeze { - column, kzg_proofs, .. - } = sidecar; - // There's only one cell per column for a single blob - let cell_bytes: Vec = column.into_iter().next().unwrap().into(); - let kzg_cell = cell_bytes.try_into().unwrap(); - let kzg_proof = kzg_proofs.into_iter().next().unwrap(); - (kzg_cell, kzg_proof) - }) - .collect::<(Vec<_>, Vec<_>)>(); - - let blob_cells_and_proofs_vec = - vec![(cells.try_into().unwrap(), proofs.try_into().unwrap()); kzg_commitments.len()]; - - build_data_column_sidecars_heze( - signed_block_header.message.tree_hash_root(), - signed_block_header.message.slot, - blob_cells_and_proofs_vec, - spec, - ) - .unwrap() - } else if block.fork_name_unchecked().gloas_enabled() { -======= if block.fork_name_unchecked().gloas_enabled() { let kzg_commitments = &block .message() @@ -3850,7 +3812,6 @@ pub fn generate_data_column_sidecars_from_block( } let num_blobs = kzg_commitments.len(); let signed_block_header = block.signed_block_header(); ->>>>>>> f406e9c3fbf6f4abdd65a7d1501e2e892c96d2c9 let template_data_columns = RuntimeVariableList::>::from_ssz_bytes( TEST_DATA_COLUMN_SIDECARS_GLOAS_SSZ, diff --git a/beacon_node/execution_layer/src/engine_api.rs b/beacon_node/execution_layer/src/engine_api.rs index 166faaedb1..03bd7a7f8e 100644 --- a/beacon_node/execution_layer/src/engine_api.rs +++ b/beacon_node/execution_layer/src/engine_api.rs @@ -27,8 +27,7 @@ pub use types::{ use types::{ ExecutionPayloadBellatrix, ExecutionPayloadCapella, ExecutionPayloadDeneb, ExecutionPayloadElectra, ExecutionPayloadFulu, ExecutionPayloadGloas, ExecutionPayloadHeze, - ExecutionRequests, - KzgProofs, + ExecutionRequests, KzgProofs, }; use types::{GRAFFITI_BYTES_LEN, Graffiti}; diff --git a/beacon_node/execution_layer/src/engine_api/json_structures.rs b/beacon_node/execution_layer/src/engine_api/json_structures.rs index c0bf4cf829..b925717029 100644 --- a/beacon_node/execution_layer/src/engine_api/json_structures.rs +++ b/beacon_node/execution_layer/src/engine_api/json_structures.rs @@ -313,9 +313,7 @@ impl TryFrom> for JsonExecutionPayload { ExecutionPayload::Gloas(payload) => { Ok(JsonExecutionPayload::Gloas(payload.try_into()?)) } - ExecutionPayload::Heze(payload) => { - Ok(JsonExecutionPayload::Heze(payload.try_into()?)) - } + ExecutionPayload::Heze(payload) => Ok(JsonExecutionPayload::Heze(payload.try_into()?)), } } } @@ -519,9 +517,7 @@ impl TryFrom> for ExecutionPayload { JsonExecutionPayload::Gloas(payload) => { Ok(ExecutionPayload::Gloas(payload.try_into()?)) } - JsonExecutionPayload::Heze(payload) => { - Ok(ExecutionPayload::Heze(payload.try_into()?)) - } + JsonExecutionPayload::Heze(payload) => Ok(ExecutionPayload::Heze(payload.try_into()?)), } } } diff --git a/beacon_node/execution_layer/src/test_utils/execution_block_generator.rs b/beacon_node/execution_layer/src/test_utils/execution_block_generator.rs index 68498bc15d..29c951587d 100644 --- a/beacon_node/execution_layer/src/test_utils/execution_block_generator.rs +++ b/beacon_node/execution_layer/src/test_utils/execution_block_generator.rs @@ -26,9 +26,8 @@ use tree_hash_derive::TreeHash; use types::{ Blob, ChainSpec, EthSpec, ExecutionBlockHash, ExecutionPayload, ExecutionPayloadBellatrix, ExecutionPayloadCapella, ExecutionPayloadDeneb, ExecutionPayloadElectra, ExecutionPayloadFulu, - ExecutionPayloadGloas, ExecutionPayloadHeze, ExecutionPayloadHeader, ExecutionRequests, - ForkName, Hash256, KzgProofs, - Transaction, Transactions, Uint256, + ExecutionPayloadGloas, ExecutionPayloadHeader, ExecutionPayloadHeze, ExecutionRequests, + ForkName, Hash256, KzgProofs, Transaction, Transactions, Uint256, }; const TEST_BLOB_BUNDLE: &[u8] = include_bytes!("fixtures/mainnet/test_blobs_bundle.ssz"); @@ -156,7 +155,7 @@ pub struct ExecutionBlockGenerator { pub prague_time: Option, // electra pub osaka_time: Option, // fulu pub amsterdam_time: Option, // gloas - pub heze_time: Option, // heze + pub heze_time: Option, // heze /* * deneb stuff */ diff --git a/beacon_node/lighthouse_network/src/types/pubsub.rs b/beacon_node/lighthouse_network/src/types/pubsub.rs index 5683b55307..ee9aa8ef5e 100644 --- a/beacon_node/lighthouse_network/src/types/pubsub.rs +++ b/beacon_node/lighthouse_network/src/types/pubsub.rs @@ -15,10 +15,9 @@ use types::{ SignedBeaconBlockAltair, SignedBeaconBlockBase, SignedBeaconBlockBellatrix, SignedBeaconBlockCapella, SignedBeaconBlockDeneb, SignedBeaconBlockElectra, SignedBeaconBlockFulu, SignedBeaconBlockGloas, SignedBeaconBlockHeze, - SignedBlsToExecutionChange, - SignedContributionAndProof, SignedExecutionPayloadBid, SignedExecutionPayloadEnvelope, - SignedProposerPreferences, SignedVoluntaryExit, SingleAttestation, SubnetId, - SyncCommitteeMessage, SyncSubnetId, + SignedBlsToExecutionChange, SignedContributionAndProof, SignedExecutionPayloadBid, + SignedExecutionPayloadEnvelope, SignedProposerPreferences, SignedVoluntaryExit, + SingleAttestation, SubnetId, SyncCommitteeMessage, SyncSubnetId, }; #[derive(Debug, Clone, PartialEq)] diff --git a/beacon_node/network/src/sync/manager.rs b/beacon_node/network/src/sync/manager.rs index 5930fd1c07..734295ac1d 100644 --- a/beacon_node/network/src/sync/manager.rs +++ b/beacon_node/network/src/sync/manager.rs @@ -906,8 +906,8 @@ impl SyncManager { ); } // TODO(gloas) support gloas data column variant - DataColumnSidecar::Gloas(_) | DataColumnSidecar::Heze(_) => { - error!("Gloas/Heze variant not yet supported") + DataColumnSidecar::Gloas(_) => { + error!("Gloas variant not yet supported") } } } diff --git a/common/eth2/src/types.rs b/common/eth2/src/types.rs index fe41ad872e..807c4e44ee 100644 --- a/common/eth2/src/types.rs +++ b/common/eth2/src/types.rs @@ -1039,7 +1039,6 @@ impl SseDataColumnSidecar { let kzg_commitments: Vec = match data_column_sidecar { DataColumnSidecar::Fulu(dc) => dc.kzg_commitments.to_vec(), DataColumnSidecar::Gloas(_) => vec![], - DataColumnSidecar::Heze(_) => vec![], }; let versioned_hashes = kzg_commitments .iter() @@ -1195,7 +1194,11 @@ impl<'de> ContextDeserialize<'de, ForkName> for SsePayloadAttributes { ForkName::Capella => { Self::V2(Deserialize::deserialize(deserializer).map_err(convert_err)?) } - ForkName::Deneb | ForkName::Electra | ForkName::Fulu | ForkName::Gloas | ForkName::Heze => { + ForkName::Deneb + | ForkName::Electra + | ForkName::Fulu + | ForkName::Gloas + | ForkName::Heze => { Self::V3(Deserialize::deserialize(deserializer).map_err(convert_err)?) } }) @@ -2566,9 +2569,7 @@ mod test { ExecutionPayload::Gloas(ExecutionPayloadGloas::::random_for_test( rng, )), - ExecutionPayload::Heze(ExecutionPayloadHeze::::random_for_test( - rng, - )), + ExecutionPayload::Heze(ExecutionPayloadHeze::::random_for_test(rng)), ]; let merged_forks = &ForkName::list_all()[2..]; assert_eq!( diff --git a/consensus/proto_array/src/fork_choice_test_definition/heze_payload.rs b/consensus/proto_array/src/fork_choice_test_definition/heze_payload.rs index a420734609..ac1662a1c2 100644 --- a/consensus/proto_array/src/fork_choice_test_definition/heze_payload.rs +++ b/consensus/proto_array/src/fork_choice_test_definition/heze_payload.rs @@ -397,8 +397,8 @@ pub fn get_heze_find_head_vote_transition_test_definition() -> ForkChoiceTestDef } /// CL attestation weight overrides payload preference tiebreaker. -pub fn get_heze_weight_priority_over_payload_preference_test_definition() --> ForkChoiceTestDefinition { +pub fn get_heze_weight_priority_over_payload_preference_test_definition() -> ForkChoiceTestDefinition +{ let mut ops = vec![]; // Build two branches where one child extends payload (Full) and the other doesn't (Empty). diff --git a/consensus/state_processing/src/upgrade/heze.rs b/consensus/state_processing/src/upgrade/heze.rs index bb5d41791b..e9156418c1 100644 --- a/consensus/state_processing/src/upgrade/heze.rs +++ b/consensus/state_processing/src/upgrade/heze.rs @@ -1,7 +1,5 @@ use std::mem; -use types::{ - BeaconState, BeaconStateError as Error, BeaconStateHeze, ChainSpec, EthSpec, Fork, -}; +use types::{BeaconState, BeaconStateError as Error, BeaconStateHeze, ChainSpec, EthSpec, Fork}; /// Transform a `Gloas` state into a `Heze` state. pub fn upgrade_to_heze( diff --git a/consensus/types/src/block/beacon_block.rs b/consensus/types/src/block/beacon_block.rs index 3f34d17107..70f55899fc 100644 --- a/consensus/types/src/block/beacon_block.rs +++ b/consensus/types/src/block/beacon_block.rs @@ -21,8 +21,7 @@ use crate::{ BeaconBlockBodyAltair, BeaconBlockBodyBase, BeaconBlockBodyBellatrix, BeaconBlockBodyCapella, BeaconBlockBodyDeneb, BeaconBlockBodyElectra, BeaconBlockBodyFulu, BeaconBlockBodyGloas, BeaconBlockBodyHeze, BeaconBlockBodyRef, BeaconBlockBodyRefMut, - BeaconBlockHeader, - SignedBeaconBlock, SignedBeaconBlockHeader, + BeaconBlockHeader, SignedBeaconBlock, SignedBeaconBlockHeader, }, core::{ChainSpec, Domain, Epoch, EthSpec, Graffiti, Hash256, SignedRoot, Slot}, deposit::{Deposit, DepositData}, diff --git a/consensus/types/src/block/mod.rs b/consensus/types/src/block/mod.rs index 2aae1511f4..d7e58f025f 100644 --- a/consensus/types/src/block/mod.rs +++ b/consensus/types/src/block/mod.rs @@ -13,16 +13,14 @@ pub use beacon_block_body::{ BLOB_KZG_COMMITMENTS_INDEX, BeaconBlockBody, BeaconBlockBodyAltair, BeaconBlockBodyBase, BeaconBlockBodyBellatrix, BeaconBlockBodyCapella, BeaconBlockBodyDeneb, BeaconBlockBodyElectra, BeaconBlockBodyFulu, BeaconBlockBodyGloas, BeaconBlockBodyHeze, BeaconBlockBodyRef, - BeaconBlockBodyRefMut, - NUM_BEACON_BLOCK_BODY_HASH_TREE_ROOT_LEAVES, + BeaconBlockBodyRefMut, NUM_BEACON_BLOCK_BODY_HASH_TREE_ROOT_LEAVES, }; pub use beacon_block_header::BeaconBlockHeader; pub use signed_beacon_block::{ SignedBeaconBlock, SignedBeaconBlockAltair, SignedBeaconBlockBase, SignedBeaconBlockBellatrix, SignedBeaconBlockCapella, SignedBeaconBlockDeneb, SignedBeaconBlockElectra, - SignedBeaconBlockFulu, SignedBeaconBlockGloas, SignedBeaconBlockHeze, SignedBeaconBlockHash, - SignedBlindedBeaconBlock, - ssz_tagged_signed_beacon_block, ssz_tagged_signed_beacon_block_arc, + SignedBeaconBlockFulu, SignedBeaconBlockGloas, SignedBeaconBlockHash, SignedBeaconBlockHeze, + SignedBlindedBeaconBlock, ssz_tagged_signed_beacon_block, ssz_tagged_signed_beacon_block_arc, }; pub use signed_beacon_block_header::SignedBeaconBlockHeader; diff --git a/consensus/types/src/block/signed_beacon_block.rs b/consensus/types/src/block/signed_beacon_block.rs index ec535bca54..e928feb628 100644 --- a/consensus/types/src/block/signed_beacon_block.rs +++ b/consensus/types/src/block/signed_beacon_block.rs @@ -19,9 +19,8 @@ use crate::{ BLOB_KZG_COMMITMENTS_INDEX, BeaconBlock, BeaconBlockAltair, BeaconBlockBase, BeaconBlockBellatrix, BeaconBlockBodyBellatrix, BeaconBlockBodyCapella, BeaconBlockBodyDeneb, BeaconBlockBodyElectra, BeaconBlockBodyFulu, BeaconBlockCapella, - BeaconBlockDeneb, BeaconBlockElectra, BeaconBlockFulu, BeaconBlockGloas, BeaconBlockHeze, - BeaconBlockHeader, - BeaconBlockRef, BeaconBlockRefMut, SignedBeaconBlockHeader, + BeaconBlockDeneb, BeaconBlockElectra, BeaconBlockFulu, BeaconBlockGloas, BeaconBlockHeader, + BeaconBlockHeze, BeaconBlockRef, BeaconBlockRefMut, SignedBeaconBlockHeader, }, core::{ChainSpec, Domain, Epoch, EthSpec, Hash256, SignedRoot, SigningData, Slot}, execution::{ diff --git a/consensus/types/src/core/chain_spec.rs b/consensus/types/src/core/chain_spec.rs index d59092bf02..7b574d201e 100644 --- a/consensus/types/src/core/chain_spec.rs +++ b/consensus/types/src/core/chain_spec.rs @@ -1453,7 +1453,8 @@ impl ChainSpec { .expect("calculation does not overflow"), max_per_epoch_activation_churn_limit_gloas: option_wrapper(|| { u64::checked_pow(2, 7)?.checked_mul(u64::checked_pow(10, 9)?) - }).expect("calculation does not overflow"), + }) + .expect("calculation does not overflow"), // Heze heze_fork_version: [0x08, 0x00, 0x00, 0x01], heze_fork_epoch: None, diff --git a/consensus/types/src/data/data_column_sidecar.rs b/consensus/types/src/data/data_column_sidecar.rs index 5c2404b1ca..d734280183 100644 --- a/consensus/types/src/data/data_column_sidecar.rs +++ b/consensus/types/src/data/data_column_sidecar.rs @@ -44,7 +44,7 @@ pub struct DataColumnsByRootIdentifier { pub type DataColumnSidecarList = Vec>>; #[superstruct( - variants(Fulu, Gloas, Heze), + variants(Fulu, Gloas), variant_attributes( derive( Debug, @@ -95,9 +95,9 @@ pub struct DataColumnSidecar { /// An inclusion proof, proving the inclusion of `blob_kzg_commitments` in `BeaconBlockBody`. #[superstruct(only(Fulu))] pub kzg_commitments_inclusion_proof: FixedVector, - #[superstruct(only(Gloas, Heze), partial_getter(rename = "slot_gloas"))] + #[superstruct(only(Gloas), partial_getter(rename = "slot_gloas"))] pub slot: Slot, - #[superstruct(only(Gloas, Heze))] + #[superstruct(only(Gloas))] pub beacon_block_root: Hash256, } @@ -106,7 +106,6 @@ impl DataColumnSidecar { match self { DataColumnSidecar::Fulu(column) => column.slot(), DataColumnSidecar::Gloas(column) => column.slot, - DataColumnSidecar::Heze(column) => column.slot, } } @@ -118,7 +117,6 @@ impl DataColumnSidecar { match self { DataColumnSidecar::Fulu(column) => column.block_root(), DataColumnSidecar::Gloas(column) => column.beacon_block_root, - DataColumnSidecar::Heze(column) => column.beacon_block_root, } } @@ -137,12 +135,9 @@ impl DataColumnSidecar { ForkName::Fulu => Ok(DataColumnSidecar::Fulu( DataColumnSidecarFulu::from_ssz_bytes(bytes)?, )), - ForkName::Gloas => Ok(DataColumnSidecar::Gloas( + ForkName::Gloas | ForkName::Heze => Ok(DataColumnSidecar::Gloas( DataColumnSidecarGloas::from_ssz_bytes(bytes)?, )), - ForkName::Heze => Ok(DataColumnSidecar::Heze( - DataColumnSidecarHeze::from_ssz_bytes(bytes)?, - )), } } @@ -315,33 +310,6 @@ impl DataColumnSidecarGloas { } } -impl DataColumnSidecarHeze { - pub fn min_size() -> usize { - // min size is one cell - Self { - index: 0, - column: VariableList::new(vec![Cell::::default()]).unwrap(), - kzg_proofs: VariableList::new(vec![KzgProof::empty()]).unwrap(), - slot: Slot::new(0), - beacon_block_root: Hash256::ZERO, - } - .as_ssz_bytes() - .len() - } - - pub fn max_size(max_blobs_per_block: usize) -> usize { - Self { - index: 0, - column: VariableList::new(vec![Cell::::default(); max_blobs_per_block]).unwrap(), - kzg_proofs: VariableList::new(vec![KzgProof::empty(); max_blobs_per_block]).unwrap(), - slot: Slot::new(0), - beacon_block_root: Hash256::ZERO, - } - .as_ssz_bytes() - .len() - } -} - #[derive(Debug)] pub enum DataColumnSidecarError { ArithError(ArithError), diff --git a/consensus/types/src/data/mod.rs b/consensus/types/src/data/mod.rs index 9c9d65295a..9c7eb42626 100644 --- a/consensus/types/src/data/mod.rs +++ b/consensus/types/src/data/mod.rs @@ -14,7 +14,7 @@ pub use data_column_custody_group::{ }; pub use data_column_sidecar::{ Cell, ColumnIndex, DataColumn, DataColumnSidecar, DataColumnSidecarError, - DataColumnSidecarFulu, DataColumnSidecarGloas, DataColumnSidecarHeze, DataColumnSidecarList, + DataColumnSidecarFulu, DataColumnSidecarGloas, DataColumnSidecarList, DataColumnsByRootIdentifier, }; pub use data_column_subnet_id::{DataColumnSubnetId, all_data_column_sidecar_subnets_from_spec}; diff --git a/consensus/types/src/light_client/light_client_bootstrap.rs b/consensus/types/src/light_client/light_client_bootstrap.rs index 319b53480a..79d0fac927 100644 --- a/consensus/types/src/light_client/light_client_bootstrap.rs +++ b/consensus/types/src/light_client/light_client_bootstrap.rs @@ -140,7 +140,9 @@ impl LightClientBootstrap { ForkName::Electra => as Encode>::ssz_fixed_len(), ForkName::Fulu => as Encode>::ssz_fixed_len(), // TODO(gloas): implement Gloas light client - ForkName::Gloas | ForkName::Heze => as Encode>::ssz_fixed_len(), + ForkName::Gloas | ForkName::Heze => { + as Encode>::ssz_fixed_len() + } }; fixed_len + LightClientHeader::::ssz_max_var_len_for_fork(fork_name) } diff --git a/consensus/types/src/state/mod.rs b/consensus/types/src/state/mod.rs index 52e0152577..eae0fb7241 100644 --- a/consensus/types/src/state/mod.rs +++ b/consensus/types/src/state/mod.rs @@ -17,8 +17,8 @@ pub use balance::Balance; pub use beacon_state::{ BeaconState, BeaconStateAltair, BeaconStateBase, BeaconStateBellatrix, BeaconStateCapella, BeaconStateDeneb, BeaconStateElectra, BeaconStateError, BeaconStateFulu, BeaconStateGloas, - BeaconStateHash, BeaconStateHeze, BeaconStateRef, CACHED_EPOCHS, - DEFAULT_PRE_ELECTRA_WS_PERIOD, Validators, + BeaconStateHash, BeaconStateHeze, BeaconStateRef, CACHED_EPOCHS, DEFAULT_PRE_ELECTRA_WS_PERIOD, + Validators, }; pub use committee_cache::{ CommitteeCache, compute_committee_index_in_epoch, compute_committee_range_in_epoch, diff --git a/testing/ef_tests/src/type_name.rs b/testing/ef_tests/src/type_name.rs index 464cd72cd8..dd84846c4a 100644 --- a/testing/ef_tests/src/type_name.rs +++ b/testing/ef_tests/src/type_name.rs @@ -65,7 +65,6 @@ type_name_generic!(BlobSidecar); type_name_generic!(DataColumnSidecar); type_name_generic!(DataColumnSidecarFulu, "DataColumnSidecar"); type_name_generic!(DataColumnSidecarGloas, "DataColumnSidecar"); -type_name_generic!(DataColumnSidecarHeze, "DataColumnSidecar"); type_name!(Checkpoint); type_name!(ConsolidationRequest); type_name_generic!(ContributionAndProof); diff --git a/testing/ef_tests/tests/tests.rs b/testing/ef_tests/tests/tests.rs index 558238a480..0a200e7c7c 100644 --- a/testing/ef_tests/tests/tests.rs +++ b/testing/ef_tests/tests/tests.rs @@ -417,10 +417,8 @@ mod ssz_static { .run(); SszStaticHandler::, MainnetEthSpec>::gloas_only() .run(); - SszStaticHandler::, MinimalEthSpec>::heze_only() - .run(); - SszStaticHandler::, MainnetEthSpec>::heze_only() - .run(); + SszStaticHandler::, MinimalEthSpec>::heze_only().run(); + SszStaticHandler::, MainnetEthSpec>::heze_only().run(); } // Altair and later @@ -652,10 +650,8 @@ mod ssz_static { .run(); SszStaticHandler::, MainnetEthSpec>::gloas_only() .run(); - SszStaticHandler::, MinimalEthSpec>::heze_only() - .run(); - SszStaticHandler::, MainnetEthSpec>::heze_only() - .run(); + SszStaticHandler::, MinimalEthSpec>::heze_only().run(); + SszStaticHandler::, MainnetEthSpec>::heze_only().run(); } #[test] @@ -742,9 +738,9 @@ mod ssz_static { .run(); SszStaticHandler::, MainnetEthSpec>::gloas_only() .run(); - SszStaticHandler::, MinimalEthSpec>::heze_only() + SszStaticHandler::, MinimalEthSpec>::heze_only() .run(); - SszStaticHandler::, MainnetEthSpec>::heze_only() + SszStaticHandler::, MainnetEthSpec>::heze_only() .run(); }