Blob references in ckzg (#4723)

* Move to using references in ckzg functions

* cleanup TrustedSetup a bit

* Remove BYTES_PER_FIELD_ELEMENT from KzgPreset
This commit is contained in:
Pawan Dhananjay
2023-09-13 19:14:30 -07:00
committed by GitHub
parent 4a31e369bf
commit 2cfcb51207
6 changed files with 72 additions and 73 deletions

View File

@@ -1,7 +1,7 @@
use crate::test_utils::TestRandom;
use crate::{Blob, EthSpec, Hash256, SignedRoot, Slot};
use derivative::Derivative;
use kzg::{Kzg, KzgCommitment, KzgPreset, KzgProof};
use kzg::{Kzg, KzgCommitment, KzgPreset, KzgProof, BYTES_PER_FIELD_ELEMENT};
use rand::Rng;
use serde_derive::{Deserialize, Serialize};
use ssz::Encode;
@@ -136,7 +136,7 @@ impl<T: EthSpec> BlobSidecar<T> {
// each field element contained in the blob is < BLS_MODULUS
for i in 0..T::Kzg::FIELD_ELEMENTS_PER_BLOB {
let Some(byte) = blob_bytes.get_mut(
i.checked_mul(T::Kzg::BYTES_PER_FIELD_ELEMENT)
i.checked_mul(BYTES_PER_FIELD_ELEMENT)
.ok_or("overflow".to_string())?,
) else {
return Err(format!("blob byte index out of bounds: {:?}", i));
@@ -149,11 +149,11 @@ impl<T: EthSpec> BlobSidecar<T> {
let kzg_blob = T::blob_from_bytes(&blob).unwrap();
let commitment = kzg
.blob_to_kzg_commitment(kzg_blob.clone())
.blob_to_kzg_commitment(&kzg_blob)
.map_err(|e| format!("error computing kzg commitment: {:?}", e))?;
let proof = kzg
.compute_blob_kzg_proof(kzg_blob, commitment)
.compute_blob_kzg_proof(&kzg_blob, commitment)
.map_err(|e| format!("error computing kzg proof: {:?}", e))?;
Ok(Self {