Skip to content

Commit 521be2b

Browse files
authored
Prevent silently dropping cell proof chunks (#8023)
Co-Authored-By: Eitan Seri- Levi <[email protected]>
1 parent 5928407 commit 521be2b

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

beacon_node/beacon_chain/src/kzg_utils.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,13 @@ pub fn blobs_to_data_column_sidecars<E: EthSpec>(
174174
let kzg_commitments_inclusion_proof = block.message().body().kzg_commitments_merkle_proof()?;
175175
let signed_block_header = block.signed_block_header();
176176

177+
if cell_proofs.len() != blobs.len() * E::number_of_columns() {
178+
return Err(DataColumnSidecarError::InvalidCellProofLength {
179+
expected: blobs.len() * E::number_of_columns(),
180+
actual: cell_proofs.len(),
181+
});
182+
}
183+
177184
let proof_chunks = cell_proofs
178185
.chunks_exact(E::number_of_columns())
179186
.collect::<Vec<_>>();

beacon_node/http_api/src/publish_blocks.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,7 @@ fn build_data_columns<T: BeaconChainTypes>(
412412
error!(
413413
error = ?e,
414414
%slot,
415-
"Invalid data column - not publishing block"
415+
"Invalid data column - not publishing data columns"
416416
);
417417
warp_utils::reject::custom_bad_request(format!("{e:?}"))
418418
})?;

consensus/types/src/data_column_sidecar.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ pub enum DataColumnSidecarError {
143143
PreDeneb,
144144
SszError(SszError),
145145
BuildSidecarFailed(String),
146+
InvalidCellProofLength { expected: usize, actual: usize },
146147
}
147148

148149
impl From<ArithError> for DataColumnSidecarError {

0 commit comments

Comments
 (0)