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] [package]
name = "nova-snark" name = "nova-snark"
version = "0.18.0" version = "0.18.1"
authors = ["Srinath Setty <srinath@microsoft.com>"] authors = ["Srinath Setty <srinath@microsoft.com>"]
edition = "2021" edition = "2021"
description = "Recursive zkSNARKs without trusted setup" description = "Recursive zkSNARKs without trusted setup"

View File

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