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: extend function documentation #2408

Merged
merged 6 commits into from
Sep 20, 2023
Merged

feat: extend function documentation #2408

merged 6 commits into from
Sep 20, 2023

Conversation

LHerskind
Copy link
Contributor

@LHerskind LHerskind commented Sep 19, 2023

Fixes #1609. Based greatly on @Maddiaa0s branch #2082.

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

context.block_number();
```

:::info *Why do the available global variables differ per execution environment?*
Copy link
Contributor

Choose a reason for hiding this comment

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

nice!

### Data Visibility
Data visibility is used to describe whether the data (or state) used in a function is generally accessible (public) or on a need to know basis (private). Functions with public data visibility is executed by the sequencer, and functions with private data visibility are executed by the user. For more information on why this is the case, see [communication](../../../concepts/foundation/communication/public_private_calls.md).

In the coming sections, we are going to see how these two "types" co-exists and interact.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
In the coming sections, we are going to see how these two "types" co-exists and interact.
In the following sections, we are going to see how these two "types" co-exists and interact.

nit ^

#include_code constructor /yarn-project/noir-contracts/src/contracts/escrow_contract/src/main.nr rust

In this example (taken from an escrow contract), the constructor sets the deployer as an `owner`.
:::danger
It is not possible to call public functions from within a constructor. Beware that the compiler will not throw an error if you do, but the execution will fail!
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
It is not possible to call public functions from within a constructor. Beware that the compiler will not throw an error if you do, but the execution will fail!
It is not possible, at this time, to call public functions from within a constructor. Beware that the compiler will not throw an error if you do, but the execution will fail!
  1. add a note on why
  2. say that this is just temporary and working on a fix?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It is already mentioned in the small list under the constructor, I just created the danger box for extra eye catching.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Or, the why is not mentioned in there. But where thinking showing that into the limitations page to not bloat in here?

Copy link
Contributor

Choose a reason for hiding this comment

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

To not be redundant here, I suggest adding it to the Limitations page and adding a link here.

## Visibility
## Oracle functions

An oracle is something that allow us to get data from the outside world into our contracts. The most widely-known types of oracles in blockchain systems are probably Chainlink price feeds, which allow us to get the price of an asset in USD taking non-blockchain data into account.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
An oracle is something that allow us to get data from the outside world into our contracts. The most widely-known types of oracles in blockchain systems are probably Chainlink price feeds, which allow us to get the price of an asset in USD taking non-blockchain data into account.
An oracle is something that allows us to get data from the outside world into our contracts. The most widely-known types of oracles in blockchain systems are probably Chainlink price feeds, which allow us to get the price of an asset in USD taking non-blockchain data into account.


You could of course provide them to your function as inputs, but then functions that have different underlying notes would end up with different function signatures and thus selectors. Meaning that integrating with many of this would become a pain in the neck for the developers, see some of the motivation behind [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626) for similar case in EVM.

If we are instead fetching the notes using an oracle call, we can keep the function signature independent of the underlying notes and thus make it much easier to integrate with! A similar idea, but applied to authentication mechanism is used for the Authentication Witnesses that allow us to have a single function signature for any wallet implementation making integrations a breeze, see [AuthWit](../../wallets/main#authorizing-actions) for more information on this.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
If we are instead fetching the notes using an oracle call, we can keep the function signature independent of the underlying notes and thus make it much easier to integrate with! A similar idea, but applied to authentication mechanism is used for the Authentication Witnesses that allow us to have a single function signature for any wallet implementation making integrations a breeze, see [AuthWit](../../wallets/main#authorizing-actions) for more information on this.
If we are instead fetching the notes using an oracle call, we can keep the function signature independent of the underlying notes and thus make it much easier to integrate with! A similar idea, but applied to the authentication mechanism is used for the Authentication Witnesses that allow us to have a single function signature for any wallet implementation making integrations a breeze, see [AuthWit](../../wallets/main#authorizing-actions) for more information on this.


If we are instead fetching the notes using an oracle call, we can keep the function signature independent of the underlying notes and thus make it much easier to integrate with! A similar idea, but applied to authentication mechanism is used for the Authentication Witnesses that allow us to have a single function signature for any wallet implementation making integrations a breeze, see [AuthWit](../../wallets/main#authorizing-actions) for more information on this.

Oracles introduce `non determinism` into a circuit, and thus are `unconstrained`. It is important that any information that is injected into a circuit through an oracle is later constrained for correctness. Otherwise the circuit will be `under constrained` and potentially insecure!
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Oracles introduce `non determinism` into a circuit, and thus are `unconstrained`. It is important that any information that is injected into a circuit through an oracle is later constrained for correctness. Otherwise the circuit will be `under constrained` and potentially insecure!
Oracles introduce **non-determinism** into a circuit, and thus are `unconstrained`. It is important that any information that is injected into a circuit through an oracle is later constrained for correctness. Otherwise, the circuit will be **under-constrained** and potentially insecure!

Copy link
Contributor

Choose a reason for hiding this comment

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

maybe use italics/bold instead?

|-> C::example_call
```

<!-- TODO(md): better names for these examples-->
Copy link
Contributor

Choose a reason for hiding this comment

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

consider foo bar baz?


---

## Calling functions from other functions
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 great but I wonder if these should be in communication instead? or maybe we can delete that? Since I saw a couple other places that talk about public <> private comms

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Think that is because it is in communication for foundations. Like the concepts themselves, but not how you do any of it in code. There it sits in communication together with l1 l2 stuff

Copy link
Contributor

Choose a reason for hiding this comment

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

maybe in communication we should link to here then?



### Public -> Private
Wait, I thought you said we could not do this? Well, you are right, we cannot do this directly. However, we can do this indirectly if we are a little cheeky.
Copy link
Contributor

Choose a reason for hiding this comment

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

such a tease

### Function visibility
This is the kind of visibility you are more used to seeing in Solidity and more "normal" programming languages. It is used to describe whether a function is callable from other contracts, or only from within the same contract.

By default, all functions are callable from other contracts, similarly to the Solidity `public` visibility. To make them only callable from the contract itself, you can mark them as `internal`. Contrary to solidity, we don't have the `external` nor `private` keywords. `external` as it is implided, and `private` since we don't support inheritance and would also be confusing with multiple types of `private`.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
By default, all functions are callable from other contracts, similarly to the Solidity `public` visibility. To make them only callable from the contract itself, you can mark them as `internal`. Contrary to solidity, we don't have the `external` nor `private` keywords. `external` as it is implided, and `private` since we don't support inheritance and would also be confusing with multiple types of `private`.
By default, all functions are callable from other contracts, similarly to the Solidity `public` visibility. To make them only callable from the contract itself, you can mark them as `internal`. Contrary to Solidity, we don't have the `external` nor `private` keywords. Functions are implied to be `external`, and `private` differs since we don't support inheritance and it would also be confusing with multiple types of `private` (e.g. in inheritance as well as meaning "secret").

This was referenced Sep 19, 2023
In the example above the Account Contract has been instructed to call two external functions. In the first function all, to `Foo::example_call` a further nested call is performed to `Bar::nested_call`. Finally the account contract makes one last call to `Baz::example_call`.

Lets further illustrate what these examples could look like
<!-- TODO: should these move into the docs examples -->
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this to be done before merging this PR?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No. The example is just to show the ordering, can stand as is.

Oracles introduce **non-determinism** into a circuit, and thus are `unconstrained`. It is important that any information that is injected into a circuit through an oracle is later constrained for correctness. Otherwise, the circuit will be **under-constrained** and potentially insecure!

`Aztec.nr` has a module dedicated to its oracles. If you are interested, you can view them by following the link below:
#include_code oracles-module /yarn-project/aztec-nr/aztec/src/oracle.nr rust
Copy link
Contributor

Choose a reason for hiding this comment

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

Do you want to include the list here instead of just the top of the file?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The top of the file is essentially just used as a link here, showing the rest the file don't bring much extra data so it is essentially just a reference.


To create a public function you can annotate it with the `#[aztec(public)]` attribute. This will make the [public context](../context.mdx#public-context) available within your current function's execution scope.
Unconstrained functions are are an underlying part of Noir and has a deeper explanation [here](https://noir-lang.org/language_concepts/unconstrained). But in short, they are functions which are not directly constrained and therefore should be seen as untrusted! That they are untrusted means that, for security, the developer must make sure to constrain them when used!
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Unconstrained functions are are an underlying part of Noir and has a deeper explanation [here](https://noir-lang.org/language_concepts/unconstrained). But in short, they are functions which are not directly constrained and therefore should be seen as untrusted! That they are untrusted means that, for security, the developer must make sure to constrain them when used!
Unconstrained functions are an underlying part of Noir - a deeper explanation can be found [here](https://noir-lang.org/language_concepts/unconstrained). But in short, they are functions which are not directly constrained and therefore should be seen as untrusted! That they are untrusted means that, for security, the developer must make sure to constrain them when used!


#include_code functions-OpenFunction /yarn-project/noir-contracts/src/contracts/docs_example_contract/src/main.nr rust
Beyond using them inside your other functions, they are convenient for providing an interface that reads storage, applies logic and returns values to a UI or test. Below is a snippet from exposing the `balance_of_private` function from a token implementation, which allows a user to easily read their balance, similar to the `balanceOf` function in the ERC20 standard.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Beyond using them inside your other functions, they are convenient for providing an interface that reads storage, applies logic and returns values to a UI or test. Below is a snippet from exposing the `balance_of_private` function from a token implementation, which allows a user to easily read their balance, similar to the `balanceOf` function in the ERC20 standard.
Beyond using them inside your other functions, they are convenient for providing an interface that reads storage, applies logic and returns values to a UI or test. Below is a snippet from exposing the `balance_of_private` function from a token implementation, which allows a user to easily read their balance, similar to the `balanceOf` function in the ERC20 standard.


#include_code functions-UncontrainedFunction /yarn-project/noir-contracts/src/contracts/docs_example_contract/src/main.nr rust
:::info
Note, that unconstrained functions can have access to both public and private data when executed on users device. This is possible since it is not actually part of the circuits that is executed in contract execution.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Note, that unconstrained functions can have access to both public and private data when executed on users device. This is possible since it is not actually part of the circuits that is executed in contract execution.
Note, that unconstrained functions can have access to both public and private data when executed on the user's device. This is possible since it is not actually part of the circuits that are executed in contract execution.


---

## Calling functions from other functions
Copy link
Contributor

Choose a reason for hiding this comment

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

maybe in communication we should link to here then?

@LHerskind LHerskind force-pushed the lh/document-functions branch from 8b90ddb to e9dc67f Compare September 20, 2023 11:40
@LHerskind LHerskind enabled auto-merge (squash) September 20, 2023 11:52
@LHerskind LHerskind merged commit 6a75fd0 into master Sep 20, 2023
2 checks passed
@LHerskind LHerskind deleted the lh/document-functions branch September 20, 2023 12:03
LHerskind added a commit that referenced this pull request Sep 20, 2023
Addresses miscellaneous issues in the documentation. Building on top of
#2408.
rahul-kothari added a commit that referenced this pull request Sep 20, 2023
Building on top of of #2408 and #2416.
---------

Co-authored-by: Rahul Kothari <[email protected]>
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).
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).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

docs/dev-docs/contracts/functions
3 participants