diff --git a/beacon_node/beacon_chain/src/block_verification.rs b/beacon_node/beacon_chain/src/block_verification.rs index 368df038f0..1c1fdeafb3 100644 --- a/beacon_node/beacon_chain/src/block_verification.rs +++ b/beacon_node/beacon_chain/src/block_verification.rs @@ -621,6 +621,7 @@ pub(crate) fn process_block_slash_info( &chain.spec, )?; - let mut available_blocks = Vec::with_capacity(chain_segment.len()); - let mut envelopes = Vec::with_capacity(chain_segment.len()); let mut signature_verified_blocks = Vec::with_capacity(chain_segment.len()); for (block_root, block) in chain_segment { let consensus_context = ConsensusContext::new(block.slot()).set_current_block_root(block_root); - - let (available_block, envelope) = block.into_available_block()?; - available_blocks.push(available_block.clone()); - envelopes.push(envelope); + // This gets columns from the block for pre-gloas and from the envelope for + // post gloas. + if let Some(columns) = block.data_columns() { + verify_columns_against_block(&chain.kzg, block.as_block(), &columns)?; + } + let (available_block, _envelope) = block.into_available_block()?; signature_verified_blocks.push(SignatureVerifiedBlock { block: MaybeAvailableBlock::Available(available_block), block_root, @@ -670,16 +671,6 @@ pub fn signature_verify_chain_segment( }); } - chain - .data_availability_checker - .batch_verify_kzg_for_available_blocks(&available_blocks)?; - - for (available_block, maybe_envelope) in available_blocks.iter().zip(envelopes.iter()) { - if let Some(envelope) = maybe_envelope { - verify_columns_against_block(&chain.kzg, available_block.block(), &envelope.columns)?; - } - } - // verify signatures let pubkey_cache = get_validator_pubkey_cache(chain)?; let mut signature_verifier = get_signature_verifier(&state, &pubkey_cache, &chain.spec);