diff --git a/beacon_node/beacon_chain/src/data_availability_checker/overflow_lru_cache.rs b/beacon_node/beacon_chain/src/data_availability_checker/overflow_lru_cache.rs index eaea2f70da8..7f083139ee2 100644 --- a/beacon_node/beacon_chain/src/data_availability_checker/overflow_lru_cache.rs +++ b/beacon_node/beacon_chain/src/data_availability_checker/overflow_lru_cache.rs @@ -26,6 +26,15 @@ use types::{ /// /// The blobs are all gossip and kzg verified. /// The block has completed all verifications except the availability check. +/// +/// There are currently three distinct hardfork eras that one should take note of: +/// - Pre-Deneb: No availability requirements (Block is immediately available) +/// - Post-Deneb, Pre-PeerDAS: Blobs are needed, but columns are not for the availability check +/// - Post-PeerDAS: Columns are needed, but blobs are not for the availability check +/// +/// Note: from this, one can immediately see that `verified_blobs` and `verified_data_columns` +/// are mutually exclusive. i.e. If we are verifying columns to determine a block's availability +/// we are ignoring the `verified_blobs` field. pub struct PendingComponents { pub block_root: Hash256, pub verified_blobs: RuntimeFixedVector>>,