Cleanup signature_verify_chain_segment

This commit is contained in:
Pawan Dhananjay
2026-06-22 15:45:50 -07:00
parent 8f23b587df
commit e1c1f07137

View File

@@ -621,6 +621,7 @@ pub(crate) fn process_block_slash_info<T: BeaconChainTypes, TErr: BlockBlobError
/// signature in the block is invalid, an `Err` is returned (it is not possible to known _which_
/// signature was invalid).
///
/// Also performs kzg verification on columns if they exist.
/// ## Errors
///
/// The given `chain_segment` must contain only blocks from the same epoch, otherwise an error
@@ -651,17 +652,17 @@ pub fn signature_verify_chain_segment<T: BeaconChainTypes>(
&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<T: BeaconChainTypes>(
});
}
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);