Implemented verify column test
This commit is contained in:
parent
9aac511939
commit
f925a04463
|
@ -159,3 +159,45 @@ impl DaVerifier {
|
||||||
Some(self.build_attestation(&blob))
|
Some(self.build_attestation(&blob))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod test {
|
||||||
|
use crate::common::{hash_column_and_commitment, Chunk, Column};
|
||||||
|
use crate::encoder::{DaEncoder, DaEncoderParams};
|
||||||
|
use crate::global::{DOMAIN, GLOBAL_PARAMETERS};
|
||||||
|
use crate::verifier::DaVerifier;
|
||||||
|
use kzgrs::{
|
||||||
|
bytes_to_polynomial, commit_polynomial, generate_element_proof, BYTES_PER_FIELD_ELEMENT,
|
||||||
|
};
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_verify_column() {
|
||||||
|
let column: Column = (0..10).map(|i| Chunk(vec![i; 32])).collect();
|
||||||
|
let (_, column_poly) =
|
||||||
|
bytes_to_polynomial::<BYTES_PER_FIELD_ELEMENT>(column.as_bytes().as_slice(), *DOMAIN)
|
||||||
|
.unwrap();
|
||||||
|
let column_commitment = commit_polynomial(&column_poly, &GLOBAL_PARAMETERS).unwrap();
|
||||||
|
let (_, aggregated_poly) = bytes_to_polynomial::<
|
||||||
|
{ DaEncoderParams::MAX_BLS12_381_ENCODING_CHUNK_SIZE },
|
||||||
|
>(
|
||||||
|
hash_column_and_commitment::<{ DaEncoderParams::MAX_BLS12_381_ENCODING_CHUNK_SIZE }>(
|
||||||
|
&column,
|
||||||
|
&column_commitment,
|
||||||
|
)
|
||||||
|
.as_slice(),
|
||||||
|
*DOMAIN,
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
let aggregated_commitment =
|
||||||
|
commit_polynomial(&aggregated_poly, &GLOBAL_PARAMETERS).unwrap();
|
||||||
|
let column_proof =
|
||||||
|
generate_element_proof(0, &aggregated_poly, &GLOBAL_PARAMETERS, *DOMAIN).unwrap();
|
||||||
|
assert!(DaVerifier::verify_column(
|
||||||
|
&column,
|
||||||
|
&column_commitment,
|
||||||
|
&aggregated_commitment,
|
||||||
|
&column_proof,
|
||||||
|
0
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue