-
Notifications
You must be signed in to change notification settings - Fork 411
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
Feat/switch groth16 key #1357
base: master
Are you sure you want to change the base?
Feat/switch groth16 key #1357
Conversation
I'm a bit behind on reviews and will get to it soon |
6ffa023
to
4e1aa27
Compare
I rebased on top of master and fixed conflicting changes. I'll still have a look at the Groth16 test and add tests for MuxG2/MuxGt. And I'd like to write documentation example. But in general looks good. |
Super nice!!
|
Description
This PR implements
SwitchVerificationKey
for groth16 recursion. By including two verification keys for similar circuits, it allows recursive verification of multiple proofs for both circuits, seamlessly switching between their corresponding verification keys as needed.Type of change
How has this been tested?
There are three similar tests that verify that two proofs from two different circuits are in the third circuit. Each test uses different curves for the inner and outer circuits:
TestMultipleBN254InBN254
TestMultipleBLS12InBW6
TestMultipleBW6InBN254
Checklist:
golangci-lint
does not output errors locally