-
Notifications
You must be signed in to change notification settings - Fork 270
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
Conversation
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.
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 👍
As discussed on slack, the solution is for us to have good interop between nargo artifacts and |
Note that the UX from this change goes from
to
which after some UX changes to
|
2c02fb8
to
6a9a04c
Compare
6a9a04c
to
96b58f7
Compare
This 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 🤝 |
Happy to discuss audit timelines if we're taking Noir development resources to rewrite all of Noir's workspace logic in C++. |
Good point. To clarify I was thinking of an aim to add default behaviors (if they don'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:
at least not today (@AztecProtocol/devrel to confirm). On that assumption, offering a reference bash script and kicking the |
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 |
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. |
a0e3c84
to
836b861
Compare
@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 positiveThe 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.
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 VerifierTo clarify on effects, with my suggestion above the DevEx for generating one Solidity verifier would change from:
to:
We would already be at the ceiling of intuitiveness on separating the two toolings. DevEx Change: Multiple Solidity VerifierThe intermediate DevEx deterioration (until workspace support is introduced in barretenberg tooling) lies with generating multiple Solidity verifiers, which would change from:
to:
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 🙏 |
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:
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 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?" |
@signorecello happy to talk through (1), (2) and (3), but maybe somewhere else to keep the thread focused on this PR.
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? |
Yeah, you could create a
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 |
Opened issues. |
nargo codegen-verifier
commandnargo
Closes noir-lang/noir#4447 |
Changes to circuit sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
🤖 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 -> 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).
🤖 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 -> 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).
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>
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.
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>
🤖 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) * **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) * Vk_as_fields, proof_as_fields flows for honk ([AztecProtocol#6406](AztecProtocol#6406)) ([a6100ad](AztecProtocol@a6100ad)) * Remove acvmInfo from bb.js CLI ([AztecProtocol#6507](AztecProtocol#6507)) ([e298c76](AztecProtocol@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) * compile-time incorrect exec environment errors ([AztecProtocol#6442](AztecProtocol#6442)) * add is_infinite to curve addition opcode ([AztecProtocol#6384](AztecProtocol#6384)) * remove backend interactions from `nargo` ([AztecProtocol#6320](AztecProtocol#6320)) * `npk_m_hash` in all notes + key rotation test ([AztecProtocol#6405](AztecProtocol#6405)) ([74e98d4](AztecProtocol@74e98d4)) * Add encrypted log outgoing body ([AztecProtocol#6334](AztecProtocol#6334)) ([fa9f442](AztecProtocol@fa9f442)) * Add first version of kernel reset circuit ([AztecProtocol#6393](AztecProtocol#6393)) ([ed6df8e](AztecProtocol@ed6df8e)) * Add is_infinite to curve addition opcode ([AztecProtocol#6384](AztecProtocol#6384)) ([75d81c5](AztecProtocol@75d81c5)) * Add native rust implementations of pedersen functions (noir-lang/noir#4871) ([8bbbbb6](AztecProtocol@8bbbbb6)) * Add nullifying key to Token Note ([AztecProtocol#6130](AztecProtocol#6130)) ([95c6b4a](AztecProtocol@95c6b4a)) * Adding autogenerated variants for the reset circuit ([AztecProtocol#6508](AztecProtocol#6508)) ([8e8d2dd](AztecProtocol@8e8d2dd)) * **avm-simulator:** Cap gas for external calls ([AztecProtocol#6479](AztecProtocol#6479)) ([c8771ba](AztecProtocol@c8771ba)) * **avm:** Gzip avm bytecode ([AztecProtocol#6475](AztecProtocol#6475)) ([29559bd](AztecProtocol@29559bd)) * **avm:** To_radix gadget ([AztecProtocol#6368](AztecProtocol#6368)) ([89dd25f](AztecProtocol@89dd25f)) * Benchmark private proving ([AztecProtocol#6409](AztecProtocol#6409)) ([e9e5526](AztecProtocol@e9e5526)) * Compile-time incorrect exec environment errors ([AztecProtocol#6442](AztecProtocol#6442)) ([0f75efd](AztecProtocol@0f75efd)) * Do not return databus returndata, keep it private. (noir-lang/noir#5023) ([26f2197](AztecProtocol@26f2197)) * **docs:** Authwit how tos ([AztecProtocol#6220](AztecProtocol#6220)) ([78f13d9](AztecProtocol@78f13d9)) * **docs:** Key rotation / owner -> nullifier key docs ([AztecProtocol#6538](AztecProtocol#6538)) ([2453ba8](AztecProtocol@2453ba8)) * Full encryption and decryption of log in ts ([AztecProtocol#6348](AztecProtocol#6348)) ([0ac83dc](AztecProtocol@0ac83dc)) * Generic key validation request ([AztecProtocol#6474](AztecProtocol#6474)) ([948ec38](AztecProtocol@948ec38)) * Improved ClientIvc ([AztecProtocol#6429](AztecProtocol#6429)) ([f360b3f](AztecProtocol@f360b3f)) * Laying out a new recursion constraint for honk ([AztecProtocol#6489](AztecProtocol#6489)) ([af9fea4](AztecProtocol@af9fea4)) * New docs structure ([AztecProtocol#6195](AztecProtocol#6195)) ([9cca814](AztecProtocol@9cca814)) * Pay out arbitrary fee to coinbase on L1 ([AztecProtocol#6436](AztecProtocol#6436)) ([1b99de8](AztecProtocol@1b99de8)) * Remove total logs len from pre tail kernels + add to L1 ([AztecProtocol#6466](AztecProtocol#6466)) ([66a2d43](AztecProtocol@66a2d43)) * Run benchmarks for ACIR proving ([AztecProtocol#6155](AztecProtocol#6155)) ([ebf6fc2](AztecProtocol@ebf6fc2)) * Squash transient note logs ([AztecProtocol#6268](AztecProtocol#6268)) ([4574877](AztecProtocol@4574877)) * Sum transaction fees and pay on l1 ([AztecProtocol#6522](AztecProtocol#6522)) ([bf441da](AztecProtocol@bf441da)) * Translator recursive verifier ([AztecProtocol#6327](AztecProtocol#6327)) ([9321aef](AztecProtocol@9321aef)) * Update the encrypted note log format ([AztecProtocol#6411](AztecProtocol#6411)) ([e5cc9dc](AztecProtocol@e5cc9dc)) * Validate counters ([AztecProtocol#6365](AztecProtocol#6365)) ([1f28b3a](AztecProtocol@1f28b3a)) * View functions with static context enforcing ([AztecProtocol#6338](AztecProtocol#6338)) ([22ad5a5](AztecProtocol@22ad5a5)) * Vk_as_fields, proof_as_fields flows for honk ([AztecProtocol#6406](AztecProtocol#6406)) ([a6100ad](AztecProtocol@a6100ad)) * Arm ci ([AztecProtocol#6480](AztecProtocol#6480)) ([237952e](AztecProtocol@237952e)) * Asset struct serialization does not match Noir internal serialization ([AztecProtocol#6494](AztecProtocol#6494)) ([9e6a4c3](AztecProtocol@9e6a4c3)) * **avm-simulator:** Actually wrap oracles ([AztecProtocol#6449](AztecProtocol#6449)) ([8685acc](AztecProtocol@8685acc)) * **avm-simulator:** Nested calls should preserve static context ([AztecProtocol#6414](AztecProtocol#6414)) ([44d7916](AztecProtocol@44d7916)) * **avm-simulator:** Pending storage and nullifiers should be accessible in grandchild nested calls ([AztecProtocol#6428](AztecProtocol#6428)) ([84d2e1f](AztecProtocol@84d2e1f)) * Buggy e2e key registry test setup ([AztecProtocol#6496](AztecProtocol#6496)) ([52d85d1](AztecProtocol@52d85d1)) * **ci:** ARM ([AztecProtocol#6521](AztecProtocol#6521)) ([d1095f6](AztecProtocol@d1095f6)) * **ci:** Arm concurrency ([AztecProtocol#6564](AztecProtocol#6564)) ([a265da0](AztecProtocol@a265da0)) * Disable buggy ClientIVC tests ([AztecProtocol#6546](AztecProtocol#6546)) ([b61dea3](AztecProtocol@b61dea3)) * Disk attach edge case ([AztecProtocol#6430](AztecProtocol#6430)) ([2366ad3](AztecProtocol@2366ad3)) * **docs:** Clarify content on portals ([AztecProtocol#6431](AztecProtocol#6431)) ([869df4d](AztecProtocol@869df4d)) * Don't start multiple runners during RequestLimitExceeded ([AztecProtocol#6444](AztecProtocol#6444)) ([7c4c822](AztecProtocol@7c4c822)) * Dont start multiple builders ([AztecProtocol#6437](AztecProtocol#6437)) ([d67ab1c](AztecProtocol@d67ab1c)) * Fix no predicates for brillig with intermediate functions (noir-lang/noir#5015) ([26f2197](AztecProtocol@26f2197)) * Fixed several vulnerabilities in U128, added some tests (noir-lang/noir#5024) ([26f2197](AztecProtocol@26f2197)) * Increase N_max in Zeromorph ([AztecProtocol#6415](AztecProtocol#6415)) ([9e643b4](AztecProtocol@9e643b4)) * Quick fix of [AztecProtocol#6405](AztecProtocol#6405) by removing context from value note utils ([AztecProtocol#6509](AztecProtocol#6509)) ([3a4d828](AztecProtocol@3a4d828)) * Removed plain from path in array args of contract interfaces ([AztecProtocol#6497](AztecProtocol#6497)) ([2b37729](AztecProtocol@2b37729)) * Runs-on inconsistency and simplify concurrency keys ([AztecProtocol#6433](AztecProtocol#6433)) ([80674d9](AztecProtocol@80674d9)) * Spot retry fixup ([AztecProtocol#6476](AztecProtocol#6476)) ([784d784](AztecProtocol@784d784)) * Add benchmarks for pedersen and schnorr verification (noir-lang/noir#5056) ([8bbbbb6](AztecProtocol@8bbbbb6)) * Add c++ tests for generator derivation ([AztecProtocol#6528](AztecProtocol#6528)) ([72931bd](AztecProtocol@72931bd)) * Add script to print lines of code (noir-lang/noir#4991) ([26f2197](AztecProtocol@26f2197)) * Add some docs on syncing noir ([AztecProtocol#6340](AztecProtocol#6340)) ([bb68fcd](AztecProtocol@bb68fcd)) * Anvil kill wrapper now supports mac ([AztecProtocol#6520](AztecProtocol#6520)) ([2a5d975](AztecProtocol@2a5d975)) * **avm:** Wrap oracles with unconstrained fns ([AztecProtocol#6421](AztecProtocol#6421)) ([3e7e094](AztecProtocol@3e7e094)) * Bump earthly ([AztecProtocol#6419](AztecProtocol#6419)) ([3d78751](AztecProtocol@3d78751)) * Bump maximum nullifier read requests (necessary for e2e tests in AVM) ([AztecProtocol#6462](AztecProtocol#6462)) ([26eac62](AztecProtocol@26eac62)) * Bump maximum nullifier read requests (necessary for e2e tests in AVM) ([AztecProtocol#6495](AztecProtocol#6495)) ([90d8092](AztecProtocol@90d8092)) * Change some error messages for avm switch ([AztecProtocol#6447](AztecProtocol#6447)) ([74d6519](AztecProtocol@74d6519)) * **ci:** Better retry defaults ([AztecProtocol#6472](AztecProtocol#6472)) ([b23f1fd](AztecProtocol@b23f1fd)) * **ci:** Consistency as external check ([AztecProtocol#6460](AztecProtocol#6460)) ([6793a75](AztecProtocol@6793a75)) * **ci:** Dont detach ebs ([AztecProtocol#6441](AztecProtocol#6441)) ([f933fc0](AztecProtocol@f933fc0)) * **ci:** Fix on-demand starting ([AztecProtocol#6434](AztecProtocol#6434)) ([c3efb9c](AztecProtocol@c3efb9c)) * **ci:** Increase timeouts ([AztecProtocol#6426](AztecProtocol#6426)) ([44986fe](AztecProtocol@44986fe)) * **ci:** Only run circleci on master ([AztecProtocol#6525](AztecProtocol#6525)) ([c75fbd4](AztecProtocol@c75fbd4)) * **ci:** Push l1-contracts tests off of critical path ([AztecProtocol#6400](AztecProtocol#6400)) ([ce0ae6d](AztecProtocol@ce0ae6d)) * **ci:** Reenable arm build ([AztecProtocol#6455](AztecProtocol#6455)) ([2862767](AztecProtocol@2862767)) * **ci:** Require setup in merge-check ([AztecProtocol#6454](AztecProtocol#6454)) ([ad73061](AztecProtocol@ad73061)) * **ci:** Spot capacity and reaping ([AztecProtocol#6561](AztecProtocol#6561)) ([8c639b5](AztecProtocol@8c639b5)) * Clean up kernel types by removing is_static from function_data ([AztecProtocol#6557](AztecProtocol#6557)) ([83ba29f](AztecProtocol@83ba29f)) * Cleanup the encrypted log incoming body ([AztecProtocol#6325](AztecProtocol#6325)) ([e88c209](AztecProtocol@e88c209)) * Copy subset of constants to cpp ([AztecProtocol#6544](AztecProtocol#6544)) ([21dc72a](AztecProtocol@21dc72a)) * Do not rebuild yarn-projects on bench-comment ([AztecProtocol#6396](AztecProtocol#6396)) ([797115b](AztecProtocol@797115b)) * **docs:** Adding analytics ([AztecProtocol#6350](AztecProtocol#6350)) ([6417cd9](AztecProtocol@6417cd9)) * **docs:** Restructure improvs ([AztecProtocol#6502](AztecProtocol#6502)) ([c3b573e](AztecProtocol@c3b573e)) * Fix linter issues in AVM ([AztecProtocol#6057](AztecProtocol#6057)) ([c2e72b1](AztecProtocol@c2e72b1)) * Fix logs upload to S3 ([AztecProtocol#6401](AztecProtocol#6401)) ([9df0602](AztecProtocol@9df0602)) * Fix migration notes ([AztecProtocol#6458](AztecProtocol#6458)) ([bee85a9](AztecProtocol@bee85a9)) * Fix migration notes ([AztecProtocol#6551](AztecProtocol#6551)) ([89bc350](AztecProtocol@89bc350)) * Fix notes 0.41.0 ([AztecProtocol#6461](AztecProtocol#6461)) ([04b0ec5](AztecProtocol@04b0ec5)) * Fix poor performance and long compile times in value_note.derement() ([AztecProtocol#6523](AztecProtocol#6523)) ([002b4aa](AztecProtocol@002b4aa)) * Fix tester image copy pattern ([AztecProtocol#6438](AztecProtocol#6438)) ([b892eae](AztecProtocol@b892eae)) * Get_nullifier_keys cleanup ([AztecProtocol#6451](AztecProtocol#6451)) ([8a71fd5](AztecProtocol@8a71fd5)) * Lower max public bytecode to 20k ([AztecProtocol#6477](AztecProtocol#6477)) ([ce192f0](AztecProtocol@ce192f0)) * Move `UPLOAD_LOGS` into root earthfile ([AztecProtocol#6424](AztecProtocol#6424)) ([d723da9](AztecProtocol@d723da9)) * Nuking `KeyStore` and `KeyPair` interfaces ([AztecProtocol#6553](AztecProtocol#6553)) ([23e0518](AztecProtocol@23e0518)) * Parameterise cycle_group by `Builder` rather than `Composer` ([AztecProtocol#6565](AztecProtocol#6565)) ([ea36bf9](AztecProtocol@ea36bf9)) * Prefetch noir deps in earthly for caching ([AztecProtocol#6556](AztecProtocol#6556)) ([8ee9060](AztecProtocol@8ee9060)) * Private call validation ([AztecProtocol#6510](AztecProtocol#6510)) ([07dc072](AztecProtocol@07dc072)) * Purge secret and open keywords ([AztecProtocol#6501](AztecProtocol#6501)) ([f9c74c4](AztecProtocol@f9c74c4)), closes [AztecProtocol#5538](AztecProtocol#5538) * Recommend Noir and rust plugin ([AztecProtocol#6558](AztecProtocol#6558)) ([298561f](AztecProtocol@298561f)) * Refactor key rotate and address comments from 6405 ([AztecProtocol#6450](AztecProtocol#6450)) ([6f3dab8](AztecProtocol@6f3dab8)) * Remove acvmInfo from bb.js CLI ([AztecProtocol#6507](AztecProtocol#6507)) ([e298c76](AztecProtocol@e298c76)) * Remove backend interactions from `nargo` ([AztecProtocol#6320](AztecProtocol#6320)) ([7a31896](AztecProtocol@7a31896)) * Replace relative paths to noir-protocol-circuits ([94ab877](AztecProtocol@94ab877)) * Replace relative paths to noir-protocol-circuits ([9f04bfe](AztecProtocol@9f04bfe)) * Replace relative paths to noir-protocol-circuits ([67f29e5](AztecProtocol@67f29e5)) * Replace relative paths to noir-protocol-circuits ([a7a4b86](AztecProtocol@a7a4b86)) * Replace relative paths to noir-protocol-circuits ([c6f61a4](AztecProtocol@c6f61a4)) * Share decider with ultra_prover ([AztecProtocol#5467](AztecProtocol#5467)) ([b3b7376](AztecProtocol@b3b7376)) * Switch over to constructing gates report in bash ([AztecProtocol#6491](AztecProtocol#6491)) ([1fa5963](AztecProtocol@1fa5963)) * **tests:** Change error messages in preparation for AVM ([AztecProtocol#6422](AztecProtocol#6422)) ([6616dc6](AztecProtocol@6616dc6)) * Sumcheck documentation ([AztecProtocol#5841](AztecProtocol#5841)) ([116eef0](AztecProtocol@116eef0)) * Updating key docs in concepts section ([AztecProtocol#6387](AztecProtocol#6387)) ([921a7f4](AztecProtocol@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) * add is_infinite to curve addition opcode ([AztecProtocol#6384](AztecProtocol#6384)) * Add is_infinite to curve addition opcode ([AztecProtocol#6384](AztecProtocol#6384)) ([75d81c5](AztecProtocol@75d81c5)) * **avm-simulator:** Cap gas for external calls ([AztecProtocol#6479](AztecProtocol#6479)) ([c8771ba](AztecProtocol@c8771ba)) * **avm:** Gzip avm bytecode ([AztecProtocol#6475](AztecProtocol#6475)) ([29559bd](AztecProtocol@29559bd)) * **avm:** To_radix gadget ([AztecProtocol#6368](AztecProtocol#6368)) ([89dd25f](AztecProtocol@89dd25f)) * Full encryption and decryption of log in ts ([AztecProtocol#6348](AztecProtocol#6348)) ([0ac83dc](AztecProtocol@0ac83dc)) * Improved ClientIvc ([AztecProtocol#6429](AztecProtocol#6429)) ([f360b3f](AztecProtocol@f360b3f)) * Laying out a new recursion constraint for honk ([AztecProtocol#6489](AztecProtocol#6489)) ([af9fea4](AztecProtocol@af9fea4)) * Remove total logs len from pre tail kernels + add to L1 ([AztecProtocol#6466](AztecProtocol#6466)) ([66a2d43](AztecProtocol@66a2d43)) * Run benchmarks for ACIR proving ([AztecProtocol#6155](AztecProtocol#6155)) ([ebf6fc2](AztecProtocol@ebf6fc2)) * Squash transient note logs ([AztecProtocol#6268](AztecProtocol#6268)) ([4574877](AztecProtocol@4574877)) * Sum transaction fees and pay on l1 ([AztecProtocol#6522](AztecProtocol#6522)) ([bf441da](AztecProtocol@bf441da)) * Translator recursive verifier ([AztecProtocol#6327](AztecProtocol#6327)) ([9321aef](AztecProtocol@9321aef)) * View functions with static context enforcing ([AztecProtocol#6338](AztecProtocol#6338)) ([22ad5a5](AztecProtocol@22ad5a5)) * Vk_as_fields, proof_as_fields flows for honk ([AztecProtocol#6406](AztecProtocol#6406)) ([a6100ad](AztecProtocol@a6100ad)) * Disable buggy ClientIVC tests ([AztecProtocol#6546](AztecProtocol#6546)) ([b61dea3](AztecProtocol@b61dea3)) * Increase N_max in Zeromorph ([AztecProtocol#6415](AztecProtocol#6415)) ([9e643b4](AztecProtocol@9e643b4)) * Add c++ tests for generator derivation ([AztecProtocol#6528](AztecProtocol#6528)) ([72931bd](AztecProtocol@72931bd)) * Bump maximum nullifier read requests (necessary for e2e tests in AVM) ([AztecProtocol#6462](AztecProtocol#6462)) ([26eac62](AztecProtocol@26eac62)) * Bump maximum nullifier read requests (necessary for e2e tests in AVM) ([AztecProtocol#6495](AztecProtocol#6495)) ([90d8092](AztecProtocol@90d8092)) * Copy subset of constants to cpp ([AztecProtocol#6544](AztecProtocol#6544)) ([21dc72a](AztecProtocol@21dc72a)) * Lower max public bytecode to 20k ([AztecProtocol#6477](AztecProtocol#6477)) ([ce192f0](AztecProtocol@ce192f0)) * Parameterise cycle_group by `Builder` rather than `Composer` ([AztecProtocol#6565](AztecProtocol#6565)) ([ea36bf9](AztecProtocol@ea36bf9)) * Private call validation ([AztecProtocol#6510](AztecProtocol#6510)) ([07dc072](AztecProtocol@07dc072)) * Share decider with ultra_prover ([AztecProtocol#5467](AztecProtocol#5467)) ([b3b7376](AztecProtocol@b3b7376)) * Sumcheck documentation ([AztecProtocol#5841](AztecProtocol#5841)) ([116eef0](AztecProtocol@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).
This PR removes the
nargo codegen-verifier
command and replaces it with an example bash script showing how to usenargo
in conjunction withbb
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