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

chore: standardize witness map serialization format in JS #3104

Merged
merged 1 commit into from
Oct 11, 2023

Conversation

TomAFrench
Copy link
Member

@TomAFrench TomAFrench commented Oct 11, 2023

Description

Problem*

Resolves #2771

Summary*

This PR standardizes how we pass witness maps around between packages.

Previously we had 3 formats:

  1. The JS representation WitnessMap
  2. The gzipped compressed Uint8Array
  3. The uncompessed Uint8Array

This PR removes usage of the uncompressed Uint8Array format, the witness is now decompressed immediately before being passed to bb.js rather than inside the Noir class.

Documentation

  • This PR requires documentation updates when merged.

    • I will submit a noir-lang/docs PR.
    • I will request for and support Dev Rel's help in documenting this PR.

Additional Context

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

@TomAFrench TomAFrench changed the title chore: standardize ACIR serialization format in JS chore: standardize witness map serialization format in JS Oct 11, 2023
Copy link
Contributor

@kobyhallx kobyhallx left a comment

Choose a reason for hiding this comment

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

lgtm

@TomAFrench TomAFrench added this pull request to the merge queue Oct 11, 2023
Merged via the queue into master with commit 034068b Oct 11, 2023
32 checks passed
@TomAFrench TomAFrench deleted the tf/js-acir-serialisation branch October 11, 2023 17:07
TomAFrench added a commit that referenced this pull request Oct 12, 2023
* master:
  chore: clean up JS dependencies (#3114)
  chore: add call formatter (#3102)
  chore: remove unnecessary clone when executing brillig (#3120)
  feat: return compilation errors from noir_wasm (#3091)
  feat: Save Brillig execution state in ACVM (#3026)
  chore: add method call formatter (#3106)
  feat!: Pass ACIR to ACVM by reference rather than passing ownership (#2872)
  chore: add member access formatter (#3109)
  fix: Determinism of fallback transformer (#3100)
  chore: clippy (#3108)
  feat: adding destroy and options object (#3105)
  chore: standardize witness map serialization format in JS (#3104)
  chore: add support for index expressions in formatter (#3069)
  feat: Implement impl specialization (#3087)
  chore: Update ACIR artifacts (#3086)
TomAFrench added a commit that referenced this pull request Oct 12, 2023
* master: (29 commits)
  fix: minor problems with `aztec` publishing (#3095)
  chore: clean up JS dependencies (#3114)
  chore: add call formatter (#3102)
  chore: remove unnecessary clone when executing brillig (#3120)
  feat: return compilation errors from noir_wasm (#3091)
  feat: Save Brillig execution state in ACVM (#3026)
  chore: add method call formatter (#3106)
  feat!: Pass ACIR to ACVM by reference rather than passing ownership (#2872)
  chore: add member access formatter (#3109)
  fix: Determinism of fallback transformer (#3100)
  chore: clippy (#3108)
  feat: adding destroy and options object (#3105)
  chore: standardize witness map serialization format in JS (#3104)
  chore: add support for index expressions in formatter (#3069)
  feat: Implement impl specialization (#3087)
  chore: Update ACIR artifacts (#3086)
  feat: Implement automatic dereferencing for indexing lvalues (#3083)
  fix: disallow returning constant values (#2978)
  feat: Implement automatic dereferencing for index expressions (#3082)
  feat: add `execute` method to `Noir` class (#3081)
  ...
Sakapoi pushed a commit to Sakapoi/noir_fork that referenced this pull request Oct 19, 2023
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

Successfully merging this pull request may close these issues.

Discrepancy in serialization between acvm_js and backends in Noir.js
2 participants