Skip to content

Commit 12dc98a

Browse files
authored
Test that verify_data_column_sidecar respects the blob limit (#4690)
It covers when there are too many KZG commitments in a data column sidecar.
1 parent 509070d commit 12dc98a

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

tests/core/pyspec/eth2spec/test/fulu/unittests/test_networking.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,32 @@ def test_verify_data_column_sidecar__invalid_mismatch_len_kzg_commitments(spec,
110110
@with_fulu_and_later
111111
@spec_state_test
112112
@single_phase
113-
def test_verify_data_column_sidecars__invalid_mismatch_len_kzg_proofs(spec, state):
113+
def test_verify_data_column_sidecar__invalid_mismatch_len_kzg_proofs(spec, state):
114114
sidecar = compute_data_column_sidecar(spec, state)
115115
sidecar.kzg_proofs = sidecar.kzg_proofs[1:]
116116
assert not spec.verify_data_column_sidecar(sidecar)
117117

118118

119+
@with_fulu_and_later
120+
@spec_state_test
121+
@single_phase
122+
def test_verify_data_column_sidecar__invalid_kzg_commitments_over_max_blobs(spec, state):
123+
sidecar = compute_data_column_sidecar(spec, state)
124+
125+
if is_post_gloas(spec):
126+
slot = sidecar.slot
127+
else:
128+
slot = sidecar.signed_block_header.message.slot
129+
epoch = spec.compute_epoch_at_slot(slot)
130+
max_blobs = spec.get_blob_parameters(epoch).max_blobs_per_block
131+
132+
for _ in range(max_blobs - len(sidecar.kzg_commitments) + 1):
133+
sidecar.kzg_commitments.append(sidecar.kzg_commitments[0])
134+
assert len(sidecar.kzg_commitments) > max_blobs
135+
136+
assert not spec.verify_data_column_sidecar(sidecar)
137+
138+
119139
# Tests for verify_data_column_sidecar_kzg_proofs
120140

121141

0 commit comments

Comments
 (0)