From e3c721817e820514e327b03da2b68c0b809d88cd Mon Sep 17 00:00:00 2001 From: Lion - dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri, 7 Feb 2025 21:38:24 -0300 Subject: [PATCH] Remove duplicated fork_epoch and fork_version implementation (#6953) This PR adds an implementation to get fork_version and fork_epoch given a `ForkName`. I didn't realize that this is already implemented in the `ChainSpec` sorry - https://github.com/sigp/lighthouse/pull/6933 Remove duplicated fork_epoch and fork_version implementation --- consensus/types/src/fork_context.rs | 4 ++-- consensus/types/src/fork_name.rs | 27 +-------------------------- 2 files changed, 3 insertions(+), 28 deletions(-) diff --git a/consensus/types/src/fork_context.rs b/consensus/types/src/fork_context.rs index 8f3632d895..a6360705ba 100644 --- a/consensus/types/src/fork_context.rs +++ b/consensus/types/src/fork_context.rs @@ -25,11 +25,11 @@ impl ForkContext { let fork_to_digest: HashMap = ForkName::list_all() .into_iter() .filter_map(|fork| { - if fork.fork_epoch(spec).is_some() { + if spec.fork_epoch(fork).is_some() { Some(( fork, ChainSpec::compute_fork_digest( - ForkName::fork_version(fork, spec), + spec.fork_version_for_name(fork), genesis_validators_root, ), )) diff --git a/consensus/types/src/fork_name.rs b/consensus/types/src/fork_name.rs index 4a46baf57f..e92db49485 100644 --- a/consensus/types/src/fork_name.rs +++ b/consensus/types/src/fork_name.rs @@ -38,35 +38,10 @@ impl ForkName { .into_iter() // Skip Base .skip(1) - .map(|fork| (fork, fork.fork_epoch(spec))) + .map(|fork| (fork, spec.fork_epoch(fork))) .collect() } - pub fn fork_epoch(self, spec: &ChainSpec) -> Option { - match self { - Self::Base => Some(Epoch::new(0)), - Self::Altair => spec.altair_fork_epoch, - Self::Bellatrix => spec.bellatrix_fork_epoch, - Self::Capella => spec.capella_fork_epoch, - Self::Deneb => spec.deneb_fork_epoch, - Self::Electra => spec.electra_fork_epoch, - Self::Fulu => spec.fulu_fork_epoch, - } - } - - /// Returns the fork version of a fork - pub fn fork_version(self, spec: &ChainSpec) -> [u8; 4] { - match self { - Self::Base => spec.genesis_fork_version, - Self::Altair => spec.altair_fork_version, - Self::Bellatrix => spec.bellatrix_fork_version, - Self::Capella => spec.capella_fork_version, - Self::Deneb => spec.deneb_fork_version, - Self::Electra => spec.electra_fork_version, - Self::Fulu => spec.fulu_fork_version, - } - } - pub fn latest() -> ForkName { // This unwrap is safe as long as we have 1+ forks. It is tested below. *ForkName::list_all().last().unwrap()