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

Better design of the SRS #637

Open
maramihali opened this issue Jul 27, 2023 · 0 comments
Open

Better design of the SRS #637

maramihali opened this issue Jul 27, 2023 · 0 comments

Comments

@maramihali
Copy link
Contributor

maramihali commented Jul 27, 2023

Currently the crs-related factories are templated to work on both curves but we have two global variables in the crs_factory.cpp for bn254 and grumpkin (and methods for each of them) which creates duplication.

maramihali added a commit to AztecProtocol/aztec-packages that referenced this issue Jul 31, 2023
# Description

This PR provides an initial solution for having a complete grumpkin
flavor in standard honk and contains the following modifications:
* the `FileCrsFactory` now has functionality to produce CRSes for both
curves (with their key differences) and I addressed any dependent
changes in the codebase
* the PCSes are now curve agnostic, having the curve set by their
parameters and missing tests were added (shlponk\gemini on both grumpkin
and bn254 which surfaced a bug in shplonk; unit testing
gemini+shplonk+ipa as only the kzg-variant was tested)
* continued work on enabling field-agnostic gates from
(AztecProtocol/barretenberg#557, i have to
link issues manually)
* to avoid divison by zero caused by inverting the root of unity in
`EvaluationDomain<grumpkin::fr>` we hardcode the roots of unity to 1
given Grumpkin does not have many roots of unity.

Opens AztecProtocol/barretenberg#635 
AztecProtocol/barretenberg#637
AztecProtocol/barretenberg#636, 
AztecProtocol/barretenberg#640
for subsequent work.

# Checklist:

- [ x] I have reviewed my diff in github, line by line.
- [ x] Every change is related to the PR description.
- [ x] I have
[linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
this pull request to the issue(s) that it resolves.
- [x ] There are no unexpected formatting changes, superfluous debug
logs, or commented-out code.
- [x ] The branch has been merged or rebased against the head of its
merge target.
- [ x] I'm happy for the PR to be merged at the reviewer's next
convenience.
AztecBot pushed a commit that referenced this issue Jul 31, 2023
# Description

This PR provides an initial solution for having a complete grumpkin
flavor in standard honk and contains the following modifications:
* the `FileCrsFactory` now has functionality to produce CRSes for both
curves (with their key differences) and I addressed any dependent
changes in the codebase
* the PCSes are now curve agnostic, having the curve set by their
parameters and missing tests were added (shlponk\gemini on both grumpkin
and bn254 which surfaced a bug in shplonk; unit testing
gemini+shplonk+ipa as only the kzg-variant was tested)
* continued work on enabling field-agnostic gates from
(#557, i have to
link issues manually)
* to avoid divison by zero caused by inverting the root of unity in
`EvaluationDomain<grumpkin::fr>` we hardcode the roots of unity to 1
given Grumpkin does not have many roots of unity.

Opens #635 
#637
#636, 
#640
for subsequent work.

# Checklist:

- [ x] I have reviewed my diff in github, line by line.
- [ x] Every change is related to the PR description.
- [ x] I have
[linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
this pull request to the issue(s) that it resolves.
- [x ] There are no unexpected formatting changes, superfluous debug
logs, or commented-out code.
- [x ] The branch has been merged or rebased against the head of its
merge target.
- [ x] I'm happy for the PR to be merged at the reviewer's next
convenience.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant