This commit is contained in:
Eitan Seri-Levi
2026-05-01 18:23:33 +02:00
14 changed files with 862 additions and 160 deletions

View File

@@ -21,7 +21,7 @@ use tracing::{debug, error, instrument};
use types::data::{BlobIdentifier, FixedBlobSidecarList, PartialDataColumn};
use types::{
BlobSidecar, BlobSidecarList, BlockImportSource, ChainSpec, DataColumnSidecar,
DataColumnSidecarList, Epoch, EthSpec, Hash256, PartialDataColumnSidecarError,
DataColumnSidecarList, Epoch, EthSpec, ForkName, Hash256, PartialDataColumnSidecarError,
PartialDataColumnSidecarRef, SignedBeaconBlock, Slot, new_non_zero_usize,
};
@@ -539,6 +539,11 @@ impl<T: BeaconChainTypes> DataAvailabilityChecker<T> {
self.da_check_required_for_epoch(epoch) && self.spec.is_peer_das_enabled_for_epoch(epoch)
}
/// Determines if execution payload envelopes are required for an epoch (Gloas and later).
pub fn envelopes_required_for_epoch(&self, epoch: Epoch) -> bool {
self.spec.fork_name_at_epoch(epoch) >= ForkName::Gloas
}
/// See `Self::blobs_required_for_epoch`
fn blobs_required_for_block(&self, block: &SignedBeaconBlock<T::EthSpec>) -> bool {
block.num_expected_blobs() > 0 && self.blobs_required_for_epoch(block.epoch())