-
Notifications
You must be signed in to change notification settings - Fork 234
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
Conversation
context.block_number(); | ||
``` | ||
|
||
:::info *Why do the available global variables differ per execution environment?* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice!
### 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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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! |
- add a note on why
- say that this is just temporary and working on a fix?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is already mentioned in the small list under the constructor, I just created the danger box for extra eye catching.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or, the why is not mentioned in there. But where thinking showing that into the limitations page to not bloat in here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe use italics/bold instead?
|-> C::example_call | ||
``` | ||
|
||
<!-- TODO(md): better names for these examples--> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
consider foo
bar
baz
?
|
||
--- | ||
|
||
## Calling functions from other functions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is 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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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"). |
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 --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this to be done before merging this PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you want to include the list here instead of just the top of the file?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe in communication we should link to here then?
Co-authored-by: josh crites <critesjosh@gmail.com> Co-authored-by: Rahul Kothari <rahul.kothari.201@gmail.com>
Co-authored-by: josh crites <critesjosh@gmail.com>
8b90ddb
to
e9dc67f
Compare
Addresses miscellaneous issues in the documentation. Building on top of #2408.
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-packages: 0.8.0</summary> ## [0.8.0](aztec-packages-v0.7.10...aztec-packages-v0.8.0) (2023-10-03) ### ⚠ BREAKING CHANGES * Gates command should always return 8 bytes ([#2631](#2631)) ### Features * **1090:** Validate that some arrays are zero-padded on the right ([#2519](#2519)) ([0327b54](0327b54)) * Add --wait/--no-wait flags to certain cli commands ([#2378](#2378)) ([57a2f10](57a2f10)) * Add boxes to CI ([#2456](#2456)) ([a90a185](a90a185)) * Add selector to call_context ([#2626](#2626)) ([8e317be](8e317be)) * AddNote api ([#2535](#2535)) ([bb004f4](bb004f4)) * **aztec_noir:** Abstract storage initialisation ([#2406](#2406)) ([974b037](974b037)) * **aztec.js:** Support AddressLike parameters ([#2430](#2430)) ([5b5f139](5b5f139)) * Barretenberg/crypto/blake3s supports compile-time hashing ([#2556](#2556)) ([da05dd7](da05dd7)) * **bb:** Add `bb --version` command ([#2482](#2482)) ([530676f](530676f)) * **bb:** Avoid initializing CRS for `bb info` command ([#2425](#2425)) ([d22c7b1](d22c7b1)) * Benchmarks ([#2605](#2605)) ([37d9f9c](37d9f9c)) * Bootstrap_docker skips build it can pull from ecr. ([#2545](#2545)) ([466a517](466a517)) * **cli:** Reenable CLI version check ([#2441](#2441)) ([c6ddd23](c6ddd23)) * Collapse interfaces for single implementation ([#2599](#2599)) ([860f340](860f340)) * Consistent pedersen hash (work in progress) ([#1945](#1945)) ([b4ad8f3](b4ad8f3)) * Deprecate assert_contains_and_remove ([#2594](#2594)) ([d225d56](d225d56)) * **docs:** Allow raw code interpolation ([#2447](#2447)) ([e078ff4](e078ff4)) * **docs:** Load current aztec version for aztec.nr dependencies in docs ([#2440](#2440)) ([63cf415](63cf415)) * **docs:** Reenable typedoc for aztec-rpc and aztec.js ([#2452](#2452)) ([85e504c](85e504c)), closes [#2045](#2045) [#2415](#2415) * **docs:** Use preprocessor syntax for including versions ([#2462](#2462)) ([7d315cd](7d315cd)) * **docs:** Use released version of code snippets in docs ([#2439](#2439)) ([76fc2cf](76fc2cf)) * **docs:** Warn if snippet is grabbed from master ([#2544](#2544)) ([36896e7](36896e7)) * **e2e:** Public flow for uniswap ([#2596](#2596)) ([2f871ee](2f871ee)) * Enforce that 0th nullifier is non-zero in private kernel circuit ([#2576](#2576)) ([458a4fe](458a4fe)), closes [#1329](#1329) * Expose registry address in `getNodeInfo` ([#2478](#2478)) ([652bb04](652bb04)) * Expose transaction data from AztecRPC ([#2469](#2469)) ([fc00553](fc00553)) * Extend function documentation ([#2408](#2408)) ([6a75fd0](6a75fd0)) * Goblin op queue transcript aggregation ([#2257](#2257)) ([b7f627a](b7f627a)) * Json type by default in `JsonRpcServer` ([#2504](#2504)) ([be38fcc](be38fcc)), closes [#2479](#2479) * Listing expected args in CLI ([#2423](#2423)) ([b2243ad](b2243ad)) * Log topic and contract address in unencrypted logs ([#2595](#2595)) ([a5b763f](a5b763f)), closes [#2580](#2580) [#2581](#2581) [#2586](#2586) [#2587](#2587) * Parallelization update for polynomials ([#2311](#2311)) ([922fc99](922fc99)) * Restore latest block number ([#2474](#2474)) ([6dc2da7](6dc2da7)) * Serialise L2Block to JSON ([#2496](#2496)) ([714c727](714c727)) * Standalone Aztec Node and RPC Server ([#2522](#2522)) ([8e355bc](8e355bc)) * Unbox empty box ([#2387](#2387)) ([3e3930c](3e3930c)) * Uniswap private flow ([#2559](#2559)) ([39f3a91](39f3a91)) * Update to protogalaxy interfaces ([#2498](#2498)) ([9a3d265](9a3d265)) * YML manifest. Simplify YBP. ([#2353](#2353)) ([bf73bc3](bf73bc3)) ### Bug Fixes * Add aztec/overview redirect ([#2424](#2424)) ([4e30dcd](4e30dcd)) * Add redirects from old docs site urls to new site urls ([#2429](#2429)) ([18fe88a](18fe88a)) * **barretenberg:** Brittle headers caused error compiling for clang-16 on mainframe ([#2547](#2547)) ([cc909da](cc909da)) * Bb rebuild patterns ([#2499](#2499)) ([868cceb](868cceb)) * Bootstrap.sh ([#2524](#2524)) ([bb1fb90](bb1fb90)) * Box injected sandbox tag ([#2555](#2555)) ([069bdc7](069bdc7)) * **build-system:** Don't wait 30s+ always ([#2494](#2494)) ([89d700d](89d700d)) * **build:** CI fixes from previous merges ([#2579](#2579)) ([a9e5d05](a9e5d05)) * Bump foundry version ([#2553](#2553)) ([0dde3d5](0dde3d5)) * Call public fn in contract constructor ([#2549](#2549)) ([14ab6d6](14ab6d6)) * Canary image build ([#2480](#2480)) ([6366be5](6366be5)) * Cli type check arguments and options ([#2571](#2571)) ([ecffc36](ecffc36)) * **cli:** Typos in cli output ([#2428](#2428)) ([08acf90](08acf90)) * Docs: Token tutorial, update links and add note on imports ([#2604](#2604)) ([003d801](003d801)) * **docs:** 'command not found: export' ([#2443](#2443)) ([f56aa02](f56aa02)) * **docs:** Docs correction ([#2437](#2437)) ([6499248](6499248)) * **docs:** Fix imports in token contract tutorial ([#2432](#2432)) ([34ed663](34ed663)) * Drop txs with duplicate nullifiers from the same block ([#2511](#2511)) ([d9ca1d8](d9ca1d8)), closes [#2502](#2502) * E2e browser tests ([#2531](#2531)) ([adf2b1e](adf2b1e)), closes [#2527](#2527) * Fix working dir bug causing stdlib-tests to not run. ([#2495](#2495)) ([6b3402c](6b3402c)) * Foundry ([#2611](#2611)) ([9830fbf](9830fbf)) * Gates command should always return 8 bytes ([#2631](#2631)) ([9668165](9668165)) * JSON-RPC server returns spec-compliant errors ([#2590](#2590)) ([5eafa3d](5eafa3d)) * Loading salt into buffer in the cli ([#2467](#2467)) ([753ac49](753ac49)) * **master:** Remove secret_hash ref ([#2617](#2617)) ([1073bcd](1073bcd)) * Nightly subrepo mirror ([#2520](#2520)) ([bedc8c8](bedc8c8)) * Prevent race conditions around data pulled from L1 ([#2577](#2577)) ([defea83](defea83)) * Readd docs after ci refactor. ([#2514](#2514)) ([1eb1a3c](1eb1a3c)) * Remove "standard" from references to token contracts ([#2533](#2533)) ([f931d56](f931d56)) * Try fix boxes-blank ([#2539](#2539)) ([87b8080](87b8080)) * Try to fix publish bb ([#2529](#2529)) ([7c623c4](7c623c4)) * Try to fix publish-bb.yml ([#2523](#2523)) ([2f6e9bd](2f6e9bd)) * Use #import_code in Token contract tutorial ([#2438](#2438)) ([b58cfb5](b58cfb5)) ### Miscellaneous * `computeContractAddress` as `computeCompleteAddress` ([#1876](#1876)) ([4d95b44](4d95b44)), closes [#1873](#1873) * Add instructions on circleci session for debugging ([#2503](#2503)) ([a4197e7](a4197e7)) * Add output saying how to get the right noir version ([#2622](#2622)) ([10b30e0](10b30e0)) * Aztec-node json-rpc ([#2444](#2444)) ([04efee1](04efee1)) * BI build tweaks ([#2487](#2487)) ([f8b6548](f8b6548)) * Check tree roots in world state sync ([#2543](#2543)) ([314e8a0](314e8a0)) * **circuits:** 2612 - add validation in native private kernel circuit of arrays in accumulated data ([#2614](#2614)) ([f1fe059](f1fe059)) * **circuits:** Remove obsolete comments in native private kernel circuit ([#2570](#2570)) ([a6b6c7b](a6b6c7b)) * **contract_deployment.md:** Don't require main edit ([#2449](#2449)) ([16a3d9c](16a3d9c)) * **deps:** Bump get-func-name from 2.0.0 to 2.0.2 in /yarn-project ([#2630](#2630)) ([5cebf18](5cebf18)) * **deps:** Bump ua-parser-js from 0.7.32 to 0.7.36 in /docs ([#2629](#2629)) ([b2c87c2](b2c87c2)) * Disable pushing/pulling for layer caching in build. ([#2517](#2517)) ([51352ae](51352ae)) * **docs:** Fix tutorial in dapp development ([#2421](#2421)) ([027530f](027530f)) * **docs:** Incorporate docs feedback ([#2434](#2434)) ([4992d5b](4992d5b)) * Embed yq in repo to avoid network hiccups. ([#2560](#2560)) ([84f207f](84f207f)) * Fix box noir versioning ([#2578](#2578)) ([6eaf0c7](6eaf0c7)) * Fixing foundry version ([#2528](#2528)) ([3af0753](3af0753)) * Kill Turbo ([#2442](#2442)) ([c832825](c832825)) * Move hash utils to aztec-nr ([#2583](#2583)) ([78bd1a3](78bd1a3)) * No private key account state ([#2491](#2491)) ([5813fb3](5813fb3)) * Provide cross compile to cjs. ([#2566](#2566)) ([47d0d37](47d0d37)) * Recursion todos ([#2516](#2516)) ([2df107b](2df107b)) * Reenable some ultra honk composer tests ([#2417](#2417)) ([31f4c32](31f4c32)) * Refactor e2e test teardown ([#2513](#2513)) ([2e43248](2e43248)) * Remove `BarretenbergBinderSync` import from typescript bindgen file ([#2607](#2607)) ([43af1a3](43af1a3)) * Remove build system tainting now we have ci cmds in comments. ([#2589](#2589)) ([2040335](2040335)) * Remove composer keyword from stdlib ([#2418](#2418)) ([f3e7d91](f3e7d91)) * Remove debug log in world state sync ([#2613](#2613)) ([177f468](177f468)) * Remove Standard Honk ([#2435](#2435)) ([9b3ee45](9b3ee45)) * Remove unneeded dockerfiles. ([#2588](#2588)) ([d6f903d](d6f903d)) * Rename all the occurrences of `Aztec RPC` ([#2552](#2552)) ([8cc4f69](8cc4f69)), closes [#2451](#2451) * Renaming `@aztec/aztec-rpc` package as `@aztec/pxe` ([#2538](#2538)) ([0dd70aa](0dd70aa)) * Resuscitate private kernel tests related to call stack item check ([#2558](#2558)) ([9e938fc](9e938fc)) * Run formatting:fix for box lint ([#2479](#2479)) ([3995de9](3995de9)) * Run quick-start guide in CI ([#2413](#2413)) ([5f43715](5f43715)) * Simulator ([#2534](#2534)) ([a26198e](a26198e)) * Switch to upstream docusaurus-plugin-typedoc ([#2557](#2557)) ([fdf5fce](fdf5fce)) * Token contract storage cleanup ([#2536](#2536)) ([0b62207](0b62207)) * Typo ([#2546](#2546)) ([8656a3b](8656a3b)) * Unskip test and fix params ([#2454](#2454)) ([e484c5f](e484c5f)) * Update private token box ([#2385](#2385)) ([b730196](b730196)) * Use US spelling ([#2475](#2475)) ([2fe8f5e](2fe8f5e)), closes [#1934](#1934) ### Documentation * Capitalizing x in pxe ([#2564](#2564)) ([2927cf1](2927cf1)) * Common contract errors ([#2471](#2471)) ([a8aec70](a8aec70)), closes [#2468](#2468) * Fixed original minus underflow test ([#2472](#2472)) ([0cf4bdc](0cf4bdc)) * Including sandbox diagrams in the sandbox section ([#2573](#2573)) ([2fa143e](2fa143e)) * Initial storage cleanup ([#2433](#2433)) ([d833483](d833483)) * Misc docs changes ([#2416](#2416)) ([0e789c7](0e789c7)) * More `RPC Server` --> `PXE` naming fixes ([#2574](#2574)) ([b33eea5](b33eea5)) * Portal messaging ([#2419](#2419)) ([7979bb9](7979bb9)) * Update instructions ([#2297](#2297)) ([ab612df](ab612df)), closes [#1827](#1827) * Update sidebar + embed youtube video ([#2470](#2470)) ([a779d11](a779d11)) </details> <details><summary>barretenberg.js: 0.8.0</summary> ## [0.8.0](barretenberg.js-v0.7.10...barretenberg.js-v0.8.0) (2023-10-03) ### ⚠ BREAKING CHANGES * Gates command should always return 8 bytes ([#2631](#2631)) ### Bug Fixes * Gates command should always return 8 bytes ([#2631](#2631)) ([9668165](9668165)) ### Miscellaneous * Provide cross compile to cjs. ([#2566](#2566)) ([47d0d37](47d0d37)) * Remove `BarretenbergBinderSync` import from typescript bindgen file ([#2607](#2607)) ([43af1a3](43af1a3)) * Typo ([#2546](#2546)) ([8656a3b](8656a3b)) </details> <details><summary>barretenberg: 0.8.0</summary> ## [0.8.0](barretenberg-v0.7.10...barretenberg-v0.8.0) (2023-10-03) ### Features * Barretenberg/crypto/blake3s supports compile-time hashing ([#2556](#2556)) ([da05dd7](da05dd7)) * **bb:** Add `bb --version` command ([#2482](#2482)) ([530676f](530676f)) * **bb:** Avoid initializing CRS for `bb info` command ([#2425](#2425)) ([d22c7b1](d22c7b1)) * Consistent pedersen hash (work in progress) ([#1945](#1945)) ([b4ad8f3](b4ad8f3)) * Goblin op queue transcript aggregation ([#2257](#2257)) ([b7f627a](b7f627a)) * Parallelization update for polynomials ([#2311](#2311)) ([922fc99](922fc99)) * Update to protogalaxy interfaces ([#2498](#2498)) ([9a3d265](9a3d265)) * YML manifest. Simplify YBP. ([#2353](#2353)) ([bf73bc3](bf73bc3)) ### Bug Fixes * **barretenberg:** Brittle headers caused error compiling for clang-16 on mainframe ([#2547](#2547)) ([cc909da](cc909da)) * Bb rebuild patterns ([#2499](#2499)) ([868cceb](868cceb)) * Fix working dir bug causing stdlib-tests to not run. ([#2495](#2495)) ([6b3402c](6b3402c)) * Nightly subrepo mirror ([#2520](#2520)) ([bedc8c8](bedc8c8)) ### Miscellaneous * BI build tweaks ([#2487](#2487)) ([f8b6548](f8b6548)) * Kill Turbo ([#2442](#2442)) ([c832825](c832825)) * Provide cross compile to cjs. ([#2566](#2566)) ([47d0d37](47d0d37)) * Recursion todos ([#2516](#2516)) ([2df107b](2df107b)) * Reenable some ultra honk composer tests ([#2417](#2417)) ([31f4c32](31f4c32)) * Remove composer keyword from stdlib ([#2418](#2418)) ([f3e7d91](f3e7d91)) * Remove Standard Honk ([#2435](#2435)) ([9b3ee45](9b3ee45)) ### Documentation * Fixed original minus underflow test ([#2472](#2472)) ([0cf4bdc](0cf4bdc)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-packages: 0.8.0</summary> ## [0.8.0](AztecProtocol/aztec-packages@aztec-packages-v0.7.10...aztec-packages-v0.8.0) (2023-10-03) ### ⚠ BREAKING CHANGES * Gates command should always return 8 bytes ([#2631](AztecProtocol/aztec-packages#2631)) ### Features * **1090:** Validate that some arrays are zero-padded on the right ([#2519](AztecProtocol/aztec-packages#2519)) ([0327b54](AztecProtocol/aztec-packages@0327b54)) * Add --wait/--no-wait flags to certain cli commands ([#2378](AztecProtocol/aztec-packages#2378)) ([57a2f10](AztecProtocol/aztec-packages@57a2f10)) * Add boxes to CI ([#2456](AztecProtocol/aztec-packages#2456)) ([a90a185](AztecProtocol/aztec-packages@a90a185)) * Add selector to call_context ([#2626](AztecProtocol/aztec-packages#2626)) ([8e317be](AztecProtocol/aztec-packages@8e317be)) * AddNote api ([#2535](AztecProtocol/aztec-packages#2535)) ([bb004f4](AztecProtocol/aztec-packages@bb004f4)) * **aztec_noir:** Abstract storage initialisation ([#2406](AztecProtocol/aztec-packages#2406)) ([974b037](AztecProtocol/aztec-packages@974b037)) * **aztec.js:** Support AddressLike parameters ([#2430](AztecProtocol/aztec-packages#2430)) ([5b5f139](AztecProtocol/aztec-packages@5b5f139)) * Barretenberg/crypto/blake3s supports compile-time hashing ([#2556](AztecProtocol/aztec-packages#2556)) ([da05dd7](AztecProtocol/aztec-packages@da05dd7)) * **bb:** Add `bb --version` command ([#2482](AztecProtocol/aztec-packages#2482)) ([530676f](AztecProtocol/aztec-packages@530676f)) * **bb:** Avoid initializing CRS for `bb info` command ([#2425](AztecProtocol/aztec-packages#2425)) ([d22c7b1](AztecProtocol/aztec-packages@d22c7b1)) * Benchmarks ([#2605](AztecProtocol/aztec-packages#2605)) ([37d9f9c](AztecProtocol/aztec-packages@37d9f9c)) * Bootstrap_docker skips build it can pull from ecr. ([#2545](AztecProtocol/aztec-packages#2545)) ([466a517](AztecProtocol/aztec-packages@466a517)) * **cli:** Reenable CLI version check ([#2441](AztecProtocol/aztec-packages#2441)) ([c6ddd23](AztecProtocol/aztec-packages@c6ddd23)) * Collapse interfaces for single implementation ([#2599](AztecProtocol/aztec-packages#2599)) ([860f340](AztecProtocol/aztec-packages@860f340)) * Consistent pedersen hash (work in progress) ([#1945](AztecProtocol/aztec-packages#1945)) ([b4ad8f3](AztecProtocol/aztec-packages@b4ad8f3)) * Deprecate assert_contains_and_remove ([#2594](AztecProtocol/aztec-packages#2594)) ([d225d56](AztecProtocol/aztec-packages@d225d56)) * **docs:** Allow raw code interpolation ([#2447](AztecProtocol/aztec-packages#2447)) ([e078ff4](AztecProtocol/aztec-packages@e078ff4)) * **docs:** Load current aztec version for aztec.nr dependencies in docs ([#2440](AztecProtocol/aztec-packages#2440)) ([63cf415](AztecProtocol/aztec-packages@63cf415)) * **docs:** Reenable typedoc for aztec-rpc and aztec.js ([#2452](AztecProtocol/aztec-packages#2452)) ([85e504c](AztecProtocol/aztec-packages@85e504c)), closes [#2045](AztecProtocol/aztec-packages#2045) [#2415](AztecProtocol/aztec-packages#2415) * **docs:** Use preprocessor syntax for including versions ([#2462](AztecProtocol/aztec-packages#2462)) ([7d315cd](AztecProtocol/aztec-packages@7d315cd)) * **docs:** Use released version of code snippets in docs ([#2439](AztecProtocol/aztec-packages#2439)) ([76fc2cf](AztecProtocol/aztec-packages@76fc2cf)) * **docs:** Warn if snippet is grabbed from master ([#2544](AztecProtocol/aztec-packages#2544)) ([36896e7](AztecProtocol/aztec-packages@36896e7)) * **e2e:** Public flow for uniswap ([#2596](AztecProtocol/aztec-packages#2596)) ([2f871ee](AztecProtocol/aztec-packages@2f871ee)) * Enforce that 0th nullifier is non-zero in private kernel circuit ([#2576](AztecProtocol/aztec-packages#2576)) ([458a4fe](AztecProtocol/aztec-packages@458a4fe)), closes [#1329](AztecProtocol/aztec-packages#1329) * Expose registry address in `getNodeInfo` ([#2478](AztecProtocol/aztec-packages#2478)) ([652bb04](AztecProtocol/aztec-packages@652bb04)) * Expose transaction data from AztecRPC ([#2469](AztecProtocol/aztec-packages#2469)) ([fc00553](AztecProtocol/aztec-packages@fc00553)) * Extend function documentation ([#2408](AztecProtocol/aztec-packages#2408)) ([6a75fd0](AztecProtocol/aztec-packages@6a75fd0)) * Goblin op queue transcript aggregation ([#2257](AztecProtocol/aztec-packages#2257)) ([b7f627a](AztecProtocol/aztec-packages@b7f627a)) * Json type by default in `JsonRpcServer` ([#2504](AztecProtocol/aztec-packages#2504)) ([be38fcc](AztecProtocol/aztec-packages@be38fcc)), closes [#2479](AztecProtocol/aztec-packages#2479) * Listing expected args in CLI ([#2423](AztecProtocol/aztec-packages#2423)) ([b2243ad](AztecProtocol/aztec-packages@b2243ad)) * Log topic and contract address in unencrypted logs ([#2595](AztecProtocol/aztec-packages#2595)) ([a5b763f](AztecProtocol/aztec-packages@a5b763f)), closes [#2580](AztecProtocol/aztec-packages#2580) [#2581](AztecProtocol/aztec-packages#2581) [#2586](AztecProtocol/aztec-packages#2586) [#2587](AztecProtocol/aztec-packages#2587) * Parallelization update for polynomials ([#2311](AztecProtocol/aztec-packages#2311)) ([922fc99](AztecProtocol/aztec-packages@922fc99)) * Restore latest block number ([#2474](AztecProtocol/aztec-packages#2474)) ([6dc2da7](AztecProtocol/aztec-packages@6dc2da7)) * Serialise L2Block to JSON ([#2496](AztecProtocol/aztec-packages#2496)) ([714c727](AztecProtocol/aztec-packages@714c727)) * Standalone Aztec Node and RPC Server ([#2522](AztecProtocol/aztec-packages#2522)) ([8e355bc](AztecProtocol/aztec-packages@8e355bc)) * Unbox empty box ([#2387](AztecProtocol/aztec-packages#2387)) ([3e3930c](AztecProtocol/aztec-packages@3e3930c)) * Uniswap private flow ([#2559](AztecProtocol/aztec-packages#2559)) ([39f3a91](AztecProtocol/aztec-packages@39f3a91)) * Update to protogalaxy interfaces ([#2498](AztecProtocol/aztec-packages#2498)) ([9a3d265](AztecProtocol/aztec-packages@9a3d265)) * YML manifest. Simplify YBP. ([#2353](AztecProtocol/aztec-packages#2353)) ([bf73bc3](AztecProtocol/aztec-packages@bf73bc3)) ### Bug Fixes * Add aztec/overview redirect ([#2424](AztecProtocol/aztec-packages#2424)) ([4e30dcd](AztecProtocol/aztec-packages@4e30dcd)) * Add redirects from old docs site urls to new site urls ([#2429](AztecProtocol/aztec-packages#2429)) ([18fe88a](AztecProtocol/aztec-packages@18fe88a)) * **barretenberg:** Brittle headers caused error compiling for clang-16 on mainframe ([#2547](AztecProtocol/aztec-packages#2547)) ([cc909da](AztecProtocol/aztec-packages@cc909da)) * Bb rebuild patterns ([#2499](AztecProtocol/aztec-packages#2499)) ([868cceb](AztecProtocol/aztec-packages@868cceb)) * Bootstrap.sh ([#2524](AztecProtocol/aztec-packages#2524)) ([bb1fb90](AztecProtocol/aztec-packages@bb1fb90)) * Box injected sandbox tag ([#2555](AztecProtocol/aztec-packages#2555)) ([069bdc7](AztecProtocol/aztec-packages@069bdc7)) * **build-system:** Don't wait 30s+ always ([#2494](AztecProtocol/aztec-packages#2494)) ([89d700d](AztecProtocol/aztec-packages@89d700d)) * **build:** CI fixes from previous merges ([#2579](AztecProtocol/aztec-packages#2579)) ([a9e5d05](AztecProtocol/aztec-packages@a9e5d05)) * Bump foundry version ([#2553](AztecProtocol/aztec-packages#2553)) ([0dde3d5](AztecProtocol/aztec-packages@0dde3d5)) * Call public fn in contract constructor ([#2549](AztecProtocol/aztec-packages#2549)) ([14ab6d6](AztecProtocol/aztec-packages@14ab6d6)) * Canary image build ([#2480](AztecProtocol/aztec-packages#2480)) ([6366be5](AztecProtocol/aztec-packages@6366be5)) * Cli type check arguments and options ([#2571](AztecProtocol/aztec-packages#2571)) ([ecffc36](AztecProtocol/aztec-packages@ecffc36)) * **cli:** Typos in cli output ([#2428](AztecProtocol/aztec-packages#2428)) ([08acf90](AztecProtocol/aztec-packages@08acf90)) * Docs: Token tutorial, update links and add note on imports ([#2604](AztecProtocol/aztec-packages#2604)) ([003d801](AztecProtocol/aztec-packages@003d801)) * **docs:** 'command not found: export' ([#2443](AztecProtocol/aztec-packages#2443)) ([f56aa02](AztecProtocol/aztec-packages@f56aa02)) * **docs:** Docs correction ([#2437](AztecProtocol/aztec-packages#2437)) ([6499248](AztecProtocol/aztec-packages@6499248)) * **docs:** Fix imports in token contract tutorial ([#2432](AztecProtocol/aztec-packages#2432)) ([34ed663](AztecProtocol/aztec-packages@34ed663)) * Drop txs with duplicate nullifiers from the same block ([#2511](AztecProtocol/aztec-packages#2511)) ([d9ca1d8](AztecProtocol/aztec-packages@d9ca1d8)), closes [#2502](AztecProtocol/aztec-packages#2502) * E2e browser tests ([#2531](AztecProtocol/aztec-packages#2531)) ([adf2b1e](AztecProtocol/aztec-packages@adf2b1e)), closes [#2527](AztecProtocol/aztec-packages#2527) * Fix working dir bug causing stdlib-tests to not run. ([#2495](AztecProtocol/aztec-packages#2495)) ([6b3402c](AztecProtocol/aztec-packages@6b3402c)) * Foundry ([#2611](AztecProtocol/aztec-packages#2611)) ([9830fbf](AztecProtocol/aztec-packages@9830fbf)) * Gates command should always return 8 bytes ([#2631](AztecProtocol/aztec-packages#2631)) ([9668165](AztecProtocol/aztec-packages@9668165)) * JSON-RPC server returns spec-compliant errors ([#2590](AztecProtocol/aztec-packages#2590)) ([5eafa3d](AztecProtocol/aztec-packages@5eafa3d)) * Loading salt into buffer in the cli ([#2467](AztecProtocol/aztec-packages#2467)) ([753ac49](AztecProtocol/aztec-packages@753ac49)) * **master:** Remove secret_hash ref ([#2617](AztecProtocol/aztec-packages#2617)) ([1073bcd](AztecProtocol/aztec-packages@1073bcd)) * Nightly subrepo mirror ([#2520](AztecProtocol/aztec-packages#2520)) ([bedc8c8](AztecProtocol/aztec-packages@bedc8c8)) * Prevent race conditions around data pulled from L1 ([#2577](AztecProtocol/aztec-packages#2577)) ([defea83](AztecProtocol/aztec-packages@defea83)) * Readd docs after ci refactor. ([#2514](AztecProtocol/aztec-packages#2514)) ([1eb1a3c](AztecProtocol/aztec-packages@1eb1a3c)) * Remove "standard" from references to token contracts ([#2533](AztecProtocol/aztec-packages#2533)) ([f931d56](AztecProtocol/aztec-packages@f931d56)) * Try fix boxes-blank ([#2539](AztecProtocol/aztec-packages#2539)) ([87b8080](AztecProtocol/aztec-packages@87b8080)) * Try to fix publish bb ([#2529](AztecProtocol/aztec-packages#2529)) ([7c623c4](AztecProtocol/aztec-packages@7c623c4)) * Try to fix publish-bb.yml ([#2523](AztecProtocol/aztec-packages#2523)) ([2f6e9bd](AztecProtocol/aztec-packages@2f6e9bd)) * Use #import_code in Token contract tutorial ([#2438](AztecProtocol/aztec-packages#2438)) ([b58cfb5](AztecProtocol/aztec-packages@b58cfb5)) ### Miscellaneous * `computeContractAddress` as `computeCompleteAddress` ([#1876](AztecProtocol/aztec-packages#1876)) ([4d95b44](AztecProtocol/aztec-packages@4d95b44)), closes [#1873](AztecProtocol/aztec-packages#1873) * Add instructions on circleci session for debugging ([#2503](AztecProtocol/aztec-packages#2503)) ([a4197e7](AztecProtocol/aztec-packages@a4197e7)) * Add output saying how to get the right noir version ([#2622](AztecProtocol/aztec-packages#2622)) ([10b30e0](AztecProtocol/aztec-packages@10b30e0)) * Aztec-node json-rpc ([#2444](AztecProtocol/aztec-packages#2444)) ([04efee1](AztecProtocol/aztec-packages@04efee1)) * BI build tweaks ([#2487](AztecProtocol/aztec-packages#2487)) ([f8b6548](AztecProtocol/aztec-packages@f8b6548)) * Check tree roots in world state sync ([#2543](AztecProtocol/aztec-packages#2543)) ([314e8a0](AztecProtocol/aztec-packages@314e8a0)) * **circuits:** 2612 - add validation in native private kernel circuit of arrays in accumulated data ([#2614](AztecProtocol/aztec-packages#2614)) ([f1fe059](AztecProtocol/aztec-packages@f1fe059)) * **circuits:** Remove obsolete comments in native private kernel circuit ([#2570](AztecProtocol/aztec-packages#2570)) ([a6b6c7b](AztecProtocol/aztec-packages@a6b6c7b)) * **contract_deployment.md:** Don't require main edit ([#2449](AztecProtocol/aztec-packages#2449)) ([16a3d9c](AztecProtocol/aztec-packages@16a3d9c)) * **deps:** Bump get-func-name from 2.0.0 to 2.0.2 in /yarn-project ([#2630](AztecProtocol/aztec-packages#2630)) ([5cebf18](AztecProtocol/aztec-packages@5cebf18)) * **deps:** Bump ua-parser-js from 0.7.32 to 0.7.36 in /docs ([#2629](AztecProtocol/aztec-packages#2629)) ([b2c87c2](AztecProtocol/aztec-packages@b2c87c2)) * Disable pushing/pulling for layer caching in build. ([#2517](AztecProtocol/aztec-packages#2517)) ([51352ae](AztecProtocol/aztec-packages@51352ae)) * **docs:** Fix tutorial in dapp development ([#2421](AztecProtocol/aztec-packages#2421)) ([027530f](AztecProtocol/aztec-packages@027530f)) * **docs:** Incorporate docs feedback ([#2434](AztecProtocol/aztec-packages#2434)) ([4992d5b](AztecProtocol/aztec-packages@4992d5b)) * Embed yq in repo to avoid network hiccups. ([#2560](AztecProtocol/aztec-packages#2560)) ([84f207f](AztecProtocol/aztec-packages@84f207f)) * Fix box noir versioning ([#2578](AztecProtocol/aztec-packages#2578)) ([6eaf0c7](AztecProtocol/aztec-packages@6eaf0c7)) * Fixing foundry version ([#2528](AztecProtocol/aztec-packages#2528)) ([3af0753](AztecProtocol/aztec-packages@3af0753)) * Kill Turbo ([#2442](AztecProtocol/aztec-packages#2442)) ([c832825](AztecProtocol/aztec-packages@c832825)) * Move hash utils to aztec-nr ([#2583](AztecProtocol/aztec-packages#2583)) ([78bd1a3](AztecProtocol/aztec-packages@78bd1a3)) * No private key account state ([#2491](AztecProtocol/aztec-packages#2491)) ([5813fb3](AztecProtocol/aztec-packages@5813fb3)) * Provide cross compile to cjs. ([#2566](AztecProtocol/aztec-packages#2566)) ([47d0d37](AztecProtocol/aztec-packages@47d0d37)) * Recursion todos ([#2516](AztecProtocol/aztec-packages#2516)) ([2df107b](AztecProtocol/aztec-packages@2df107b)) * Reenable some ultra honk composer tests ([#2417](AztecProtocol/aztec-packages#2417)) ([31f4c32](AztecProtocol/aztec-packages@31f4c32)) * Refactor e2e test teardown ([#2513](AztecProtocol/aztec-packages#2513)) ([2e43248](AztecProtocol/aztec-packages@2e43248)) * Remove `BarretenbergBinderSync` import from typescript bindgen file ([#2607](AztecProtocol/aztec-packages#2607)) ([43af1a3](AztecProtocol/aztec-packages@43af1a3)) * Remove build system tainting now we have ci cmds in comments. ([#2589](AztecProtocol/aztec-packages#2589)) ([2040335](AztecProtocol/aztec-packages@2040335)) * Remove composer keyword from stdlib ([#2418](AztecProtocol/aztec-packages#2418)) ([f3e7d91](AztecProtocol/aztec-packages@f3e7d91)) * Remove debug log in world state sync ([#2613](AztecProtocol/aztec-packages#2613)) ([177f468](AztecProtocol/aztec-packages@177f468)) * Remove Standard Honk ([#2435](AztecProtocol/aztec-packages#2435)) ([9b3ee45](AztecProtocol/aztec-packages@9b3ee45)) * Remove unneeded dockerfiles. ([#2588](AztecProtocol/aztec-packages#2588)) ([d6f903d](AztecProtocol/aztec-packages@d6f903d)) * Rename all the occurrences of `Aztec RPC` ([#2552](AztecProtocol/aztec-packages#2552)) ([8cc4f69](AztecProtocol/aztec-packages@8cc4f69)), closes [#2451](AztecProtocol/aztec-packages#2451) * Renaming `@aztec/aztec-rpc` package as `@aztec/pxe` ([#2538](AztecProtocol/aztec-packages#2538)) ([0dd70aa](AztecProtocol/aztec-packages@0dd70aa)) * Resuscitate private kernel tests related to call stack item check ([#2558](AztecProtocol/aztec-packages#2558)) ([9e938fc](AztecProtocol/aztec-packages@9e938fc)) * Run formatting:fix for box lint ([#2479](AztecProtocol/aztec-packages#2479)) ([3995de9](AztecProtocol/aztec-packages@3995de9)) * Run quick-start guide in CI ([#2413](AztecProtocol/aztec-packages#2413)) ([5f43715](AztecProtocol/aztec-packages@5f43715)) * Simulator ([#2534](AztecProtocol/aztec-packages#2534)) ([a26198e](AztecProtocol/aztec-packages@a26198e)) * Switch to upstream docusaurus-plugin-typedoc ([#2557](AztecProtocol/aztec-packages#2557)) ([fdf5fce](AztecProtocol/aztec-packages@fdf5fce)) * Token contract storage cleanup ([#2536](AztecProtocol/aztec-packages#2536)) ([0b62207](AztecProtocol/aztec-packages@0b62207)) * Typo ([#2546](AztecProtocol/aztec-packages#2546)) ([8656a3b](AztecProtocol/aztec-packages@8656a3b)) * Unskip test and fix params ([#2454](AztecProtocol/aztec-packages#2454)) ([e484c5f](AztecProtocol/aztec-packages@e484c5f)) * Update private token box ([#2385](AztecProtocol/aztec-packages#2385)) ([b730196](AztecProtocol/aztec-packages@b730196)) * Use US spelling ([#2475](AztecProtocol/aztec-packages#2475)) ([2fe8f5e](AztecProtocol/aztec-packages@2fe8f5e)), closes [#1934](AztecProtocol/aztec-packages#1934) ### Documentation * Capitalizing x in pxe ([#2564](AztecProtocol/aztec-packages#2564)) ([2927cf1](AztecProtocol/aztec-packages@2927cf1)) * Common contract errors ([#2471](AztecProtocol/aztec-packages#2471)) ([a8aec70](AztecProtocol/aztec-packages@a8aec70)), closes [#2468](AztecProtocol/aztec-packages#2468) * Fixed original minus underflow test ([#2472](AztecProtocol/aztec-packages#2472)) ([0cf4bdc](AztecProtocol/aztec-packages@0cf4bdc)) * Including sandbox diagrams in the sandbox section ([#2573](AztecProtocol/aztec-packages#2573)) ([2fa143e](AztecProtocol/aztec-packages@2fa143e)) * Initial storage cleanup ([#2433](AztecProtocol/aztec-packages#2433)) ([d833483](AztecProtocol/aztec-packages@d833483)) * Misc docs changes ([#2416](AztecProtocol/aztec-packages#2416)) ([0e789c7](AztecProtocol/aztec-packages@0e789c7)) * More `RPC Server` --> `PXE` naming fixes ([#2574](AztecProtocol/aztec-packages#2574)) ([b33eea5](AztecProtocol/aztec-packages@b33eea5)) * Portal messaging ([#2419](AztecProtocol/aztec-packages#2419)) ([7979bb9](AztecProtocol/aztec-packages@7979bb9)) * Update instructions ([#2297](AztecProtocol/aztec-packages#2297)) ([ab612df](AztecProtocol/aztec-packages@ab612df)), closes [#1827](AztecProtocol/aztec-packages#1827) * Update sidebar + embed youtube video ([#2470](AztecProtocol/aztec-packages#2470)) ([a779d11](AztecProtocol/aztec-packages@a779d11)) </details> <details><summary>barretenberg.js: 0.8.0</summary> ## [0.8.0](AztecProtocol/aztec-packages@barretenberg.js-v0.7.10...barretenberg.js-v0.8.0) (2023-10-03) ### ⚠ BREAKING CHANGES * Gates command should always return 8 bytes ([#2631](AztecProtocol/aztec-packages#2631)) ### Bug Fixes * Gates command should always return 8 bytes ([#2631](AztecProtocol/aztec-packages#2631)) ([9668165](AztecProtocol/aztec-packages@9668165)) ### Miscellaneous * Provide cross compile to cjs. ([#2566](AztecProtocol/aztec-packages#2566)) ([47d0d37](AztecProtocol/aztec-packages@47d0d37)) * Remove `BarretenbergBinderSync` import from typescript bindgen file ([#2607](AztecProtocol/aztec-packages#2607)) ([43af1a3](AztecProtocol/aztec-packages@43af1a3)) * Typo ([#2546](AztecProtocol/aztec-packages#2546)) ([8656a3b](AztecProtocol/aztec-packages@8656a3b)) </details> <details><summary>barretenberg: 0.8.0</summary> ## [0.8.0](AztecProtocol/aztec-packages@barretenberg-v0.7.10...barretenberg-v0.8.0) (2023-10-03) ### Features * Barretenberg/crypto/blake3s supports compile-time hashing ([#2556](AztecProtocol/aztec-packages#2556)) ([da05dd7](AztecProtocol/aztec-packages@da05dd7)) * **bb:** Add `bb --version` command ([#2482](AztecProtocol/aztec-packages#2482)) ([530676f](AztecProtocol/aztec-packages@530676f)) * **bb:** Avoid initializing CRS for `bb info` command ([#2425](AztecProtocol/aztec-packages#2425)) ([d22c7b1](AztecProtocol/aztec-packages@d22c7b1)) * Consistent pedersen hash (work in progress) ([#1945](AztecProtocol/aztec-packages#1945)) ([b4ad8f3](AztecProtocol/aztec-packages@b4ad8f3)) * Goblin op queue transcript aggregation ([#2257](AztecProtocol/aztec-packages#2257)) ([b7f627a](AztecProtocol/aztec-packages@b7f627a)) * Parallelization update for polynomials ([#2311](AztecProtocol/aztec-packages#2311)) ([922fc99](AztecProtocol/aztec-packages@922fc99)) * Update to protogalaxy interfaces ([#2498](AztecProtocol/aztec-packages#2498)) ([9a3d265](AztecProtocol/aztec-packages@9a3d265)) * YML manifest. Simplify YBP. ([#2353](AztecProtocol/aztec-packages#2353)) ([bf73bc3](AztecProtocol/aztec-packages@bf73bc3)) ### Bug Fixes * **barretenberg:** Brittle headers caused error compiling for clang-16 on mainframe ([#2547](AztecProtocol/aztec-packages#2547)) ([cc909da](AztecProtocol/aztec-packages@cc909da)) * Bb rebuild patterns ([#2499](AztecProtocol/aztec-packages#2499)) ([868cceb](AztecProtocol/aztec-packages@868cceb)) * Fix working dir bug causing stdlib-tests to not run. ([#2495](AztecProtocol/aztec-packages#2495)) ([6b3402c](AztecProtocol/aztec-packages@6b3402c)) * Nightly subrepo mirror ([#2520](AztecProtocol/aztec-packages#2520)) ([bedc8c8](AztecProtocol/aztec-packages@bedc8c8)) ### Miscellaneous * BI build tweaks ([#2487](AztecProtocol/aztec-packages#2487)) ([f8b6548](AztecProtocol/aztec-packages@f8b6548)) * Kill Turbo ([#2442](AztecProtocol/aztec-packages#2442)) ([c832825](AztecProtocol/aztec-packages@c832825)) * Provide cross compile to cjs. ([#2566](AztecProtocol/aztec-packages#2566)) ([47d0d37](AztecProtocol/aztec-packages@47d0d37)) * Recursion todos ([#2516](AztecProtocol/aztec-packages#2516)) ([2df107b](AztecProtocol/aztec-packages@2df107b)) * Reenable some ultra honk composer tests ([#2417](AztecProtocol/aztec-packages#2417)) ([31f4c32](AztecProtocol/aztec-packages@31f4c32)) * Remove composer keyword from stdlib ([#2418](AztecProtocol/aztec-packages#2418)) ([f3e7d91](AztecProtocol/aztec-packages@f3e7d91)) * Remove Standard Honk ([#2435](AztecProtocol/aztec-packages#2435)) ([9b3ee45](AztecProtocol/aztec-packages@9b3ee45)) ### Documentation * Fixed original minus underflow test ([#2472](AztecProtocol/aztec-packages#2472)) ([0cf4bdc](AztecProtocol/aztec-packages@0cf4bdc)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-packages: 0.8.0</summary> ## [0.8.0](aztec-packages-v0.7.10...aztec-packages-v0.8.0) (2023-10-03) ### ⚠ BREAKING CHANGES * Gates command should always return 8 bytes ([#2631](#2631)) ### Features * **1090:** Validate that some arrays are zero-padded on the right ([#2519](#2519)) ([0327b54](0327b54)) * Add --wait/--no-wait flags to certain cli commands ([#2378](#2378)) ([57a2f10](57a2f10)) * Add boxes to CI ([#2456](#2456)) ([a90a185](a90a185)) * Add selector to call_context ([#2626](#2626)) ([8e317be](8e317be)) * AddNote api ([#2535](#2535)) ([bb004f4](bb004f4)) * **aztec_noir:** Abstract storage initialisation ([#2406](#2406)) ([974b037](974b037)) * **aztec.js:** Support AddressLike parameters ([#2430](#2430)) ([5b5f139](5b5f139)) * Barretenberg/crypto/blake3s supports compile-time hashing ([#2556](#2556)) ([da05dd7](da05dd7)) * **bb:** Add `bb --version` command ([#2482](#2482)) ([530676f](530676f)) * **bb:** Avoid initializing CRS for `bb info` command ([#2425](#2425)) ([d22c7b1](d22c7b1)) * Benchmarks ([#2605](#2605)) ([37d9f9c](37d9f9c)) * Bootstrap_docker skips build it can pull from ecr. ([#2545](#2545)) ([466a517](466a517)) * **cli:** Reenable CLI version check ([#2441](#2441)) ([c6ddd23](c6ddd23)) * Collapse interfaces for single implementation ([#2599](#2599)) ([860f340](860f340)) * Consistent pedersen hash (work in progress) ([#1945](#1945)) ([b4ad8f3](b4ad8f3)) * Deprecate assert_contains_and_remove ([#2594](#2594)) ([d225d56](d225d56)) * **docs:** Allow raw code interpolation ([#2447](#2447)) ([e078ff4](e078ff4)) * **docs:** Load current aztec version for aztec.nr dependencies in docs ([#2440](#2440)) ([63cf415](63cf415)) * **docs:** Reenable typedoc for aztec-rpc and aztec.js ([#2452](#2452)) ([85e504c](85e504c)), closes [#2045](#2045) [#2415](#2415) * **docs:** Use preprocessor syntax for including versions ([#2462](#2462)) ([7d315cd](7d315cd)) * **docs:** Use released version of code snippets in docs ([#2439](#2439)) ([76fc2cf](76fc2cf)) * **docs:** Warn if snippet is grabbed from master ([#2544](#2544)) ([36896e7](36896e7)) * **e2e:** Public flow for uniswap ([#2596](#2596)) ([2f871ee](2f871ee)) * Enforce that 0th nullifier is non-zero in private kernel circuit ([#2576](#2576)) ([458a4fe](458a4fe)), closes [#1329](#1329) * Expose registry address in `getNodeInfo` ([#2478](#2478)) ([652bb04](652bb04)) * Expose transaction data from AztecRPC ([#2469](#2469)) ([fc00553](fc00553)) * Extend function documentation ([#2408](#2408)) ([6a75fd0](6a75fd0)) * Goblin op queue transcript aggregation ([#2257](#2257)) ([b7f627a](b7f627a)) * Json type by default in `JsonRpcServer` ([#2504](#2504)) ([be38fcc](be38fcc)), closes [#2479](#2479) * Listing expected args in CLI ([#2423](#2423)) ([b2243ad](b2243ad)) * Log topic and contract address in unencrypted logs ([#2595](#2595)) ([a5b763f](a5b763f)), closes [#2580](#2580) [#2581](#2581) [#2586](#2586) [#2587](#2587) * Parallelization update for polynomials ([#2311](#2311)) ([922fc99](922fc99)) * Restore latest block number ([#2474](#2474)) ([6dc2da7](6dc2da7)) * Serialise L2Block to JSON ([#2496](#2496)) ([714c727](714c727)) * Standalone Aztec Node and RPC Server ([#2522](#2522)) ([8e355bc](8e355bc)) * Unbox empty box ([#2387](#2387)) ([3e3930c](3e3930c)) * Uniswap private flow ([#2559](#2559)) ([39f3a91](39f3a91)) * Update to protogalaxy interfaces ([#2498](#2498)) ([9a3d265](9a3d265)) * YML manifest. Simplify YBP. ([#2353](#2353)) ([bf73bc3](bf73bc3)) ### Bug Fixes * Add aztec/overview redirect ([#2424](#2424)) ([4e30dcd](4e30dcd)) * Add redirects from old docs site urls to new site urls ([#2429](#2429)) ([18fe88a](18fe88a)) * **barretenberg:** Brittle headers caused error compiling for clang-16 on mainframe ([#2547](#2547)) ([cc909da](cc909da)) * Bb rebuild patterns ([#2499](#2499)) ([868cceb](868cceb)) * Bootstrap.sh ([#2524](#2524)) ([bb1fb90](bb1fb90)) * Box injected sandbox tag ([#2555](#2555)) ([069bdc7](069bdc7)) * **build-system:** Don't wait 30s+ always ([#2494](#2494)) ([89d700d](89d700d)) * **build:** CI fixes from previous merges ([#2579](#2579)) ([a9e5d05](a9e5d05)) * Bump foundry version ([#2553](#2553)) ([0dde3d5](0dde3d5)) * Call public fn in contract constructor ([#2549](#2549)) ([14ab6d6](14ab6d6)) * Canary image build ([#2480](#2480)) ([6366be5](6366be5)) * Cli type check arguments and options ([#2571](#2571)) ([ecffc36](ecffc36)) * **cli:** Typos in cli output ([#2428](#2428)) ([08acf90](08acf90)) * Docs: Token tutorial, update links and add note on imports ([#2604](#2604)) ([003d801](003d801)) * **docs:** 'command not found: export' ([#2443](#2443)) ([f56aa02](f56aa02)) * **docs:** Docs correction ([#2437](#2437)) ([6499248](6499248)) * **docs:** Fix imports in token contract tutorial ([#2432](#2432)) ([34ed663](34ed663)) * Drop txs with duplicate nullifiers from the same block ([#2511](#2511)) ([d9ca1d8](d9ca1d8)), closes [#2502](#2502) * E2e browser tests ([#2531](#2531)) ([adf2b1e](adf2b1e)), closes [#2527](#2527) * Fix working dir bug causing stdlib-tests to not run. ([#2495](#2495)) ([6b3402c](6b3402c)) * Foundry ([#2611](#2611)) ([9830fbf](9830fbf)) * Gates command should always return 8 bytes ([#2631](#2631)) ([9668165](9668165)) * JSON-RPC server returns spec-compliant errors ([#2590](#2590)) ([5eafa3d](5eafa3d)) * Loading salt into buffer in the cli ([#2467](#2467)) ([753ac49](753ac49)) * **master:** Remove secret_hash ref ([#2617](#2617)) ([1073bcd](1073bcd)) * Nightly subrepo mirror ([#2520](#2520)) ([bedc8c8](bedc8c8)) * Prevent race conditions around data pulled from L1 ([#2577](#2577)) ([defea83](defea83)) * Readd docs after ci refactor. ([#2514](#2514)) ([1eb1a3c](1eb1a3c)) * Remove "standard" from references to token contracts ([#2533](#2533)) ([f931d56](f931d56)) * Try fix boxes-blank ([#2539](#2539)) ([87b8080](87b8080)) * Try to fix publish bb ([#2529](#2529)) ([7c623c4](7c623c4)) * Try to fix publish-bb.yml ([#2523](#2523)) ([2f6e9bd](2f6e9bd)) * Use #import_code in Token contract tutorial ([#2438](#2438)) ([b58cfb5](b58cfb5)) ### Miscellaneous * `computeContractAddress` as `computeCompleteAddress` ([#1876](#1876)) ([4d95b44](4d95b44)), closes [#1873](#1873) * Add instructions on circleci session for debugging ([#2503](#2503)) ([a4197e7](a4197e7)) * Add output saying how to get the right noir version ([#2622](#2622)) ([10b30e0](10b30e0)) * Aztec-node json-rpc ([#2444](#2444)) ([04efee1](04efee1)) * BI build tweaks ([#2487](#2487)) ([f8b6548](f8b6548)) * Check tree roots in world state sync ([#2543](#2543)) ([314e8a0](314e8a0)) * **circuits:** 2612 - add validation in native private kernel circuit of arrays in accumulated data ([#2614](#2614)) ([f1fe059](f1fe059)) * **circuits:** Remove obsolete comments in native private kernel circuit ([#2570](#2570)) ([a6b6c7b](a6b6c7b)) * **contract_deployment.md:** Don't require main edit ([#2449](#2449)) ([16a3d9c](16a3d9c)) * **deps:** Bump get-func-name from 2.0.0 to 2.0.2 in /yarn-project ([#2630](#2630)) ([5cebf18](5cebf18)) * **deps:** Bump ua-parser-js from 0.7.32 to 0.7.36 in /docs ([#2629](#2629)) ([b2c87c2](b2c87c2)) * Disable pushing/pulling for layer caching in build. ([#2517](#2517)) ([51352ae](51352ae)) * **docs:** Fix tutorial in dapp development ([#2421](#2421)) ([027530f](027530f)) * **docs:** Incorporate docs feedback ([#2434](#2434)) ([4992d5b](4992d5b)) * Embed yq in repo to avoid network hiccups. ([#2560](#2560)) ([84f207f](84f207f)) * Fix box noir versioning ([#2578](#2578)) ([6eaf0c7](6eaf0c7)) * Fixing foundry version ([#2528](#2528)) ([3af0753](3af0753)) * Kill Turbo ([#2442](#2442)) ([c832825](c832825)) * Move hash utils to aztec-nr ([#2583](#2583)) ([78bd1a3](78bd1a3)) * No private key account state ([#2491](#2491)) ([5813fb3](5813fb3)) * Provide cross compile to cjs. ([#2566](#2566)) ([47d0d37](47d0d37)) * Recursion todos ([#2516](#2516)) ([2df107b](2df107b)) * Reenable some ultra honk composer tests ([#2417](#2417)) ([31f4c32](31f4c32)) * Refactor e2e test teardown ([#2513](#2513)) ([2e43248](2e43248)) * Remove `BarretenbergBinderSync` import from typescript bindgen file ([#2607](#2607)) ([43af1a3](43af1a3)) * Remove build system tainting now we have ci cmds in comments. ([#2589](#2589)) ([2040335](2040335)) * Remove composer keyword from stdlib ([#2418](#2418)) ([f3e7d91](f3e7d91)) * Remove debug log in world state sync ([#2613](#2613)) ([177f468](177f468)) * Remove Standard Honk ([#2435](#2435)) ([9b3ee45](9b3ee45)) * Remove unneeded dockerfiles. ([#2588](#2588)) ([d6f903d](d6f903d)) * Rename all the occurrences of `Aztec RPC` ([#2552](#2552)) ([8cc4f69](8cc4f69)), closes [#2451](#2451) * Renaming `@aztec/aztec-rpc` package as `@aztec/pxe` ([#2538](#2538)) ([0dd70aa](0dd70aa)) * Resuscitate private kernel tests related to call stack item check ([#2558](#2558)) ([9e938fc](9e938fc)) * Run formatting:fix for box lint ([#2479](#2479)) ([3995de9](3995de9)) * Run quick-start guide in CI ([#2413](#2413)) ([5f43715](5f43715)) * Simulator ([#2534](#2534)) ([a26198e](a26198e)) * Switch to upstream docusaurus-plugin-typedoc ([#2557](#2557)) ([fdf5fce](fdf5fce)) * Token contract storage cleanup ([#2536](#2536)) ([0b62207](0b62207)) * Typo ([#2546](#2546)) ([8656a3b](8656a3b)) * Unskip test and fix params ([#2454](#2454)) ([e484c5f](e484c5f)) * Update private token box ([#2385](#2385)) ([b730196](b730196)) * Use US spelling ([#2475](#2475)) ([2fe8f5e](2fe8f5e)), closes [#1934](#1934) ### Documentation * Capitalizing x in pxe ([#2564](#2564)) ([2927cf1](2927cf1)) * Common contract errors ([#2471](#2471)) ([a8aec70](a8aec70)), closes [#2468](#2468) * Fixed original minus underflow test ([#2472](#2472)) ([0cf4bdc](0cf4bdc)) * Including sandbox diagrams in the sandbox section ([#2573](#2573)) ([2fa143e](2fa143e)) * Initial storage cleanup ([#2433](#2433)) ([d833483](d833483)) * Misc docs changes ([#2416](#2416)) ([0e789c7](0e789c7)) * More `RPC Server` --> `PXE` naming fixes ([#2574](#2574)) ([b33eea5](b33eea5)) * Portal messaging ([#2419](#2419)) ([7979bb9](7979bb9)) * Update instructions ([#2297](#2297)) ([ab612df](ab612df)), closes [#1827](#1827) * Update sidebar + embed youtube video ([#2470](#2470)) ([a779d11](a779d11)) </details> <details><summary>barretenberg.js: 0.8.0</summary> ## [0.8.0](barretenberg.js-v0.7.10...barretenberg.js-v0.8.0) (2023-10-03) ### ⚠ BREAKING CHANGES * Gates command should always return 8 bytes ([#2631](#2631)) ### Bug Fixes * Gates command should always return 8 bytes ([#2631](#2631)) ([9668165](9668165)) ### Miscellaneous * Provide cross compile to cjs. ([#2566](#2566)) ([47d0d37](47d0d37)) * Remove `BarretenbergBinderSync` import from typescript bindgen file ([#2607](#2607)) ([43af1a3](43af1a3)) * Typo ([#2546](#2546)) ([8656a3b](8656a3b)) </details> <details><summary>barretenberg: 0.8.0</summary> ## [0.8.0](barretenberg-v0.7.10...barretenberg-v0.8.0) (2023-10-03) ### Features * Barretenberg/crypto/blake3s supports compile-time hashing ([#2556](#2556)) ([da05dd7](da05dd7)) * **bb:** Add `bb --version` command ([#2482](#2482)) ([530676f](530676f)) * **bb:** Avoid initializing CRS for `bb info` command ([#2425](#2425)) ([d22c7b1](d22c7b1)) * Consistent pedersen hash (work in progress) ([#1945](#1945)) ([b4ad8f3](b4ad8f3)) * Goblin op queue transcript aggregation ([#2257](#2257)) ([b7f627a](b7f627a)) * Parallelization update for polynomials ([#2311](#2311)) ([922fc99](922fc99)) * Update to protogalaxy interfaces ([#2498](#2498)) ([9a3d265](9a3d265)) * YML manifest. Simplify YBP. ([#2353](#2353)) ([bf73bc3](bf73bc3)) ### Bug Fixes * **barretenberg:** Brittle headers caused error compiling for clang-16 on mainframe ([#2547](#2547)) ([cc909da](cc909da)) * Bb rebuild patterns ([#2499](#2499)) ([868cceb](868cceb)) * Fix working dir bug causing stdlib-tests to not run. ([#2495](#2495)) ([6b3402c](6b3402c)) * Nightly subrepo mirror ([#2520](#2520)) ([bedc8c8](bedc8c8)) ### Miscellaneous * BI build tweaks ([#2487](#2487)) ([f8b6548](f8b6548)) * Kill Turbo ([#2442](#2442)) ([c832825](c832825)) * Provide cross compile to cjs. ([#2566](#2566)) ([47d0d37](47d0d37)) * Recursion todos ([#2516](#2516)) ([2df107b](2df107b)) * Reenable some ultra honk composer tests ([#2417](#2417)) ([31f4c32](31f4c32)) * Remove composer keyword from stdlib ([#2418](#2418)) ([f3e7d91](f3e7d91)) * Remove Standard Honk ([#2435](#2435)) ([9b3ee45](9b3ee45)) ### Documentation * Fixed original minus underflow test ([#2472](#2472)) ([0cf4bdc](0cf4bdc)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
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.