-
Notifications
You must be signed in to change notification settings - Fork 273
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: consistent pedersen hash (work in progress) #1945
Conversation
added variable-base method that isn't quite passing tests. tests will fail ~33% of the time!
… infinity! mul function should now be "computationally" complete in the case of an honest Prover (prob. of triggering unsatisfiable constraints from incomplete addition formulae is equiv to solving the dlog problem, for inputs that include points at infinity, duplicates and scalar multipliers that are zero)
…tisation+circuit builder
cycle_group::fixed_base_scalar_mul now working with plookup tables
Added TODOs for code that needs to be culled post-refactor removed custom MSM algorithms from schnorr.tcc + reduced constraint cost by ~50%
barretenberg/cpp/src/barretenberg/stdlib/primitives/group/cycle_group.cpp
Outdated
Show resolved
Hide resolved
barretenberg/cpp/src/barretenberg/stdlib/primitives/group/cycle_group.cpp
Outdated
Show resolved
Hide resolved
barretenberg/cpp/src/barretenberg/stdlib/primitives/group/cycle_group.cpp
Outdated
Show resolved
Hide resolved
barretenberg/cpp/src/barretenberg/stdlib/primitives/group/cycle_group.cpp
Show resolved
Hide resolved
bool can_fuse_into_previous_gate = true; | ||
can_fuse_into_previous_gate = can_fuse_into_previous_gate && (w_r[this->num_gates - 1] == in.x1); | ||
can_fuse_into_previous_gate = can_fuse_into_previous_gate && (w_o[this->num_gates - 1] == in.y1); |
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.
Okay so reading this to understand why its done:
A doubling operation will consume two rows, one for the input point and another for the output point. If the next operation is also a double, you can save a row, by setting the previous q_elliptic_double selector to be one and then you only need to add a row for the output point (x3, y3)
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.
that is correct. The specific structure of the double gate also allows us to chain an ecc_add_gate and an ecc_double_gate together (i.e. output points of ecc_add_gate == input points of ecc_double_gate)
|
||
circuit_constructor.create_ecc_dbl_gate({ x1, y1, x3, y3 }); | ||
|
||
auto saved_state = UltraCircuitBuilder::CircuitDataBackup::store_full_state(circuit_constructor); |
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.
This is not being used, I think we should remove or add:
EXPECT_TRUE(saved_state.is_same_state(circuit_constructor));
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.
nice spot. Added in EXPECT_TRUE(saved_state.is_same_state(circuit_constructor));
.x3 = result.x.get_witness_index(), | ||
.y3 = result.y.get_witness_index(), | ||
.endomorphism_coefficient = 1, | ||
.sign_coefficient = -1, |
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.
Ah the main difference between this and unconditional_add for UltraPlonk is the sign_coefficient and the fact that we are doing point subtraction AffineElement p3(Element(p1) - Element(p2))
Not blocking for this PR, in a later PR we can find a way to reduce this duplication of code
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.
aye good spot, we can reduce code duplication by merging these implementations. Will do so in next PR
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.
Generally looks good -- left some comments.
I skimmed the strauss and plookup_tables folder, since I think they need a more in depth pass
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-packages: 0.8.0</summary> ## [0.8.0](aztec-packages-v0.7.10...aztec-packages-v0.8.0) (2023-10-03) ### ⚠ BREAKING CHANGES * Gates command should always return 8 bytes ([#2631](#2631)) ### Features * **1090:** Validate that some arrays are zero-padded on the right ([#2519](#2519)) ([0327b54](0327b54)) * Add --wait/--no-wait flags to certain cli commands ([#2378](#2378)) ([57a2f10](57a2f10)) * Add boxes to CI ([#2456](#2456)) ([a90a185](a90a185)) * Add selector to call_context ([#2626](#2626)) ([8e317be](8e317be)) * AddNote api ([#2535](#2535)) ([bb004f4](bb004f4)) * **aztec_noir:** Abstract storage initialisation ([#2406](#2406)) ([974b037](974b037)) * **aztec.js:** Support AddressLike parameters ([#2430](#2430)) ([5b5f139](5b5f139)) * Barretenberg/crypto/blake3s supports compile-time hashing ([#2556](#2556)) ([da05dd7](da05dd7)) * **bb:** Add `bb --version` command ([#2482](#2482)) ([530676f](530676f)) * **bb:** Avoid initializing CRS for `bb info` command ([#2425](#2425)) ([d22c7b1](d22c7b1)) * Benchmarks ([#2605](#2605)) ([37d9f9c](37d9f9c)) * Bootstrap_docker skips build it can pull from ecr. ([#2545](#2545)) ([466a517](466a517)) * **cli:** Reenable CLI version check ([#2441](#2441)) ([c6ddd23](c6ddd23)) * Collapse interfaces for single implementation ([#2599](#2599)) ([860f340](860f340)) * Consistent pedersen hash (work in progress) ([#1945](#1945)) ([b4ad8f3](b4ad8f3)) * Deprecate assert_contains_and_remove ([#2594](#2594)) ([d225d56](d225d56)) * **docs:** Allow raw code interpolation ([#2447](#2447)) ([e078ff4](e078ff4)) * **docs:** Load current aztec version for aztec.nr dependencies in docs ([#2440](#2440)) ([63cf415](63cf415)) * **docs:** Reenable typedoc for aztec-rpc and aztec.js ([#2452](#2452)) ([85e504c](85e504c)), closes [#2045](#2045) [#2415](#2415) * **docs:** Use preprocessor syntax for including versions ([#2462](#2462)) ([7d315cd](7d315cd)) * **docs:** Use released version of code snippets in docs ([#2439](#2439)) ([76fc2cf](76fc2cf)) * **docs:** Warn if snippet is grabbed from master ([#2544](#2544)) ([36896e7](36896e7)) * **e2e:** Public flow for uniswap ([#2596](#2596)) ([2f871ee](2f871ee)) * Enforce that 0th nullifier is non-zero in private kernel circuit ([#2576](#2576)) ([458a4fe](458a4fe)), closes [#1329](#1329) * Expose registry address in `getNodeInfo` ([#2478](#2478)) ([652bb04](652bb04)) * Expose transaction data from AztecRPC ([#2469](#2469)) ([fc00553](fc00553)) * Extend function documentation ([#2408](#2408)) ([6a75fd0](6a75fd0)) * Goblin op queue transcript aggregation ([#2257](#2257)) ([b7f627a](b7f627a)) * Json type by default in `JsonRpcServer` ([#2504](#2504)) ([be38fcc](be38fcc)), closes [#2479](#2479) * Listing expected args in CLI ([#2423](#2423)) ([b2243ad](b2243ad)) * Log topic and contract address in unencrypted logs ([#2595](#2595)) ([a5b763f](a5b763f)), closes [#2580](#2580) [#2581](#2581) [#2586](#2586) [#2587](#2587) * Parallelization update for polynomials ([#2311](#2311)) ([922fc99](922fc99)) * Restore latest block number ([#2474](#2474)) ([6dc2da7](6dc2da7)) * Serialise L2Block to JSON ([#2496](#2496)) ([714c727](714c727)) * Standalone Aztec Node and RPC Server ([#2522](#2522)) ([8e355bc](8e355bc)) * Unbox empty box ([#2387](#2387)) ([3e3930c](3e3930c)) * Uniswap private flow ([#2559](#2559)) ([39f3a91](39f3a91)) * Update to protogalaxy interfaces ([#2498](#2498)) ([9a3d265](9a3d265)) * YML manifest. Simplify YBP. ([#2353](#2353)) ([bf73bc3](bf73bc3)) ### Bug Fixes * Add aztec/overview redirect ([#2424](#2424)) ([4e30dcd](4e30dcd)) * Add redirects from old docs site urls to new site urls ([#2429](#2429)) ([18fe88a](18fe88a)) * **barretenberg:** Brittle headers caused error compiling for clang-16 on mainframe ([#2547](#2547)) ([cc909da](cc909da)) * Bb rebuild patterns ([#2499](#2499)) ([868cceb](868cceb)) * Bootstrap.sh ([#2524](#2524)) ([bb1fb90](bb1fb90)) * Box injected sandbox tag ([#2555](#2555)) ([069bdc7](069bdc7)) * **build-system:** Don't wait 30s+ always ([#2494](#2494)) ([89d700d](89d700d)) * **build:** CI fixes from previous merges ([#2579](#2579)) ([a9e5d05](a9e5d05)) * Bump foundry version ([#2553](#2553)) ([0dde3d5](0dde3d5)) * Call public fn in contract constructor ([#2549](#2549)) ([14ab6d6](14ab6d6)) * Canary image build ([#2480](#2480)) ([6366be5](6366be5)) * Cli type check arguments and options ([#2571](#2571)) ([ecffc36](ecffc36)) * **cli:** Typos in cli output ([#2428](#2428)) ([08acf90](08acf90)) * Docs: Token tutorial, update links and add note on imports ([#2604](#2604)) ([003d801](003d801)) * **docs:** 'command not found: export' ([#2443](#2443)) ([f56aa02](f56aa02)) * **docs:** Docs correction ([#2437](#2437)) ([6499248](6499248)) * **docs:** Fix imports in token contract tutorial ([#2432](#2432)) ([34ed663](34ed663)) * Drop txs with duplicate nullifiers from the same block ([#2511](#2511)) ([d9ca1d8](d9ca1d8)), closes [#2502](#2502) * E2e browser tests ([#2531](#2531)) ([adf2b1e](adf2b1e)), closes [#2527](#2527) * Fix working dir bug causing stdlib-tests to not run. ([#2495](#2495)) ([6b3402c](6b3402c)) * Foundry ([#2611](#2611)) ([9830fbf](9830fbf)) * Gates command should always return 8 bytes ([#2631](#2631)) ([9668165](9668165)) * JSON-RPC server returns spec-compliant errors ([#2590](#2590)) ([5eafa3d](5eafa3d)) * Loading salt into buffer in the cli ([#2467](#2467)) ([753ac49](753ac49)) * **master:** Remove secret_hash ref ([#2617](#2617)) ([1073bcd](1073bcd)) * Nightly subrepo mirror ([#2520](#2520)) ([bedc8c8](bedc8c8)) * Prevent race conditions around data pulled from L1 ([#2577](#2577)) ([defea83](defea83)) * Readd docs after ci refactor. ([#2514](#2514)) ([1eb1a3c](1eb1a3c)) * Remove "standard" from references to token contracts ([#2533](#2533)) ([f931d56](f931d56)) * Try fix boxes-blank ([#2539](#2539)) ([87b8080](87b8080)) * Try to fix publish bb ([#2529](#2529)) ([7c623c4](7c623c4)) * Try to fix publish-bb.yml ([#2523](#2523)) ([2f6e9bd](2f6e9bd)) * Use #import_code in Token contract tutorial ([#2438](#2438)) ([b58cfb5](b58cfb5)) ### Miscellaneous * `computeContractAddress` as `computeCompleteAddress` ([#1876](#1876)) ([4d95b44](4d95b44)), closes [#1873](#1873) * Add instructions on circleci session for debugging ([#2503](#2503)) ([a4197e7](a4197e7)) * Add output saying how to get the right noir version ([#2622](#2622)) ([10b30e0](10b30e0)) * Aztec-node json-rpc ([#2444](#2444)) ([04efee1](04efee1)) * BI build tweaks ([#2487](#2487)) ([f8b6548](f8b6548)) * Check tree roots in world state sync ([#2543](#2543)) ([314e8a0](314e8a0)) * **circuits:** 2612 - add validation in native private kernel circuit of arrays in accumulated data ([#2614](#2614)) ([f1fe059](f1fe059)) * **circuits:** Remove obsolete comments in native private kernel circuit ([#2570](#2570)) ([a6b6c7b](a6b6c7b)) * **contract_deployment.md:** Don't require main edit ([#2449](#2449)) ([16a3d9c](16a3d9c)) * **deps:** Bump get-func-name from 2.0.0 to 2.0.2 in /yarn-project ([#2630](#2630)) ([5cebf18](5cebf18)) * **deps:** Bump ua-parser-js from 0.7.32 to 0.7.36 in /docs ([#2629](#2629)) ([b2c87c2](b2c87c2)) * Disable pushing/pulling for layer caching in build. ([#2517](#2517)) ([51352ae](51352ae)) * **docs:** Fix tutorial in dapp development ([#2421](#2421)) ([027530f](027530f)) * **docs:** Incorporate docs feedback ([#2434](#2434)) ([4992d5b](4992d5b)) * Embed yq in repo to avoid network hiccups. ([#2560](#2560)) ([84f207f](84f207f)) * Fix box noir versioning ([#2578](#2578)) ([6eaf0c7](6eaf0c7)) * Fixing foundry version ([#2528](#2528)) ([3af0753](3af0753)) * Kill Turbo ([#2442](#2442)) ([c832825](c832825)) * Move hash utils to aztec-nr ([#2583](#2583)) ([78bd1a3](78bd1a3)) * No private key account state ([#2491](#2491)) ([5813fb3](5813fb3)) * Provide cross compile to cjs. ([#2566](#2566)) ([47d0d37](47d0d37)) * Recursion todos ([#2516](#2516)) ([2df107b](2df107b)) * Reenable some ultra honk composer tests ([#2417](#2417)) ([31f4c32](31f4c32)) * Refactor e2e test teardown ([#2513](#2513)) ([2e43248](2e43248)) * Remove `BarretenbergBinderSync` import from typescript bindgen file ([#2607](#2607)) ([43af1a3](43af1a3)) * Remove build system tainting now we have ci cmds in comments. ([#2589](#2589)) ([2040335](2040335)) * Remove composer keyword from stdlib ([#2418](#2418)) ([f3e7d91](f3e7d91)) * Remove debug log in world state sync ([#2613](#2613)) ([177f468](177f468)) * Remove Standard Honk ([#2435](#2435)) ([9b3ee45](9b3ee45)) * Remove unneeded dockerfiles. ([#2588](#2588)) ([d6f903d](d6f903d)) * Rename all the occurrences of `Aztec RPC` ([#2552](#2552)) ([8cc4f69](8cc4f69)), closes [#2451](#2451) * Renaming `@aztec/aztec-rpc` package as `@aztec/pxe` ([#2538](#2538)) ([0dd70aa](0dd70aa)) * Resuscitate private kernel tests related to call stack item check ([#2558](#2558)) ([9e938fc](9e938fc)) * Run formatting:fix for box lint ([#2479](#2479)) ([3995de9](3995de9)) * Run quick-start guide in CI ([#2413](#2413)) ([5f43715](5f43715)) * Simulator ([#2534](#2534)) ([a26198e](a26198e)) * Switch to upstream docusaurus-plugin-typedoc ([#2557](#2557)) ([fdf5fce](fdf5fce)) * Token contract storage cleanup ([#2536](#2536)) ([0b62207](0b62207)) * Typo ([#2546](#2546)) ([8656a3b](8656a3b)) * Unskip test and fix params ([#2454](#2454)) ([e484c5f](e484c5f)) * Update private token box ([#2385](#2385)) ([b730196](b730196)) * Use US spelling ([#2475](#2475)) ([2fe8f5e](2fe8f5e)), closes [#1934](#1934) ### Documentation * Capitalizing x in pxe ([#2564](#2564)) ([2927cf1](2927cf1)) * Common contract errors ([#2471](#2471)) ([a8aec70](a8aec70)), closes [#2468](#2468) * Fixed original minus underflow test ([#2472](#2472)) ([0cf4bdc](0cf4bdc)) * Including sandbox diagrams in the sandbox section ([#2573](#2573)) ([2fa143e](2fa143e)) * Initial storage cleanup ([#2433](#2433)) ([d833483](d833483)) * Misc docs changes ([#2416](#2416)) ([0e789c7](0e789c7)) * More `RPC Server` --> `PXE` naming fixes ([#2574](#2574)) ([b33eea5](b33eea5)) * Portal messaging ([#2419](#2419)) ([7979bb9](7979bb9)) * Update instructions ([#2297](#2297)) ([ab612df](ab612df)), closes [#1827](#1827) * Update sidebar + embed youtube video ([#2470](#2470)) ([a779d11](a779d11)) </details> <details><summary>barretenberg.js: 0.8.0</summary> ## [0.8.0](barretenberg.js-v0.7.10...barretenberg.js-v0.8.0) (2023-10-03) ### ⚠ BREAKING CHANGES * Gates command should always return 8 bytes ([#2631](#2631)) ### Bug Fixes * Gates command should always return 8 bytes ([#2631](#2631)) ([9668165](9668165)) ### Miscellaneous * Provide cross compile to cjs. ([#2566](#2566)) ([47d0d37](47d0d37)) * Remove `BarretenbergBinderSync` import from typescript bindgen file ([#2607](#2607)) ([43af1a3](43af1a3)) * Typo ([#2546](#2546)) ([8656a3b](8656a3b)) </details> <details><summary>barretenberg: 0.8.0</summary> ## [0.8.0](barretenberg-v0.7.10...barretenberg-v0.8.0) (2023-10-03) ### Features * Barretenberg/crypto/blake3s supports compile-time hashing ([#2556](#2556)) ([da05dd7](da05dd7)) * **bb:** Add `bb --version` command ([#2482](#2482)) ([530676f](530676f)) * **bb:** Avoid initializing CRS for `bb info` command ([#2425](#2425)) ([d22c7b1](d22c7b1)) * Consistent pedersen hash (work in progress) ([#1945](#1945)) ([b4ad8f3](b4ad8f3)) * Goblin op queue transcript aggregation ([#2257](#2257)) ([b7f627a](b7f627a)) * Parallelization update for polynomials ([#2311](#2311)) ([922fc99](922fc99)) * Update to protogalaxy interfaces ([#2498](#2498)) ([9a3d265](9a3d265)) * YML manifest. Simplify YBP. ([#2353](#2353)) ([bf73bc3](bf73bc3)) ### Bug Fixes * **barretenberg:** Brittle headers caused error compiling for clang-16 on mainframe ([#2547](#2547)) ([cc909da](cc909da)) * Bb rebuild patterns ([#2499](#2499)) ([868cceb](868cceb)) * Fix working dir bug causing stdlib-tests to not run. ([#2495](#2495)) ([6b3402c](6b3402c)) * Nightly subrepo mirror ([#2520](#2520)) ([bedc8c8](bedc8c8)) ### Miscellaneous * BI build tweaks ([#2487](#2487)) ([f8b6548](f8b6548)) * Kill Turbo ([#2442](#2442)) ([c832825](c832825)) * Provide cross compile to cjs. ([#2566](#2566)) ([47d0d37](47d0d37)) * Recursion todos ([#2516](#2516)) ([2df107b](2df107b)) * Reenable some ultra honk composer tests ([#2417](#2417)) ([31f4c32](31f4c32)) * Remove composer keyword from stdlib ([#2418](#2418)) ([f3e7d91](f3e7d91)) * Remove Standard Honk ([#2435](#2435)) ([9b3ee45](9b3ee45)) ### Documentation * Fixed original minus underflow test ([#2472](#2472)) ([0cf4bdc](0cf4bdc)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
…2610) PR #1945 added a new selector into the Ultra arithmetisation (elliptic curve point doubling). However this change was not propagated to the polynomial relations evaluated by the UltraPlonk and UltraHonk Prover/Verifier algorithms. This PR fixes this, as well as upgrades the BaseUltraVerifier.sol contract to use the new gate. # Checklist: Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge. - [x] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag. - [x] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code. - [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 relevant issues (if any exist). --------- Co-authored-by: vezenovm <[email protected]> Co-authored-by: kevaundray <[email protected]>
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-packages: 0.8.0</summary> ## [0.8.0](AztecProtocol/aztec-packages@aztec-packages-v0.7.10...aztec-packages-v0.8.0) (2023-10-03) ### ⚠ BREAKING CHANGES * Gates command should always return 8 bytes ([#2631](AztecProtocol/aztec-packages#2631)) ### Features * **1090:** Validate that some arrays are zero-padded on the right ([#2519](AztecProtocol/aztec-packages#2519)) ([0327b54](AztecProtocol/aztec-packages@0327b54)) * Add --wait/--no-wait flags to certain cli commands ([#2378](AztecProtocol/aztec-packages#2378)) ([57a2f10](AztecProtocol/aztec-packages@57a2f10)) * Add boxes to CI ([#2456](AztecProtocol/aztec-packages#2456)) ([a90a185](AztecProtocol/aztec-packages@a90a185)) * Add selector to call_context ([#2626](AztecProtocol/aztec-packages#2626)) ([8e317be](AztecProtocol/aztec-packages@8e317be)) * AddNote api ([#2535](AztecProtocol/aztec-packages#2535)) ([bb004f4](AztecProtocol/aztec-packages@bb004f4)) * **aztec_noir:** Abstract storage initialisation ([#2406](AztecProtocol/aztec-packages#2406)) ([974b037](AztecProtocol/aztec-packages@974b037)) * **aztec.js:** Support AddressLike parameters ([#2430](AztecProtocol/aztec-packages#2430)) ([5b5f139](AztecProtocol/aztec-packages@5b5f139)) * Barretenberg/crypto/blake3s supports compile-time hashing ([#2556](AztecProtocol/aztec-packages#2556)) ([da05dd7](AztecProtocol/aztec-packages@da05dd7)) * **bb:** Add `bb --version` command ([#2482](AztecProtocol/aztec-packages#2482)) ([530676f](AztecProtocol/aztec-packages@530676f)) * **bb:** Avoid initializing CRS for `bb info` command ([#2425](AztecProtocol/aztec-packages#2425)) ([d22c7b1](AztecProtocol/aztec-packages@d22c7b1)) * Benchmarks ([#2605](AztecProtocol/aztec-packages#2605)) ([37d9f9c](AztecProtocol/aztec-packages@37d9f9c)) * Bootstrap_docker skips build it can pull from ecr. ([#2545](AztecProtocol/aztec-packages#2545)) ([466a517](AztecProtocol/aztec-packages@466a517)) * **cli:** Reenable CLI version check ([#2441](AztecProtocol/aztec-packages#2441)) ([c6ddd23](AztecProtocol/aztec-packages@c6ddd23)) * Collapse interfaces for single implementation ([#2599](AztecProtocol/aztec-packages#2599)) ([860f340](AztecProtocol/aztec-packages@860f340)) * Consistent pedersen hash (work in progress) ([#1945](AztecProtocol/aztec-packages#1945)) ([b4ad8f3](AztecProtocol/aztec-packages@b4ad8f3)) * Deprecate assert_contains_and_remove ([#2594](AztecProtocol/aztec-packages#2594)) ([d225d56](AztecProtocol/aztec-packages@d225d56)) * **docs:** Allow raw code interpolation ([#2447](AztecProtocol/aztec-packages#2447)) ([e078ff4](AztecProtocol/aztec-packages@e078ff4)) * **docs:** Load current aztec version for aztec.nr dependencies in docs ([#2440](AztecProtocol/aztec-packages#2440)) ([63cf415](AztecProtocol/aztec-packages@63cf415)) * **docs:** Reenable typedoc for aztec-rpc and aztec.js ([#2452](AztecProtocol/aztec-packages#2452)) ([85e504c](AztecProtocol/aztec-packages@85e504c)), closes [#2045](AztecProtocol/aztec-packages#2045) [#2415](AztecProtocol/aztec-packages#2415) * **docs:** Use preprocessor syntax for including versions ([#2462](AztecProtocol/aztec-packages#2462)) ([7d315cd](AztecProtocol/aztec-packages@7d315cd)) * **docs:** Use released version of code snippets in docs ([#2439](AztecProtocol/aztec-packages#2439)) ([76fc2cf](AztecProtocol/aztec-packages@76fc2cf)) * **docs:** Warn if snippet is grabbed from master ([#2544](AztecProtocol/aztec-packages#2544)) ([36896e7](AztecProtocol/aztec-packages@36896e7)) * **e2e:** Public flow for uniswap ([#2596](AztecProtocol/aztec-packages#2596)) ([2f871ee](AztecProtocol/aztec-packages@2f871ee)) * Enforce that 0th nullifier is non-zero in private kernel circuit ([#2576](AztecProtocol/aztec-packages#2576)) ([458a4fe](AztecProtocol/aztec-packages@458a4fe)), closes [#1329](AztecProtocol/aztec-packages#1329) * Expose registry address in `getNodeInfo` ([#2478](AztecProtocol/aztec-packages#2478)) ([652bb04](AztecProtocol/aztec-packages@652bb04)) * Expose transaction data from AztecRPC ([#2469](AztecProtocol/aztec-packages#2469)) ([fc00553](AztecProtocol/aztec-packages@fc00553)) * Extend function documentation ([#2408](AztecProtocol/aztec-packages#2408)) ([6a75fd0](AztecProtocol/aztec-packages@6a75fd0)) * Goblin op queue transcript aggregation ([#2257](AztecProtocol/aztec-packages#2257)) ([b7f627a](AztecProtocol/aztec-packages@b7f627a)) * Json type by default in `JsonRpcServer` ([#2504](AztecProtocol/aztec-packages#2504)) ([be38fcc](AztecProtocol/aztec-packages@be38fcc)), closes [#2479](AztecProtocol/aztec-packages#2479) * Listing expected args in CLI ([#2423](AztecProtocol/aztec-packages#2423)) ([b2243ad](AztecProtocol/aztec-packages@b2243ad)) * Log topic and contract address in unencrypted logs ([#2595](AztecProtocol/aztec-packages#2595)) ([a5b763f](AztecProtocol/aztec-packages@a5b763f)), closes [#2580](AztecProtocol/aztec-packages#2580) [#2581](AztecProtocol/aztec-packages#2581) [#2586](AztecProtocol/aztec-packages#2586) [#2587](AztecProtocol/aztec-packages#2587) * Parallelization update for polynomials ([#2311](AztecProtocol/aztec-packages#2311)) ([922fc99](AztecProtocol/aztec-packages@922fc99)) * Restore latest block number ([#2474](AztecProtocol/aztec-packages#2474)) ([6dc2da7](AztecProtocol/aztec-packages@6dc2da7)) * Serialise L2Block to JSON ([#2496](AztecProtocol/aztec-packages#2496)) ([714c727](AztecProtocol/aztec-packages@714c727)) * Standalone Aztec Node and RPC Server ([#2522](AztecProtocol/aztec-packages#2522)) ([8e355bc](AztecProtocol/aztec-packages@8e355bc)) * Unbox empty box ([#2387](AztecProtocol/aztec-packages#2387)) ([3e3930c](AztecProtocol/aztec-packages@3e3930c)) * Uniswap private flow ([#2559](AztecProtocol/aztec-packages#2559)) ([39f3a91](AztecProtocol/aztec-packages@39f3a91)) * Update to protogalaxy interfaces ([#2498](AztecProtocol/aztec-packages#2498)) ([9a3d265](AztecProtocol/aztec-packages@9a3d265)) * YML manifest. Simplify YBP. ([#2353](AztecProtocol/aztec-packages#2353)) ([bf73bc3](AztecProtocol/aztec-packages@bf73bc3)) ### Bug Fixes * Add aztec/overview redirect ([#2424](AztecProtocol/aztec-packages#2424)) ([4e30dcd](AztecProtocol/aztec-packages@4e30dcd)) * Add redirects from old docs site urls to new site urls ([#2429](AztecProtocol/aztec-packages#2429)) ([18fe88a](AztecProtocol/aztec-packages@18fe88a)) * **barretenberg:** Brittle headers caused error compiling for clang-16 on mainframe ([#2547](AztecProtocol/aztec-packages#2547)) ([cc909da](AztecProtocol/aztec-packages@cc909da)) * Bb rebuild patterns ([#2499](AztecProtocol/aztec-packages#2499)) ([868cceb](AztecProtocol/aztec-packages@868cceb)) * Bootstrap.sh ([#2524](AztecProtocol/aztec-packages#2524)) ([bb1fb90](AztecProtocol/aztec-packages@bb1fb90)) * Box injected sandbox tag ([#2555](AztecProtocol/aztec-packages#2555)) ([069bdc7](AztecProtocol/aztec-packages@069bdc7)) * **build-system:** Don't wait 30s+ always ([#2494](AztecProtocol/aztec-packages#2494)) ([89d700d](AztecProtocol/aztec-packages@89d700d)) * **build:** CI fixes from previous merges ([#2579](AztecProtocol/aztec-packages#2579)) ([a9e5d05](AztecProtocol/aztec-packages@a9e5d05)) * Bump foundry version ([#2553](AztecProtocol/aztec-packages#2553)) ([0dde3d5](AztecProtocol/aztec-packages@0dde3d5)) * Call public fn in contract constructor ([#2549](AztecProtocol/aztec-packages#2549)) ([14ab6d6](AztecProtocol/aztec-packages@14ab6d6)) * Canary image build ([#2480](AztecProtocol/aztec-packages#2480)) ([6366be5](AztecProtocol/aztec-packages@6366be5)) * Cli type check arguments and options ([#2571](AztecProtocol/aztec-packages#2571)) ([ecffc36](AztecProtocol/aztec-packages@ecffc36)) * **cli:** Typos in cli output ([#2428](AztecProtocol/aztec-packages#2428)) ([08acf90](AztecProtocol/aztec-packages@08acf90)) * Docs: Token tutorial, update links and add note on imports ([#2604](AztecProtocol/aztec-packages#2604)) ([003d801](AztecProtocol/aztec-packages@003d801)) * **docs:** 'command not found: export' ([#2443](AztecProtocol/aztec-packages#2443)) ([f56aa02](AztecProtocol/aztec-packages@f56aa02)) * **docs:** Docs correction ([#2437](AztecProtocol/aztec-packages#2437)) ([6499248](AztecProtocol/aztec-packages@6499248)) * **docs:** Fix imports in token contract tutorial ([#2432](AztecProtocol/aztec-packages#2432)) ([34ed663](AztecProtocol/aztec-packages@34ed663)) * Drop txs with duplicate nullifiers from the same block ([#2511](AztecProtocol/aztec-packages#2511)) ([d9ca1d8](AztecProtocol/aztec-packages@d9ca1d8)), closes [#2502](AztecProtocol/aztec-packages#2502) * E2e browser tests ([#2531](AztecProtocol/aztec-packages#2531)) ([adf2b1e](AztecProtocol/aztec-packages@adf2b1e)), closes [#2527](AztecProtocol/aztec-packages#2527) * Fix working dir bug causing stdlib-tests to not run. ([#2495](AztecProtocol/aztec-packages#2495)) ([6b3402c](AztecProtocol/aztec-packages@6b3402c)) * Foundry ([#2611](AztecProtocol/aztec-packages#2611)) ([9830fbf](AztecProtocol/aztec-packages@9830fbf)) * Gates command should always return 8 bytes ([#2631](AztecProtocol/aztec-packages#2631)) ([9668165](AztecProtocol/aztec-packages@9668165)) * JSON-RPC server returns spec-compliant errors ([#2590](AztecProtocol/aztec-packages#2590)) ([5eafa3d](AztecProtocol/aztec-packages@5eafa3d)) * Loading salt into buffer in the cli ([#2467](AztecProtocol/aztec-packages#2467)) ([753ac49](AztecProtocol/aztec-packages@753ac49)) * **master:** Remove secret_hash ref ([#2617](AztecProtocol/aztec-packages#2617)) ([1073bcd](AztecProtocol/aztec-packages@1073bcd)) * Nightly subrepo mirror ([#2520](AztecProtocol/aztec-packages#2520)) ([bedc8c8](AztecProtocol/aztec-packages@bedc8c8)) * Prevent race conditions around data pulled from L1 ([#2577](AztecProtocol/aztec-packages#2577)) ([defea83](AztecProtocol/aztec-packages@defea83)) * Readd docs after ci refactor. ([#2514](AztecProtocol/aztec-packages#2514)) ([1eb1a3c](AztecProtocol/aztec-packages@1eb1a3c)) * Remove "standard" from references to token contracts ([#2533](AztecProtocol/aztec-packages#2533)) ([f931d56](AztecProtocol/aztec-packages@f931d56)) * Try fix boxes-blank ([#2539](AztecProtocol/aztec-packages#2539)) ([87b8080](AztecProtocol/aztec-packages@87b8080)) * Try to fix publish bb ([#2529](AztecProtocol/aztec-packages#2529)) ([7c623c4](AztecProtocol/aztec-packages@7c623c4)) * Try to fix publish-bb.yml ([#2523](AztecProtocol/aztec-packages#2523)) ([2f6e9bd](AztecProtocol/aztec-packages@2f6e9bd)) * Use #import_code in Token contract tutorial ([#2438](AztecProtocol/aztec-packages#2438)) ([b58cfb5](AztecProtocol/aztec-packages@b58cfb5)) ### Miscellaneous * `computeContractAddress` as `computeCompleteAddress` ([#1876](AztecProtocol/aztec-packages#1876)) ([4d95b44](AztecProtocol/aztec-packages@4d95b44)), closes [#1873](AztecProtocol/aztec-packages#1873) * Add instructions on circleci session for debugging ([#2503](AztecProtocol/aztec-packages#2503)) ([a4197e7](AztecProtocol/aztec-packages@a4197e7)) * Add output saying how to get the right noir version ([#2622](AztecProtocol/aztec-packages#2622)) ([10b30e0](AztecProtocol/aztec-packages@10b30e0)) * Aztec-node json-rpc ([#2444](AztecProtocol/aztec-packages#2444)) ([04efee1](AztecProtocol/aztec-packages@04efee1)) * BI build tweaks ([#2487](AztecProtocol/aztec-packages#2487)) ([f8b6548](AztecProtocol/aztec-packages@f8b6548)) * Check tree roots in world state sync ([#2543](AztecProtocol/aztec-packages#2543)) ([314e8a0](AztecProtocol/aztec-packages@314e8a0)) * **circuits:** 2612 - add validation in native private kernel circuit of arrays in accumulated data ([#2614](AztecProtocol/aztec-packages#2614)) ([f1fe059](AztecProtocol/aztec-packages@f1fe059)) * **circuits:** Remove obsolete comments in native private kernel circuit ([#2570](AztecProtocol/aztec-packages#2570)) ([a6b6c7b](AztecProtocol/aztec-packages@a6b6c7b)) * **contract_deployment.md:** Don't require main edit ([#2449](AztecProtocol/aztec-packages#2449)) ([16a3d9c](AztecProtocol/aztec-packages@16a3d9c)) * **deps:** Bump get-func-name from 2.0.0 to 2.0.2 in /yarn-project ([#2630](AztecProtocol/aztec-packages#2630)) ([5cebf18](AztecProtocol/aztec-packages@5cebf18)) * **deps:** Bump ua-parser-js from 0.7.32 to 0.7.36 in /docs ([#2629](AztecProtocol/aztec-packages#2629)) ([b2c87c2](AztecProtocol/aztec-packages@b2c87c2)) * Disable pushing/pulling for layer caching in build. ([#2517](AztecProtocol/aztec-packages#2517)) ([51352ae](AztecProtocol/aztec-packages@51352ae)) * **docs:** Fix tutorial in dapp development ([#2421](AztecProtocol/aztec-packages#2421)) ([027530f](AztecProtocol/aztec-packages@027530f)) * **docs:** Incorporate docs feedback ([#2434](AztecProtocol/aztec-packages#2434)) ([4992d5b](AztecProtocol/aztec-packages@4992d5b)) * Embed yq in repo to avoid network hiccups. ([#2560](AztecProtocol/aztec-packages#2560)) ([84f207f](AztecProtocol/aztec-packages@84f207f)) * Fix box noir versioning ([#2578](AztecProtocol/aztec-packages#2578)) ([6eaf0c7](AztecProtocol/aztec-packages@6eaf0c7)) * Fixing foundry version ([#2528](AztecProtocol/aztec-packages#2528)) ([3af0753](AztecProtocol/aztec-packages@3af0753)) * Kill Turbo ([#2442](AztecProtocol/aztec-packages#2442)) ([c832825](AztecProtocol/aztec-packages@c832825)) * Move hash utils to aztec-nr ([#2583](AztecProtocol/aztec-packages#2583)) ([78bd1a3](AztecProtocol/aztec-packages@78bd1a3)) * No private key account state ([#2491](AztecProtocol/aztec-packages#2491)) ([5813fb3](AztecProtocol/aztec-packages@5813fb3)) * Provide cross compile to cjs. ([#2566](AztecProtocol/aztec-packages#2566)) ([47d0d37](AztecProtocol/aztec-packages@47d0d37)) * Recursion todos ([#2516](AztecProtocol/aztec-packages#2516)) ([2df107b](AztecProtocol/aztec-packages@2df107b)) * Reenable some ultra honk composer tests ([#2417](AztecProtocol/aztec-packages#2417)) ([31f4c32](AztecProtocol/aztec-packages@31f4c32)) * Refactor e2e test teardown ([#2513](AztecProtocol/aztec-packages#2513)) ([2e43248](AztecProtocol/aztec-packages@2e43248)) * Remove `BarretenbergBinderSync` import from typescript bindgen file ([#2607](AztecProtocol/aztec-packages#2607)) ([43af1a3](AztecProtocol/aztec-packages@43af1a3)) * Remove build system tainting now we have ci cmds in comments. ([#2589](AztecProtocol/aztec-packages#2589)) ([2040335](AztecProtocol/aztec-packages@2040335)) * Remove composer keyword from stdlib ([#2418](AztecProtocol/aztec-packages#2418)) ([f3e7d91](AztecProtocol/aztec-packages@f3e7d91)) * Remove debug log in world state sync ([#2613](AztecProtocol/aztec-packages#2613)) ([177f468](AztecProtocol/aztec-packages@177f468)) * Remove Standard Honk ([#2435](AztecProtocol/aztec-packages#2435)) ([9b3ee45](AztecProtocol/aztec-packages@9b3ee45)) * Remove unneeded dockerfiles. ([#2588](AztecProtocol/aztec-packages#2588)) ([d6f903d](AztecProtocol/aztec-packages@d6f903d)) * Rename all the occurrences of `Aztec RPC` ([#2552](AztecProtocol/aztec-packages#2552)) ([8cc4f69](AztecProtocol/aztec-packages@8cc4f69)), closes [#2451](AztecProtocol/aztec-packages#2451) * Renaming `@aztec/aztec-rpc` package as `@aztec/pxe` ([#2538](AztecProtocol/aztec-packages#2538)) ([0dd70aa](AztecProtocol/aztec-packages@0dd70aa)) * Resuscitate private kernel tests related to call stack item check ([#2558](AztecProtocol/aztec-packages#2558)) ([9e938fc](AztecProtocol/aztec-packages@9e938fc)) * Run formatting:fix for box lint ([#2479](AztecProtocol/aztec-packages#2479)) ([3995de9](AztecProtocol/aztec-packages@3995de9)) * Run quick-start guide in CI ([#2413](AztecProtocol/aztec-packages#2413)) ([5f43715](AztecProtocol/aztec-packages@5f43715)) * Simulator ([#2534](AztecProtocol/aztec-packages#2534)) ([a26198e](AztecProtocol/aztec-packages@a26198e)) * Switch to upstream docusaurus-plugin-typedoc ([#2557](AztecProtocol/aztec-packages#2557)) ([fdf5fce](AztecProtocol/aztec-packages@fdf5fce)) * Token contract storage cleanup ([#2536](AztecProtocol/aztec-packages#2536)) ([0b62207](AztecProtocol/aztec-packages@0b62207)) * Typo ([#2546](AztecProtocol/aztec-packages#2546)) ([8656a3b](AztecProtocol/aztec-packages@8656a3b)) * Unskip test and fix params ([#2454](AztecProtocol/aztec-packages#2454)) ([e484c5f](AztecProtocol/aztec-packages@e484c5f)) * Update private token box ([#2385](AztecProtocol/aztec-packages#2385)) ([b730196](AztecProtocol/aztec-packages@b730196)) * Use US spelling ([#2475](AztecProtocol/aztec-packages#2475)) ([2fe8f5e](AztecProtocol/aztec-packages@2fe8f5e)), closes [#1934](AztecProtocol/aztec-packages#1934) ### Documentation * Capitalizing x in pxe ([#2564](AztecProtocol/aztec-packages#2564)) ([2927cf1](AztecProtocol/aztec-packages@2927cf1)) * Common contract errors ([#2471](AztecProtocol/aztec-packages#2471)) ([a8aec70](AztecProtocol/aztec-packages@a8aec70)), closes [#2468](AztecProtocol/aztec-packages#2468) * Fixed original minus underflow test ([#2472](AztecProtocol/aztec-packages#2472)) ([0cf4bdc](AztecProtocol/aztec-packages@0cf4bdc)) * Including sandbox diagrams in the sandbox section ([#2573](AztecProtocol/aztec-packages#2573)) ([2fa143e](AztecProtocol/aztec-packages@2fa143e)) * Initial storage cleanup ([#2433](AztecProtocol/aztec-packages#2433)) ([d833483](AztecProtocol/aztec-packages@d833483)) * Misc docs changes ([#2416](AztecProtocol/aztec-packages#2416)) ([0e789c7](AztecProtocol/aztec-packages@0e789c7)) * More `RPC Server` --> `PXE` naming fixes ([#2574](AztecProtocol/aztec-packages#2574)) ([b33eea5](AztecProtocol/aztec-packages@b33eea5)) * Portal messaging ([#2419](AztecProtocol/aztec-packages#2419)) ([7979bb9](AztecProtocol/aztec-packages@7979bb9)) * Update instructions ([#2297](AztecProtocol/aztec-packages#2297)) ([ab612df](AztecProtocol/aztec-packages@ab612df)), closes [#1827](AztecProtocol/aztec-packages#1827) * Update sidebar + embed youtube video ([#2470](AztecProtocol/aztec-packages#2470)) ([a779d11](AztecProtocol/aztec-packages@a779d11)) </details> <details><summary>barretenberg.js: 0.8.0</summary> ## [0.8.0](AztecProtocol/aztec-packages@barretenberg.js-v0.7.10...barretenberg.js-v0.8.0) (2023-10-03) ### ⚠ BREAKING CHANGES * Gates command should always return 8 bytes ([#2631](AztecProtocol/aztec-packages#2631)) ### Bug Fixes * Gates command should always return 8 bytes ([#2631](AztecProtocol/aztec-packages#2631)) ([9668165](AztecProtocol/aztec-packages@9668165)) ### Miscellaneous * Provide cross compile to cjs. ([#2566](AztecProtocol/aztec-packages#2566)) ([47d0d37](AztecProtocol/aztec-packages@47d0d37)) * Remove `BarretenbergBinderSync` import from typescript bindgen file ([#2607](AztecProtocol/aztec-packages#2607)) ([43af1a3](AztecProtocol/aztec-packages@43af1a3)) * Typo ([#2546](AztecProtocol/aztec-packages#2546)) ([8656a3b](AztecProtocol/aztec-packages@8656a3b)) </details> <details><summary>barretenberg: 0.8.0</summary> ## [0.8.0](AztecProtocol/aztec-packages@barretenberg-v0.7.10...barretenberg-v0.8.0) (2023-10-03) ### Features * Barretenberg/crypto/blake3s supports compile-time hashing ([#2556](AztecProtocol/aztec-packages#2556)) ([da05dd7](AztecProtocol/aztec-packages@da05dd7)) * **bb:** Add `bb --version` command ([#2482](AztecProtocol/aztec-packages#2482)) ([530676f](AztecProtocol/aztec-packages@530676f)) * **bb:** Avoid initializing CRS for `bb info` command ([#2425](AztecProtocol/aztec-packages#2425)) ([d22c7b1](AztecProtocol/aztec-packages@d22c7b1)) * Consistent pedersen hash (work in progress) ([#1945](AztecProtocol/aztec-packages#1945)) ([b4ad8f3](AztecProtocol/aztec-packages@b4ad8f3)) * Goblin op queue transcript aggregation ([#2257](AztecProtocol/aztec-packages#2257)) ([b7f627a](AztecProtocol/aztec-packages@b7f627a)) * Parallelization update for polynomials ([#2311](AztecProtocol/aztec-packages#2311)) ([922fc99](AztecProtocol/aztec-packages@922fc99)) * Update to protogalaxy interfaces ([#2498](AztecProtocol/aztec-packages#2498)) ([9a3d265](AztecProtocol/aztec-packages@9a3d265)) * YML manifest. Simplify YBP. ([#2353](AztecProtocol/aztec-packages#2353)) ([bf73bc3](AztecProtocol/aztec-packages@bf73bc3)) ### Bug Fixes * **barretenberg:** Brittle headers caused error compiling for clang-16 on mainframe ([#2547](AztecProtocol/aztec-packages#2547)) ([cc909da](AztecProtocol/aztec-packages@cc909da)) * Bb rebuild patterns ([#2499](AztecProtocol/aztec-packages#2499)) ([868cceb](AztecProtocol/aztec-packages@868cceb)) * Fix working dir bug causing stdlib-tests to not run. ([#2495](AztecProtocol/aztec-packages#2495)) ([6b3402c](AztecProtocol/aztec-packages@6b3402c)) * Nightly subrepo mirror ([#2520](AztecProtocol/aztec-packages#2520)) ([bedc8c8](AztecProtocol/aztec-packages@bedc8c8)) ### Miscellaneous * BI build tweaks ([#2487](AztecProtocol/aztec-packages#2487)) ([f8b6548](AztecProtocol/aztec-packages@f8b6548)) * Kill Turbo ([#2442](AztecProtocol/aztec-packages#2442)) ([c832825](AztecProtocol/aztec-packages@c832825)) * Provide cross compile to cjs. ([#2566](AztecProtocol/aztec-packages#2566)) ([47d0d37](AztecProtocol/aztec-packages@47d0d37)) * Recursion todos ([#2516](AztecProtocol/aztec-packages#2516)) ([2df107b](AztecProtocol/aztec-packages@2df107b)) * Reenable some ultra honk composer tests ([#2417](AztecProtocol/aztec-packages#2417)) ([31f4c32](AztecProtocol/aztec-packages@31f4c32)) * Remove composer keyword from stdlib ([#2418](AztecProtocol/aztec-packages#2418)) ([f3e7d91](AztecProtocol/aztec-packages@f3e7d91)) * Remove Standard Honk ([#2435](AztecProtocol/aztec-packages#2435)) ([9b3ee45](AztecProtocol/aztec-packages@9b3ee45)) ### Documentation * Fixed original minus underflow test ([#2472](AztecProtocol/aztec-packages#2472)) ([0cf4bdc](AztecProtocol/aztec-packages@0cf4bdc)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-packages: 0.8.0</summary> ## [0.8.0](aztec-packages-v0.7.10...aztec-packages-v0.8.0) (2023-10-03) ### ⚠ BREAKING CHANGES * Gates command should always return 8 bytes ([#2631](#2631)) ### Features * **1090:** Validate that some arrays are zero-padded on the right ([#2519](#2519)) ([0327b54](0327b54)) * Add --wait/--no-wait flags to certain cli commands ([#2378](#2378)) ([57a2f10](57a2f10)) * Add boxes to CI ([#2456](#2456)) ([a90a185](a90a185)) * Add selector to call_context ([#2626](#2626)) ([8e317be](8e317be)) * AddNote api ([#2535](#2535)) ([bb004f4](bb004f4)) * **aztec_noir:** Abstract storage initialisation ([#2406](#2406)) ([974b037](974b037)) * **aztec.js:** Support AddressLike parameters ([#2430](#2430)) ([5b5f139](5b5f139)) * Barretenberg/crypto/blake3s supports compile-time hashing ([#2556](#2556)) ([da05dd7](da05dd7)) * **bb:** Add `bb --version` command ([#2482](#2482)) ([530676f](530676f)) * **bb:** Avoid initializing CRS for `bb info` command ([#2425](#2425)) ([d22c7b1](d22c7b1)) * Benchmarks ([#2605](#2605)) ([37d9f9c](37d9f9c)) * Bootstrap_docker skips build it can pull from ecr. ([#2545](#2545)) ([466a517](466a517)) * **cli:** Reenable CLI version check ([#2441](#2441)) ([c6ddd23](c6ddd23)) * Collapse interfaces for single implementation ([#2599](#2599)) ([860f340](860f340)) * Consistent pedersen hash (work in progress) ([#1945](#1945)) ([b4ad8f3](b4ad8f3)) * Deprecate assert_contains_and_remove ([#2594](#2594)) ([d225d56](d225d56)) * **docs:** Allow raw code interpolation ([#2447](#2447)) ([e078ff4](e078ff4)) * **docs:** Load current aztec version for aztec.nr dependencies in docs ([#2440](#2440)) ([63cf415](63cf415)) * **docs:** Reenable typedoc for aztec-rpc and aztec.js ([#2452](#2452)) ([85e504c](85e504c)), closes [#2045](#2045) [#2415](#2415) * **docs:** Use preprocessor syntax for including versions ([#2462](#2462)) ([7d315cd](7d315cd)) * **docs:** Use released version of code snippets in docs ([#2439](#2439)) ([76fc2cf](76fc2cf)) * **docs:** Warn if snippet is grabbed from master ([#2544](#2544)) ([36896e7](36896e7)) * **e2e:** Public flow for uniswap ([#2596](#2596)) ([2f871ee](2f871ee)) * Enforce that 0th nullifier is non-zero in private kernel circuit ([#2576](#2576)) ([458a4fe](458a4fe)), closes [#1329](#1329) * Expose registry address in `getNodeInfo` ([#2478](#2478)) ([652bb04](652bb04)) * Expose transaction data from AztecRPC ([#2469](#2469)) ([fc00553](fc00553)) * Extend function documentation ([#2408](#2408)) ([6a75fd0](6a75fd0)) * Goblin op queue transcript aggregation ([#2257](#2257)) ([b7f627a](b7f627a)) * Json type by default in `JsonRpcServer` ([#2504](#2504)) ([be38fcc](be38fcc)), closes [#2479](#2479) * Listing expected args in CLI ([#2423](#2423)) ([b2243ad](b2243ad)) * Log topic and contract address in unencrypted logs ([#2595](#2595)) ([a5b763f](a5b763f)), closes [#2580](#2580) [#2581](#2581) [#2586](#2586) [#2587](#2587) * Parallelization update for polynomials ([#2311](#2311)) ([922fc99](922fc99)) * Restore latest block number ([#2474](#2474)) ([6dc2da7](6dc2da7)) * Serialise L2Block to JSON ([#2496](#2496)) ([714c727](714c727)) * Standalone Aztec Node and RPC Server ([#2522](#2522)) ([8e355bc](8e355bc)) * Unbox empty box ([#2387](#2387)) ([3e3930c](3e3930c)) * Uniswap private flow ([#2559](#2559)) ([39f3a91](39f3a91)) * Update to protogalaxy interfaces ([#2498](#2498)) ([9a3d265](9a3d265)) * YML manifest. Simplify YBP. ([#2353](#2353)) ([bf73bc3](bf73bc3)) ### Bug Fixes * Add aztec/overview redirect ([#2424](#2424)) ([4e30dcd](4e30dcd)) * Add redirects from old docs site urls to new site urls ([#2429](#2429)) ([18fe88a](18fe88a)) * **barretenberg:** Brittle headers caused error compiling for clang-16 on mainframe ([#2547](#2547)) ([cc909da](cc909da)) * Bb rebuild patterns ([#2499](#2499)) ([868cceb](868cceb)) * Bootstrap.sh ([#2524](#2524)) ([bb1fb90](bb1fb90)) * Box injected sandbox tag ([#2555](#2555)) ([069bdc7](069bdc7)) * **build-system:** Don't wait 30s+ always ([#2494](#2494)) ([89d700d](89d700d)) * **build:** CI fixes from previous merges ([#2579](#2579)) ([a9e5d05](a9e5d05)) * Bump foundry version ([#2553](#2553)) ([0dde3d5](0dde3d5)) * Call public fn in contract constructor ([#2549](#2549)) ([14ab6d6](14ab6d6)) * Canary image build ([#2480](#2480)) ([6366be5](6366be5)) * Cli type check arguments and options ([#2571](#2571)) ([ecffc36](ecffc36)) * **cli:** Typos in cli output ([#2428](#2428)) ([08acf90](08acf90)) * Docs: Token tutorial, update links and add note on imports ([#2604](#2604)) ([003d801](003d801)) * **docs:** 'command not found: export' ([#2443](#2443)) ([f56aa02](f56aa02)) * **docs:** Docs correction ([#2437](#2437)) ([6499248](6499248)) * **docs:** Fix imports in token contract tutorial ([#2432](#2432)) ([34ed663](34ed663)) * Drop txs with duplicate nullifiers from the same block ([#2511](#2511)) ([d9ca1d8](d9ca1d8)), closes [#2502](#2502) * E2e browser tests ([#2531](#2531)) ([adf2b1e](adf2b1e)), closes [#2527](#2527) * Fix working dir bug causing stdlib-tests to not run. ([#2495](#2495)) ([6b3402c](6b3402c)) * Foundry ([#2611](#2611)) ([9830fbf](9830fbf)) * Gates command should always return 8 bytes ([#2631](#2631)) ([9668165](9668165)) * JSON-RPC server returns spec-compliant errors ([#2590](#2590)) ([5eafa3d](5eafa3d)) * Loading salt into buffer in the cli ([#2467](#2467)) ([753ac49](753ac49)) * **master:** Remove secret_hash ref ([#2617](#2617)) ([1073bcd](1073bcd)) * Nightly subrepo mirror ([#2520](#2520)) ([bedc8c8](bedc8c8)) * Prevent race conditions around data pulled from L1 ([#2577](#2577)) ([defea83](defea83)) * Readd docs after ci refactor. ([#2514](#2514)) ([1eb1a3c](1eb1a3c)) * Remove "standard" from references to token contracts ([#2533](#2533)) ([f931d56](f931d56)) * Try fix boxes-blank ([#2539](#2539)) ([87b8080](87b8080)) * Try to fix publish bb ([#2529](#2529)) ([7c623c4](7c623c4)) * Try to fix publish-bb.yml ([#2523](#2523)) ([2f6e9bd](2f6e9bd)) * Use #import_code in Token contract tutorial ([#2438](#2438)) ([b58cfb5](b58cfb5)) ### Miscellaneous * `computeContractAddress` as `computeCompleteAddress` ([#1876](#1876)) ([4d95b44](4d95b44)), closes [#1873](#1873) * Add instructions on circleci session for debugging ([#2503](#2503)) ([a4197e7](a4197e7)) * Add output saying how to get the right noir version ([#2622](#2622)) ([10b30e0](10b30e0)) * Aztec-node json-rpc ([#2444](#2444)) ([04efee1](04efee1)) * BI build tweaks ([#2487](#2487)) ([f8b6548](f8b6548)) * Check tree roots in world state sync ([#2543](#2543)) ([314e8a0](314e8a0)) * **circuits:** 2612 - add validation in native private kernel circuit of arrays in accumulated data ([#2614](#2614)) ([f1fe059](f1fe059)) * **circuits:** Remove obsolete comments in native private kernel circuit ([#2570](#2570)) ([a6b6c7b](a6b6c7b)) * **contract_deployment.md:** Don't require main edit ([#2449](#2449)) ([16a3d9c](16a3d9c)) * **deps:** Bump get-func-name from 2.0.0 to 2.0.2 in /yarn-project ([#2630](#2630)) ([5cebf18](5cebf18)) * **deps:** Bump ua-parser-js from 0.7.32 to 0.7.36 in /docs ([#2629](#2629)) ([b2c87c2](b2c87c2)) * Disable pushing/pulling for layer caching in build. ([#2517](#2517)) ([51352ae](51352ae)) * **docs:** Fix tutorial in dapp development ([#2421](#2421)) ([027530f](027530f)) * **docs:** Incorporate docs feedback ([#2434](#2434)) ([4992d5b](4992d5b)) * Embed yq in repo to avoid network hiccups. ([#2560](#2560)) ([84f207f](84f207f)) * Fix box noir versioning ([#2578](#2578)) ([6eaf0c7](6eaf0c7)) * Fixing foundry version ([#2528](#2528)) ([3af0753](3af0753)) * Kill Turbo ([#2442](#2442)) ([c832825](c832825)) * Move hash utils to aztec-nr ([#2583](#2583)) ([78bd1a3](78bd1a3)) * No private key account state ([#2491](#2491)) ([5813fb3](5813fb3)) * Provide cross compile to cjs. ([#2566](#2566)) ([47d0d37](47d0d37)) * Recursion todos ([#2516](#2516)) ([2df107b](2df107b)) * Reenable some ultra honk composer tests ([#2417](#2417)) ([31f4c32](31f4c32)) * Refactor e2e test teardown ([#2513](#2513)) ([2e43248](2e43248)) * Remove `BarretenbergBinderSync` import from typescript bindgen file ([#2607](#2607)) ([43af1a3](43af1a3)) * Remove build system tainting now we have ci cmds in comments. ([#2589](#2589)) ([2040335](2040335)) * Remove composer keyword from stdlib ([#2418](#2418)) ([f3e7d91](f3e7d91)) * Remove debug log in world state sync ([#2613](#2613)) ([177f468](177f468)) * Remove Standard Honk ([#2435](#2435)) ([9b3ee45](9b3ee45)) * Remove unneeded dockerfiles. ([#2588](#2588)) ([d6f903d](d6f903d)) * Rename all the occurrences of `Aztec RPC` ([#2552](#2552)) ([8cc4f69](8cc4f69)), closes [#2451](#2451) * Renaming `@aztec/aztec-rpc` package as `@aztec/pxe` ([#2538](#2538)) ([0dd70aa](0dd70aa)) * Resuscitate private kernel tests related to call stack item check ([#2558](#2558)) ([9e938fc](9e938fc)) * Run formatting:fix for box lint ([#2479](#2479)) ([3995de9](3995de9)) * Run quick-start guide in CI ([#2413](#2413)) ([5f43715](5f43715)) * Simulator ([#2534](#2534)) ([a26198e](a26198e)) * Switch to upstream docusaurus-plugin-typedoc ([#2557](#2557)) ([fdf5fce](fdf5fce)) * Token contract storage cleanup ([#2536](#2536)) ([0b62207](0b62207)) * Typo ([#2546](#2546)) ([8656a3b](8656a3b)) * Unskip test and fix params ([#2454](#2454)) ([e484c5f](e484c5f)) * Update private token box ([#2385](#2385)) ([b730196](b730196)) * Use US spelling ([#2475](#2475)) ([2fe8f5e](2fe8f5e)), closes [#1934](#1934) ### Documentation * Capitalizing x in pxe ([#2564](#2564)) ([2927cf1](2927cf1)) * Common contract errors ([#2471](#2471)) ([a8aec70](a8aec70)), closes [#2468](#2468) * Fixed original minus underflow test ([#2472](#2472)) ([0cf4bdc](0cf4bdc)) * Including sandbox diagrams in the sandbox section ([#2573](#2573)) ([2fa143e](2fa143e)) * Initial storage cleanup ([#2433](#2433)) ([d833483](d833483)) * Misc docs changes ([#2416](#2416)) ([0e789c7](0e789c7)) * More `RPC Server` --> `PXE` naming fixes ([#2574](#2574)) ([b33eea5](b33eea5)) * Portal messaging ([#2419](#2419)) ([7979bb9](7979bb9)) * Update instructions ([#2297](#2297)) ([ab612df](ab612df)), closes [#1827](#1827) * Update sidebar + embed youtube video ([#2470](#2470)) ([a779d11](a779d11)) </details> <details><summary>barretenberg.js: 0.8.0</summary> ## [0.8.0](barretenberg.js-v0.7.10...barretenberg.js-v0.8.0) (2023-10-03) ### ⚠ BREAKING CHANGES * Gates command should always return 8 bytes ([#2631](#2631)) ### Bug Fixes * Gates command should always return 8 bytes ([#2631](#2631)) ([9668165](9668165)) ### Miscellaneous * Provide cross compile to cjs. ([#2566](#2566)) ([47d0d37](47d0d37)) * Remove `BarretenbergBinderSync` import from typescript bindgen file ([#2607](#2607)) ([43af1a3](43af1a3)) * Typo ([#2546](#2546)) ([8656a3b](8656a3b)) </details> <details><summary>barretenberg: 0.8.0</summary> ## [0.8.0](barretenberg-v0.7.10...barretenberg-v0.8.0) (2023-10-03) ### Features * Barretenberg/crypto/blake3s supports compile-time hashing ([#2556](#2556)) ([da05dd7](da05dd7)) * **bb:** Add `bb --version` command ([#2482](#2482)) ([530676f](530676f)) * **bb:** Avoid initializing CRS for `bb info` command ([#2425](#2425)) ([d22c7b1](d22c7b1)) * Consistent pedersen hash (work in progress) ([#1945](#1945)) ([b4ad8f3](b4ad8f3)) * Goblin op queue transcript aggregation ([#2257](#2257)) ([b7f627a](b7f627a)) * Parallelization update for polynomials ([#2311](#2311)) ([922fc99](922fc99)) * Update to protogalaxy interfaces ([#2498](#2498)) ([9a3d265](9a3d265)) * YML manifest. Simplify YBP. ([#2353](#2353)) ([bf73bc3](bf73bc3)) ### Bug Fixes * **barretenberg:** Brittle headers caused error compiling for clang-16 on mainframe ([#2547](#2547)) ([cc909da](cc909da)) * Bb rebuild patterns ([#2499](#2499)) ([868cceb](868cceb)) * Fix working dir bug causing stdlib-tests to not run. ([#2495](#2495)) ([6b3402c](6b3402c)) * Nightly subrepo mirror ([#2520](#2520)) ([bedc8c8](bedc8c8)) ### Miscellaneous * BI build tweaks ([#2487](#2487)) ([f8b6548](f8b6548)) * Kill Turbo ([#2442](#2442)) ([c832825](c832825)) * Provide cross compile to cjs. ([#2566](#2566)) ([47d0d37](47d0d37)) * Recursion todos ([#2516](#2516)) ([2df107b](2df107b)) * Reenable some ultra honk composer tests ([#2417](#2417)) ([31f4c32](31f4c32)) * Remove composer keyword from stdlib ([#2418](#2418)) ([f3e7d91](f3e7d91)) * Remove Standard Honk ([#2435](#2435)) ([9b3ee45](9b3ee45)) ### Documentation * Fixed original minus underflow test ([#2472](#2472)) ([0cf4bdc](0cf4bdc)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
…2610) PR #1945 added a new selector into the Ultra arithmetisation (elliptic curve point doubling). However this change was not propagated to the polynomial relations evaluated by the UltraPlonk and UltraHonk Prover/Verifier algorithms. This PR fixes this, as well as upgrades the BaseUltraVerifier.sol contract to use the new gate. # Checklist: Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge. - [x] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag. - [x] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code. - [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 relevant issues (if any exist). --------- Co-authored-by: vezenovm <[email protected]> Co-authored-by: kevaundray <[email protected]>
This PR is a follow up to #1945 and our Pedersen hash refactor project https://hackmd.io/XYBiWhHPT9C1bo4nrtoo0A?view The PR updates all existing usage of Pedersen commitments and Pedersen hashes to use the new, more straightforward definition in the hackmd and implemented in #1945 This requires wide changes to the codebase as the barretenberg interface used for the Pedersen hash has changed. The large static generator lists that were computed for every barretenberg process have been removed, and replaced with a streamlined generator_data class All uses of `pedersen::compress` have been removed and replaced with `pedersen::hash` We should no longer ever take the x-coordinate of `pedersen::commit` outside of pedersen::hash`. The Schnorr signature stdlib method now uses `cycle_group` instead of its own independent scalar multiplication method The ACIR fixed-base scalar mul opcode now actually evaluates a fixed-base scalar mul All of the code that implemented the old Pedersen functionality has been deleted The stdlib class `point` has been deleted. All code instances that used `point` now use `cycle_group` (don't want two independent types in the stdlib that both represent embedded elliptic curve points) --------- Co-authored-by: Charlie Lye <[email protected]> Co-authored-by: kevaundray <[email protected]> Co-authored-by: Leila Wang <[email protected]> Co-authored-by: sirasistant <[email protected]> Co-authored-by: ludamad <[email protected]>
This PR implements part of our pedersen refactor project https://hackmd.io/XYBiWhHPT9C1bo4nrtoo0A?view
We introduce a new stdlib class
cycle_group
, that implements a full suite of group operations over a generic SNARK-friendly embedded curve.Of key interest is
cycle_group::batch_mul
, which uses both fixed-base and variable-base multiplication to optimally evaluate in-circuit scalar multiplications. All externalcycle_group
operations are statistically complete i.e. the edge-cases for point addition on short weierstrass curves are handled, either explicitly or statistically using 'offset generators' (i.e. when performing a cycle_group computation, precomputed generator points are introduced to prevent intermediate results triggering addition formula edge-cases).This enables us to efficiently represent points at infinity. In the future we can reduce the complexity of our stdlib/recursion implementation by not requiring Prover commitments to not be points at infinity.
Additionally,
pedersen_commitment
andpedersen_hash
have been refactored according to the project specification - usingcycle_group
methods internally instead of bespoke algorithms that are difficult to reproduce.This PR does not modify existing interfaces or implementations w.r.t pedersen commitents/hashing. This will come as part 2 of the refactor as the interface modifications increase would increase the code surface of an already large PR.
Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.