mirror of
https://github.com/sigp/lighthouse.git
synced 2026-04-20 14:28:37 +00:00
Remove blob clones in KZG verification (#4852)
## Issue Addressed This PR removes two instances of blob clones during blob verification that may not be necessary.
This commit is contained in:
@@ -12,12 +12,12 @@ fn ssz_blob_to_crypto_blob<T: EthSpec>(
|
||||
/// Validate a single blob-commitment-proof triplet from a `BlobSidecar`.
|
||||
pub fn validate_blob<T: EthSpec>(
|
||||
kzg: &Kzg<T::Kzg>,
|
||||
blob: Blob<T>,
|
||||
blob: &Blob<T>,
|
||||
kzg_commitment: KzgCommitment,
|
||||
kzg_proof: KzgProof,
|
||||
) -> Result<bool, KzgError> {
|
||||
kzg.verify_blob_kzg_proof(
|
||||
&ssz_blob_to_crypto_blob::<T>(&blob)?,
|
||||
&ssz_blob_to_crypto_blob::<T>(blob)?,
|
||||
kzg_commitment,
|
||||
kzg_proof,
|
||||
)
|
||||
@@ -27,12 +27,12 @@ pub fn validate_blob<T: EthSpec>(
|
||||
pub fn validate_blobs<T: EthSpec>(
|
||||
kzg: &Kzg<T::Kzg>,
|
||||
expected_kzg_commitments: &[KzgCommitment],
|
||||
blobs: &[Blob<T>],
|
||||
blobs: Vec<&Blob<T>>,
|
||||
kzg_proofs: &[KzgProof],
|
||||
) -> Result<bool, KzgError> {
|
||||
let blobs = blobs
|
||||
.iter()
|
||||
.map(|blob| ssz_blob_to_crypto_blob::<T>(blob)) // Avoid this clone
|
||||
.into_iter()
|
||||
.map(|blob| ssz_blob_to_crypto_blob::<T>(blob))
|
||||
.collect::<Result<Vec<_>, KzgError>>()?;
|
||||
|
||||
kzg.verify_blob_kzg_proof_batch(&blobs, expected_kzg_commitments, kzg_proofs)
|
||||
|
||||
Reference in New Issue
Block a user