Generalize TranscriptRepr implementation for slices (#150)

* generalize the slice implementation

* bump the version
This commit is contained in:
Srinath Setty
2023-03-10 09:27:48 -08:00
committed by GitHub
parent 0e86f9acc3
commit cbbc1c6127
2 changed files with 3 additions and 5 deletions

View File

@@ -1,6 +1,6 @@
[package]
name = "nova-snark"
version = "0.18.0"
version = "0.18.1"
authors = ["Srinath Setty <srinath@microsoft.com>"]
edition = "2021"
description = "Recursive zkSNARKs without trusted setup"

View File

@@ -234,12 +234,10 @@ pub trait PrimeFieldExt: PrimeField {
fn from_uniform(bytes: &[u8]) -> Self;
}
impl<G: Group<Scalar = F>, F: PrimeField + TranscriptReprTrait<G>> TranscriptReprTrait<G>
for &[F]
{
impl<G: Group, T: TranscriptReprTrait<G>> TranscriptReprTrait<G> for &[T] {
fn to_transcript_bytes(&self) -> Vec<u8> {
(0..self.len())
.map(|i| <F as TranscriptReprTrait<G>>::to_transcript_bytes(&self[i]))
.map(|i| self[i].to_transcript_bytes())
.collect::<Vec<_>>()
.into_iter()
.flatten()