Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding groth16, kzg10 and final decider verifiers in a dedicated workspace #69

Closed
wants to merge 68 commits into from

Conversation

dmpierre
Copy link
Collaborator

@dmpierre dmpierre commented Feb 7, 2024

This PR re-organizes the repo into two different workspaces: folding-schemes and folding-schemes-solidity.

While the folding-schemes workspace holds initial code, the folding-schemes-solidity one contains all relevant evm contracts for each of the verifiers. Three different contracts are included, along with their respective templates. We provide adequate tests for each of those.

  • Templates are generated using the askama library and can be found here
  • Verifiers templates configuration are here
  • We test that each of the verifiers templates, compiles and execute correctly here. We do not yet include a test for the final decider, since additional details regarding how it will work are on hold.

CPerezz and others added 30 commits January 18, 2024 10:01
- update lib.rs's `FoldingScheme` trait interface
- fit Nova+CycleFold into the `FoldingScheme` trait
- refactor `src/nova/*`
Now we include an `assets` folder with a serialized proof & vk for tests
@@ -0,0 +1 @@

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@@ -0,0 +1,686 @@
/// This file implements the onchain (Ethereum's EVM) decider circuit. For non-ethereum use cases,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this file appears as 'new' when it should be as 'file renamed without changes' (since it exist in the main branch: https://github.com/privacy-scaling-explorations/folding-schemes/blob/main/src/folding/nova/decider_eth_circuit.rs )
Could it be that the PR branch is not getting all the changes from the main branch?

Copy link
Collaborator

@arnaucube arnaucube Feb 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also for pedersen.rs. I've done in this branch an update getting the branch of the current PR and the last main version into folding-schemes subdir, if that is useful: main...feature/solidity-verifiers-from-last-main

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I will close this PR and move to your branch.

I've done a rebase early on, but on a branch different from main, to get your kzg implementation when testing. I think that's why we might end up with this! Sorry for the trouble :)

@arnaucube arnaucube added the decider decider/compressed snark label Feb 7, 2024
@dmpierre dmpierre closed this Feb 7, 2024
@dmpierre dmpierre deleted the feature/solidity-verifiers branch February 7, 2024 14:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
decider decider/compressed snark
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants