-
Notifications
You must be signed in to change notification settings - Fork 219
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(nargo): Consume CommonReferenceString functions & manage caching #1348
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
TomAFrench
reviewed
May 17, 2023
TomAFrench
reviewed
May 17, 2023
* master: fix: Fix modulo operator for comptime values (#1361) chore: clarify that `verify_signature` takes a hashed message (#1365) feat: pass in closure to `Driver` to signal backend opcode support (#1349) feat(nargo)!: retire print-acir in favour of flag (#1328) chore(ssa): enable cse for assert (#1350) chore(ssa refactor): Add basic instruction simplification (#1329) chore(noir): Release 0.6.0 (#1279)
* phated/acvm-0.12.0:
phated
commented
May 18, 2023
phated
commented
May 18, 2023
TomAFrench
approved these changes
May 19, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, just a couple nits but neither are blockers.
TomAFrench
added a commit
that referenced
this pull request
May 23, 2023
* phated/acvm-0.12.0: fix compilation issue switch to published acvm and backend feat(nargo): Consume CommonReferenceString functions & manage caching (#1348) fix(stdlib): Workaround for Field comparison error in EdDSA signature verification (#1372) feat!: remove concept of noir fallbacks for foreign functions (#1371) feat(ssa refactor): mem2reg opt pass (#1363) feat(stdlib): EdDSA sig verification (#1313)
TomAFrench
added a commit
that referenced
this pull request
May 24, 2023
* chore!: Update to ACVM 0.12.0 * feat: adapted to heterogeneous bb calls * chore: update cargo tomls * test: re enabled sort test * fix: improve variable resolution * feat: use dummy constructor for bb call * updates for latest * feat!: Move WitnessMap type into ACVM to avoid leaking BTreeMap type * feat(nargo): Consume CommonReferenceString functions & manage caching (#1348) * switch to published acvm and backend * fix compilation issue * chore: Remove usage of `acvm::default_is_opcode_supported` (#1366) Co-authored-by: Blaine Bublitz <blaine.bublitz@gmail.com> Co-authored-by: Tom French <tom@tomfren.ch> * add issue numbers to TODOs * chore: deduplicate driver setup logic * chore: clippy --------- Co-authored-by: sirasistant <sirasistant@gmail.com> Co-authored-by: Tom French <tom@tomfren.ch> Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com> Co-authored-by: Maxim Vezenov <mvezenov@gmail.com>
vezenovm
added a commit
that referenced
this pull request
Jun 1, 2023
* chore!: Update to ACVM 0.12.0 * feat: adapted to heterogeneous bb calls * chore: update cargo tomls * test: re enabled sort test * fix: improve variable resolution * feat: use dummy constructor for bb call * updates for latest * feat!: Move WitnessMap type into ACVM to avoid leaking BTreeMap type * feat(nargo): Consume CommonReferenceString functions & manage caching (#1348) * switch to published acvm and backend * fix compilation issue * chore: Remove usage of `acvm::default_is_opcode_supported` (#1366) Co-authored-by: Blaine Bublitz <blaine.bublitz@gmail.com> Co-authored-by: Tom French <tom@tomfren.ch> * add issue numbers to TODOs * chore: update to ACVM 0.13.0 * chore: fix broken import * chore: bump commit * chore: Update Acvm 0.13.0 branch (#1465) have acvm-backend-bberg patch reference new branch with additional crate-type * Update Cargo.toml * Update Cargo.toml * update flake.lock * feat!: var message size for keccak in stdlib (#1481) * Var message size for keccak in stdlib * fix the build: remove aes blackbox add domain separator for pedersen * pedersen with domain separator * chore: update pedersen test case for domain separator (#1482) pedersen with domain separator * chore: add pedersen hash with domain separator in stdlib (#1483) * pedersen with domain separator * separator for pedersen * update to acvm 0.13.0 and new acvm-backend-bberg * update cargo lock * update MockBackend in sort test * update merkle_insert and simple_shield for updated pedersen in bberg * try ubuntu-large * remove patch and update to acvm-backend-bberg 0.3.0 * cargo.lock --------- Co-authored-by: Blaine Bublitz <blaine.bublitz@gmail.com> Co-authored-by: sirasistant <sirasistant@gmail.com> Co-authored-by: Maxim Vezenov <mvezenov@gmail.com> Co-authored-by: kevaundray <kevtheappdev@gmail.com> Co-authored-by: guipublic <47281315+guipublic@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related issue(s)
Resolves #1302
Description
Summary of changes
This updates Nargo core and CLI to take advantage of the new CommonReferenceString trait on the ACVM backends. This allows Nargo to control the cache of CRS artifacts, leaving backends free of any filesystem operations.
I've also renamed the artifact so we don't try to load an old "transcript00.dat" file that isn't a serialized CRS struct that acvm-backend-barretenberg expects.
Dependency additions / changes
Nargo CLI now has the dependency on Tokio to block on the async function.
Test additions / changes
As with the backend test, we now start a static server during
nix flake check
to server the CRS instead of fetching from AWS because Nix doesn't allow network access in the sandbox.Checklist
cargo fmt
with default settings.Documentation needs
Additional context