diff --git a/beacon_node/beacon_chain/src/block_production/gloas.rs b/beacon_node/beacon_chain/src/block_production/gloas.rs index a0cb2d0f64..7c86659f69 100644 --- a/beacon_node/beacon_chain/src/block_production/gloas.rs +++ b/beacon_node/beacon_chain/src/block_production/gloas.rs @@ -27,12 +27,12 @@ use types::consts::gloas::BUILDER_INDEX_SELF_BUILD; use types::{ Address, Attestation, AttestationElectra, AttesterSlashing, AttesterSlashingElectra, BeaconBlock, BeaconBlockBodyGloas, BeaconBlockBodyHeze, BeaconBlockGloas, BeaconBlockHeze, - BeaconState, BeaconStateError, - BuilderIndex, Deposit, Eth1Data, EthSpec, ExecutionBlockHash, ExecutionPayloadBid, - ExecutionPayloadEnvelope, ExecutionPayloadGloas, ExecutionRequests, FullPayload, Graffiti, - Hash256, PayloadAttestation, ProposerSlashing, RelativeEpoch, SignedBeaconBlock, - SignedBlsToExecutionChange, SignedExecutionPayloadBid, SignedExecutionPayloadEnvelope, - SignedVoluntaryExit, Slot, SyncAggregate, Withdrawal, Withdrawals, + BeaconState, BeaconStateError, BuilderIndex, 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::{ diff --git a/beacon_node/beacon_chain/src/data_column_verification.rs b/beacon_node/beacon_chain/src/data_column_verification.rs index 2f2fe6a781..967025d336 100644 --- a/beacon_node/beacon_chain/src/data_column_verification.rs +++ b/beacon_node/beacon_chain/src/data_column_verification.rs @@ -1132,7 +1132,7 @@ fn verify_data_column_sidecar( let commitments_len = match data_column { DataColumnSidecar::Fulu(dc) => dc.kzg_commitments.len(), DataColumnSidecar::Gloas(_) | DataColumnSidecar::Heze(_) => { - return Err(GossipDataColumnError::InvalidVariant) + return Err(GossipDataColumnError::InvalidVariant); } }; diff --git a/beacon_node/beacon_chain/src/kzg_utils.rs b/beacon_node/beacon_chain/src/kzg_utils.rs index 51395a75be..0a6227b556 100644 --- a/beacon_node/beacon_chain/src/kzg_utils.rs +++ b/beacon_node/beacon_chain/src/kzg_utils.rs @@ -14,8 +14,8 @@ use types::kzg_ext::KzgCommitments; use types::{ Blob, BlobSidecar, BlobSidecarList, ChainSpec, DataColumnSidecar, DataColumnSidecarFulu, DataColumnSidecarGloas, DataColumnSidecarHeze, DataColumnSidecarList, EthSpec, Hash256, - KzgCommitment, KzgProof, - SignedBeaconBlock, SignedBeaconBlockHeader, SignedBlindedBeaconBlock, Slot, + KzgCommitment, KzgProof, SignedBeaconBlock, SignedBeaconBlockHeader, SignedBlindedBeaconBlock, + Slot, }; /// Converts a blob ssz FixedVector to a reference to a fixed-size array diff --git a/beacon_node/beacon_chain/src/observed_data_sidecars.rs b/beacon_node/beacon_chain/src/observed_data_sidecars.rs index 54a165fa56..05cab4bbfb 100644 --- a/beacon_node/beacon_chain/src/observed_data_sidecars.rs +++ b/beacon_node/beacon_chain/src/observed_data_sidecars.rs @@ -266,8 +266,7 @@ mod tests { use std::sync::Arc; use types::{ BeaconBlockHeader, DataColumnSidecarFulu, DataColumnSidecarGloas, DataColumnSidecarHeze, - ForkName, MainnetEthSpec, - SignedBeaconBlockHeader, + ForkName, MainnetEthSpec, SignedBeaconBlockHeader, }; type E = MainnetEthSpec; diff --git a/beacon_node/beacon_chain/tests/block_verification.rs b/beacon_node/beacon_chain/tests/block_verification.rs index 6646fe0b1e..a93a1bf519 100644 --- a/beacon_node/beacon_chain/tests/block_verification.rs +++ b/beacon_node/beacon_chain/tests/block_verification.rs @@ -928,6 +928,11 @@ async fn invalid_signature_attester_slashing() { .push(attester_slashing.as_electra().unwrap().clone()) .expect("should update attester slashing"); } + BeaconBlockBodyRefMut::Heze(blk) => { + blk.attester_slashings + .push(attester_slashing.as_electra().unwrap().clone()) + .expect("should update attester slashing"); + } } snapshots[block_index].beacon_block = Arc::new(SignedBeaconBlock::from_block(block, signature)); @@ -991,6 +996,10 @@ async fn invalid_signature_attestation() { .attestations .get_mut(0) .map(|att| att.signature = junk_aggregate_signature()), + BeaconBlockBodyRefMut::Heze(blk) => blk + .attestations + .get_mut(0) + .map(|att| att.signature = junk_aggregate_signature()), }; if block.body().attestations_len() > 0 { 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/http_api/tests/interactive_tests.rs b/beacon_node/http_api/tests/interactive_tests.rs index 15f61537a0..d82f291a1c 100644 --- a/beacon_node/http_api/tests/interactive_tests.rs +++ b/beacon_node/http_api/tests/interactive_tests.rs @@ -385,6 +385,7 @@ pub async fn proposer_boost_re_org_weight_misprediction() { /// - `num_empty_votes`: percentage of comm of attestations for the parent block /// - `num_head_votes`: number of attestations for the head block /// - `should_re_org`: whether the proposer should build on the parent rather than the head +#[allow(clippy::large_stack_frames)] pub async fn proposer_boost_re_org_test( ReOrgTest { head_slot, 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/common/eth2/src/types.rs b/common/eth2/src/types.rs index fe41ad872e..335e896193 100644 --- a/common/eth2/src/types.rs +++ b/common/eth2/src/types.rs @@ -1195,7 +1195,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 +2570,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 55a9c85b00..295ff1271b 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/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/light_client/light_client_header.rs b/consensus/types/src/light_client/light_client_header.rs index f814942537..fbbd6195e2 100644 --- a/consensus/types/src/light_client/light_client_header.rs +++ b/consensus/types/src/light_client/light_client_header.rs @@ -153,10 +153,7 @@ impl LightClientHeader { } pub fn ssz_max_var_len_for_fork(fork_name: ForkName) -> usize { - if fork_name.heze_enabled() { - // TODO(EIP7732): check this - 0 - } else if fork_name.gloas_enabled() { + if fork_name.gloas_enabled() || fork_name.heze_enabled() { // TODO(EIP7732): check this 0 } else if fork_name.capella_enabled() { 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/tests/tests.rs b/testing/ef_tests/tests/tests.rs index cd483a14c1..2c8f1ac779 100644 --- a/testing/ef_tests/tests/tests.rs +++ b/testing/ef_tests/tests/tests.rs @@ -400,10 +400,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 @@ -635,10 +633,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]