-
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
docs: portal messaging #2419
docs: portal messaging #2419
Conversation
With all that information at hand, we can call the `sendL2Message` function on the Inbox. The function will return a `field` (inside `bytes32`) that is the hash of the message. This hash can be used as an identifier to spot when your message has been included in a rollup block. | ||
|
||
#include_code send_l1_to_l2_message l1-contracts/src/core/interfaces/messagebridge/IInbox.sol solidity | ||
|
||
As time passes, a sequencer will see your tx, the juicy fee provided and include it in a rollup block. Upon inclusion, it is removed from L1, and made available to be consumed on L2. | ||
|
||
To consume the message, we can use the `consume_l1_to_l2_message` function within the `context` struct. | ||
The `msg_key` is the hash of the message produced from the `sendL2Message` call, the `content` is the content of the message, and the `secret` is the pre-image hashed to compute the `secretHash`. | ||
The `msg_key` is the hash of the message returned by the `sendL2Message` call and is used to help the RPC find the correct message. The `content` is the content of the message, and the `secret` is the pre-image hashed to compute the `secretHash`. Note that while the `secret` and the `content` are both hashed, they are actually hashed with different hash functions! The `secret` is hashed with `pedersen` and the `content` is hashed with `sha256` mapped to a Field element. |
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 `msg_key` is the hash of the message returned by the `sendL2Message` call and is used to help the RPC find the correct message. The `content` is the content of the message, and the `secret` is the pre-image hashed to compute the `secretHash`. Note that while the `secret` and the `content` are both hashed, they are actually hashed with different hash functions! The `secret` is hashed with `pedersen` and the `content` is hashed with `sha256` mapped to a Field element. | |
- The `msg_key` is the hash of the message returned by the `sendL2Message` call and is used to help the RPC find the correct message. | |
- The `content` is the content of the message, and the `secret` is the pre-image hashed to compute the `secretHash`. Note that while the `secret` and the `content` are both hashed, they are actually hashed with different hash functions! The `secret` is hashed with `pedersen` and the `content` is hashed with `sha256` mapped to a Field element. |
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.
I think this is more digestible split up
|
||
#include_code non_native_token_mint yarn-project/noir-contracts/src/contracts/non_native_token_contract/src/main.nr rust | ||
After the transaction has been mined, the message is consumed, a nullifier is emitted and the tokens have been minted on Aztec and are ready for use by the user. |
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.
After the transaction has been mined, the message is consumed, a nullifier is emitted and the tokens have been minted on Aztec and are ready for use by the user. | |
After the transaction has been mined, the message is consumed, a nullifier is emitted and the tokens have been minted on Aztec and are ready for use. |
|
||
After the transaction has been mined, the message is consumed, and the tokens have been minted on Aztec and are ready for use by the user. A consumed message cannot be consumed again. | ||
Since the message consumption is emitting a nullifier the same message cannot be consumed again. The index in the message tree is used as part of the nullifier computation, ensuring that the same content and secret being inserted will be distinct messages that can each be consumed. Without the index in the nullifier, it would be possible to perform a kind of attack known as fairy gold attacks where two seemingly good messages are inserted, but only one of them can be consumed later. |
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.
Since the message consumption is emitting a nullifier the same message cannot be consumed again. The index in the message tree is used as part of the nullifier computation, ensuring that the same content and secret being inserted will be distinct messages that can each be consumed. Without the index in the nullifier, it would be possible to perform a kind of attack known as fairy gold attacks where two seemingly good messages are inserted, but only one of them can be consumed later. | |
Since the message consumption is emitting a nullifier the same message cannot be consumed again. The index in the message tree is used as part of the nullifier computation, ensuring that the same content and secret being inserted will be distinct messages that can each be consumed. Without the index in the nullifier, it would be possible to perform a kind of attack known as `Faerie Gold` attacks where two seemingly good messages are inserted, but only one of them can be consumed later. |
|
||
We could then have withdraw transactions (on L2) where we are specifying the `UniswapPortal` as the caller. Because the order of the calls are specified in the contract, and that it reverts if any of them fail, we can be sure that it will execute the withdraw first, then the swap and then the deposit. Since only the `UniswapPortal` is able to execute the withdraw, we can be sure that the ordering is ensured. However, note that this means that if it for some reason is impossible to execute the batch (say prices moved greatly), the user will be stuck with the funds on L1 unless the `UniswapPortal` implements proper error handling! | ||
Note however, that crossing the L1/L2 chasm is asynchronous, so there could be a situation where the user have burned the assets on L2 but the swap fails on L1! This could be due to major price movements or the like. In such a case, the user could be stuck with funds on L1 that they cannot get back to L2 unless the portal contract implements a way to handle this (proper handling errors). |
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 however, that crossing the L1/L2 chasm is asynchronous, so there could be a situation where the user have burned the assets on L2 but the swap fails on L1! This could be due to major price movements or the like. In such a case, the user could be stuck with funds on L1 that they cannot get back to L2 unless the portal contract implements a way to handle this (proper handling errors). | |
Note, that crossing the L1/L2 chasm is asynchronous, so there could be a situation where the user have burned the assets on L2 but the swap fails on L1! This could be due to major price movements or the like. In such a case, the user could be stuck with funds on L1 that they cannot get back to L2 unless the portal contract implements a way to handle this (properly handling errors). |
04b5884
to
ef7b407
Compare
e947422
to
1281b22
Compare
|
||
#include_code context_consume_l1_to_l2_message /yarn-project/aztec-nr/aztec/src/context.nr rust | ||
|
||
Computing the `content` might be a little clunky in its current form, as we are still adding a number of bytes utilities. A good example exists within the [Non-native token example](https://github.com/AztecProtocol/aztec-packages/blob/master/yarn-project/noir-contracts/src/contracts/non_native_token_contract/src/hash.nr). | ||
Computing the `content` might be a little clunky in its current form, as we are still adding a number of bytes utilities. A good example exists within the [Token bridge example](https://github.com/AztecProtocol/aztec-packages/blob/master/yarn-project/noir-contracts/src/contracts/token_bridge_contract/src/util.nr). |
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.
Computing the `content` might be a little clunky in its current form, as we are still adding a number of bytes utilities. A good example exists within the [Token bridge example](https://github.com/AztecProtocol/aztec-packages/blob/master/yarn-project/noir-contracts/src/contracts/token_bridge_contract/src/util.nr). | |
Computing the `content` must be done manually in its form, as we are still adding a number of bytes utilities. A good example exists within the [Token bridge example](https://github.com/AztecProtocol/aztec-packages/blob/master/yarn-project/noir-contracts/src/contracts/token_bridge_contract/src/util.nr). |
|
||
#include_code solidity_uniswap_swap l1-contracts/test/portals/UniswapPortal.sol solidity | ||
Then we simply need to require that the Uniswap portal is the caller of the withdraw, and that the uniswap portal implementation is executing the withdraw before the swap. This can all be validated in the contract, and the user can be sure that the calls are done in the correct order from taking a look at the contracts. Since all of the messages are emitted to L1 from the same transaction, we can be sure that they either are all emitted or none of them are since the transaction is atomic. |
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.
Then we simply need to require that the Uniswap portal is the caller of the withdraw, and that the uniswap portal implementation is executing the withdraw before the swap. This can all be validated in the contract, and the user can be sure that the calls are done in the correct order from taking a look at the contracts. Since all of the messages are emitted to L1 from the same transaction, we can be sure that they either are all emitted or none of them are since the transaction is atomic. | |
We require that the Uniswap portal is the caller of the withdraw, and that the uniswap portal implementation is executing the withdraw before the swap. | |
The order of execution can be constrained in the contract. Since all of the messages are emitted to L1 in the same transaction, we can leverage transaction atomicity to ensure success of failure of all messages. |
|
||
We could then have withdraw transactions (on L2) where we are specifying the `UniswapPortal` as the caller. Because the order of the calls are specified in the contract, and that it reverts if any of them fail, we can be sure that it will execute the withdraw first, then the swap and then the deposit. Since only the `UniswapPortal` is able to execute the withdraw, we can be sure that the ordering is ensured. However, note that this means that if it for some reason is impossible to execute the batch (say prices moved greatly), the user will be stuck with the funds on L1 unless the `UniswapPortal` implements proper error handling! | ||
Note, that crossing the L1/L2 chasm is asynchronous, so there could be a situation where the user have burned the assets on L2 but the swap fails on L1! This could be due to major price movements or the like. In such a case, the user could be stuck with funds on L1 that they cannot get back to L2 unless the portal contract implements a way to handle this (properly handling errors). |
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 crossing the L1/L2 chasm is asynchronous, so there could be a situation where the user have burned the assets on L2 but the swap fails on L1! This could be due to major price movements or the like. In such a case, the user could be stuck with funds on L1 that they cannot get back to L2 unless the portal contract implements a way to handle this (properly handling errors). | |
Note, that crossing the L1/L2 chasm is asynchronous, so there could be a situation where the user have burned the assets on L2 but the swap fails on L1! This could be due to major price movements or the like. In such a case, the user could be stuck with funds on L1 that they cannot get back to L2 unless the portal contract implements a way to handle this (properly handling errors). |
:::info | ||
The `inputs` that is passed into `consume_l1_to_l2_message` are only temporary, and will be removed in the future when we improve syntax. | ||
::: | ||
Since the message consumption is emitting a nullifier the same message cannot be consumed again. The index in the message tree is used as part of the nullifier computation, ensuring that the same content and secret being inserted will be distinct messages that can each be consumed. Without the index in the nullifier, it would be possible to perform a kind of attack known as `Faerie Gold` attacks where two seemingly good messages are inserted, but only one of them can be consumed later. |
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.
Since the message consumption is emitting a nullifier the same message cannot be consumed again. The index in the message tree is used as part of the nullifier computation, ensuring that the same content and secret being inserted will be distinct messages that can each be consumed. Without the index in the nullifier, it would be possible to perform a kind of attack known as `Faerie Gold` attacks where two seemingly good messages are inserted, but only one of them can be consumed later. |
@@ -74,7 +76,7 @@ Access control on the L1 portal contract is essential to prevent consumption of | |||
As earlier, we can use a token bridge as an example. In this case, we are burning tokens on L2 and sending a message to the portal to free them on L1. | |||
|
|||
<!-- TODO: update token standard https://github.com/AztecProtocol/aztec-packages/issues/2177 --> |
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.
<!-- TODO: update token standard https://github.com/AztecProtocol/aztec-packages/issues/2177 --> |
|
||
We could then have withdraw transactions (on L2) where we are specifying the `UniswapPortal` as the caller. Because the order of the calls are specified in the contract, and that it reverts if any of them fail, we can be sure that it will execute the withdraw first, then the swap and then the deposit. Since only the `UniswapPortal` is able to execute the withdraw, we can be sure that the ordering is ensured. However, note that this means that if it for some reason is impossible to execute the batch (say prices moved greatly), the user will be stuck with the funds on L1 unless the `UniswapPortal` implements proper error handling! | ||
Note, that crossing the L1/L2 chasm is asynchronous, so there could be a situation where the user have burned the assets on L2 but the swap fails on L1! This could be due to major price movements or the like. In such a case, the user could be stuck with funds on L1 that they cannot get back to L2 unless the portal contract implements a way to handle this (properly handling errors). |
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 crossing the L1/L2 chasm is asynchronous, so there could be a situation where the user have burned the assets on L2 but the swap fails on L1! This could be due to major price movements or the like. In such a case, the user could be stuck with funds on L1 that they cannot get back to L2 unless the portal contract implements a way to handle this (properly handling errors). | |
Note, that crossing the L1/L2 chasm is asynchronous, so there could be a situation where the user has burned their assets on L2 but the swap fails on L1! This could be due to major price movements or the like. In such a case, the user could be stuck with funds on L1 that they cannot get back to L2 unless the portal contract implements a way to properly handle such errors. |
4b74f3f
to
e714882
Compare
f2f9aa0
to
20e34ae
Compare
swap two lines
```typescript | ||
const deploymentTx = Contract.deploy(wallet).send({portalContract: tokenPortalAddress}); | ||
``` | ||
- Initialize l1 with l2 address for access control. |
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.
- Initialize l1 with l2 address for access control. | |
- Initialize L1 with L2 address for access control. |
|
||
#include_code solidity_uniswap_swap l1-contracts/test/portals/UniswapPortal.sol solidity | ||
We require that the Uniswap portal is the caller of the withdraw, and that the uniswap portal implementation is executing the withdraw before the swap. | ||
The order of execution can be constrained in the contract. Since all of the messages are emitted to L1 in the same transaction, we can leverage transaction atomicity to ensure success of failure of all messages. |
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 order of execution can be constrained in the contract. Since all of the messages are emitted to L1 in the same transaction, we can leverage transaction atomicity to ensure success of failure of all messages. | |
The order of execution can be constrained in the contract. Since all of the messages are emitted to L1 in the same transaction, we can leverage transaction atomicity to ensure success or failure of all messages. |
🤖 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).
Building on top of of #2408 and #2416.
Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.