Status
Three tests are currently broken on develop (discovered while re-enabling CI's unit-test job): bid_submission::tests::fulu_bid_submission, bid_submission::tests::fulu_bid_submission_ssz, blobs::tests::test_payload_and_blobs_equivalence (all in crates/types).
Why
BlobsBundle's SSZ decode validation (crates/types/src/blobs.rs) requires proofs.len() == blobs.len() * CELLS_PER_EXT_BLOB (256 cell-proofs per blob, Fulu's PeerDAS scheme). Two independent things violate this:
BlobsBundle::random_for_test (crates/types/src/blobs.rs) pushes exactly one proof per blob instead of 256, so any test that round-trips a randomly generated bundle through SSZ fails deterministically.
- The committed fixture
crates/types/src/testdata/signed-bid-submission-fulu.json itself only carries 1 proof per blob (2 proofs for 2 blobs) — looks like it predates the 256-proofs-per-blob requirement and needs regenerating, or the validation is stricter than it should be. Needs investigation to know which side is wrong.
Affected surface
crates/types/src/blobs.rs — BlobsBundle::random_for_test
crates/types/src/testdata/signed-bid-submission-fulu.json — stale fixture
crates/types/src/bid_submission.rs, crates/types/src/blobs.rs — the 3 tests, currently marked #[ignore] pointing here
Steps
Status
Three tests are currently broken on
develop(discovered while re-enabling CI's unit-test job):bid_submission::tests::fulu_bid_submission,bid_submission::tests::fulu_bid_submission_ssz,blobs::tests::test_payload_and_blobs_equivalence(all incrates/types).Why
BlobsBundle's SSZ decode validation (crates/types/src/blobs.rs) requiresproofs.len() == blobs.len() * CELLS_PER_EXT_BLOB(256 cell-proofs per blob, Fulu's PeerDAS scheme). Two independent things violate this:BlobsBundle::random_for_test(crates/types/src/blobs.rs) pushes exactly one proof per blob instead of 256, so any test that round-trips a randomly generated bundle through SSZ fails deterministically.crates/types/src/testdata/signed-bid-submission-fulu.jsonitself only carries 1 proof per blob (2 proofs for 2 blobs) — looks like it predates the 256-proofs-per-blob requirement and needs regenerating, or the validation is stricter than it should be. Needs investigation to know which side is wrong.Affected surface
crates/types/src/blobs.rs—BlobsBundle::random_for_testcrates/types/src/testdata/signed-bid-submission-fulu.json— stale fixturecrates/types/src/bid_submission.rs,crates/types/src/blobs.rs— the 3 tests, currently marked#[ignore]pointing hereSteps
random_for_test, whichever is wrong