Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore!: remove backend interactions from nargo #6320

Merged
merged 30 commits into from
May 17, 2024

Conversation

TomAFrench
Copy link
Member

@TomAFrench TomAFrench commented May 9, 2024

This PR removes the nargo codegen-verifier command and replaces it with an example bash script showing how to use nargo in conjunction with bb to generate a smart contract verifier.

cc @AztecProtocol/devrel

Closes noir-lang/noir#4447
Closes noir-lang/noir#1138
Closes noir-lang/noir#2222
Closes noir-lang/noir#1159
Closes noir-lang/noir#1009
Closes noir-lang/noir#3837
Closes noir-lang/noir#2667

@TomAFrench TomAFrench marked this pull request as draft May 9, 2024 23:18
@signorecello signorecello self-requested a review May 10, 2024 09:53
Copy link
Contributor

@signorecello signorecello left a comment

Choose a reason for hiding this comment

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

Reached out on slack, this will make 90% of Noir devs install a new package (+node if they don't have it already). Let's see if we can find a middle ground solution 👍

@TomAFrench
Copy link
Member Author

As discussed on slack, the solution is for us to have good interop between nargo artifacts and bb as done in #6283, we should also expect that users should install their proving backend of choice rather than nargo acting as an installer for bb.

@TomAFrench
Copy link
Member Author

TomAFrench commented May 10, 2024

Note that the UX from this change goes from

nargo codegen-verifier

to

nargo compile
bb write_vk -b ./target/hello_world.json
bb contract -v ./target/vk

which after some UX changes to bb could become

nargo compile
bb contract

Base automatically changed from tf/read-acir-from-artifact to master May 10, 2024 16:20
@Savio-Sou
Copy link
Member

which after some UX changes to bb could become

nargo compile
bb contract

This nargo codegen-verifier PR should aim for this as the goal rather than something in between.

A requirement to noir-lang/noir#4960 is we do our best attempts at minimizing additional DevEx frictions coming out of it. If that means more engineering time, we allocate the time 🤝

@TomAFrench
Copy link
Member Author

Happy to discuss audit timelines if we're taking Noir development resources to rewrite all of Noir's workspace logic in C++.

@Savio-Sou
Copy link
Member

Savio-Sou commented May 10, 2024

Good point.

To clarify I was thinking of an aim to add default behaviors (if they don't already exist):

  1. Update bb write_vk (flagless) to operate on ./target/main.json by default
  2. Update bb contract (flagless) to operate on ./target/vk by default
  3. Update bb contract (flagless) to call bb write_vk (flagless) automatically if ./target/vk doesn't already exist

While maintaining flag options for users that need them to operate on multiple / renamed files.


I don't think there are a lot of user demand for:

  • Generate multiple Solidity verifiers
  • For multiple Noir programs
  • Within one single workspace

at least not today (@AztecProtocol/devrel to confirm).

On that assumption, offering a reference bash script and kicking the bb workspace can down the road until we see growing demand is acceptable.

@signorecello
Copy link
Contributor

I do lack full context on the end goal here, but I understand there is a significant engineering reason for burning this nargo-bb bridge. So I won't say we shouldn't do it, but I do care about the devex since that's the biggest Noir strength.

For context, every single Noir workshop we do starts with generating a proof and a smart contract, and verifying it on Remix IDE. Literally every one of the 60+ Noir submissions at the Scroll hackathon generated a smart contract with Nargo.

Downgrading the devex introducing more packages and commands to something so ubiquitous seems like something we want to avoid, if possible.

I proposed a solution, which I reckon is not ideal: to have DevRel maintain a CLI tool that that could encapsulate Nargo and BB, essentially delivering the same execution + proving devex. I told @critesjosh I could take on that task, but I think it's worth exploring if there's any other way

@TomAFrench
Copy link
Member Author

I proposed a solution, which I reckon is not ideal: to have DevRel maintain a CLI tool that that could encapsulate Nargo and BB, essentially delivering the same execution + proving devex. I told @critesjosh I could take on that task, but I think it's worth exploring if there's any other way

This is going to be way more work than I think you're intending to take on. On top of that, unless we're fully deprecating nargo as a user-facing component (which we aren't) we've just backed ourselves into needing to support two separate tools instead of one.

@Savio-Sou
Copy link
Member

@signorecello we surely don't want to build and maintain a new wrapper. That would undermine the whole point of noir-lang/noir#4960 for cleaner engineering scope (hence simpler auditing) and improved DevEd (hence DevEx).

DevEx: aiming for net positive

The initiative aims at cleanly separating Noir and Backend tooling from a user perspective, which helps familiarize users with the Noir <> Backend concept as clear and as soon during their onboarding as possible. This in turn helps users to more accurately debug issues they run into, as well as paves way for users to more easily work between different backends.

there is a significant engineering reason for burning this nargo-bb bridge

This hence is a tradeoff between different verticals of DevEx, rather than a net DevEx negative in exchange for some obscure internal engineering goals.

DevEx Change: Single Solidity Verifier

To clarify on effects, with my suggestion above the DevEx for generating one Solidity verifier would change from:

nargo codegen-verifier

to:

nargo compile
bb contract

We would already be at the ceiling of intuitiveness on separating the two toolings.

DevEx Change: Multiple Solidity Verifier

The intermediate DevEx deterioration (until workspace support is introduced in barretenberg tooling) lies with generating multiple Solidity verifiers, which would change from:

nargo codegen-verifier

to:

(create / edit bash script)
bash codegen_verifier.sh

This was assumed acceptable as little to none user demand was assumed for frequently generating multiple Solidity verifiers. Do comment below if that isn't accurate 🙏

@signorecello
Copy link
Contributor

DevEx Change: Single Solidity Verifier

To clarify on effects, with my suggestion above the DevEx for generating one Solidity verifier would change from:

nargo codegen-verifier

to:

nargo compile
bb contract

We would already be at the ceiling of intuitiveness on separating the two toolings.

I agree we mostly care about 80% of users, who would be generating one Solidity verifier only.

But the proposed change is not as easy as just using two commands instead of one. Some problems come to mind:

  1. noirup installs nargo and according to Tom it won't install bb. Will there be a similar, easy script for bb? bbup? And in that case, will there be a script that runs both noirup and bbup? Doesn't that essentially mean the proposal above that, I agree, will take too much effort?
  2. Nargo documentation lives in Noir docs. Where will the documentation for bb live? I talked with @codygunton some time ago on practicing a bit with the Doxygen config they have, but decided to spare them from our incessant requests and docusaurus stuff.
  3. Related to the above, who exactly will own BB? If the solidity verifier breaks, I usually just reach out to the Noir team... Burning this bridge, we risk putting BB even more on the outside. There's no BB team.

I don't think the proposed separation on itself would mean net positive DevEx. Net positive DevEd, yes, as the user understands the clear separation between compiler and prover. But strictly speaking, this means more packages and more commands. That's not net positive DevEx. Even if we have an all-in-on noirbbup package as suggested above, the user still needs to install two packages, ensure their versions are compatible, use two commands, probably looking at two different websites for their documentation, etc.

I'm just concerned about throwing away some of the biggest assets we have: the all-mighty Nargo. People are delighted when they see it and realize "wait this thing compiles, tests, executes, proves, generates smart contract, all in one?"

@Savio-Sou
Copy link
Member

Savio-Sou commented May 13, 2024

@signorecello happy to talk through (1), (2) and (3), but maybe somewhere else to keep the thread focused on this PR.

we mostly care about 80% of users

I was thinking more >95% of users aren't frequently generating multiple Solidity verifiers. Were you simply speaking idiomatically, or are there projects that you know of that rely heavily on it?

@TomAFrench
Copy link
Member Author

TomAFrench commented May 13, 2024

Will there be a similar, easy script for bb? bbup?

Yeah, you could create a bbup script from noirup pretty easily. Just need to delete all of the code related to building from source.

Nargo documentation lives in Noir docs. Where will the documentation for bb live?

We should have examples of usage in the Noir docs for the time being. There should eventually be docs in the barretenberg repository for how to install/use bb at some point though imo, no need for a full docusaurus setup. At that point we can just link to that. Having decent output for bb --help would help greatly also.

Co-authored-by: Maxim Vezenov <mvezenov@gmail.com>
@TomAFrench
Copy link
Member Author

Opened issues.

This is the nuclear option of separating `nargo` and `bb`. Nargo no
longer downloads or interacts with `bb` at all.
@TomAFrench TomAFrench changed the title chore!: remove nargo codegen-verifier command chore!: remove backend interactions from nargo May 16, 2024
@TomAFrench TomAFrench enabled auto-merge (squash) May 16, 2024 19:49
@TomAFrench TomAFrench disabled auto-merge May 16, 2024 20:04
@TomAFrench
Copy link
Member Author

@TomAFrench TomAFrench enabled auto-merge (squash) May 17, 2024 00:37
Copy link
Contributor

Changes to circuit sizes

Generated at commit: 8726f99aa94bce84baa287de1c9a0c88ac719678, compared to commit: 1fa59637a0829208d382d1dded36df33f4d61582

🧾 Summary (100% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
public_kernel_setup +132,792 ❌ +152.17% +329,851 ❌ +99.61%
public_kernel_teardown +132,792 ❌ +151.80% +329,851 ❌ +99.52%
public_kernel_app_logic +133,092 ❌ +116.18% +363,656 ❌ +85.42%
public_kernel_tail +378,895 ❌ +58.26% +1,650,753 ❌ +80.18%
private_kernel_reset +84,515 ❌ +51.11% +744,823 ❌ +42.77%
private_kernel_init_simulated 0 ➖ 0.00% +720 ❌ +38.24%
private_kernel_inner_simulated 0 ➖ 0.00% +720 ❌ +38.24%
private_kernel_reset_simulated 0 ➖ 0.00% +720 ❌ +38.24%
private_kernel_tail_to_public_simulated 0 ➖ 0.00% +720 ❌ +25.95%
public_kernel_app_logic_simulated 0 ➖ 0.00% +720 ❌ +25.95%
public_kernel_setup_simulated 0 ➖ 0.00% +720 ❌ +25.95%
public_kernel_teardown_simulated 0 ➖ 0.00% +720 ❌ +25.95%
private_kernel_init +62,040 ❌ +37.97% +147,387 ❌ +21.68%
private_kernel_inner +67,920 ❌ +35.45% +289,939 ❌ +20.70%
private_kernel_tail +2,880 ❌ +1.50% +117,367 ❌ +9.85%
private_kernel_tail_to_public +3,600 ❌ +0.59% +118,809 ❌ +5.94%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
public_kernel_setup 220,059 (+132,792) +152.17% 661,008 (+329,851) +99.61%
public_kernel_teardown 220,273 (+132,792) +151.80% 661,309 (+329,851) +99.52%
public_kernel_app_logic 247,647 (+133,092) +116.18% 789,364 (+363,656) +85.42%
public_kernel_tail 1,029,192 (+378,895) +58.26% 3,709,601 (+1,650,753) +80.18%
private_kernel_reset 249,885 (+84,515) +51.11% 2,486,261 (+744,823) +42.77%
private_kernel_init_simulated 1 (0) 0.00% 2,603 (+720) +38.24%
private_kernel_inner_simulated 1 (0) 0.00% 2,603 (+720) +38.24%
private_kernel_reset_simulated 1 (0) 0.00% 2,603 (+720) +38.24%
private_kernel_tail_to_public_simulated 1 (0) 0.00% 3,495 (+720) +25.95%
public_kernel_app_logic_simulated 1 (0) 0.00% 3,495 (+720) +25.95%
public_kernel_setup_simulated 1 (0) 0.00% 3,495 (+720) +25.95%
public_kernel_teardown_simulated 1 (0) 0.00% 3,495 (+720) +25.95%
private_kernel_init 225,424 (+62,040) +37.97% 827,164 (+147,387) +21.68%
private_kernel_inner 259,525 (+67,920) +35.45% 1,690,457 (+289,939) +20.70%
private_kernel_tail 194,412 (+2,880) +1.50% 1,309,261 (+117,367) +9.85%
private_kernel_tail_to_public 611,589 (+3,600) +0.59% 2,119,608 (+118,809) +5.94%

@TomAFrench TomAFrench merged commit 7a31896 into master May 17, 2024
93 checks passed
@TomAFrench TomAFrench deleted the tf/remove-codegen-verifier branch May 17, 2024 10:16
rahul-kothari pushed a commit that referenced this pull request May 21, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.41.0</summary>

##
[0.41.0](aztec-package-v0.40.1...aztec-package-v0.41.0)
(2024-05-21)


### Miscellaneous

* **aztec-package:** Synchronize aztec-packages versions
</details>

<details><summary>barretenberg.js: 0.41.0</summary>

##
[0.41.0](barretenberg.js-v0.40.1...barretenberg.js-v0.41.0)
(2024-05-21)


### Features

* Vk_as_fields, proof_as_fields flows for honk
([#6406](#6406))
([a6100ad](a6100ad))


### Miscellaneous

* Remove acvmInfo from bb.js CLI
([#6507](#6507))
([e298c76](e298c76))
</details>

<details><summary>aztec-packages: 0.41.0</summary>

##
[0.41.0](aztec-packages-v0.40.1...aztec-packages-v0.41.0)
(2024-05-21)


### ⚠ BREAKING CHANGES

* compile-time incorrect exec environment errors
([#6442](#6442))
* add is_infinite to curve addition opcode
([#6384](#6384))
* remove backend interactions from `nargo`
([#6320](#6320))

### Features

* `npk_m_hash` in all notes + key rotation test
([#6405](#6405))
([74e98d4](74e98d4))
* Add encrypted log outgoing body
([#6334](#6334))
([fa9f442](fa9f442))
* Add first version of kernel reset circuit
([#6393](#6393))
([ed6df8e](ed6df8e))
* Add is_infinite to curve addition opcode
([#6384](#6384))
([75d81c5](75d81c5))
* Add native rust implementations of pedersen functions
(noir-lang/noir#4871)
([8bbbbb6](8bbbbb6))
* Add nullifying key to Token Note
([#6130](#6130))
([95c6b4a](95c6b4a))
* Adding autogenerated variants for the reset circuit
([#6508](#6508))
([8e8d2dd](8e8d2dd))
* **avm-simulator:** Cap gas for external calls
([#6479](#6479))
([c8771ba](c8771ba))
* **avm:** Gzip avm bytecode
([#6475](#6475))
([29559bd](29559bd))
* **avm:** To_radix gadget
([#6368](#6368))
([89dd25f](89dd25f))
* Benchmark private proving
([#6409](#6409))
([e9e5526](e9e5526))
* Compile-time incorrect exec environment errors
([#6442](#6442))
([0f75efd](0f75efd))
* Do not return databus returndata, keep it private.
(noir-lang/noir#5023)
([26f2197](26f2197))
* **docs:** Authwit how tos
([#6220](#6220))
([78f13d9](78f13d9))
* **docs:** Key rotation / owner -&gt; nullifier key docs
([#6538](#6538))
([2453ba8](2453ba8))
* Full encryption and decryption of log in ts
([#6348](#6348))
([0ac83dc](0ac83dc))
* Generic key validation request
([#6474](#6474))
([948ec38](948ec38))
* Improved ClientIvc
([#6429](#6429))
([f360b3f](f360b3f))
* Laying out a new recursion constraint for honk
([#6489](#6489))
([af9fea4](af9fea4))
* New docs structure
([#6195](#6195))
([9cca814](9cca814))
* Pay out arbitrary fee to coinbase on L1
([#6436](#6436))
([1b99de8](1b99de8))
* Remove total logs len from pre tail kernels + add to L1
([#6466](#6466))
([66a2d43](66a2d43))
* Run benchmarks for ACIR proving
([#6155](#6155))
([ebf6fc2](ebf6fc2))
* Squash transient note logs
([#6268](#6268))
([4574877](4574877))
* Sum transaction fees and pay on l1
([#6522](#6522))
([bf441da](bf441da))
* Translator recursive verifier
([#6327](#6327))
([9321aef](9321aef))
* Update the encrypted note log format
([#6411](#6411))
([e5cc9dc](e5cc9dc))
* Validate counters
([#6365](#6365))
([1f28b3a](1f28b3a))
* View functions with static context enforcing
([#6338](#6338))
([22ad5a5](22ad5a5))
* Vk_as_fields, proof_as_fields flows for honk
([#6406](#6406))
([a6100ad](a6100ad))


### Bug Fixes

* Arm ci
([#6480](#6480))
([237952e](237952e))
* Asset struct serialization does not match Noir internal serialization
([#6494](#6494))
([9e6a4c3](9e6a4c3))
* **avm-simulator:** Actually wrap oracles
([#6449](#6449))
([8685acc](8685acc))
* **avm-simulator:** Nested calls should preserve static context
([#6414](#6414))
([44d7916](44d7916))
* **avm-simulator:** Pending storage and nullifiers should be accessible
in grandchild nested calls
([#6428](#6428))
([84d2e1f](84d2e1f))
* Buggy e2e key registry test setup
([#6496](#6496))
([52d85d1](52d85d1))
* **ci:** ARM
([#6521](#6521))
([d1095f6](d1095f6))
* **ci:** Arm concurrency
([#6564](#6564))
([a265da0](a265da0))
* Disable buggy ClientIVC tests
([#6546](#6546))
([b61dea3](b61dea3))
* Disk attach edge case
([#6430](#6430))
([2366ad3](2366ad3))
* **docs:** Clarify content on portals
([#6431](#6431))
([869df4d](869df4d))
* Don't start multiple runners during RequestLimitExceeded
([#6444](#6444))
([7c4c822](7c4c822))
* Dont start multiple builders
([#6437](#6437))
([d67ab1c](d67ab1c))
* Fix no predicates for brillig with intermediate functions
(noir-lang/noir#5015)
([26f2197](26f2197))
* Fixed several vulnerabilities in U128, added some tests
(noir-lang/noir#5024)
([26f2197](26f2197))
* Increase N_max in Zeromorph
([#6415](#6415))
([9e643b4](9e643b4))
* Quick fix of
[#6405](#6405) by
removing context from value note utils
([#6509](#6509))
([3a4d828](3a4d828))
* Removed plain from path in array args of contract interfaces
([#6497](#6497))
([2b37729](2b37729))
* Runs-on inconsistency and simplify concurrency keys
([#6433](#6433))
([80674d9](80674d9))
* Spot retry fixup
([#6476](#6476))
([784d784](784d784))


### Miscellaneous

* Add benchmarks for pedersen and schnorr verification
(noir-lang/noir#5056)
([8bbbbb6](8bbbbb6))
* Add c++ tests for generator derivation
([#6528](#6528))
([72931bd](72931bd))
* Add script to print lines of code
(noir-lang/noir#4991)
([26f2197](26f2197))
* Add some docs on syncing noir
([#6340](#6340))
([bb68fcd](bb68fcd))
* Anvil kill wrapper now supports mac
([#6520](#6520))
([2a5d975](2a5d975))
* **avm:** Wrap oracles with unconstrained fns
([#6421](#6421))
([3e7e094](3e7e094))
* Bump earthly
([#6419](#6419))
([3d78751](3d78751))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([#6462](#6462))
([26eac62](26eac62))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([#6495](#6495))
([90d8092](90d8092))
* Change some error messages for avm switch
([#6447](#6447))
([74d6519](74d6519))
* **ci:** Better retry defaults
([#6472](#6472))
([b23f1fd](b23f1fd))
* **ci:** Consistency as external check
([#6460](#6460))
([6793a75](6793a75))
* **ci:** Dont detach ebs
([#6441](#6441))
([f933fc0](f933fc0))
* **ci:** Fix on-demand starting
([#6434](#6434))
([c3efb9c](c3efb9c))
* **ci:** Increase timeouts
([#6426](#6426))
([44986fe](44986fe))
* **ci:** Only run circleci on master
([#6525](#6525))
([c75fbd4](c75fbd4))
* **ci:** Push l1-contracts tests off of critical path
([#6400](#6400))
([ce0ae6d](ce0ae6d))
* **ci:** Reenable arm build
([#6455](#6455))
([2862767](2862767))
* **ci:** Require setup in merge-check
([#6454](#6454))
([ad73061](ad73061))
* **ci:** Spot capacity and reaping
([#6561](#6561))
([8c639b5](8c639b5))
* Clean up kernel types by removing is_static from function_data
([#6557](#6557))
([83ba29f](83ba29f))
* Cleanup the encrypted log incoming body
([#6325](#6325))
([e88c209](e88c209))
* Copy subset of constants to cpp
([#6544](#6544))
([21dc72a](21dc72a))
* Do not rebuild yarn-projects on bench-comment
([#6396](#6396))
([797115b](797115b))
* **docs:** Adding analytics
([#6350](#6350))
([6417cd9](6417cd9))
* **docs:** Restructure improvs
([#6502](#6502))
([c3b573e](c3b573e))
* Fix linter issues in AVM
([#6057](#6057))
([c2e72b1](c2e72b1))
* Fix logs upload to S3
([#6401](#6401))
([9df0602](9df0602))
* Fix migration notes
([#6458](#6458))
([bee85a9](bee85a9))
* Fix migration notes
([#6551](#6551))
([89bc350](89bc350))
* Fix notes 0.41.0
([#6461](#6461))
([04b0ec5](04b0ec5))
* Fix poor performance and long compile times in value_note.derement()
([#6523](#6523))
([002b4aa](002b4aa))
* Fix tester image copy pattern
([#6438](#6438))
([b892eae](b892eae))
* Get_nullifier_keys cleanup
([#6451](#6451))
([8a71fd5](8a71fd5))
* Lower max public bytecode to 20k
([#6477](#6477))
([ce192f0](ce192f0))
* Move `UPLOAD_LOGS` into root earthfile
([#6424](#6424))
([d723da9](d723da9))
* Nuking `KeyStore` and `KeyPair` interfaces
([#6553](#6553))
([23e0518](23e0518))
* Parameterise cycle_group by `Builder` rather than `Composer`
([#6565](#6565))
([ea36bf9](ea36bf9))
* Prefetch noir deps in earthly for caching
([#6556](#6556))
([8ee9060](8ee9060))
* Private call validation
([#6510](#6510))
([07dc072](07dc072))
* Purge secret and open keywords
([#6501](#6501))
([f9c74c4](f9c74c4)),
closes
[#5538](#5538)
* Recommend Noir and rust plugin
([#6558](#6558))
([298561f](298561f))
* Refactor key rotate and address comments from 6405
([#6450](#6450))
([6f3dab8](6f3dab8))
* Remove acvmInfo from bb.js CLI
([#6507](#6507))
([e298c76](e298c76))
* Remove backend interactions from `nargo`
([#6320](#6320))
([7a31896](7a31896))
* Replace relative paths to noir-protocol-circuits
([94ab877](94ab877))
* Replace relative paths to noir-protocol-circuits
([9f04bfe](9f04bfe))
* Replace relative paths to noir-protocol-circuits
([67f29e5](67f29e5))
* Replace relative paths to noir-protocol-circuits
([a7a4b86](a7a4b86))
* Replace relative paths to noir-protocol-circuits
([c6f61a4](c6f61a4))
* Share decider with ultra_prover
([#5467](#5467))
([b3b7376](b3b7376))
* Switch over to constructing gates report in bash
([#6491](#6491))
([1fa5963](1fa5963))
* **tests:** Change error messages in preparation for AVM
([#6422](#6422))
([6616dc6](6616dc6))


### Documentation

* Sumcheck documentation
([#5841](#5841))
([116eef0](116eef0))
* Updating key docs in concepts section
([#6387](#6387))
([921a7f4](921a7f4))
</details>

<details><summary>barretenberg: 0.41.0</summary>

##
[0.41.0](barretenberg-v0.40.1...barretenberg-v0.41.0)
(2024-05-21)


### ⚠ BREAKING CHANGES

* add is_infinite to curve addition opcode
([#6384](#6384))

### Features

* Add is_infinite to curve addition opcode
([#6384](#6384))
([75d81c5](75d81c5))
* **avm-simulator:** Cap gas for external calls
([#6479](#6479))
([c8771ba](c8771ba))
* **avm:** Gzip avm bytecode
([#6475](#6475))
([29559bd](29559bd))
* **avm:** To_radix gadget
([#6368](#6368))
([89dd25f](89dd25f))
* Full encryption and decryption of log in ts
([#6348](#6348))
([0ac83dc](0ac83dc))
* Improved ClientIvc
([#6429](#6429))
([f360b3f](f360b3f))
* Laying out a new recursion constraint for honk
([#6489](#6489))
([af9fea4](af9fea4))
* Remove total logs len from pre tail kernels + add to L1
([#6466](#6466))
([66a2d43](66a2d43))
* Run benchmarks for ACIR proving
([#6155](#6155))
([ebf6fc2](ebf6fc2))
* Squash transient note logs
([#6268](#6268))
([4574877](4574877))
* Sum transaction fees and pay on l1
([#6522](#6522))
([bf441da](bf441da))
* Translator recursive verifier
([#6327](#6327))
([9321aef](9321aef))
* View functions with static context enforcing
([#6338](#6338))
([22ad5a5](22ad5a5))
* Vk_as_fields, proof_as_fields flows for honk
([#6406](#6406))
([a6100ad](a6100ad))


### Bug Fixes

* Disable buggy ClientIVC tests
([#6546](#6546))
([b61dea3](b61dea3))
* Increase N_max in Zeromorph
([#6415](#6415))
([9e643b4](9e643b4))


### Miscellaneous

* Add c++ tests for generator derivation
([#6528](#6528))
([72931bd](72931bd))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([#6462](#6462))
([26eac62](26eac62))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([#6495](#6495))
([90d8092](90d8092))
* Copy subset of constants to cpp
([#6544](#6544))
([21dc72a](21dc72a))
* Lower max public bytecode to 20k
([#6477](#6477))
([ce192f0](ce192f0))
* Parameterise cycle_group by `Builder` rather than `Composer`
([#6565](#6565))
([ea36bf9](ea36bf9))
* Private call validation
([#6510](#6510))
([07dc072](07dc072))
* Share decider with ultra_prover
([#5467](#5467))
([b3b7376](b3b7376))


### Documentation

* Sumcheck documentation
([#5841](#5841))
([116eef0](116eef0))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
AztecBot added a commit to AztecProtocol/barretenberg that referenced this pull request May 22, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.41.0</summary>

##
[0.41.0](AztecProtocol/aztec-packages@aztec-package-v0.40.1...aztec-package-v0.41.0)
(2024-05-21)


### Miscellaneous

* **aztec-package:** Synchronize aztec-packages versions
</details>

<details><summary>barretenberg.js: 0.41.0</summary>

##
[0.41.0](AztecProtocol/aztec-packages@barretenberg.js-v0.40.1...barretenberg.js-v0.41.0)
(2024-05-21)


### Features

* Vk_as_fields, proof_as_fields flows for honk
([#6406](AztecProtocol/aztec-packages#6406))
([a6100ad](AztecProtocol/aztec-packages@a6100ad))


### Miscellaneous

* Remove acvmInfo from bb.js CLI
([#6507](AztecProtocol/aztec-packages#6507))
([e298c76](AztecProtocol/aztec-packages@e298c76))
</details>

<details><summary>aztec-packages: 0.41.0</summary>

##
[0.41.0](AztecProtocol/aztec-packages@aztec-packages-v0.40.1...aztec-packages-v0.41.0)
(2024-05-21)


### ⚠ BREAKING CHANGES

* compile-time incorrect exec environment errors
([#6442](AztecProtocol/aztec-packages#6442))
* add is_infinite to curve addition opcode
([#6384](AztecProtocol/aztec-packages#6384))
* remove backend interactions from `nargo`
([#6320](AztecProtocol/aztec-packages#6320))

### Features

* `npk_m_hash` in all notes + key rotation test
([#6405](AztecProtocol/aztec-packages#6405))
([74e98d4](AztecProtocol/aztec-packages@74e98d4))
* Add encrypted log outgoing body
([#6334](AztecProtocol/aztec-packages#6334))
([fa9f442](AztecProtocol/aztec-packages@fa9f442))
* Add first version of kernel reset circuit
([#6393](AztecProtocol/aztec-packages#6393))
([ed6df8e](AztecProtocol/aztec-packages@ed6df8e))
* Add is_infinite to curve addition opcode
([#6384](AztecProtocol/aztec-packages#6384))
([75d81c5](AztecProtocol/aztec-packages@75d81c5))
* Add native rust implementations of pedersen functions
(noir-lang/noir#4871)
([8bbbbb6](AztecProtocol/aztec-packages@8bbbbb6))
* Add nullifying key to Token Note
([#6130](AztecProtocol/aztec-packages#6130))
([95c6b4a](AztecProtocol/aztec-packages@95c6b4a))
* Adding autogenerated variants for the reset circuit
([#6508](AztecProtocol/aztec-packages#6508))
([8e8d2dd](AztecProtocol/aztec-packages@8e8d2dd))
* **avm-simulator:** Cap gas for external calls
([#6479](AztecProtocol/aztec-packages#6479))
([c8771ba](AztecProtocol/aztec-packages@c8771ba))
* **avm:** Gzip avm bytecode
([#6475](AztecProtocol/aztec-packages#6475))
([29559bd](AztecProtocol/aztec-packages@29559bd))
* **avm:** To_radix gadget
([#6368](AztecProtocol/aztec-packages#6368))
([89dd25f](AztecProtocol/aztec-packages@89dd25f))
* Benchmark private proving
([#6409](AztecProtocol/aztec-packages#6409))
([e9e5526](AztecProtocol/aztec-packages@e9e5526))
* Compile-time incorrect exec environment errors
([#6442](AztecProtocol/aztec-packages#6442))
([0f75efd](AztecProtocol/aztec-packages@0f75efd))
* Do not return databus returndata, keep it private.
(noir-lang/noir#5023)
([26f2197](AztecProtocol/aztec-packages@26f2197))
* **docs:** Authwit how tos
([#6220](AztecProtocol/aztec-packages#6220))
([78f13d9](AztecProtocol/aztec-packages@78f13d9))
* **docs:** Key rotation / owner -&gt; nullifier key docs
([#6538](AztecProtocol/aztec-packages#6538))
([2453ba8](AztecProtocol/aztec-packages@2453ba8))
* Full encryption and decryption of log in ts
([#6348](AztecProtocol/aztec-packages#6348))
([0ac83dc](AztecProtocol/aztec-packages@0ac83dc))
* Generic key validation request
([#6474](AztecProtocol/aztec-packages#6474))
([948ec38](AztecProtocol/aztec-packages@948ec38))
* Improved ClientIvc
([#6429](AztecProtocol/aztec-packages#6429))
([f360b3f](AztecProtocol/aztec-packages@f360b3f))
* Laying out a new recursion constraint for honk
([#6489](AztecProtocol/aztec-packages#6489))
([af9fea4](AztecProtocol/aztec-packages@af9fea4))
* New docs structure
([#6195](AztecProtocol/aztec-packages#6195))
([9cca814](AztecProtocol/aztec-packages@9cca814))
* Pay out arbitrary fee to coinbase on L1
([#6436](AztecProtocol/aztec-packages#6436))
([1b99de8](AztecProtocol/aztec-packages@1b99de8))
* Remove total logs len from pre tail kernels + add to L1
([#6466](AztecProtocol/aztec-packages#6466))
([66a2d43](AztecProtocol/aztec-packages@66a2d43))
* Run benchmarks for ACIR proving
([#6155](AztecProtocol/aztec-packages#6155))
([ebf6fc2](AztecProtocol/aztec-packages@ebf6fc2))
* Squash transient note logs
([#6268](AztecProtocol/aztec-packages#6268))
([4574877](AztecProtocol/aztec-packages@4574877))
* Sum transaction fees and pay on l1
([#6522](AztecProtocol/aztec-packages#6522))
([bf441da](AztecProtocol/aztec-packages@bf441da))
* Translator recursive verifier
([#6327](AztecProtocol/aztec-packages#6327))
([9321aef](AztecProtocol/aztec-packages@9321aef))
* Update the encrypted note log format
([#6411](AztecProtocol/aztec-packages#6411))
([e5cc9dc](AztecProtocol/aztec-packages@e5cc9dc))
* Validate counters
([#6365](AztecProtocol/aztec-packages#6365))
([1f28b3a](AztecProtocol/aztec-packages@1f28b3a))
* View functions with static context enforcing
([#6338](AztecProtocol/aztec-packages#6338))
([22ad5a5](AztecProtocol/aztec-packages@22ad5a5))
* Vk_as_fields, proof_as_fields flows for honk
([#6406](AztecProtocol/aztec-packages#6406))
([a6100ad](AztecProtocol/aztec-packages@a6100ad))


### Bug Fixes

* Arm ci
([#6480](AztecProtocol/aztec-packages#6480))
([237952e](AztecProtocol/aztec-packages@237952e))
* Asset struct serialization does not match Noir internal serialization
([#6494](AztecProtocol/aztec-packages#6494))
([9e6a4c3](AztecProtocol/aztec-packages@9e6a4c3))
* **avm-simulator:** Actually wrap oracles
([#6449](AztecProtocol/aztec-packages#6449))
([8685acc](AztecProtocol/aztec-packages@8685acc))
* **avm-simulator:** Nested calls should preserve static context
([#6414](AztecProtocol/aztec-packages#6414))
([44d7916](AztecProtocol/aztec-packages@44d7916))
* **avm-simulator:** Pending storage and nullifiers should be accessible
in grandchild nested calls
([#6428](AztecProtocol/aztec-packages#6428))
([84d2e1f](AztecProtocol/aztec-packages@84d2e1f))
* Buggy e2e key registry test setup
([#6496](AztecProtocol/aztec-packages#6496))
([52d85d1](AztecProtocol/aztec-packages@52d85d1))
* **ci:** ARM
([#6521](AztecProtocol/aztec-packages#6521))
([d1095f6](AztecProtocol/aztec-packages@d1095f6))
* **ci:** Arm concurrency
([#6564](AztecProtocol/aztec-packages#6564))
([a265da0](AztecProtocol/aztec-packages@a265da0))
* Disable buggy ClientIVC tests
([#6546](AztecProtocol/aztec-packages#6546))
([b61dea3](AztecProtocol/aztec-packages@b61dea3))
* Disk attach edge case
([#6430](AztecProtocol/aztec-packages#6430))
([2366ad3](AztecProtocol/aztec-packages@2366ad3))
* **docs:** Clarify content on portals
([#6431](AztecProtocol/aztec-packages#6431))
([869df4d](AztecProtocol/aztec-packages@869df4d))
* Don't start multiple runners during RequestLimitExceeded
([#6444](AztecProtocol/aztec-packages#6444))
([7c4c822](AztecProtocol/aztec-packages@7c4c822))
* Dont start multiple builders
([#6437](AztecProtocol/aztec-packages#6437))
([d67ab1c](AztecProtocol/aztec-packages@d67ab1c))
* Fix no predicates for brillig with intermediate functions
(noir-lang/noir#5015)
([26f2197](AztecProtocol/aztec-packages@26f2197))
* Fixed several vulnerabilities in U128, added some tests
(noir-lang/noir#5024)
([26f2197](AztecProtocol/aztec-packages@26f2197))
* Increase N_max in Zeromorph
([#6415](AztecProtocol/aztec-packages#6415))
([9e643b4](AztecProtocol/aztec-packages@9e643b4))
* Quick fix of
[#6405](AztecProtocol/aztec-packages#6405) by
removing context from value note utils
([#6509](AztecProtocol/aztec-packages#6509))
([3a4d828](AztecProtocol/aztec-packages@3a4d828))
* Removed plain from path in array args of contract interfaces
([#6497](AztecProtocol/aztec-packages#6497))
([2b37729](AztecProtocol/aztec-packages@2b37729))
* Runs-on inconsistency and simplify concurrency keys
([#6433](AztecProtocol/aztec-packages#6433))
([80674d9](AztecProtocol/aztec-packages@80674d9))
* Spot retry fixup
([#6476](AztecProtocol/aztec-packages#6476))
([784d784](AztecProtocol/aztec-packages@784d784))


### Miscellaneous

* Add benchmarks for pedersen and schnorr verification
(noir-lang/noir#5056)
([8bbbbb6](AztecProtocol/aztec-packages@8bbbbb6))
* Add c++ tests for generator derivation
([#6528](AztecProtocol/aztec-packages#6528))
([72931bd](AztecProtocol/aztec-packages@72931bd))
* Add script to print lines of code
(noir-lang/noir#4991)
([26f2197](AztecProtocol/aztec-packages@26f2197))
* Add some docs on syncing noir
([#6340](AztecProtocol/aztec-packages#6340))
([bb68fcd](AztecProtocol/aztec-packages@bb68fcd))
* Anvil kill wrapper now supports mac
([#6520](AztecProtocol/aztec-packages#6520))
([2a5d975](AztecProtocol/aztec-packages@2a5d975))
* **avm:** Wrap oracles with unconstrained fns
([#6421](AztecProtocol/aztec-packages#6421))
([3e7e094](AztecProtocol/aztec-packages@3e7e094))
* Bump earthly
([#6419](AztecProtocol/aztec-packages#6419))
([3d78751](AztecProtocol/aztec-packages@3d78751))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([#6462](AztecProtocol/aztec-packages#6462))
([26eac62](AztecProtocol/aztec-packages@26eac62))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([#6495](AztecProtocol/aztec-packages#6495))
([90d8092](AztecProtocol/aztec-packages@90d8092))
* Change some error messages for avm switch
([#6447](AztecProtocol/aztec-packages#6447))
([74d6519](AztecProtocol/aztec-packages@74d6519))
* **ci:** Better retry defaults
([#6472](AztecProtocol/aztec-packages#6472))
([b23f1fd](AztecProtocol/aztec-packages@b23f1fd))
* **ci:** Consistency as external check
([#6460](AztecProtocol/aztec-packages#6460))
([6793a75](AztecProtocol/aztec-packages@6793a75))
* **ci:** Dont detach ebs
([#6441](AztecProtocol/aztec-packages#6441))
([f933fc0](AztecProtocol/aztec-packages@f933fc0))
* **ci:** Fix on-demand starting
([#6434](AztecProtocol/aztec-packages#6434))
([c3efb9c](AztecProtocol/aztec-packages@c3efb9c))
* **ci:** Increase timeouts
([#6426](AztecProtocol/aztec-packages#6426))
([44986fe](AztecProtocol/aztec-packages@44986fe))
* **ci:** Only run circleci on master
([#6525](AztecProtocol/aztec-packages#6525))
([c75fbd4](AztecProtocol/aztec-packages@c75fbd4))
* **ci:** Push l1-contracts tests off of critical path
([#6400](AztecProtocol/aztec-packages#6400))
([ce0ae6d](AztecProtocol/aztec-packages@ce0ae6d))
* **ci:** Reenable arm build
([#6455](AztecProtocol/aztec-packages#6455))
([2862767](AztecProtocol/aztec-packages@2862767))
* **ci:** Require setup in merge-check
([#6454](AztecProtocol/aztec-packages#6454))
([ad73061](AztecProtocol/aztec-packages@ad73061))
* **ci:** Spot capacity and reaping
([#6561](AztecProtocol/aztec-packages#6561))
([8c639b5](AztecProtocol/aztec-packages@8c639b5))
* Clean up kernel types by removing is_static from function_data
([#6557](AztecProtocol/aztec-packages#6557))
([83ba29f](AztecProtocol/aztec-packages@83ba29f))
* Cleanup the encrypted log incoming body
([#6325](AztecProtocol/aztec-packages#6325))
([e88c209](AztecProtocol/aztec-packages@e88c209))
* Copy subset of constants to cpp
([#6544](AztecProtocol/aztec-packages#6544))
([21dc72a](AztecProtocol/aztec-packages@21dc72a))
* Do not rebuild yarn-projects on bench-comment
([#6396](AztecProtocol/aztec-packages#6396))
([797115b](AztecProtocol/aztec-packages@797115b))
* **docs:** Adding analytics
([#6350](AztecProtocol/aztec-packages#6350))
([6417cd9](AztecProtocol/aztec-packages@6417cd9))
* **docs:** Restructure improvs
([#6502](AztecProtocol/aztec-packages#6502))
([c3b573e](AztecProtocol/aztec-packages@c3b573e))
* Fix linter issues in AVM
([#6057](AztecProtocol/aztec-packages#6057))
([c2e72b1](AztecProtocol/aztec-packages@c2e72b1))
* Fix logs upload to S3
([#6401](AztecProtocol/aztec-packages#6401))
([9df0602](AztecProtocol/aztec-packages@9df0602))
* Fix migration notes
([#6458](AztecProtocol/aztec-packages#6458))
([bee85a9](AztecProtocol/aztec-packages@bee85a9))
* Fix migration notes
([#6551](AztecProtocol/aztec-packages#6551))
([89bc350](AztecProtocol/aztec-packages@89bc350))
* Fix notes 0.41.0
([#6461](AztecProtocol/aztec-packages#6461))
([04b0ec5](AztecProtocol/aztec-packages@04b0ec5))
* Fix poor performance and long compile times in value_note.derement()
([#6523](AztecProtocol/aztec-packages#6523))
([002b4aa](AztecProtocol/aztec-packages@002b4aa))
* Fix tester image copy pattern
([#6438](AztecProtocol/aztec-packages#6438))
([b892eae](AztecProtocol/aztec-packages@b892eae))
* Get_nullifier_keys cleanup
([#6451](AztecProtocol/aztec-packages#6451))
([8a71fd5](AztecProtocol/aztec-packages@8a71fd5))
* Lower max public bytecode to 20k
([#6477](AztecProtocol/aztec-packages#6477))
([ce192f0](AztecProtocol/aztec-packages@ce192f0))
* Move `UPLOAD_LOGS` into root earthfile
([#6424](AztecProtocol/aztec-packages#6424))
([d723da9](AztecProtocol/aztec-packages@d723da9))
* Nuking `KeyStore` and `KeyPair` interfaces
([#6553](AztecProtocol/aztec-packages#6553))
([23e0518](AztecProtocol/aztec-packages@23e0518))
* Parameterise cycle_group by `Builder` rather than `Composer`
([#6565](AztecProtocol/aztec-packages#6565))
([ea36bf9](AztecProtocol/aztec-packages@ea36bf9))
* Prefetch noir deps in earthly for caching
([#6556](AztecProtocol/aztec-packages#6556))
([8ee9060](AztecProtocol/aztec-packages@8ee9060))
* Private call validation
([#6510](AztecProtocol/aztec-packages#6510))
([07dc072](AztecProtocol/aztec-packages@07dc072))
* Purge secret and open keywords
([#6501](AztecProtocol/aztec-packages#6501))
([f9c74c4](AztecProtocol/aztec-packages@f9c74c4)),
closes
[#5538](AztecProtocol/aztec-packages#5538)
* Recommend Noir and rust plugin
([#6558](AztecProtocol/aztec-packages#6558))
([298561f](AztecProtocol/aztec-packages@298561f))
* Refactor key rotate and address comments from 6405
([#6450](AztecProtocol/aztec-packages#6450))
([6f3dab8](AztecProtocol/aztec-packages@6f3dab8))
* Remove acvmInfo from bb.js CLI
([#6507](AztecProtocol/aztec-packages#6507))
([e298c76](AztecProtocol/aztec-packages@e298c76))
* Remove backend interactions from `nargo`
([#6320](AztecProtocol/aztec-packages#6320))
([7a31896](AztecProtocol/aztec-packages@7a31896))
* Replace relative paths to noir-protocol-circuits
([94ab877](AztecProtocol/aztec-packages@94ab877))
* Replace relative paths to noir-protocol-circuits
([9f04bfe](AztecProtocol/aztec-packages@9f04bfe))
* Replace relative paths to noir-protocol-circuits
([67f29e5](AztecProtocol/aztec-packages@67f29e5))
* Replace relative paths to noir-protocol-circuits
([a7a4b86](AztecProtocol/aztec-packages@a7a4b86))
* Replace relative paths to noir-protocol-circuits
([c6f61a4](AztecProtocol/aztec-packages@c6f61a4))
* Share decider with ultra_prover
([#5467](AztecProtocol/aztec-packages#5467))
([b3b7376](AztecProtocol/aztec-packages@b3b7376))
* Switch over to constructing gates report in bash
([#6491](AztecProtocol/aztec-packages#6491))
([1fa5963](AztecProtocol/aztec-packages@1fa5963))
* **tests:** Change error messages in preparation for AVM
([#6422](AztecProtocol/aztec-packages#6422))
([6616dc6](AztecProtocol/aztec-packages@6616dc6))


### Documentation

* Sumcheck documentation
([#5841](AztecProtocol/aztec-packages#5841))
([116eef0](AztecProtocol/aztec-packages@116eef0))
* Updating key docs in concepts section
([#6387](AztecProtocol/aztec-packages#6387))
([921a7f4](AztecProtocol/aztec-packages@921a7f4))
</details>

<details><summary>barretenberg: 0.41.0</summary>

##
[0.41.0](AztecProtocol/aztec-packages@barretenberg-v0.40.1...barretenberg-v0.41.0)
(2024-05-21)


### ⚠ BREAKING CHANGES

* add is_infinite to curve addition opcode
([#6384](AztecProtocol/aztec-packages#6384))

### Features

* Add is_infinite to curve addition opcode
([#6384](AztecProtocol/aztec-packages#6384))
([75d81c5](AztecProtocol/aztec-packages@75d81c5))
* **avm-simulator:** Cap gas for external calls
([#6479](AztecProtocol/aztec-packages#6479))
([c8771ba](AztecProtocol/aztec-packages@c8771ba))
* **avm:** Gzip avm bytecode
([#6475](AztecProtocol/aztec-packages#6475))
([29559bd](AztecProtocol/aztec-packages@29559bd))
* **avm:** To_radix gadget
([#6368](AztecProtocol/aztec-packages#6368))
([89dd25f](AztecProtocol/aztec-packages@89dd25f))
* Full encryption and decryption of log in ts
([#6348](AztecProtocol/aztec-packages#6348))
([0ac83dc](AztecProtocol/aztec-packages@0ac83dc))
* Improved ClientIvc
([#6429](AztecProtocol/aztec-packages#6429))
([f360b3f](AztecProtocol/aztec-packages@f360b3f))
* Laying out a new recursion constraint for honk
([#6489](AztecProtocol/aztec-packages#6489))
([af9fea4](AztecProtocol/aztec-packages@af9fea4))
* Remove total logs len from pre tail kernels + add to L1
([#6466](AztecProtocol/aztec-packages#6466))
([66a2d43](AztecProtocol/aztec-packages@66a2d43))
* Run benchmarks for ACIR proving
([#6155](AztecProtocol/aztec-packages#6155))
([ebf6fc2](AztecProtocol/aztec-packages@ebf6fc2))
* Squash transient note logs
([#6268](AztecProtocol/aztec-packages#6268))
([4574877](AztecProtocol/aztec-packages@4574877))
* Sum transaction fees and pay on l1
([#6522](AztecProtocol/aztec-packages#6522))
([bf441da](AztecProtocol/aztec-packages@bf441da))
* Translator recursive verifier
([#6327](AztecProtocol/aztec-packages#6327))
([9321aef](AztecProtocol/aztec-packages@9321aef))
* View functions with static context enforcing
([#6338](AztecProtocol/aztec-packages#6338))
([22ad5a5](AztecProtocol/aztec-packages@22ad5a5))
* Vk_as_fields, proof_as_fields flows for honk
([#6406](AztecProtocol/aztec-packages#6406))
([a6100ad](AztecProtocol/aztec-packages@a6100ad))


### Bug Fixes

* Disable buggy ClientIVC tests
([#6546](AztecProtocol/aztec-packages#6546))
([b61dea3](AztecProtocol/aztec-packages@b61dea3))
* Increase N_max in Zeromorph
([#6415](AztecProtocol/aztec-packages#6415))
([9e643b4](AztecProtocol/aztec-packages@9e643b4))


### Miscellaneous

* Add c++ tests for generator derivation
([#6528](AztecProtocol/aztec-packages#6528))
([72931bd](AztecProtocol/aztec-packages@72931bd))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([#6462](AztecProtocol/aztec-packages#6462))
([26eac62](AztecProtocol/aztec-packages@26eac62))
* Bump maximum nullifier read requests (necessary for e2e tests in AVM)
([#6495](AztecProtocol/aztec-packages#6495))
([90d8092](AztecProtocol/aztec-packages@90d8092))
* Copy subset of constants to cpp
([#6544](AztecProtocol/aztec-packages#6544))
([21dc72a](AztecProtocol/aztec-packages@21dc72a))
* Lower max public bytecode to 20k
([#6477](AztecProtocol/aztec-packages#6477))
([ce192f0](AztecProtocol/aztec-packages@ce192f0))
* Parameterise cycle_group by `Builder` rather than `Composer`
([#6565](AztecProtocol/aztec-packages#6565))
([ea36bf9](AztecProtocol/aztec-packages@ea36bf9))
* Private call validation
([#6510](AztecProtocol/aztec-packages#6510))
([07dc072](AztecProtocol/aztec-packages@07dc072))
* Share decider with ultra_prover
([#5467](AztecProtocol/aztec-packages#5467))
([b3b7376](AztecProtocol/aztec-packages@b3b7376))


### Documentation

* Sumcheck documentation
([#5841](AztecProtocol/aztec-packages#5841))
([116eef0](AztecProtocol/aztec-packages@116eef0))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
github-merge-queue bot pushed a commit to noir-lang/noir that referenced this pull request May 22, 2024
Automated pull of Noir development from
[aztec-packages](https://github.com/AztecProtocol/aztec-packages).
BEGIN_COMMIT_OVERRIDE
feat: Sync from noir
(AztecProtocol/aztec-packages#6573)
feat!: compile-time incorrect exec environment errors
(AztecProtocol/aztec-packages#6442)
feat: Sync from noir
(AztecProtocol/aztec-packages#6555)
feat: View functions with static context enforcing
(AztecProtocol/aztec-packages#6338)
feat!: add is_infinite to curve addition opcode
(AztecProtocol/aztec-packages#6384)
feat: Sync from noir
(AztecProtocol/aztec-packages#6500)
chore!: remove backend interactions from `nargo`
(AztecProtocol/aztec-packages#6320)
fix: removed plain from path in array args of contract interfaces
(AztecProtocol/aztec-packages#6497)
chore: bump maximum nullifier read requests (necessary for e2e tests in
AVM) (AztecProtocol/aztec-packages#6495)
Revert "chore: bump maximum nullifier read requests (necessary for e2e
tests in AVM)"
(AztecProtocol/aztec-packages#6483)
chore: bump maximum nullifier read requests (necessary for e2e tests in
AVM) (AztecProtocol/aztec-packages#6462)
fix: Check for public args in aztec functions
(AztecProtocol/aztec-packages#6355)
feat: Move abi demonomorphizer to noir_codegen and use noir_codegen in
protocol types
(AztecProtocol/aztec-packages#6302)
feat!: switch `bb` over to read ACIR from nargo artifacts
(AztecProtocol/aztec-packages#6283)
feat: ToRadix BB + avm transpiler support
(AztecProtocol/aztec-packages#6330)
feat: Sync from noir
(AztecProtocol/aztec-packages#6332)
fix: temporarily revert to_radix blackbox
(AztecProtocol/aztec-packages#6304)
feat: move to_radix to a blackbox
(AztecProtocol/aztec-packages#6294)
chore: skip formatting informattable comments
(AztecProtocol/aztec-packages#6288)
chore(dsl): Update backend gateCount command to query a Program in a
single request
(AztecProtocol/aztec-packages#6228)
feat: Private Kernel Recursion
(AztecProtocol/aztec-packages#6278)
feat: Proper padding in ts AES and constrained AES in body and header
computations (AztecProtocol/aztec-packages#6269)
chore: simplify nargo CLI to read from artifacts
(AztecProtocol/aztec-packages#6279)
feat: Sync from noir
(AztecProtocol/aztec-packages#6280)
chore: enforce formatting of noir code
(AztecProtocol/aztec-packages#6271)
feat!: specify databus arrays for BB
(AztecProtocol/aztec-packages#6239)
END_COMMIT_OVERRIDE

---------

Co-authored-by: TomAFrench <tom@tomfren.ch>
TomAFrench added a commit that referenced this pull request May 22, 2024
As of #6320, we're now expecting users to maintain an installation of
`bb` and update its version as required.

To help with this, this PR adds an ultra dumb `bbup` script fashioned
from `noirup` which only allows installing released versions of `bb`.
This means that users can run `bbup -v 0.38.0` to install 0.38.0 of
`bb`.

Happy to make any changes as requested.
github-merge-queue bot pushed a commit to noir-lang/noir that referenced this pull request May 22, 2024
Automated pull of Noir development from
[aztec-packages](https://github.com/AztecProtocol/aztec-packages).
BEGIN_COMMIT_OVERRIDE
feat: Sync from noir
(AztecProtocol/aztec-packages#6573)
feat!: compile-time incorrect exec environment errors
(AztecProtocol/aztec-packages#6442)
feat: Sync from noir
(AztecProtocol/aztec-packages#6555)
feat: View functions with static context enforcing
(AztecProtocol/aztec-packages#6338)
feat!: add is_infinite to curve addition opcode
(AztecProtocol/aztec-packages#6384)
feat: Sync from noir
(AztecProtocol/aztec-packages#6500)
chore!: remove backend interactions from `nargo`
(AztecProtocol/aztec-packages#6320)
fix: removed plain from path in array args of contract interfaces
(AztecProtocol/aztec-packages#6497)
chore: bump maximum nullifier read requests (necessary for e2e tests in
AVM) (AztecProtocol/aztec-packages#6495)
Revert "chore: bump maximum nullifier read requests (necessary for e2e
tests in AVM)"
(AztecProtocol/aztec-packages#6483)
chore: bump maximum nullifier read requests (necessary for e2e tests in
AVM) (AztecProtocol/aztec-packages#6462)
fix: Check for public args in aztec functions
(AztecProtocol/aztec-packages#6355)
feat: Move abi demonomorphizer to noir_codegen and use noir_codegen in
protocol types
(AztecProtocol/aztec-packages#6302)
feat!: switch `bb` over to read ACIR from nargo artifacts
(AztecProtocol/aztec-packages#6283)
feat: ToRadix BB + avm transpiler support
(AztecProtocol/aztec-packages#6330)
feat: Sync from noir
(AztecProtocol/aztec-packages#6332)
fix: temporarily revert to_radix blackbox
(AztecProtocol/aztec-packages#6304)
feat: move to_radix to a blackbox
(AztecProtocol/aztec-packages#6294)
chore: skip formatting informattable comments
(AztecProtocol/aztec-packages#6288)
chore(dsl): Update backend gateCount command to query a Program in a
single request
(AztecProtocol/aztec-packages#6228)
feat: Private Kernel Recursion
(AztecProtocol/aztec-packages#6278)
feat: Proper padding in ts AES and constrained AES in body and header
computations (AztecProtocol/aztec-packages#6269)
chore: simplify nargo CLI to read from artifacts
(AztecProtocol/aztec-packages#6279)
feat: Sync from noir
(AztecProtocol/aztec-packages#6280)
chore: enforce formatting of noir code
(AztecProtocol/aztec-packages#6271)
feat!: specify databus arrays for BB
(AztecProtocol/aztec-packages#6239)
END_COMMIT_OVERRIDE

---------

Co-authored-by: TomAFrench <tom@tomfren.ch>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment