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: consistent pedersen hash (work in progress) #1945

Merged
merged 55 commits into from
Sep 29, 2023

Conversation

zac-williamson
Copy link
Contributor

@zac-williamson zac-williamson commented Sep 2, 2023

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 external cycle_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 and pedersen_hash have been refactored according to the project specification - using cycle_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.

  • If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag.
  • I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code.
  • Every change is related to the PR description.
  • I have linked this pull request to relevant issues (if any exist).

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)
cycle_group::fixed_base_scalar_mul now working with plookup tables
Comment on lines +482 to +484
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);
Copy link
Contributor

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)

Copy link
Contributor Author

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);
Copy link
Contributor

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));

Copy link
Contributor Author

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,
Copy link
Contributor

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

Copy link
Contributor Author

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

Copy link
Contributor

@kevaundray kevaundray left a 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

@zac-williamson zac-williamson merged commit b4ad8f3 into master Sep 29, 2023
6 checks passed
@zac-williamson zac-williamson deleted the zw/stdlib-cycle-group-msm branch September 29, 2023 10:58
kevaundray pushed a commit that referenced this pull request Oct 3, 2023
🤖 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` --&gt; `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).
zac-williamson added a commit that referenced this pull request Oct 3, 2023
…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]>
AztecBot added a commit to AztecProtocol/barretenberg that referenced this pull request Oct 5, 2023
🤖 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` --&gt; `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).
Maddiaa0 pushed a commit that referenced this pull request Oct 6, 2023
🤖 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` --&gt; `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).
Maddiaa0 pushed a commit that referenced this pull request Oct 6, 2023
…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]>
sirasistant added a commit that referenced this pull request Oct 24, 2023
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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
crypto cryptography
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

4 participants