mirror of
https://github.com/arnaucube/sonobe.git
synced 2026-02-02 17:26:44 +01:00
Implement Nova's NIFS.Verify circuits (with CycleFold) (#11)
* Implement Nova's NIFS.Verify circuits (with CycleFold) - Add circuit for NIFS.Verify on the main curve to check the folded `u` & `x` - Add circuit for NIFS.Verify on the CycleFold's auxiliary curve to check the folded `cm(E)` & `cm(W)` - Add transcript.get_challenge_nbits - Add tests for utils::vec.rs * replace bls12-377 & bw6-761 by pallas & vesta curves (only affects tests) We will use pallas & vesta curves (for tests only, the non-tests code uses generics) for the logic that does not require pairings, and while Grumpkin is not available (https://github.com/privacy-scaling-explorations/folding-schemes/issues/12). * update links to papers to markdown style
This commit is contained in:
@@ -5,6 +5,7 @@ use ark_std::{One, Zero};
|
||||
|
||||
use crate::pedersen::{Params as PedersenParams, Pedersen};
|
||||
|
||||
pub mod circuits;
|
||||
pub mod nifs;
|
||||
|
||||
#[derive(Debug, Clone, Eq, PartialEq)]
|
||||
@@ -14,6 +15,7 @@ pub struct CommittedInstance<C: CurveGroup> {
|
||||
pub cmW: C,
|
||||
pub x: Vec<C::ScalarField>,
|
||||
}
|
||||
|
||||
impl<C: CurveGroup> CommittedInstance<C> {
|
||||
pub fn empty() -> Self {
|
||||
CommittedInstance {
|
||||
|
||||
Reference in New Issue
Block a user