Skip to main content

sonobe_fs/nova/algorithms/
preprocessor.rs

1//! Preprocessing for Nova.
2
3use ark_std::rand::RngCore;
4use sonobe_primitives::{commitments::GroupBasedCommitment, traits::SonobeField};
5
6use crate::{Error, FoldingSchemePreprocessor, nova::AbstractNova};
7
8impl<CM: GroupBasedCommitment, TF: SonobeField, const B: usize> FoldingSchemePreprocessor
9    for AbstractNova<CM, TF, B>
10{
11    fn preprocess(ck_len: usize, mut rng: impl RngCore) -> Result<Self::PublicParam, Error> {
12        let ck = CM::generate_key(ck_len, &mut rng)?;
13        Ok(ck)
14    }
15}