Use spec constants for PTC thresholds in fork choice (#9088)

Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com>
This commit is contained in:
Lion - dapplion
2026-04-04 17:36:26 -05:00
committed by GitHub
parent 27af0ed82c
commit 7559dd2809
2 changed files with 8 additions and 3 deletions

View File

@@ -211,7 +211,7 @@ impl ProtoNode {
return false;
}
node.payload_timeliness_votes.num_set_bits() > E::ptc_size() / 2
node.payload_timeliness_votes.num_set_bits() > E::payload_timely_threshold()
}
pub fn is_payload_data_available<E: EthSpec>(&self) -> bool {
@@ -224,8 +224,8 @@ impl ProtoNode {
return false;
}
// TODO(gloas): add function on EthSpec for DATA_AVAILABILITY_TIMELY_THRESHOLD
node.payload_data_availability_votes.num_set_bits() > E::ptc_size() / 2
node.payload_data_availability_votes.num_set_bits()
> E::data_availability_timely_threshold()
}
}

View File

@@ -448,6 +448,11 @@ pub trait EthSpec: 'static + Default + Sync + Send + Clone + Debug + PartialEq +
fn payload_timely_threshold() -> usize {
Self::PTCSize::to_usize() / 2
}
/// Returns the `DATA_AVAILABILITY_TIMELY_THRESHOLD` constant (PTC_SIZE / 2).
fn data_availability_timely_threshold() -> usize {
Self::PTCSize::to_usize() / 2
}
}
/// Macro to inherit some type values from another EthSpec.