sonobe-fs 0.1.0-alpha.1

Traits and implementations of folding schemes for the Sonobe library
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//! Preprocessing for Nova.

use ark_std::rand::RngCore;
use sonobe_primitives::{commitments::GroupBasedCommitment, traits::SonobeField};

use crate::{Error, FoldingSchemePreprocessor, nova::AbstractNova};

impl<CM: GroupBasedCommitment, TF: SonobeField, const B: usize> FoldingSchemePreprocessor
    for AbstractNova<CM, TF, B>
{
    fn preprocess(ck_len: usize, mut rng: impl RngCore) -> Result<Self::PublicParam, Error> {
        let ck = CM::generate_key(ck_len, &mut rng)?;
        Ok(ck)
    }
}