Commit Graph

4 Commits

Author SHA1 Message Date
c17fcf56c6 add hash of public params for Nova & HyperNova (#118)
- implement hash of public params for Nova & HyperNova
- abstract pp_hash computation for folding schemes
- add pp_hash to solidity contract generator to verify the decider proof
2024-07-05 09:47:18 +00:00
b5667968f4 Implement HyperNova's IVC into the FoldingScheme trait (#116)
- implement the IVC `FoldingScheme` trait for HyperNova
- refactor Nova's preprocess logic to make it simplier to use
- add to Decider trait (& Nova's DeciderEth) a preprocess method
- get rid of the `init_nova_ivc_params` and `init_ivc_and_decider_params` methods in `examples` since this is achieved with the `FS::preprocess` & `Decider::preprocess` methods
  - (update the examples code to the simplified interface using
    FS::preprocess & Decider::preprocess)
2024-07-04 09:14:31 +00:00
Pierre
da4ab5c937 Stabilize circom frontend (#101)
* refactor test of compute_c circuit to use multiple lcccs&cccs instances

* refactor hypernova's compute_c circuit to reduce from `110635` to `553` constraints

* fix: change circom fcircuit to extract indexes of inputs and add keccak satisfaction test

* fix: disable wire mapping when loading r1cs

* chore: update .gitignore and compile.sh

* fix: use fixed circom-compat branch

* fix: use slice rather than vec ref

* chore: add keccak-chain circom

* chore: trigger checks

* fix: make typos check circom files names but not their content

* chore: remove keccak, add tests with more lightweight circom templates, test that circom circuits correctly result in Ok and Err when needed

* chore: trigger checks

* fix: re-add circuit for full flow example, change naming

* chore: comment with link to issue 104, disable constraints check

* chore: remove `full_flow_example` from the examples and its
corresponding circom circuit

* chore: update `circom-compat` repo

* chore: clippy

* chore: stop excluding circom files from typos checker

* chore: remove changes on `typos.toml`

---------

Co-authored-by: arnaucube <root@arnaucube.com>
2024-05-28 14:30:25 +00:00
d5c1e5f72a Circom external inputs (#91)
* circom: add external_inputs

* adapt new external_inputs interface to the FoldingScheme trait and Nova impl

* adapt examples to new FCircuit external_inputs interface

* add state_len & external_inputs_len params to CircomFCircuit

* add examples/circom_full_flow.rs

* merge the params initializer functions, clippy

* circom: move r1cs reading to FCircuit::new instead of each step

* CI/examples: add circom so it can run the circom_full_flow example
2024-05-06 16:06:08 +02:00