mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-20 21:34:46 +00:00
Add {fork_name}_enabled functions (#5951)
* add fork_name_enabled fn to Forkname impl * refactor codebase to use new fork_enabled fn * fmt * Merge branch 'unstable' of https://github.com/sigp/lighthouse into fork-ord-impl * small code cleanup * resolve merge conflicts * fix beacon chain test * merge conflicts * fix ef test issue * resolve merge conflicts
This commit is contained in:
@@ -196,13 +196,14 @@ impl<E: EthSpec> ForkVersionDeserialize for LightClientBootstrap<E> {
|
||||
value: Value,
|
||||
fork_name: ForkName,
|
||||
) -> Result<Self, D::Error> {
|
||||
match fork_name {
|
||||
ForkName::Base => Err(serde::de::Error::custom(format!(
|
||||
if fork_name.altair_enabled() {
|
||||
Ok(serde_json::from_value::<LightClientBootstrap<E>>(value)
|
||||
.map_err(serde::de::Error::custom))?
|
||||
} else {
|
||||
Err(serde::de::Error::custom(format!(
|
||||
"LightClientBootstrap failed to deserialize: unsupported fork '{}'",
|
||||
fork_name
|
||||
))),
|
||||
_ => Ok(serde_json::from_value::<LightClientBootstrap<E>>(value)
|
||||
.map_err(serde::de::Error::custom))?,
|
||||
)))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -212,15 +212,14 @@ impl<E: EthSpec> ForkVersionDeserialize for LightClientFinalityUpdate<E> {
|
||||
value: Value,
|
||||
fork_name: ForkName,
|
||||
) -> Result<Self, D::Error> {
|
||||
match fork_name {
|
||||
ForkName::Base => Err(serde::de::Error::custom(format!(
|
||||
if fork_name.altair_enabled() {
|
||||
serde_json::from_value::<LightClientFinalityUpdate<E>>(value)
|
||||
.map_err(serde::de::Error::custom)
|
||||
} else {
|
||||
Err(serde::de::Error::custom(format!(
|
||||
"LightClientFinalityUpdate failed to deserialize: unsupported fork '{}'",
|
||||
fork_name
|
||||
))),
|
||||
_ => Ok(
|
||||
serde_json::from_value::<LightClientFinalityUpdate<E>>(value)
|
||||
.map_err(serde::de::Error::custom),
|
||||
)?,
|
||||
)))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,11 +129,10 @@ impl<E: EthSpec> LightClientHeader<E> {
|
||||
}
|
||||
|
||||
pub fn ssz_max_var_len_for_fork(fork_name: ForkName) -> usize {
|
||||
match fork_name {
|
||||
ForkName::Base | ForkName::Altair => 0,
|
||||
ForkName::Bellatrix | ForkName::Capella | ForkName::Deneb | ForkName::Electra => {
|
||||
ExecutionPayloadHeader::<E>::ssz_max_var_len_for_fork(fork_name)
|
||||
}
|
||||
if fork_name.capella_enabled() {
|
||||
ExecutionPayloadHeader::<E>::ssz_max_var_len_for_fork(fork_name)
|
||||
} else {
|
||||
0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -198,15 +198,16 @@ impl<E: EthSpec> ForkVersionDeserialize for LightClientOptimisticUpdate<E> {
|
||||
value: Value,
|
||||
fork_name: ForkName,
|
||||
) -> Result<Self, D::Error> {
|
||||
match fork_name {
|
||||
ForkName::Base => Err(serde::de::Error::custom(format!(
|
||||
"LightClientOptimisticUpdate failed to deserialize: unsupported fork '{}'",
|
||||
fork_name
|
||||
))),
|
||||
_ => Ok(
|
||||
if fork_name.altair_enabled() {
|
||||
Ok(
|
||||
serde_json::from_value::<LightClientOptimisticUpdate<E>>(value)
|
||||
.map_err(serde::de::Error::custom),
|
||||
)?,
|
||||
)?
|
||||
} else {
|
||||
Err(serde::de::Error::custom(format!(
|
||||
"LightClientOptimisticUpdate failed to deserialize: unsupported fork '{}'",
|
||||
fork_name
|
||||
)))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,12 +41,11 @@ impl VoluntaryExit {
|
||||
spec: &ChainSpec,
|
||||
) -> SignedVoluntaryExit {
|
||||
let fork_name = spec.fork_name_at_epoch(self.epoch);
|
||||
let fork_version = match fork_name {
|
||||
ForkName::Base | ForkName::Altair | ForkName::Bellatrix | ForkName::Capella => {
|
||||
spec.fork_version_for_name(fork_name)
|
||||
}
|
||||
let fork_version = if fork_name.deneb_enabled() {
|
||||
// EIP-7044
|
||||
ForkName::Deneb | ForkName::Electra => spec.fork_version_for_name(ForkName::Capella),
|
||||
spec.fork_version_for_name(ForkName::Capella)
|
||||
} else {
|
||||
spec.fork_version_for_name(fork_name)
|
||||
};
|
||||
let domain =
|
||||
spec.compute_domain(Domain::VoluntaryExit, fork_version, genesis_validators_root);
|
||||
|
||||
Reference in New Issue
Block a user