-
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: uniswap private flow #2559
Conversation
2bdeb85
to
2c18144
Compare
2c18144
to
deaead8
Compare
a8427c1
to
adfc976
Compare
@@ -418,12 +418,17 @@ void validate_public_data_reads( | |||
|
|||
fr validate_and_process_public_state(DummyBuilder& builder, BaseRollupInputs const& baseRollupInputs) | |||
{ | |||
// TODO(#2521) - data read validation should happen against the current state of the tx and not the start state. |
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.
@@ -45,11 +45,12 @@ contract UniswapPortal { | |||
* @param _uniswapFeeTier - The fee tier for the swap on UniswapV3 | |||
* @param _outputTokenPortal - The ethereum address of the output token portal | |||
* @param _amountOutMinimum - The minimum amount of output assets to receive from the swap (slippage protection) | |||
* @param _aztecRecipient - The aztec address to receive the output assets | |||
* @param _secretHash - The hash of the secret consumable message | |||
* @param _aztecRecipientOrSecretHashForRedeemingMintedNotes - If public flow, the aztec address to receive the output assets. If private, the hash of the secret to redeem minted notes privately on Aztec. |
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 gotta be the longest param name I have seen in a long time.
@@ -58,11 +59,12 @@ contract UniswapPortal { | |||
uint24 _uniswapFeeTier, | |||
address _outputTokenPortal, | |||
uint256 _amountOutMinimum, | |||
bytes32 _aztecRecipient, | |||
bytes32 _secretHash, | |||
bytes32 _aztecRecipientOrSecretHashForRedeemingMintedNotes, |
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 get why it is made in one function to make it shorter, but it always get a little confusing when the same parameter index can mean very different things.
Would prefer separate functions. Giving me makerdao vibes where passing in int
instead of uint
so same function could handle both directions.
return TokenPortal(_outputTokenPortal).depositToAztecPublic{value: msg.value}( | ||
_aztecRecipient, amountOut, _deadlineForL1ToL2Message, _secretHash, _canceller | ||
_aztecRecipientOrSecretHashForRedeemingMintedNotes, |
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.
Down here can get a little messy with the ordering and such, think about using named inputs to make it clearer.
@@ -61,7 +61,7 @@ contract TokenPortal { | |||
* @param _amount - The amount to deposit | |||
* @param _deadline - The timestamp after which the entry can be cancelled | |||
* @param _secretHashForL2MessageConsumption - The hash of the secret consumable L1 to L2 message. The hash should be 254 bits (so it can fit in a Field element) | |||
* @param _secretHashForL2MessageConsumption - The hash of the secret to redeem minted notes privately on Aztec. The hash should be 254 bits (so it can fit in a Field element) | |||
* @param _secretHashForRedeemingMintedNotes - The hash of the secret to redeem minted notes privately on Aztec. The hash should be 254 bits (so it can fit in 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.
It pains me a little that the ordering of arguments for the function is different than to the inner calls. The deadline
and _secretHashForL2MessageConsumption
are not part of the content, but they are still showed into the middle of it.
// Since unconstrained functions can't be called by external contracts, this is a public function that can be called by other contracts. | ||
#[aztec(public)] | ||
fn get_token() -> Field { | ||
// TODO: Figure out how to call unconstrained fn `token()` from 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.
Why would you want to call an unconstrained here? If you are calling the unconstrained here, you just allow the sequencer to do whatever he wants for the return value, which would be really bad.
It would need to be constrained to be safe, and that constraining is reading the exact same value as your public does to then check against.
Move it out of your "unconstrained" it looks strange with it in here.
let return_value = inputAssetInterface.withdraw( | ||
// Assert that user provided token address is same as expected by token bridge. | ||
// we can't directly use `input_asset_bridge.token` because that is a public method and public can't return data to private | ||
context.call_public_function(context.this_address(), compute_selector("_assert_token_is_same(Field,Field)"), [input_asset.address, input_asset_bridge.address]); |
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.
Its kind nice that it is done explicitly here, but you could also have done it as part of _approve_bridge_and_exit_input_asset_to_L1
that you have further down where you are already fetching the address, that way you do fewer calls to read the same data.
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 can do that but in my next PR for public flow I will move it out again haha
|
||
content_hash | ||
#[aztec(public)] | ||
internal fn _assert_token_is_same(token: Field, token_bridge: Field) { |
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.
As mentioned earlier, this could happen in _approve_bridge_and_exit_input_asset_to_L1
|
||
let content_sha256 = sha256(hash_bytes); | ||
|
||
// // Convert the content_sha256 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.
Some of this stuff down here we should make a utility for.
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.
good point!
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.
will do this in a separate PR and add a section in docs too, since this PR already has a lot of extra changes
// This method computes the L2 to L1 message content hash for both private and public flow. | ||
// refer `l1-contracts/test/portals/UniswapPortal.sol` on how L2 to L1 message is expected | ||
// for private flow, instead of specifying who is recipient on L2 will be, we specify the secret hash for redeeming minted notes | ||
fn compute_swap_content_hash( |
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.
As mentioned earlier I think clarity is reduced with the ifs in here as inputs have multiple meanings.
adfc976
to
62fcb01
Compare
62fcb01
to
9c96b8c
Compare
a90126c
to
2578699
Compare
@@ -138,6 +138,13 @@ contract TokenBridge { | |||
1 | |||
} | |||
/// docs:end:exit_to_l1_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.
Why is the content
ordered differently than the function for public deposit?
function = (to: AztecAddress, amount: Field, canceller: EthereumAddress)
content = (amount: Field, to: AztecAddress, canceller: EthereumAddress)
The function that computes the content hash is changing the ordering from its own inputs as well so it "cheats" a bit from the impression.
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 withdraw content hash computation is also reordering the arguments before hashing.
@@ -106,7 +106,7 @@ describe('archiver integration with l1 to l2 messages', () => { | |||
|
|||
// cancel the message | |||
logger('cancelling the l1 to l2 message'); | |||
const argsCancel = [owner.toString(), 100n, deadline, secretString, 0n] as const; | |||
const argsCancel = [100n, owner.toString(), deadline, secretString, 0n] as const; |
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.
You can use the mintAmount
instead of hardcoding 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.
The ordering is probably better handled separately just because it is already confusing due to the size of this pr. Tiny nit with the mintAmount
usage and then feel free to merge.
2578699
to
a153ee7
Compare
🤖 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).
Part of #2167 - create the private flow for uniswap
This is already a large PR so omitted failure cases and public flow.
Also comments out base rollup check on public data reads as explained in #2521