diff --git a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/logic/versions/deneb/helpers/MiscHelpersDeneb.java b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/logic/versions/deneb/helpers/MiscHelpersDeneb.java index 8ba725d5f03..2c6da055db2 100644 --- a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/logic/versions/deneb/helpers/MiscHelpersDeneb.java +++ b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/logic/versions/deneb/helpers/MiscHelpersDeneb.java @@ -67,19 +67,6 @@ public boolean isDataAvailable( final Bytes32 beaconBlockRoot, final List kzgCommitments, final List blobSidecars) { - validateBlobs(slot, beaconBlockRoot, kzgCommitments, blobSidecars); - return true; - } - - /** - * validate_blobs - */ - private void validateBlobs( - final UInt64 slot, - final Bytes32 beaconBlockRoot, - final List kzgCommitments, - final List blobSidecars) { blobSidecars.forEach( blobSidecar -> { checkArgument( @@ -100,21 +87,14 @@ private void validateBlobs( .collect(Collectors.toList()); final List proofs = blobSidecars.stream().map(BlobSidecar::getKZGProof).collect(Collectors.toList()); - checkArgument( - kzgCommitments.size() == blobs.size(), - "Number of KZG commitments (%s) does not match number of blobs (%s)", - kzgCommitments.size(), - blobSidecars.size()); - checkArgument( - blobs.size() == proofs.size(), - "Number of blobs (%s) does not match number of proofs (%s)", - blobs.size(), - proofs.size()); + checkState( kzg.verifyBlobKzgProofBatch(blobs, kzgCommitments, proofs), "The blobs and KZG proofs do not correspond to the KZG commitments for slot %s and block root %s", slot, beaconBlockRoot); + + return true; } /**