Changes for fusaka-devnet-1 (#7559)

Changes for [fusaka-devnet-1](https://notes.ethereum.org/@ethpandaops/fusaka-devnet-1)


  [Consensus Specs v1.6.0-alpha.1](https://github.com/ethereum/consensus-specs/pull/4346)
* [EIP-7917: Deterministic Proposer Lookahead](https://eips.ethereum.org/EIPS/eip-7917)
* [EIP-7892: Blob Parameter Only Hardforks](https://eips.ethereum.org/EIPS/eip-7892)
This commit is contained in:
ethDreamer
2025-06-09 11:10:08 +02:00
committed by GitHub
parent 170cd0f587
commit b08d49c4cb
18 changed files with 201 additions and 39 deletions

View File

@@ -11,7 +11,7 @@ use state_processing::per_epoch_processing::effective_balance_updates::{
process_effective_balance_updates, process_effective_balance_updates_slow,
};
use state_processing::per_epoch_processing::single_pass::{
process_epoch_single_pass, SinglePassConfig,
process_epoch_single_pass, process_proposer_lookahead, SinglePassConfig,
};
use state_processing::per_epoch_processing::{
altair, base,
@@ -77,6 +77,8 @@ pub struct SyncCommitteeUpdates;
pub struct InactivityUpdates;
#[derive(Debug)]
pub struct ParticipationFlagUpdates;
#[derive(Debug)]
pub struct ProposerLookahead;
type_name!(
JustificationAndFinalization,
@@ -97,6 +99,7 @@ type_name!(ParticipationRecordUpdates, "participation_record_updates");
type_name!(SyncCommitteeUpdates, "sync_committee_updates");
type_name!(InactivityUpdates, "inactivity_updates");
type_name!(ParticipationFlagUpdates, "participation_flag_updates");
type_name!(ProposerLookahead, "proposer_lookahead");
impl<E: EthSpec> EpochTransition<E> for JustificationAndFinalization {
fn run(state: &mut BeaconState<E>, spec: &ChainSpec) -> Result<(), EpochProcessingError> {
@@ -280,6 +283,16 @@ impl<E: EthSpec> EpochTransition<E> for ParticipationFlagUpdates {
}
}
impl<E: EthSpec> EpochTransition<E> for ProposerLookahead {
fn run(state: &mut BeaconState<E>, spec: &ChainSpec) -> Result<(), EpochProcessingError> {
if state.fork_name_unchecked().fulu_enabled() {
process_proposer_lookahead(state, spec)
} else {
Ok(())
}
}
}
impl<E: EthSpec, T: EpochTransition<E>> LoadCase for EpochProcessing<E, T> {
fn load_from_dir(path: &Path, fork_name: ForkName) -> Result<Self, Error> {
let spec = &testing_spec::<E>(fork_name);
@@ -338,6 +351,11 @@ impl<E: EthSpec, T: EpochTransition<E>> Case for EpochProcessing<E, T> {
{
return false;
}
if !fork_name.fulu_enabled() && T::name() == "proposer_lookahead" {
return false;
}
true
}