Deneb review suggestions (3) (#4694)

* Fix typos

* Avoid consuming/cloning blob

* Tidy comments
This commit is contained in:
Paul Hauner
2023-09-06 05:50:57 +10:00
committed by GitHub
parent 0bfc933c50
commit 2550170337
7 changed files with 20 additions and 16 deletions

View File

@@ -4,9 +4,9 @@ use types::{Blob, EthSpec, Hash256, KzgCommitment, KzgProof};
/// Converts a blob ssz List object to an array to be used with the kzg
/// crypto library.
fn ssz_blob_to_crypto_blob<T: EthSpec>(
blob: Blob<T>,
blob: &Blob<T>,
) -> Result<<<T as EthSpec>::Kzg as KzgPreset>::Blob, KzgError> {
T::blob_from_bytes(blob.to_vec().as_slice())
T::blob_from_bytes(blob.as_ref())
}
/// Validate a single blob-commitment-proof triplet from a `BlobSidecar`.
@@ -17,7 +17,7 @@ pub fn validate_blob<T: EthSpec>(
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,
)
@@ -32,7 +32,7 @@ pub fn validate_blobs<T: EthSpec>(
) -> Result<bool, KzgError> {
let blobs = blobs
.iter()
.map(|blob| ssz_blob_to_crypto_blob::<T>(blob.clone())) // Avoid this clone
.map(|blob| ssz_blob_to_crypto_blob::<T>(blob)) // Avoid this clone
.collect::<Result<Vec<_>, KzgError>>()?;
kzg.verify_blob_kzg_proof_batch(&blobs, expected_kzg_commitments, kzg_proofs)
@@ -45,13 +45,13 @@ pub fn compute_blob_kzg_proof<T: EthSpec>(
kzg_commitment: KzgCommitment,
) -> Result<KzgProof, KzgError> {
// Avoid this blob clone
kzg.compute_blob_kzg_proof(ssz_blob_to_crypto_blob::<T>(blob.clone())?, kzg_commitment)
kzg.compute_blob_kzg_proof(ssz_blob_to_crypto_blob::<T>(blob)?, kzg_commitment)
}
/// Compute the kzg commitment for a given blob.
pub fn blob_to_kzg_commitment<T: EthSpec>(
kzg: &Kzg<T::Kzg>,
blob: Blob<T>,
blob: &Blob<T>,
) -> Result<KzgCommitment, KzgError> {
kzg.blob_to_kzg_commitment(ssz_blob_to_crypto_blob::<T>(blob)?)
}
@@ -59,7 +59,7 @@ pub fn blob_to_kzg_commitment<T: EthSpec>(
/// Compute the kzg proof for a given blob and an evaluation point z.
pub fn compute_kzg_proof<T: EthSpec>(
kzg: &Kzg<T::Kzg>,
blob: Blob<T>,
blob: &Blob<T>,
z: Hash256,
) -> Result<(KzgProof, Hash256), KzgError> {
let z = z.0.into();