Implement CycleFold in Nova's IVC (#45)

* Implement CycleFold in Nova's IVC

(CycleFold: https://eprint.iacr.org/2023/1192)

* CycleFoldChallengeGadget: add points coordinates as bytes

* Apply PR review suggestions
This commit is contained in:
2023-12-18 09:42:46 +01:00
committed by GitHub
parent 876e23c159
commit b4f42e7023
17 changed files with 1327 additions and 566 deletions

View File

@@ -16,10 +16,12 @@ pub mod frontend;
pub mod pedersen;
pub mod utils;
#[derive(Debug, Error, PartialEq)]
#[derive(Debug, Error)]
pub enum Error {
#[error("ark_relations::r1cs::SynthesisError")]
SynthesisError(#[from] ark_relations::r1cs::SynthesisError),
#[error("ark_serialize::SerializationError")]
SerializationError(#[from] ark_serialize::SerializationError),
#[error("{0}")]
Other(String),
@@ -47,6 +49,8 @@ pub enum Error {
SumCheckProveError(String),
#[error("Sum-check verify failed: {0}")]
SumCheckVerifyError(String),
#[error("Value out of bounds")]
OutOfBounds,
}
/// FoldingScheme defines trait that is implemented by the diverse folding schemes. It is defined