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

feat: Refactor R1CS shape to split the commitment key generation #315

Closed

Commits on May 2, 2024

  1. feat: Refactor R1CS shape to split the commitment key generation

    TL;DR: splits off one major source of diff lines from PR microsoft#283. Inherently, there are many R1CS shapes to consider when tailoring public parameter creation to non-uniform step-circuits.
    However, the commitment key generation should only be done once for all circuits (once a suitable size has been determined by looking at all R1CS shapes). This splits the relevant Nova functions
    into `r1cs_shape_and_key`, `r1cs_shape` and `commitment_key` to enable the flexibility deamnded by the above model.
    
    In detail:
    - Renamed the `r1cs_shape` method across various files to `r1cs_shape_and_key`, indicating its functionality is to return both `R1CSShape` and `CommitmentKey`.
    - Altered function calls from `r1cs_shape` to `r1cs_shape_and_key` in files such as `direct.rs`, `nifs.rs`, `lib.rs` and `circuit.rs`,
    - Split the creation of `R1CSShape` and `CommitmentKey` into separate functions in the `NovaShape` object in `r1cs.rs`
    - Removed the `R1CS` struct in `mod.rs` as it only contained a phantom data, with related operations performed elsewhere.
    - Implemented changes to enhance code readability, including the addition of a new `commitment_key_size` function, and overall code reformatting for clarity.
    huitseeker committed May 2, 2024
    Configuration menu
    Copy the full SHA
    3a0527e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a4ead79 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2024

  1. chore: fix clippy

    huitseeker committed May 3, 2024
    Configuration menu
    Copy the full SHA
    30ddd39 View commit details
    Browse the repository at this point in the history