From 45f6128a525ada6d100dd7725ce24ec3338441b0 Mon Sep 17 00:00:00 2001 From: Agnish Ghosh Date: Wed, 15 Oct 2025 19:19:41 +0530 Subject: [PATCH 1/2] add blob limit, in data column sidecar gossip --- beacon_chain/gossip_processing/gossip_validation.nim | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/beacon_chain/gossip_processing/gossip_validation.nim b/beacon_chain/gossip_processing/gossip_validation.nim index 42c936da9b..bbe81ddae7 100644 --- a/beacon_chain/gossip_processing/gossip_validation.nim +++ b/beacon_chain/gossip_processing/gossip_validation.nim @@ -598,6 +598,12 @@ proc validateDataColumnSidecar*( if v.isErr: return dag.checkedReject(v.error) + # Check if the sidecar respects the blob limit. + let epoch = block_header.slot.epoch() + if lenu64(data_column_sidecar.kzg_commitments) > + dag.cfg.get_blob_parameters(epoch).MAX_BLOBS_PER_BLOCK: + return dag.checkedReject("DataColumnSidecar: The sidecar does not respect the blob limit") + # [REJECT] The sidecar is for the correct subnet # -- i.e. `compute_subnet_for_data_column_sidecar(blob_sidecar.index) == subnet_id`. if not (compute_subnet_for_data_column_sidecar(data_column_sidecar.index) == subnet_id): @@ -723,7 +729,6 @@ proc validateDataColumnSidecar*( data_column_sidecar: gloas.DataColumnSidecar, wallTime: BeaconTime, subnet_id: uint64): Result[void, ValidationError] = - # [REJECT] The sidecar is valid as verified by verify_data_column_sidecar block: let v = verify_data_column_sidecar(data_column_sidecar) From bf785c096fc59d9268341ea98b81228bb73b38f2 Mon Sep 17 00:00:00 2001 From: Agnish Ghosh Date: Mon, 20 Oct 2025 03:41:42 +0530 Subject: [PATCH 2/2] converted gossip condition to ignore --- beacon_chain/gossip_processing/gossip_validation.nim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beacon_chain/gossip_processing/gossip_validation.nim b/beacon_chain/gossip_processing/gossip_validation.nim index bbe81ddae7..6920455390 100644 --- a/beacon_chain/gossip_processing/gossip_validation.nim +++ b/beacon_chain/gossip_processing/gossip_validation.nim @@ -602,7 +602,7 @@ proc validateDataColumnSidecar*( let epoch = block_header.slot.epoch() if lenu64(data_column_sidecar.kzg_commitments) > dag.cfg.get_blob_parameters(epoch).MAX_BLOBS_PER_BLOCK: - return dag.checkedReject("DataColumnSidecar: The sidecar does not respect the blob limit") + return errIgnore("DataColumnSidecar: The sidecar does not respect the blob limit") # [REJECT] The sidecar is for the correct subnet # -- i.e. `compute_subnet_for_data_column_sidecar(blob_sidecar.index) == subnet_id`.