mirror of
https://github.com/zkemail/zk-email-verify.git
synced 2026-01-09 13:38:03 -05:00
feat: serialize public inputs
This commit is contained in:
@@ -12,6 +12,8 @@ use ark_ff::MontBackend;
|
||||
use ark_groth16::Groth16;
|
||||
use ark_groth16::Proof;
|
||||
use ark_groth16::VerifyingKey;
|
||||
use ark_serialize::CanonicalDeserialize;
|
||||
use ark_serialize::CanonicalSerialize;
|
||||
use serde::Deserialize;
|
||||
use std::fs;
|
||||
use std::ops::Deref;
|
||||
@@ -40,7 +42,7 @@ struct SnarkJsVkey {
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct PublicInputs<const N: usize> {
|
||||
inputs: [GrothFp; N],
|
||||
pub inputs: [GrothFp; N],
|
||||
}
|
||||
|
||||
pub trait JsonDecoder {
|
||||
@@ -176,3 +178,17 @@ impl<const N: usize> Deref for PublicInputs<N> {
|
||||
&self.inputs
|
||||
}
|
||||
}
|
||||
|
||||
impl<const N: usize> CanonicalSerialize for PublicInputs<N> {
|
||||
fn serialize_with_mode<W: ark_serialize::Write>(
|
||||
&self,
|
||||
writer: W,
|
||||
compress: ark_serialize::Compress,
|
||||
) -> Result<(), ark_serialize::SerializationError> {
|
||||
self.inputs.serialize_with_mode(writer, compress)
|
||||
}
|
||||
|
||||
fn serialized_size(&self, compress: ark_serialize::Compress) -> usize {
|
||||
self.inputs.serialized_size(compress)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user