-
Notifications
You must be signed in to change notification settings - Fork 296
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(yellowpaper): private kernel circuits #3559
Conversation
|
||
The contract address contains the contract class ID, which is a hash of the root of its function tree and additional values. This circuit leverages these characteristics to establish the validity of the function's association with the contract address. | ||
|
||
Each leaf of the function tree is a hash representing a function. The preimage includes: |
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.
We'll need to update this when the public functions are all inlined in the same bytecode blob, but for now this is what we have!
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.
Looks great! After discussion we came up with an improvement for the recalibration process that allows the sequencer to hint the ranges of enqueued calls himself but that'll come in a separate PR 🚀
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hola. This is very delayed, but I ran through the docs that define private functions + private kernels and left some comments.
|
||
## Requirements | ||
|
||
In the **initial** kernel iteration, the process involves taking a transaction request and private call data, verifying their integrity, and preparing the necessary data for subsequent circuits to operate. This step is particularly beneficial due to its separation from the [inner private kernel circuit](./private-kernel-inner.md), as the first call lacks a "previous kernel" to process. Additionally, it executes tasks that are pertinent to a transaction and need only occur once. |
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 we need a section that describes at a high level how the initial, inner, reset, tail circuits relate to one another
|
||
#### Verifying the call requests. | ||
|
||
For both private and public call requests initiated in the current function call, it ensures that for each request at index _i_: |
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 would be useful to define the request index i
e.g. the request index is a unique identifier assigned to public and private call requests. The first call request Index value is 0. The index value increases by 1 for each subsequent call
|
||
The corresponding _unordered_arrays_ for the above are sourced either from the transient accumulated data of the previous iteration or from the [siloed results](#siloing-values). | ||
|
||
A hints array is provided through private inputs for every _unordered_array_. |
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 would be helpful to define (somewhere in the yellow paper, maybe no necessarily here) what we explicitly mean by "hint"
i.e. information provided by the Prover via private inputs. The Prover may choose to provide inaccurate hints, but doing so should produce unsatisfiable constraints and a failing proof. (does this align with how "hint" is being used here?)
We're still hashing out a bunch of stuff and things might change pretty soon. So the content avoid delving into details. It only provides an overview of data flow and a general sense of the structures. Things to be added (need discussions): - Reset gadget circuits. - Keys (protocol functions). - Squashing logs. - VM circuit reverts. # Checklist: Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge. - [ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag. - [ ] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code. - [ ] Every change is related to the PR description. - [ ] I have [linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) this pull request to relevant issues (if any exist).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-packages: 0.17.0</summary> ## [0.17.0](aztec-packages-v0.16.9...aztec-packages-v0.17.0) (2024-01-09) ### ⚠ BREAKING CHANGES * Remove aggregation objects from RecursionConstraint ([#3885](#3885)) * Noir development branch (serialization changes) ([#3858](#3858)) * **aztec.js:** Move accounts out of aztec.js into new package ([#3844](#3844)) * Add Side effect counter struct for ordering ([#3608](#3608)) * typing partial address, deduplicating `Point`, `Point` -> `GrumpkinPoint` ([#3814](#3814)) * moving `compute_selector` to `FunctionSelector` ([#3806](#3806)) * moving compute_address func to AztecAddress ([#3801](#3801)) * updated note hash and nullifier macro ([#3777](#3777)) * return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](#3735)) * deduplicating circuit types + typing everything ([#3594](#3594)) ### Features * A script which runs `nargo fmt` in all packages + running it ([#3803](#3803)) ([5f0ebd6](5f0ebd6)) * Add new metrics ([#3855](#3855)) ([a2b267b](a2b267b)) * Adding option to set initial and max memory ([#3265](#3265)) ([0ad75fe](0ad75fe)) * **avm-main:** Pil -> permutations ([#3650](#3650)) ([c52acf6](c52acf6)) * **avm-mini:** Call and return opcodes ([#3704](#3704)) ([e534204](e534204)) * **avm:** Add standalone jump opcode ([#3781](#3781)) ([b1b2e7c](b1b2e7c)) * **avm:** VM circuit handles tagged memory ([#3725](#3725)) ([739fe90](739fe90)), closes [#3644](#3644) * **aztec.js:** Move accounts out of aztec.js into new package ([#3844](#3844)) ([afd7b6d](afd7b6d)), closes [#3807](#3807) * Barretenberg doxygen CI ([#3818](#3818)) ([022a918](022a918)) * Bb uses goblin ([#3636](#3636)) ([d093266](d093266)) * Compile base rollup as a circuit ([#3739](#3739)) ([5118d44](5118d44)) * Contract inclusion proof ([#3680](#3680)) ([43aa603](43aa603)) * Correct circuit construction from acir ([#3757](#3757)) ([a876ab8](a876ab8)) * Deduplicating circuit types + typing everything ([#3594](#3594)) ([fcb04a7](fcb04a7)), closes [#3592](#3592) [#3059](#3059) * Goblin and eccvm bench ([#3606](#3606)) ([1fe63b2](1fe63b2)) * Goblinize the final ecc ops in ZM ([#3741](#3741)) ([3048d08](3048d08)) * Launch the monorepo in a codespace. ([#3829](#3829)) ([f5a4a78](f5a4a78)) * Moving `compute_selector` to `FunctionSelector` ([#3806](#3806)) ([bbaebf4](bbaebf4)), closes [#3681](#3681) * Moving compute_address func to AztecAddress ([#3801](#3801)) ([3107aad](3107aad)), closes [#3794](#3794) * Node version check in `yarn-project/bootstrap.sh` ([#3780](#3780)) ([c29e4ee](c29e4ee)) * Noir development branch (serialization changes) ([#3858](#3858)) ([d2ae2cd](d2ae2cd)) * Only one tx per base rollup ([#3742](#3742)) ([9eef247](9eef247)) * ProverPolynomials owns its memory ([#3560](#3560)) ([a4aba00](a4aba00)) * Public data tree as indexed tree ([#3566](#3566)) ([4711ef7](4711ef7)) * PXE adds note processors for stored accounts ([#3673](#3673)) ([93f9315](93f9315)) * Return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](#3735)) ([bd5614c](bd5614c)) * Serialize synchronize and simulateTx calls by the pxe via SerialQueue ([#3817](#3817)) ([e893675](e893675)) * Specific membership witness functions in aztec-nr ([#3674](#3674)) ([3403877](3403877)), closes [#3663](#3663) * Tree ids in noir ([#3809](#3809)) ([ec2e36e](ec2e36e)) * Txpool persistence ([#3672](#3672)) ([4dd076c](4dd076c)), closes [#3365](#3365) * Typing partial address, deduplicating `Point`, `Point` -> `GrumpkinPoint` ([#3814](#3814)) ([44458be](44458be)), closes [#3682](#3682) * Update to latest noir and update noir compiler ([#3696](#3696)) ([62a17a4](62a17a4)) * Updated note hash and nullifier macro ([#3777](#3777)) ([e83dd2b](e83dd2b)), closes [#3669](#3669) ### Bug Fixes * AWS deploy_service regex + faucet dockerfile ([#3699](#3699)) ([260c7c3](260c7c3)) * Broken aztec-nr imports ([#3693](#3693)) ([7c8814e](7c8814e)) * Build scripts if statements ([#3700](#3700)) ([4847c19](4847c19)) * **ci:** Contracts_deployed check ([#3703](#3703)) ([6c4bf75](6c4bf75)) * **ci:** Redeploy triggers ([#3677](#3677)) ([cc515da](cc515da)) * CRS not needed for gate_count. Grumpkin not needed for non-goblin. ([#3872](#3872)) ([8cda00d](8cda00d)) * Deploy l1 contracts script ([#3713](#3713)) ([309be4b](309be4b)) * Disable goblin bbjs tests ([#3836](#3836)) ([1f5b2c6](1f5b2c6)) * Docker user permissions ([#3711](#3711)) ([35316fc](35316fc)) * **docs:** Fix docs build during releases ([#3815](#3815)) ([2e0776a](2e0776a)) * **docs:** Force docs build using latest released code always ([#3762](#3762)) ([5545ee6](5545ee6)) * **docs:** Make git repo available when building docs ([#3761](#3761)) ([bce2d99](bce2d99)) * **docs:** Show latest released code on published site ([#3716](#3716)) ([f1eb6d5](f1eb6d5)) * Event macro ([#3784](#3784)) ([3af2438](3af2438)), closes [#3655](#3655) * Fix for faucet and node deployment config ([#3722](#3722)) ([a60b71a](a60b71a)) * Flaky e2e-p2p test ([#3831](#3831)) ([5b1e9f2](5b1e9f2)) * Issue with `run_nargo_fmt.sh` + minor yellow paper naming improvements ([#3833](#3833)) ([8e692c1](8e692c1)) * Map relative path to protocol circuits ([#3694](#3694)) ([125ab1d](125ab1d)) * Noir-protocol circuits ([#3734](#3734)) ([34e2505](34e2505)) * Reenable goblin bbjs for a single test ([#3838](#3838)) ([30e47a0](30e47a0)) * Setup aztec-cli cache ([#3698](#3698)) ([48b7474](48b7474)) * Stale pseudocode in yellow paper process func ([#3869](#3869)) ([4a73e3d](4a73e3d)) * Subrepo commit ([b5bfb0b](b5bfb0b)) * There is no main.js ([#3691](#3691)) ([58ba060](58ba060)) * Unpick world state circulars. ([#3721](#3721)) ([84f4671](84f4671)) * Update for new p2p bootstrap node names ([#3710](#3710)) ([c7b29b3](c7b29b3)) * Update toy to new master ([78cf525](78cf525)) * Use lookup instead of resolve to ensure consider /etc/hosts ([#3720](#3720)) ([eb8413e](eb8413e)) ### Miscellaneous * Add GH action to notify gate count differences ([#3724](#3724)) ([c0a24fb](c0a24fb)), closes [#3467](#3467) * Add Side effect counter struct for ordering ([#3608](#3608)) ([c58b197](c58b197)) * Add small how to diagram section ([#3804](#3804)) ([df581f0](df581f0)) * Added cryptography section to yellow paper ([#3647](#3647)) ([286028b](286028b)) * Adding some clarification after a question on discourse ([#3823](#3823)) ([f3d37d7](f3d37d7)) * Align bb.js testing ([#3840](#3840)) ([c489727](c489727)) * **avm:** Avm memory trace building ([#3835](#3835)) ([b7766d6](b7766d6)) * Aztec js circulars ([#3723](#3723)) ([378407d](378407d)) * Bring boxes back to CI. Build and run using docker/docker-compose. ([#3727](#3727)) ([4a1c0df](4a1c0df)) * Build protocol circuits on CI and stop committing artifacts ([#3816](#3816)) ([fa1c456](fa1c456)) * Checking noir formatting in CI ([#3828](#3828)) ([b53bacf](b53bacf)), closes [#3825](#3825) * Cleaning inconsistency ([#3851](#3851)) ([9bbd70a](9bbd70a)) * Cleanup recursion interface ([#3744](#3744)) ([fde0ac3](fde0ac3)) * **docs:** Add block productions ([#3770](#3770)) ([f091f49](f091f49)) * **docs:** Add high level overview of a tx ([#3763](#3763)) ([9a55e57](9a55e57)) * **docs:** Remove npm reference section from testing page ([#3719](#3719)) ([1484c11](1484c11)) * **docs:** Remove references to npm packages ([#3676](#3676)) ([bd5355f](bd5355f)) * **docs:** Starting a migration notes section ([#3853](#3853)) ([060f39a](060f39a)) * **docs:** Update deps in tutorials ([#3708](#3708)) ([f3d93aa](f3d93aa)) * **docs:** Update install script ([#3847](#3847)) ([7003853](7003853)) * **docs:** Update reference link ([#3768](#3768)) ([18edb98](18edb98)) * **docs:** Update testing pages ([#3733](#3733)) ([1c68e3b](1c68e3b)) * **docs:** Update token bridge tutorial ([#3773](#3773)) ([764cb46](764cb46)) * **docs:** Update trees page ([#3732](#3732)) ([b265531](b265531)) * **dsl:** Abstract nested aggregation object from ACIR ([#3765](#3765)) ([92f72e4](92f72e4)) * Increase benchmark warning threshold for trial decrypt ([#3602](#3602)) ([913943e](913943e)) * Just nargo compile. ([#3775](#3775)) ([3d08ef9](3d08ef9)) * Move boxes out of yarn-project ([#3688](#3688)) ([472596c](472596c)) * Noir sync ([#3884](#3884)) ([217de09](217de09)) * Remove aggregation objects from RecursionConstraint ([#3885](#3885)) ([9a80008](9a80008)) * Remove HashToField128Security ACIR opcode ([#3631](#3631)) ([1d6d3c9](1d6d3c9)) * Removing leaf data type + related cleanup ([#3794](#3794)) ([3030cc8](3030cc8)) * Rename generate-ts/nr commands to codegen. ([#3843](#3843)) ([1fcb964](1fcb964)) * Replace relative paths to noir-protocol-circuits ([c2fed18](c2fed18)) * Replace relative paths to noir-protocol-circuits ([3accd8a](3accd8a)) * Replace relative paths to noir-protocol-circuits ([346590b](346590b)) * Replace relative paths to noir-protocol-circuits ([861d928](861d928)) * Show noir tag alongside commit on sandbox startup ([#3750](#3750)) ([009f66d](009f66d)) * Update governance vote ballot ([#3789](#3789)) ([f8976ad](f8976ad)) * Update how_to_contribute.md ([#3759](#3759)) ([4567ec4](4567ec4)) * Update privacy main.md ([#3760](#3760)) ([c3d8b5d](c3d8b5d)) * Use repo BB for gate diff ([#3852](#3852)) ([506e719](506e719)) * Use simple "flat" CRS. ([#3748](#3748)) ([5c6c2ca](5c6c2ca)) * Use traits in noir-protocol-circuits ([#3832](#3832)) ([88fcf8d](88fcf8d)) ### Documentation * A layout of logs section of yellow paper ([#3582](#3582)) ([8c759f6](8c759f6)) * Add current thinking on upgrades ([#3743](#3743)) ([9f3d972](9f3d972)) * Add da doc ([#3736](#3736)) ([193f3f2](193f3f2)), closes [#3645](#3645) * Bytecode ([#3701](#3701)) ([912df7e](912df7e)) * Extend state documentation ([#3731](#3731)) ([a99cbd6](a99cbd6)) * Remove mentions of noir-compiler ([#3702](#3702)) ([ea7cd50](ea7cd50)) * Yellow paper rollup circuits and state update ([#3558](#3558)) ([b2d6376](b2d6376)) * **yellow-paper:** Circuits ([#3782](#3782)) ([a935ca3](a935ca3)) * **yellow-paper:** Contract deployment ([#3624](#3624)) ([b282867](b282867)), closes [#3104](#3104) * **yellow-paper:** Drop pokodl request in key derivation ([#3837](#3837)) ([a3920fb](a3920fb)) * **yellow-paper:** Update keys and addresses ([#3707](#3707)) ([56992ae](56992ae)) * **yellowpaper:** AVM high-level execution ([#3717](#3717)) ([2ded221](2ded221)) * **yellowpaper:** AVM intro sections ([#3692](#3692)) ([c48e76c](c48e76c)) * **yellowpaper:** Avm nested call returns, updating calling context ([#3749](#3749)) ([a1c701d](a1c701d)) * **yellowpaper:** Finish AVM Context definitions ([#3709](#3709)) ([4cfb427](4cfb427)) * **yellowpaper:** Private kernel circuits ([#3559](#3559)) ([056e553](056e553)) </details> <details><summary>barretenberg.js: 0.17.0</summary> ## [0.17.0](barretenberg.js-v0.16.9...barretenberg.js-v0.17.0) (2024-01-09) ### ⚠ BREAKING CHANGES * return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](#3735)) ### Features * Adding option to set initial and max memory ([#3265](#3265)) ([0ad75fe](0ad75fe)) * Bb uses goblin ([#3636](#3636)) ([d093266](d093266)) * Correct circuit construction from acir ([#3757](#3757)) ([a876ab8](a876ab8)) * Return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](#3735)) ([bd5614c](bd5614c)) ### Miscellaneous * Remove HashToField128Security ACIR opcode ([#3631](#3631)) ([1d6d3c9](1d6d3c9)) * Use simple "flat" CRS. ([#3748](#3748)) ([5c6c2ca](5c6c2ca)) </details> <details><summary>barretenberg: 0.17.0</summary> ## [0.17.0](barretenberg-v0.16.9...barretenberg-v0.17.0) (2024-01-09) ### ⚠ BREAKING CHANGES * Remove aggregation objects from RecursionConstraint ([#3885](#3885)) * Noir development branch (serialization changes) ([#3858](#3858)) * Add Side effect counter struct for ordering ([#3608](#3608)) * return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](#3735)) ### Features * Adding option to set initial and max memory ([#3265](#3265)) ([0ad75fe](0ad75fe)) * **avm-main:** Pil -> permutations ([#3650](#3650)) ([c52acf6](c52acf6)) * **avm-mini:** Call and return opcodes ([#3704](#3704)) ([e534204](e534204)) * **avm:** Add standalone jump opcode ([#3781](#3781)) ([b1b2e7c](b1b2e7c)) * **avm:** VM circuit handles tagged memory ([#3725](#3725)) ([739fe90](739fe90)), closes [#3644](#3644) * Barretenberg doxygen CI ([#3818](#3818)) ([022a918](022a918)) * Bb uses goblin ([#3636](#3636)) ([d093266](d093266)) * Correct circuit construction from acir ([#3757](#3757)) ([a876ab8](a876ab8)) * Goblin and eccvm bench ([#3606](#3606)) ([1fe63b2](1fe63b2)) * Goblinize the final ecc ops in ZM ([#3741](#3741)) ([3048d08](3048d08)) * Noir development branch (serialization changes) ([#3858](#3858)) ([d2ae2cd](d2ae2cd)) * ProverPolynomials owns its memory ([#3560](#3560)) ([a4aba00](a4aba00)) * Return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](#3735)) ([bd5614c](bd5614c)) ### Bug Fixes * CRS not needed for gate_count. Grumpkin not needed for non-goblin. ([#3872](#3872)) ([8cda00d](8cda00d)) * Disable goblin bbjs tests ([#3836](#3836)) ([1f5b2c6](1f5b2c6)) * Reenable goblin bbjs for a single test ([#3838](#3838)) ([30e47a0](30e47a0)) * Update toy to new master ([78cf525](78cf525)) ### Miscellaneous * Add Side effect counter struct for ordering ([#3608](#3608)) ([c58b197](c58b197)) * Align bb.js testing ([#3840](#3840)) ([c489727](c489727)) * **avm:** Avm memory trace building ([#3835](#3835)) ([b7766d6](b7766d6)) * Bring boxes back to CI. Build and run using docker/docker-compose. ([#3727](#3727)) ([4a1c0df](4a1c0df)) * Cleanup recursion interface ([#3744](#3744)) ([fde0ac3](fde0ac3)) * **dsl:** Abstract nested aggregation object from ACIR ([#3765](#3765)) ([92f72e4](92f72e4)) * Remove aggregation objects from RecursionConstraint ([#3885](#3885)) ([9a80008](9a80008)) * Remove HashToField128Security ACIR opcode ([#3631](#3631)) ([1d6d3c9](1d6d3c9)) * Use simple "flat" CRS. ([#3748](#3748)) ([5c6c2ca](5c6c2ca)) </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.17.0</summary> ## [0.17.0](AztecProtocol/aztec-packages@aztec-packages-v0.16.9...aztec-packages-v0.17.0) (2024-01-09) ### ⚠ BREAKING CHANGES * Remove aggregation objects from RecursionConstraint ([#3885](AztecProtocol/aztec-packages#3885)) * Noir development branch (serialization changes) ([#3858](AztecProtocol/aztec-packages#3858)) * **aztec.js:** Move accounts out of aztec.js into new package ([#3844](AztecProtocol/aztec-packages#3844)) * Add Side effect counter struct for ordering ([#3608](AztecProtocol/aztec-packages#3608)) * typing partial address, deduplicating `Point`, `Point` -> `GrumpkinPoint` ([#3814](AztecProtocol/aztec-packages#3814)) * moving `compute_selector` to `FunctionSelector` ([#3806](AztecProtocol/aztec-packages#3806)) * moving compute_address func to AztecAddress ([#3801](AztecProtocol/aztec-packages#3801)) * updated note hash and nullifier macro ([#3777](AztecProtocol/aztec-packages#3777)) * return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](AztecProtocol/aztec-packages#3735)) * deduplicating circuit types + typing everything ([#3594](AztecProtocol/aztec-packages#3594)) ### Features * A script which runs `nargo fmt` in all packages + running it ([#3803](AztecProtocol/aztec-packages#3803)) ([5f0ebd6](AztecProtocol/aztec-packages@5f0ebd6)) * Add new metrics ([#3855](AztecProtocol/aztec-packages#3855)) ([a2b267b](AztecProtocol/aztec-packages@a2b267b)) * Adding option to set initial and max memory ([#3265](AztecProtocol/aztec-packages#3265)) ([0ad75fe](AztecProtocol/aztec-packages@0ad75fe)) * **avm-main:** Pil -> permutations ([#3650](AztecProtocol/aztec-packages#3650)) ([c52acf6](AztecProtocol/aztec-packages@c52acf6)) * **avm-mini:** Call and return opcodes ([#3704](AztecProtocol/aztec-packages#3704)) ([e534204](AztecProtocol/aztec-packages@e534204)) * **avm:** Add standalone jump opcode ([#3781](AztecProtocol/aztec-packages#3781)) ([b1b2e7c](AztecProtocol/aztec-packages@b1b2e7c)) * **avm:** VM circuit handles tagged memory ([#3725](AztecProtocol/aztec-packages#3725)) ([739fe90](AztecProtocol/aztec-packages@739fe90)), closes [#3644](AztecProtocol/aztec-packages#3644) * **aztec.js:** Move accounts out of aztec.js into new package ([#3844](AztecProtocol/aztec-packages#3844)) ([afd7b6d](AztecProtocol/aztec-packages@afd7b6d)), closes [#3807](AztecProtocol/aztec-packages#3807) * Barretenberg doxygen CI ([#3818](AztecProtocol/aztec-packages#3818)) ([022a918](AztecProtocol/aztec-packages@022a918)) * Bb uses goblin ([#3636](AztecProtocol/aztec-packages#3636)) ([d093266](AztecProtocol/aztec-packages@d093266)) * Compile base rollup as a circuit ([#3739](AztecProtocol/aztec-packages#3739)) ([5118d44](AztecProtocol/aztec-packages@5118d44)) * Contract inclusion proof ([#3680](AztecProtocol/aztec-packages#3680)) ([43aa603](AztecProtocol/aztec-packages@43aa603)) * Correct circuit construction from acir ([#3757](AztecProtocol/aztec-packages#3757)) ([a876ab8](AztecProtocol/aztec-packages@a876ab8)) * Deduplicating circuit types + typing everything ([#3594](AztecProtocol/aztec-packages#3594)) ([fcb04a7](AztecProtocol/aztec-packages@fcb04a7)), closes [#3592](AztecProtocol/aztec-packages#3592) [#3059](AztecProtocol/aztec-packages#3059) * Goblin and eccvm bench ([#3606](AztecProtocol/aztec-packages#3606)) ([1fe63b2](AztecProtocol/aztec-packages@1fe63b2)) * Goblinize the final ecc ops in ZM ([#3741](AztecProtocol/aztec-packages#3741)) ([3048d08](AztecProtocol/aztec-packages@3048d08)) * Launch the monorepo in a codespace. ([#3829](AztecProtocol/aztec-packages#3829)) ([f5a4a78](AztecProtocol/aztec-packages@f5a4a78)) * Moving `compute_selector` to `FunctionSelector` ([#3806](AztecProtocol/aztec-packages#3806)) ([bbaebf4](AztecProtocol/aztec-packages@bbaebf4)), closes [#3681](AztecProtocol/aztec-packages#3681) * Moving compute_address func to AztecAddress ([#3801](AztecProtocol/aztec-packages#3801)) ([3107aad](AztecProtocol/aztec-packages@3107aad)), closes [#3794](AztecProtocol/aztec-packages#3794) * Node version check in `yarn-project/bootstrap.sh` ([#3780](AztecProtocol/aztec-packages#3780)) ([c29e4ee](AztecProtocol/aztec-packages@c29e4ee)) * Noir development branch (serialization changes) ([#3858](AztecProtocol/aztec-packages#3858)) ([d2ae2cd](AztecProtocol/aztec-packages@d2ae2cd)) * Only one tx per base rollup ([#3742](AztecProtocol/aztec-packages#3742)) ([9eef247](AztecProtocol/aztec-packages@9eef247)) * ProverPolynomials owns its memory ([#3560](AztecProtocol/aztec-packages#3560)) ([a4aba00](AztecProtocol/aztec-packages@a4aba00)) * Public data tree as indexed tree ([#3566](AztecProtocol/aztec-packages#3566)) ([4711ef7](AztecProtocol/aztec-packages@4711ef7)) * PXE adds note processors for stored accounts ([#3673](AztecProtocol/aztec-packages#3673)) ([93f9315](AztecProtocol/aztec-packages@93f9315)) * Return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](AztecProtocol/aztec-packages#3735)) ([bd5614c](AztecProtocol/aztec-packages@bd5614c)) * Serialize synchronize and simulateTx calls by the pxe via SerialQueue ([#3817](AztecProtocol/aztec-packages#3817)) ([e893675](AztecProtocol/aztec-packages@e893675)) * Specific membership witness functions in aztec-nr ([#3674](AztecProtocol/aztec-packages#3674)) ([3403877](AztecProtocol/aztec-packages@3403877)), closes [#3663](AztecProtocol/aztec-packages#3663) * Tree ids in noir ([#3809](AztecProtocol/aztec-packages#3809)) ([ec2e36e](AztecProtocol/aztec-packages@ec2e36e)) * Txpool persistence ([#3672](AztecProtocol/aztec-packages#3672)) ([4dd076c](AztecProtocol/aztec-packages@4dd076c)), closes [#3365](AztecProtocol/aztec-packages#3365) * Typing partial address, deduplicating `Point`, `Point` -> `GrumpkinPoint` ([#3814](AztecProtocol/aztec-packages#3814)) ([44458be](AztecProtocol/aztec-packages@44458be)), closes [#3682](AztecProtocol/aztec-packages#3682) * Update to latest noir and update noir compiler ([#3696](AztecProtocol/aztec-packages#3696)) ([62a17a4](AztecProtocol/aztec-packages@62a17a4)) * Updated note hash and nullifier macro ([#3777](AztecProtocol/aztec-packages#3777)) ([e83dd2b](AztecProtocol/aztec-packages@e83dd2b)), closes [#3669](AztecProtocol/aztec-packages#3669) ### Bug Fixes * AWS deploy_service regex + faucet dockerfile ([#3699](AztecProtocol/aztec-packages#3699)) ([260c7c3](AztecProtocol/aztec-packages@260c7c3)) * Broken aztec-nr imports ([#3693](AztecProtocol/aztec-packages#3693)) ([7c8814e](AztecProtocol/aztec-packages@7c8814e)) * Build scripts if statements ([#3700](AztecProtocol/aztec-packages#3700)) ([4847c19](AztecProtocol/aztec-packages@4847c19)) * **ci:** Contracts_deployed check ([#3703](AztecProtocol/aztec-packages#3703)) ([6c4bf75](AztecProtocol/aztec-packages@6c4bf75)) * **ci:** Redeploy triggers ([#3677](AztecProtocol/aztec-packages#3677)) ([cc515da](AztecProtocol/aztec-packages@cc515da)) * CRS not needed for gate_count. Grumpkin not needed for non-goblin. ([#3872](AztecProtocol/aztec-packages#3872)) ([8cda00d](AztecProtocol/aztec-packages@8cda00d)) * Deploy l1 contracts script ([#3713](AztecProtocol/aztec-packages#3713)) ([309be4b](AztecProtocol/aztec-packages@309be4b)) * Disable goblin bbjs tests ([#3836](AztecProtocol/aztec-packages#3836)) ([1f5b2c6](AztecProtocol/aztec-packages@1f5b2c6)) * Docker user permissions ([#3711](AztecProtocol/aztec-packages#3711)) ([35316fc](AztecProtocol/aztec-packages@35316fc)) * **docs:** Fix docs build during releases ([#3815](AztecProtocol/aztec-packages#3815)) ([2e0776a](AztecProtocol/aztec-packages@2e0776a)) * **docs:** Force docs build using latest released code always ([#3762](AztecProtocol/aztec-packages#3762)) ([5545ee6](AztecProtocol/aztec-packages@5545ee6)) * **docs:** Make git repo available when building docs ([#3761](AztecProtocol/aztec-packages#3761)) ([bce2d99](AztecProtocol/aztec-packages@bce2d99)) * **docs:** Show latest released code on published site ([#3716](AztecProtocol/aztec-packages#3716)) ([f1eb6d5](AztecProtocol/aztec-packages@f1eb6d5)) * Event macro ([#3784](AztecProtocol/aztec-packages#3784)) ([3af2438](AztecProtocol/aztec-packages@3af2438)), closes [#3655](AztecProtocol/aztec-packages#3655) * Fix for faucet and node deployment config ([#3722](AztecProtocol/aztec-packages#3722)) ([a60b71a](AztecProtocol/aztec-packages@a60b71a)) * Flaky e2e-p2p test ([#3831](AztecProtocol/aztec-packages#3831)) ([5b1e9f2](AztecProtocol/aztec-packages@5b1e9f2)) * Issue with `run_nargo_fmt.sh` + minor yellow paper naming improvements ([#3833](AztecProtocol/aztec-packages#3833)) ([8e692c1](AztecProtocol/aztec-packages@8e692c1)) * Map relative path to protocol circuits ([#3694](AztecProtocol/aztec-packages#3694)) ([125ab1d](AztecProtocol/aztec-packages@125ab1d)) * Noir-protocol circuits ([#3734](AztecProtocol/aztec-packages#3734)) ([34e2505](AztecProtocol/aztec-packages@34e2505)) * Reenable goblin bbjs for a single test ([#3838](AztecProtocol/aztec-packages#3838)) ([30e47a0](AztecProtocol/aztec-packages@30e47a0)) * Setup aztec-cli cache ([#3698](AztecProtocol/aztec-packages#3698)) ([48b7474](AztecProtocol/aztec-packages@48b7474)) * Stale pseudocode in yellow paper process func ([#3869](AztecProtocol/aztec-packages#3869)) ([4a73e3d](AztecProtocol/aztec-packages@4a73e3d)) * Subrepo commit ([b5bfb0b](AztecProtocol/aztec-packages@b5bfb0b)) * There is no main.js ([#3691](AztecProtocol/aztec-packages#3691)) ([58ba060](AztecProtocol/aztec-packages@58ba060)) * Unpick world state circulars. ([#3721](AztecProtocol/aztec-packages#3721)) ([84f4671](AztecProtocol/aztec-packages@84f4671)) * Update for new p2p bootstrap node names ([#3710](AztecProtocol/aztec-packages#3710)) ([c7b29b3](AztecProtocol/aztec-packages@c7b29b3)) * Update toy to new master ([78cf525](AztecProtocol/aztec-packages@78cf525)) * Use lookup instead of resolve to ensure consider /etc/hosts ([#3720](AztecProtocol/aztec-packages#3720)) ([eb8413e](AztecProtocol/aztec-packages@eb8413e)) ### Miscellaneous * Add GH action to notify gate count differences ([#3724](AztecProtocol/aztec-packages#3724)) ([c0a24fb](AztecProtocol/aztec-packages@c0a24fb)), closes [#3467](AztecProtocol/aztec-packages#3467) * Add Side effect counter struct for ordering ([#3608](AztecProtocol/aztec-packages#3608)) ([c58b197](AztecProtocol/aztec-packages@c58b197)) * Add small how to diagram section ([#3804](AztecProtocol/aztec-packages#3804)) ([df581f0](AztecProtocol/aztec-packages@df581f0)) * Added cryptography section to yellow paper ([#3647](AztecProtocol/aztec-packages#3647)) ([286028b](AztecProtocol/aztec-packages@286028b)) * Adding some clarification after a question on discourse ([#3823](AztecProtocol/aztec-packages#3823)) ([f3d37d7](AztecProtocol/aztec-packages@f3d37d7)) * Align bb.js testing ([#3840](AztecProtocol/aztec-packages#3840)) ([c489727](AztecProtocol/aztec-packages@c489727)) * **avm:** Avm memory trace building ([#3835](AztecProtocol/aztec-packages#3835)) ([b7766d6](AztecProtocol/aztec-packages@b7766d6)) * Aztec js circulars ([#3723](AztecProtocol/aztec-packages#3723)) ([378407d](AztecProtocol/aztec-packages@378407d)) * Bring boxes back to CI. Build and run using docker/docker-compose. ([#3727](AztecProtocol/aztec-packages#3727)) ([4a1c0df](AztecProtocol/aztec-packages@4a1c0df)) * Build protocol circuits on CI and stop committing artifacts ([#3816](AztecProtocol/aztec-packages#3816)) ([fa1c456](AztecProtocol/aztec-packages@fa1c456)) * Checking noir formatting in CI ([#3828](AztecProtocol/aztec-packages#3828)) ([b53bacf](AztecProtocol/aztec-packages@b53bacf)), closes [#3825](AztecProtocol/aztec-packages#3825) * Cleaning inconsistency ([#3851](AztecProtocol/aztec-packages#3851)) ([9bbd70a](AztecProtocol/aztec-packages@9bbd70a)) * Cleanup recursion interface ([#3744](AztecProtocol/aztec-packages#3744)) ([fde0ac3](AztecProtocol/aztec-packages@fde0ac3)) * **docs:** Add block productions ([#3770](AztecProtocol/aztec-packages#3770)) ([f091f49](AztecProtocol/aztec-packages@f091f49)) * **docs:** Add high level overview of a tx ([#3763](AztecProtocol/aztec-packages#3763)) ([9a55e57](AztecProtocol/aztec-packages@9a55e57)) * **docs:** Remove npm reference section from testing page ([#3719](AztecProtocol/aztec-packages#3719)) ([1484c11](AztecProtocol/aztec-packages@1484c11)) * **docs:** Remove references to npm packages ([#3676](AztecProtocol/aztec-packages#3676)) ([bd5355f](AztecProtocol/aztec-packages@bd5355f)) * **docs:** Starting a migration notes section ([#3853](AztecProtocol/aztec-packages#3853)) ([060f39a](AztecProtocol/aztec-packages@060f39a)) * **docs:** Update deps in tutorials ([#3708](AztecProtocol/aztec-packages#3708)) ([f3d93aa](AztecProtocol/aztec-packages@f3d93aa)) * **docs:** Update install script ([#3847](AztecProtocol/aztec-packages#3847)) ([7003853](AztecProtocol/aztec-packages@7003853)) * **docs:** Update reference link ([#3768](AztecProtocol/aztec-packages#3768)) ([18edb98](AztecProtocol/aztec-packages@18edb98)) * **docs:** Update testing pages ([#3733](AztecProtocol/aztec-packages#3733)) ([1c68e3b](AztecProtocol/aztec-packages@1c68e3b)) * **docs:** Update token bridge tutorial ([#3773](AztecProtocol/aztec-packages#3773)) ([764cb46](AztecProtocol/aztec-packages@764cb46)) * **docs:** Update trees page ([#3732](AztecProtocol/aztec-packages#3732)) ([b265531](AztecProtocol/aztec-packages@b265531)) * **dsl:** Abstract nested aggregation object from ACIR ([#3765](AztecProtocol/aztec-packages#3765)) ([92f72e4](AztecProtocol/aztec-packages@92f72e4)) * Increase benchmark warning threshold for trial decrypt ([#3602](AztecProtocol/aztec-packages#3602)) ([913943e](AztecProtocol/aztec-packages@913943e)) * Just nargo compile. ([#3775](AztecProtocol/aztec-packages#3775)) ([3d08ef9](AztecProtocol/aztec-packages@3d08ef9)) * Move boxes out of yarn-project ([#3688](AztecProtocol/aztec-packages#3688)) ([472596c](AztecProtocol/aztec-packages@472596c)) * Noir sync ([#3884](AztecProtocol/aztec-packages#3884)) ([217de09](AztecProtocol/aztec-packages@217de09)) * Remove aggregation objects from RecursionConstraint ([#3885](AztecProtocol/aztec-packages#3885)) ([9a80008](AztecProtocol/aztec-packages@9a80008)) * Remove HashToField128Security ACIR opcode ([#3631](AztecProtocol/aztec-packages#3631)) ([1d6d3c9](AztecProtocol/aztec-packages@1d6d3c9)) * Removing leaf data type + related cleanup ([#3794](AztecProtocol/aztec-packages#3794)) ([3030cc8](AztecProtocol/aztec-packages@3030cc8)) * Rename generate-ts/nr commands to codegen. ([#3843](AztecProtocol/aztec-packages#3843)) ([1fcb964](AztecProtocol/aztec-packages@1fcb964)) * Replace relative paths to noir-protocol-circuits ([c2fed18](AztecProtocol/aztec-packages@c2fed18)) * Replace relative paths to noir-protocol-circuits ([3accd8a](AztecProtocol/aztec-packages@3accd8a)) * Replace relative paths to noir-protocol-circuits ([346590b](AztecProtocol/aztec-packages@346590b)) * Replace relative paths to noir-protocol-circuits ([861d928](AztecProtocol/aztec-packages@861d928)) * Show noir tag alongside commit on sandbox startup ([#3750](AztecProtocol/aztec-packages#3750)) ([009f66d](AztecProtocol/aztec-packages@009f66d)) * Update governance vote ballot ([#3789](AztecProtocol/aztec-packages#3789)) ([f8976ad](AztecProtocol/aztec-packages@f8976ad)) * Update how_to_contribute.md ([#3759](AztecProtocol/aztec-packages#3759)) ([4567ec4](AztecProtocol/aztec-packages@4567ec4)) * Update privacy main.md ([#3760](AztecProtocol/aztec-packages#3760)) ([c3d8b5d](AztecProtocol/aztec-packages@c3d8b5d)) * Use repo BB for gate diff ([#3852](AztecProtocol/aztec-packages#3852)) ([506e719](AztecProtocol/aztec-packages@506e719)) * Use simple "flat" CRS. ([#3748](AztecProtocol/aztec-packages#3748)) ([5c6c2ca](AztecProtocol/aztec-packages@5c6c2ca)) * Use traits in noir-protocol-circuits ([#3832](AztecProtocol/aztec-packages#3832)) ([88fcf8d](AztecProtocol/aztec-packages@88fcf8d)) ### Documentation * A layout of logs section of yellow paper ([#3582](AztecProtocol/aztec-packages#3582)) ([8c759f6](AztecProtocol/aztec-packages@8c759f6)) * Add current thinking on upgrades ([#3743](AztecProtocol/aztec-packages#3743)) ([9f3d972](AztecProtocol/aztec-packages@9f3d972)) * Add da doc ([#3736](AztecProtocol/aztec-packages#3736)) ([193f3f2](AztecProtocol/aztec-packages@193f3f2)), closes [#3645](AztecProtocol/aztec-packages#3645) * Bytecode ([#3701](AztecProtocol/aztec-packages#3701)) ([912df7e](AztecProtocol/aztec-packages@912df7e)) * Extend state documentation ([#3731](AztecProtocol/aztec-packages#3731)) ([a99cbd6](AztecProtocol/aztec-packages@a99cbd6)) * Remove mentions of noir-compiler ([#3702](AztecProtocol/aztec-packages#3702)) ([ea7cd50](AztecProtocol/aztec-packages@ea7cd50)) * Yellow paper rollup circuits and state update ([#3558](AztecProtocol/aztec-packages#3558)) ([b2d6376](AztecProtocol/aztec-packages@b2d6376)) * **yellow-paper:** Circuits ([#3782](AztecProtocol/aztec-packages#3782)) ([a935ca3](AztecProtocol/aztec-packages@a935ca3)) * **yellow-paper:** Contract deployment ([#3624](AztecProtocol/aztec-packages#3624)) ([b282867](AztecProtocol/aztec-packages@b282867)), closes [#3104](AztecProtocol/aztec-packages#3104) * **yellow-paper:** Drop pokodl request in key derivation ([#3837](AztecProtocol/aztec-packages#3837)) ([a3920fb](AztecProtocol/aztec-packages@a3920fb)) * **yellow-paper:** Update keys and addresses ([#3707](AztecProtocol/aztec-packages#3707)) ([56992ae](AztecProtocol/aztec-packages@56992ae)) * **yellowpaper:** AVM high-level execution ([#3717](AztecProtocol/aztec-packages#3717)) ([2ded221](AztecProtocol/aztec-packages@2ded221)) * **yellowpaper:** AVM intro sections ([#3692](AztecProtocol/aztec-packages#3692)) ([c48e76c](AztecProtocol/aztec-packages@c48e76c)) * **yellowpaper:** Avm nested call returns, updating calling context ([#3749](AztecProtocol/aztec-packages#3749)) ([a1c701d](AztecProtocol/aztec-packages@a1c701d)) * **yellowpaper:** Finish AVM Context definitions ([#3709](AztecProtocol/aztec-packages#3709)) ([4cfb427](AztecProtocol/aztec-packages@4cfb427)) * **yellowpaper:** Private kernel circuits ([#3559](AztecProtocol/aztec-packages#3559)) ([056e553](AztecProtocol/aztec-packages@056e553)) </details> <details><summary>barretenberg.js: 0.17.0</summary> ## [0.17.0](AztecProtocol/aztec-packages@barretenberg.js-v0.16.9...barretenberg.js-v0.17.0) (2024-01-09) ### ⚠ BREAKING CHANGES * return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](AztecProtocol/aztec-packages#3735)) ### Features * Adding option to set initial and max memory ([#3265](AztecProtocol/aztec-packages#3265)) ([0ad75fe](AztecProtocol/aztec-packages@0ad75fe)) * Bb uses goblin ([#3636](AztecProtocol/aztec-packages#3636)) ([d093266](AztecProtocol/aztec-packages@d093266)) * Correct circuit construction from acir ([#3757](AztecProtocol/aztec-packages#3757)) ([a876ab8](AztecProtocol/aztec-packages@a876ab8)) * Return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](AztecProtocol/aztec-packages#3735)) ([bd5614c](AztecProtocol/aztec-packages@bd5614c)) ### Miscellaneous * Remove HashToField128Security ACIR opcode ([#3631](AztecProtocol/aztec-packages#3631)) ([1d6d3c9](AztecProtocol/aztec-packages@1d6d3c9)) * Use simple "flat" CRS. ([#3748](AztecProtocol/aztec-packages#3748)) ([5c6c2ca](AztecProtocol/aztec-packages@5c6c2ca)) </details> <details><summary>barretenberg: 0.17.0</summary> ## [0.17.0](AztecProtocol/aztec-packages@barretenberg-v0.16.9...barretenberg-v0.17.0) (2024-01-09) ### ⚠ BREAKING CHANGES * Remove aggregation objects from RecursionConstraint ([#3885](AztecProtocol/aztec-packages#3885)) * Noir development branch (serialization changes) ([#3858](AztecProtocol/aztec-packages#3858)) * Add Side effect counter struct for ordering ([#3608](AztecProtocol/aztec-packages#3608)) * return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](AztecProtocol/aztec-packages#3735)) ### Features * Adding option to set initial and max memory ([#3265](AztecProtocol/aztec-packages#3265)) ([0ad75fe](AztecProtocol/aztec-packages@0ad75fe)) * **avm-main:** Pil -> permutations ([#3650](AztecProtocol/aztec-packages#3650)) ([c52acf6](AztecProtocol/aztec-packages@c52acf6)) * **avm-mini:** Call and return opcodes ([#3704](AztecProtocol/aztec-packages#3704)) ([e534204](AztecProtocol/aztec-packages@e534204)) * **avm:** Add standalone jump opcode ([#3781](AztecProtocol/aztec-packages#3781)) ([b1b2e7c](AztecProtocol/aztec-packages@b1b2e7c)) * **avm:** VM circuit handles tagged memory ([#3725](AztecProtocol/aztec-packages#3725)) ([739fe90](AztecProtocol/aztec-packages@739fe90)), closes [#3644](AztecProtocol/aztec-packages#3644) * Barretenberg doxygen CI ([#3818](AztecProtocol/aztec-packages#3818)) ([022a918](AztecProtocol/aztec-packages@022a918)) * Bb uses goblin ([#3636](AztecProtocol/aztec-packages#3636)) ([d093266](AztecProtocol/aztec-packages@d093266)) * Correct circuit construction from acir ([#3757](AztecProtocol/aztec-packages#3757)) ([a876ab8](AztecProtocol/aztec-packages@a876ab8)) * Goblin and eccvm bench ([#3606](AztecProtocol/aztec-packages#3606)) ([1fe63b2](AztecProtocol/aztec-packages@1fe63b2)) * Goblinize the final ecc ops in ZM ([#3741](AztecProtocol/aztec-packages#3741)) ([3048d08](AztecProtocol/aztec-packages@3048d08)) * Noir development branch (serialization changes) ([#3858](AztecProtocol/aztec-packages#3858)) ([d2ae2cd](AztecProtocol/aztec-packages@d2ae2cd)) * ProverPolynomials owns its memory ([#3560](AztecProtocol/aztec-packages#3560)) ([a4aba00](AztecProtocol/aztec-packages@a4aba00)) * Return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](AztecProtocol/aztec-packages#3735)) ([bd5614c](AztecProtocol/aztec-packages@bd5614c)) ### Bug Fixes * CRS not needed for gate_count. Grumpkin not needed for non-goblin. ([#3872](AztecProtocol/aztec-packages#3872)) ([8cda00d](AztecProtocol/aztec-packages@8cda00d)) * Disable goblin bbjs tests ([#3836](AztecProtocol/aztec-packages#3836)) ([1f5b2c6](AztecProtocol/aztec-packages@1f5b2c6)) * Reenable goblin bbjs for a single test ([#3838](AztecProtocol/aztec-packages#3838)) ([30e47a0](AztecProtocol/aztec-packages@30e47a0)) * Update toy to new master ([78cf525](AztecProtocol/aztec-packages@78cf525)) ### Miscellaneous * Add Side effect counter struct for ordering ([#3608](AztecProtocol/aztec-packages#3608)) ([c58b197](AztecProtocol/aztec-packages@c58b197)) * Align bb.js testing ([#3840](AztecProtocol/aztec-packages#3840)) ([c489727](AztecProtocol/aztec-packages@c489727)) * **avm:** Avm memory trace building ([#3835](AztecProtocol/aztec-packages#3835)) ([b7766d6](AztecProtocol/aztec-packages@b7766d6)) * Bring boxes back to CI. Build and run using docker/docker-compose. ([#3727](AztecProtocol/aztec-packages#3727)) ([4a1c0df](AztecProtocol/aztec-packages@4a1c0df)) * Cleanup recursion interface ([#3744](AztecProtocol/aztec-packages#3744)) ([fde0ac3](AztecProtocol/aztec-packages@fde0ac3)) * **dsl:** Abstract nested aggregation object from ACIR ([#3765](AztecProtocol/aztec-packages#3765)) ([92f72e4](AztecProtocol/aztec-packages@92f72e4)) * Remove aggregation objects from RecursionConstraint ([#3885](AztecProtocol/aztec-packages#3885)) ([9a80008](AztecProtocol/aztec-packages@9a80008)) * Remove HashToField128Security ACIR opcode ([#3631](AztecProtocol/aztec-packages#3631)) ([1d6d3c9](AztecProtocol/aztec-packages@1d6d3c9)) * Use simple "flat" CRS. ([#3748](AztecProtocol/aztec-packages#3748)) ([5c6c2ca](AztecProtocol/aztec-packages@5c6c2ca)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
We're still hashing out a bunch of stuff and things might change pretty soon. So the content avoid delving into details. It only provides an overview of data flow and a general sense of the structures. Things to be added (need discussions): - Reset gadget circuits. - Keys (protocol functions). - Squashing logs. - VM circuit reverts. # Checklist: Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge. - [ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag. - [ ] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code. - [ ] Every change is related to the PR description. - [ ] I have [linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) this pull request to relevant issues (if any exist).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-packages: 0.17.0</summary> ## [0.17.0](AztecProtocol/aztec-packages@aztec-packages-v0.16.9...aztec-packages-v0.17.0) (2024-01-09) ### ⚠ BREAKING CHANGES * Remove aggregation objects from RecursionConstraint ([AztecProtocol#3885](AztecProtocol#3885)) * Noir development branch (serialization changes) ([AztecProtocol#3858](AztecProtocol#3858)) * **aztec.js:** Move accounts out of aztec.js into new package ([AztecProtocol#3844](AztecProtocol#3844)) * Add Side effect counter struct for ordering ([AztecProtocol#3608](AztecProtocol#3608)) * typing partial address, deduplicating `Point`, `Point` -> `GrumpkinPoint` ([AztecProtocol#3814](AztecProtocol#3814)) * moving `compute_selector` to `FunctionSelector` ([AztecProtocol#3806](AztecProtocol#3806)) * moving compute_address func to AztecAddress ([AztecProtocol#3801](AztecProtocol#3801)) * updated note hash and nullifier macro ([AztecProtocol#3777](AztecProtocol#3777)) * return full verification contract from `AcirComposer::get_solidity_verifier` ([AztecProtocol#3735](AztecProtocol#3735)) * deduplicating circuit types + typing everything ([AztecProtocol#3594](AztecProtocol#3594)) ### Features * A script which runs `nargo fmt` in all packages + running it ([AztecProtocol#3803](AztecProtocol#3803)) ([5f0ebd6](AztecProtocol@5f0ebd6)) * Add new metrics ([AztecProtocol#3855](AztecProtocol#3855)) ([a2b267b](AztecProtocol@a2b267b)) * Adding option to set initial and max memory ([AztecProtocol#3265](AztecProtocol#3265)) ([0ad75fe](AztecProtocol@0ad75fe)) * **avm-main:** Pil -> permutations ([AztecProtocol#3650](AztecProtocol#3650)) ([c52acf6](AztecProtocol@c52acf6)) * **avm-mini:** Call and return opcodes ([AztecProtocol#3704](AztecProtocol#3704)) ([e534204](AztecProtocol@e534204)) * **avm:** Add standalone jump opcode ([AztecProtocol#3781](AztecProtocol#3781)) ([b1b2e7c](AztecProtocol@b1b2e7c)) * **avm:** VM circuit handles tagged memory ([AztecProtocol#3725](AztecProtocol#3725)) ([739fe90](AztecProtocol@739fe90)), closes [AztecProtocol#3644](AztecProtocol#3644) * **aztec.js:** Move accounts out of aztec.js into new package ([AztecProtocol#3844](AztecProtocol#3844)) ([afd7b6d](AztecProtocol@afd7b6d)), closes [AztecProtocol#3807](AztecProtocol#3807) * Barretenberg doxygen CI ([AztecProtocol#3818](AztecProtocol#3818)) ([022a918](AztecProtocol@022a918)) * Bb uses goblin ([AztecProtocol#3636](AztecProtocol#3636)) ([d093266](AztecProtocol@d093266)) * Compile base rollup as a circuit ([AztecProtocol#3739](AztecProtocol#3739)) ([5118d44](AztecProtocol@5118d44)) * Contract inclusion proof ([AztecProtocol#3680](AztecProtocol#3680)) ([43aa603](AztecProtocol@43aa603)) * Correct circuit construction from acir ([AztecProtocol#3757](AztecProtocol#3757)) ([a876ab8](AztecProtocol@a876ab8)) * Deduplicating circuit types + typing everything ([AztecProtocol#3594](AztecProtocol#3594)) ([fcb04a7](AztecProtocol@fcb04a7)), closes [AztecProtocol#3592](AztecProtocol#3592) [AztecProtocol#3059](AztecProtocol#3059) * Goblin and eccvm bench ([AztecProtocol#3606](AztecProtocol#3606)) ([1fe63b2](AztecProtocol@1fe63b2)) * Goblinize the final ecc ops in ZM ([AztecProtocol#3741](AztecProtocol#3741)) ([3048d08](AztecProtocol@3048d08)) * Launch the monorepo in a codespace. ([AztecProtocol#3829](AztecProtocol#3829)) ([f5a4a78](AztecProtocol@f5a4a78)) * Moving `compute_selector` to `FunctionSelector` ([AztecProtocol#3806](AztecProtocol#3806)) ([bbaebf4](AztecProtocol@bbaebf4)), closes [AztecProtocol#3681](AztecProtocol#3681) * Moving compute_address func to AztecAddress ([AztecProtocol#3801](AztecProtocol#3801)) ([3107aad](AztecProtocol@3107aad)), closes [AztecProtocol#3794](AztecProtocol#3794) * Node version check in `yarn-project/bootstrap.sh` ([AztecProtocol#3780](AztecProtocol#3780)) ([c29e4ee](AztecProtocol@c29e4ee)) * Noir development branch (serialization changes) ([AztecProtocol#3858](AztecProtocol#3858)) ([d2ae2cd](AztecProtocol@d2ae2cd)) * Only one tx per base rollup ([AztecProtocol#3742](AztecProtocol#3742)) ([9eef247](AztecProtocol@9eef247)) * ProverPolynomials owns its memory ([AztecProtocol#3560](AztecProtocol#3560)) ([a4aba00](AztecProtocol@a4aba00)) * Public data tree as indexed tree ([AztecProtocol#3566](AztecProtocol#3566)) ([4711ef7](AztecProtocol@4711ef7)) * PXE adds note processors for stored accounts ([AztecProtocol#3673](AztecProtocol#3673)) ([93f9315](AztecProtocol@93f9315)) * Return full verification contract from `AcirComposer::get_solidity_verifier` ([AztecProtocol#3735](AztecProtocol#3735)) ([bd5614c](AztecProtocol@bd5614c)) * Serialize synchronize and simulateTx calls by the pxe via SerialQueue ([AztecProtocol#3817](AztecProtocol#3817)) ([e893675](AztecProtocol@e893675)) * Specific membership witness functions in aztec-nr ([AztecProtocol#3674](AztecProtocol#3674)) ([3403877](AztecProtocol@3403877)), closes [AztecProtocol#3663](AztecProtocol#3663) * Tree ids in noir ([AztecProtocol#3809](AztecProtocol#3809)) ([ec2e36e](AztecProtocol@ec2e36e)) * Txpool persistence ([AztecProtocol#3672](AztecProtocol#3672)) ([4dd076c](AztecProtocol@4dd076c)), closes [AztecProtocol#3365](AztecProtocol#3365) * Typing partial address, deduplicating `Point`, `Point` -> `GrumpkinPoint` ([AztecProtocol#3814](AztecProtocol#3814)) ([44458be](AztecProtocol@44458be)), closes [AztecProtocol#3682](AztecProtocol#3682) * Update to latest noir and update noir compiler ([AztecProtocol#3696](AztecProtocol#3696)) ([62a17a4](AztecProtocol@62a17a4)) * Updated note hash and nullifier macro ([AztecProtocol#3777](AztecProtocol#3777)) ([e83dd2b](AztecProtocol@e83dd2b)), closes [AztecProtocol#3669](AztecProtocol#3669) ### Bug Fixes * AWS deploy_service regex + faucet dockerfile ([AztecProtocol#3699](AztecProtocol#3699)) ([260c7c3](AztecProtocol@260c7c3)) * Broken aztec-nr imports ([AztecProtocol#3693](AztecProtocol#3693)) ([7c8814e](AztecProtocol@7c8814e)) * Build scripts if statements ([AztecProtocol#3700](AztecProtocol#3700)) ([4847c19](AztecProtocol@4847c19)) * **ci:** Contracts_deployed check ([AztecProtocol#3703](AztecProtocol#3703)) ([6c4bf75](AztecProtocol@6c4bf75)) * **ci:** Redeploy triggers ([AztecProtocol#3677](AztecProtocol#3677)) ([cc515da](AztecProtocol@cc515da)) * CRS not needed for gate_count. Grumpkin not needed for non-goblin. ([AztecProtocol#3872](AztecProtocol#3872)) ([8cda00d](AztecProtocol@8cda00d)) * Deploy l1 contracts script ([AztecProtocol#3713](AztecProtocol#3713)) ([309be4b](AztecProtocol@309be4b)) * Disable goblin bbjs tests ([AztecProtocol#3836](AztecProtocol#3836)) ([1f5b2c6](AztecProtocol@1f5b2c6)) * Docker user permissions ([AztecProtocol#3711](AztecProtocol#3711)) ([35316fc](AztecProtocol@35316fc)) * **docs:** Fix docs build during releases ([AztecProtocol#3815](AztecProtocol#3815)) ([2e0776a](AztecProtocol@2e0776a)) * **docs:** Force docs build using latest released code always ([AztecProtocol#3762](AztecProtocol#3762)) ([5545ee6](AztecProtocol@5545ee6)) * **docs:** Make git repo available when building docs ([AztecProtocol#3761](AztecProtocol#3761)) ([bce2d99](AztecProtocol@bce2d99)) * **docs:** Show latest released code on published site ([AztecProtocol#3716](AztecProtocol#3716)) ([f1eb6d5](AztecProtocol@f1eb6d5)) * Event macro ([AztecProtocol#3784](AztecProtocol#3784)) ([3af2438](AztecProtocol@3af2438)), closes [AztecProtocol#3655](AztecProtocol#3655) * Fix for faucet and node deployment config ([AztecProtocol#3722](AztecProtocol#3722)) ([a60b71a](AztecProtocol@a60b71a)) * Flaky e2e-p2p test ([AztecProtocol#3831](AztecProtocol#3831)) ([5b1e9f2](AztecProtocol@5b1e9f2)) * Issue with `run_nargo_fmt.sh` + minor yellow paper naming improvements ([AztecProtocol#3833](AztecProtocol#3833)) ([8e692c1](AztecProtocol@8e692c1)) * Map relative path to protocol circuits ([AztecProtocol#3694](AztecProtocol#3694)) ([125ab1d](AztecProtocol@125ab1d)) * Noir-protocol circuits ([AztecProtocol#3734](AztecProtocol#3734)) ([34e2505](AztecProtocol@34e2505)) * Reenable goblin bbjs for a single test ([AztecProtocol#3838](AztecProtocol#3838)) ([30e47a0](AztecProtocol@30e47a0)) * Setup aztec-cli cache ([AztecProtocol#3698](AztecProtocol#3698)) ([48b7474](AztecProtocol@48b7474)) * Stale pseudocode in yellow paper process func ([AztecProtocol#3869](AztecProtocol#3869)) ([4a73e3d](AztecProtocol@4a73e3d)) * Subrepo commit ([b5bfb0b](AztecProtocol@b5bfb0b)) * There is no main.js ([AztecProtocol#3691](AztecProtocol#3691)) ([58ba060](AztecProtocol@58ba060)) * Unpick world state circulars. ([AztecProtocol#3721](AztecProtocol#3721)) ([84f4671](AztecProtocol@84f4671)) * Update for new p2p bootstrap node names ([AztecProtocol#3710](AztecProtocol#3710)) ([c7b29b3](AztecProtocol@c7b29b3)) * Update toy to new master ([78cf525](AztecProtocol@78cf525)) * Use lookup instead of resolve to ensure consider /etc/hosts ([AztecProtocol#3720](AztecProtocol#3720)) ([eb8413e](AztecProtocol@eb8413e)) ### Miscellaneous * Add GH action to notify gate count differences ([AztecProtocol#3724](AztecProtocol#3724)) ([c0a24fb](AztecProtocol@c0a24fb)), closes [AztecProtocol#3467](AztecProtocol#3467) * Add Side effect counter struct for ordering ([AztecProtocol#3608](AztecProtocol#3608)) ([c58b197](AztecProtocol@c58b197)) * Add small how to diagram section ([AztecProtocol#3804](AztecProtocol#3804)) ([df581f0](AztecProtocol@df581f0)) * Added cryptography section to yellow paper ([AztecProtocol#3647](AztecProtocol#3647)) ([286028b](AztecProtocol@286028b)) * Adding some clarification after a question on discourse ([AztecProtocol#3823](AztecProtocol#3823)) ([f3d37d7](AztecProtocol@f3d37d7)) * Align bb.js testing ([AztecProtocol#3840](AztecProtocol#3840)) ([c489727](AztecProtocol@c489727)) * **avm:** Avm memory trace building ([AztecProtocol#3835](AztecProtocol#3835)) ([b7766d6](AztecProtocol@b7766d6)) * Aztec js circulars ([AztecProtocol#3723](AztecProtocol#3723)) ([378407d](AztecProtocol@378407d)) * Bring boxes back to CI. Build and run using docker/docker-compose. ([AztecProtocol#3727](AztecProtocol#3727)) ([4a1c0df](AztecProtocol@4a1c0df)) * Build protocol circuits on CI and stop committing artifacts ([AztecProtocol#3816](AztecProtocol#3816)) ([fa1c456](AztecProtocol@fa1c456)) * Checking noir formatting in CI ([AztecProtocol#3828](AztecProtocol#3828)) ([b53bacf](AztecProtocol@b53bacf)), closes [AztecProtocol#3825](AztecProtocol#3825) * Cleaning inconsistency ([AztecProtocol#3851](AztecProtocol#3851)) ([9bbd70a](AztecProtocol@9bbd70a)) * Cleanup recursion interface ([AztecProtocol#3744](AztecProtocol#3744)) ([fde0ac3](AztecProtocol@fde0ac3)) * **docs:** Add block productions ([AztecProtocol#3770](AztecProtocol#3770)) ([f091f49](AztecProtocol@f091f49)) * **docs:** Add high level overview of a tx ([AztecProtocol#3763](AztecProtocol#3763)) ([9a55e57](AztecProtocol@9a55e57)) * **docs:** Remove npm reference section from testing page ([AztecProtocol#3719](AztecProtocol#3719)) ([1484c11](AztecProtocol@1484c11)) * **docs:** Remove references to npm packages ([AztecProtocol#3676](AztecProtocol#3676)) ([bd5355f](AztecProtocol@bd5355f)) * **docs:** Starting a migration notes section ([AztecProtocol#3853](AztecProtocol#3853)) ([060f39a](AztecProtocol@060f39a)) * **docs:** Update deps in tutorials ([AztecProtocol#3708](AztecProtocol#3708)) ([f3d93aa](AztecProtocol@f3d93aa)) * **docs:** Update install script ([AztecProtocol#3847](AztecProtocol#3847)) ([7003853](AztecProtocol@7003853)) * **docs:** Update reference link ([AztecProtocol#3768](AztecProtocol#3768)) ([18edb98](AztecProtocol@18edb98)) * **docs:** Update testing pages ([AztecProtocol#3733](AztecProtocol#3733)) ([1c68e3b](AztecProtocol@1c68e3b)) * **docs:** Update token bridge tutorial ([AztecProtocol#3773](AztecProtocol#3773)) ([764cb46](AztecProtocol@764cb46)) * **docs:** Update trees page ([AztecProtocol#3732](AztecProtocol#3732)) ([b265531](AztecProtocol@b265531)) * **dsl:** Abstract nested aggregation object from ACIR ([AztecProtocol#3765](AztecProtocol#3765)) ([92f72e4](AztecProtocol@92f72e4)) * Increase benchmark warning threshold for trial decrypt ([AztecProtocol#3602](AztecProtocol#3602)) ([913943e](AztecProtocol@913943e)) * Just nargo compile. ([AztecProtocol#3775](AztecProtocol#3775)) ([3d08ef9](AztecProtocol@3d08ef9)) * Move boxes out of yarn-project ([AztecProtocol#3688](AztecProtocol#3688)) ([472596c](AztecProtocol@472596c)) * Noir sync ([AztecProtocol#3884](AztecProtocol#3884)) ([217de09](AztecProtocol@217de09)) * Remove aggregation objects from RecursionConstraint ([AztecProtocol#3885](AztecProtocol#3885)) ([9a80008](AztecProtocol@9a80008)) * Remove HashToField128Security ACIR opcode ([AztecProtocol#3631](AztecProtocol#3631)) ([1d6d3c9](AztecProtocol@1d6d3c9)) * Removing leaf data type + related cleanup ([AztecProtocol#3794](AztecProtocol#3794)) ([3030cc8](AztecProtocol@3030cc8)) * Rename generate-ts/nr commands to codegen. ([AztecProtocol#3843](AztecProtocol#3843)) ([1fcb964](AztecProtocol@1fcb964)) * Replace relative paths to noir-protocol-circuits ([c2fed18](AztecProtocol@c2fed18)) * Replace relative paths to noir-protocol-circuits ([3accd8a](AztecProtocol@3accd8a)) * Replace relative paths to noir-protocol-circuits ([346590b](AztecProtocol@346590b)) * Replace relative paths to noir-protocol-circuits ([861d928](AztecProtocol@861d928)) * Show noir tag alongside commit on sandbox startup ([AztecProtocol#3750](AztecProtocol#3750)) ([009f66d](AztecProtocol@009f66d)) * Update governance vote ballot ([AztecProtocol#3789](AztecProtocol#3789)) ([f8976ad](AztecProtocol@f8976ad)) * Update how_to_contribute.md ([AztecProtocol#3759](AztecProtocol#3759)) ([4567ec4](AztecProtocol@4567ec4)) * Update privacy main.md ([AztecProtocol#3760](AztecProtocol#3760)) ([c3d8b5d](AztecProtocol@c3d8b5d)) * Use repo BB for gate diff ([AztecProtocol#3852](AztecProtocol#3852)) ([506e719](AztecProtocol@506e719)) * Use simple "flat" CRS. ([AztecProtocol#3748](AztecProtocol#3748)) ([5c6c2ca](AztecProtocol@5c6c2ca)) * Use traits in noir-protocol-circuits ([AztecProtocol#3832](AztecProtocol#3832)) ([88fcf8d](AztecProtocol@88fcf8d)) ### Documentation * A layout of logs section of yellow paper ([AztecProtocol#3582](AztecProtocol#3582)) ([8c759f6](AztecProtocol@8c759f6)) * Add current thinking on upgrades ([AztecProtocol#3743](AztecProtocol#3743)) ([9f3d972](AztecProtocol@9f3d972)) * Add da doc ([AztecProtocol#3736](AztecProtocol#3736)) ([193f3f2](AztecProtocol@193f3f2)), closes [AztecProtocol#3645](AztecProtocol#3645) * Bytecode ([AztecProtocol#3701](AztecProtocol#3701)) ([912df7e](AztecProtocol@912df7e)) * Extend state documentation ([AztecProtocol#3731](AztecProtocol#3731)) ([a99cbd6](AztecProtocol@a99cbd6)) * Remove mentions of noir-compiler ([AztecProtocol#3702](AztecProtocol#3702)) ([ea7cd50](AztecProtocol@ea7cd50)) * Yellow paper rollup circuits and state update ([AztecProtocol#3558](AztecProtocol#3558)) ([b2d6376](AztecProtocol@b2d6376)) * **yellow-paper:** Circuits ([AztecProtocol#3782](AztecProtocol#3782)) ([a935ca3](AztecProtocol@a935ca3)) * **yellow-paper:** Contract deployment ([AztecProtocol#3624](AztecProtocol#3624)) ([b282867](AztecProtocol@b282867)), closes [AztecProtocol#3104](AztecProtocol#3104) * **yellow-paper:** Drop pokodl request in key derivation ([AztecProtocol#3837](AztecProtocol#3837)) ([a3920fb](AztecProtocol@a3920fb)) * **yellow-paper:** Update keys and addresses ([AztecProtocol#3707](AztecProtocol#3707)) ([56992ae](AztecProtocol@56992ae)) * **yellowpaper:** AVM high-level execution ([AztecProtocol#3717](AztecProtocol#3717)) ([2ded221](AztecProtocol@2ded221)) * **yellowpaper:** AVM intro sections ([AztecProtocol#3692](AztecProtocol#3692)) ([c48e76c](AztecProtocol@c48e76c)) * **yellowpaper:** Avm nested call returns, updating calling context ([AztecProtocol#3749](AztecProtocol#3749)) ([a1c701d](AztecProtocol@a1c701d)) * **yellowpaper:** Finish AVM Context definitions ([AztecProtocol#3709](AztecProtocol#3709)) ([4cfb427](AztecProtocol@4cfb427)) * **yellowpaper:** Private kernel circuits ([AztecProtocol#3559](AztecProtocol#3559)) ([056e553](AztecProtocol@056e553)) </details> <details><summary>barretenberg.js: 0.17.0</summary> ## [0.17.0](AztecProtocol/aztec-packages@barretenberg.js-v0.16.9...barretenberg.js-v0.17.0) (2024-01-09) ### ⚠ BREAKING CHANGES * return full verification contract from `AcirComposer::get_solidity_verifier` ([AztecProtocol#3735](AztecProtocol#3735)) ### Features * Adding option to set initial and max memory ([AztecProtocol#3265](AztecProtocol#3265)) ([0ad75fe](AztecProtocol@0ad75fe)) * Bb uses goblin ([AztecProtocol#3636](AztecProtocol#3636)) ([d093266](AztecProtocol@d093266)) * Correct circuit construction from acir ([AztecProtocol#3757](AztecProtocol#3757)) ([a876ab8](AztecProtocol@a876ab8)) * Return full verification contract from `AcirComposer::get_solidity_verifier` ([AztecProtocol#3735](AztecProtocol#3735)) ([bd5614c](AztecProtocol@bd5614c)) ### Miscellaneous * Remove HashToField128Security ACIR opcode ([AztecProtocol#3631](AztecProtocol#3631)) ([1d6d3c9](AztecProtocol@1d6d3c9)) * Use simple "flat" CRS. ([AztecProtocol#3748](AztecProtocol#3748)) ([5c6c2ca](AztecProtocol@5c6c2ca)) </details> <details><summary>barretenberg: 0.17.0</summary> ## [0.17.0](AztecProtocol/aztec-packages@barretenberg-v0.16.9...barretenberg-v0.17.0) (2024-01-09) ### ⚠ BREAKING CHANGES * Remove aggregation objects from RecursionConstraint ([AztecProtocol#3885](AztecProtocol#3885)) * Noir development branch (serialization changes) ([AztecProtocol#3858](AztecProtocol#3858)) * Add Side effect counter struct for ordering ([AztecProtocol#3608](AztecProtocol#3608)) * return full verification contract from `AcirComposer::get_solidity_verifier` ([AztecProtocol#3735](AztecProtocol#3735)) ### Features * Adding option to set initial and max memory ([AztecProtocol#3265](AztecProtocol#3265)) ([0ad75fe](AztecProtocol@0ad75fe)) * **avm-main:** Pil -> permutations ([AztecProtocol#3650](AztecProtocol#3650)) ([c52acf6](AztecProtocol@c52acf6)) * **avm-mini:** Call and return opcodes ([AztecProtocol#3704](AztecProtocol#3704)) ([e534204](AztecProtocol@e534204)) * **avm:** Add standalone jump opcode ([AztecProtocol#3781](AztecProtocol#3781)) ([b1b2e7c](AztecProtocol@b1b2e7c)) * **avm:** VM circuit handles tagged memory ([AztecProtocol#3725](AztecProtocol#3725)) ([739fe90](AztecProtocol@739fe90)), closes [AztecProtocol#3644](AztecProtocol#3644) * Barretenberg doxygen CI ([AztecProtocol#3818](AztecProtocol#3818)) ([022a918](AztecProtocol@022a918)) * Bb uses goblin ([AztecProtocol#3636](AztecProtocol#3636)) ([d093266](AztecProtocol@d093266)) * Correct circuit construction from acir ([AztecProtocol#3757](AztecProtocol#3757)) ([a876ab8](AztecProtocol@a876ab8)) * Goblin and eccvm bench ([AztecProtocol#3606](AztecProtocol#3606)) ([1fe63b2](AztecProtocol@1fe63b2)) * Goblinize the final ecc ops in ZM ([AztecProtocol#3741](AztecProtocol#3741)) ([3048d08](AztecProtocol@3048d08)) * Noir development branch (serialization changes) ([AztecProtocol#3858](AztecProtocol#3858)) ([d2ae2cd](AztecProtocol@d2ae2cd)) * ProverPolynomials owns its memory ([AztecProtocol#3560](AztecProtocol#3560)) ([a4aba00](AztecProtocol@a4aba00)) * Return full verification contract from `AcirComposer::get_solidity_verifier` ([AztecProtocol#3735](AztecProtocol#3735)) ([bd5614c](AztecProtocol@bd5614c)) ### Bug Fixes * CRS not needed for gate_count. Grumpkin not needed for non-goblin. ([AztecProtocol#3872](AztecProtocol#3872)) ([8cda00d](AztecProtocol@8cda00d)) * Disable goblin bbjs tests ([AztecProtocol#3836](AztecProtocol#3836)) ([1f5b2c6](AztecProtocol@1f5b2c6)) * Reenable goblin bbjs for a single test ([AztecProtocol#3838](AztecProtocol#3838)) ([30e47a0](AztecProtocol@30e47a0)) * Update toy to new master ([78cf525](AztecProtocol@78cf525)) ### Miscellaneous * Add Side effect counter struct for ordering ([AztecProtocol#3608](AztecProtocol#3608)) ([c58b197](AztecProtocol@c58b197)) * Align bb.js testing ([AztecProtocol#3840](AztecProtocol#3840)) ([c489727](AztecProtocol@c489727)) * **avm:** Avm memory trace building ([AztecProtocol#3835](AztecProtocol#3835)) ([b7766d6](AztecProtocol@b7766d6)) * Bring boxes back to CI. Build and run using docker/docker-compose. ([AztecProtocol#3727](AztecProtocol#3727)) ([4a1c0df](AztecProtocol@4a1c0df)) * Cleanup recursion interface ([AztecProtocol#3744](AztecProtocol#3744)) ([fde0ac3](AztecProtocol@fde0ac3)) * **dsl:** Abstract nested aggregation object from ACIR ([AztecProtocol#3765](AztecProtocol#3765)) ([92f72e4](AztecProtocol@92f72e4)) * Remove aggregation objects from RecursionConstraint ([AztecProtocol#3885](AztecProtocol#3885)) ([9a80008](AztecProtocol@9a80008)) * Remove HashToField128Security ACIR opcode ([AztecProtocol#3631](AztecProtocol#3631)) ([1d6d3c9](AztecProtocol@1d6d3c9)) * Use simple "flat" CRS. ([AztecProtocol#3748](AztecProtocol#3748)) ([5c6c2ca](AztecProtocol@5c6c2ca)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
We're still hashing out a bunch of stuff and things might change pretty soon. So the content avoid delving into details. It only provides an overview of data flow and a general sense of the structures.
Things to be added (need discussions):
Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.