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

feat: Prover node #7452

Merged
merged 6 commits into from
Jul 22, 2024
Merged

feat: Prover node #7452

merged 6 commits into from
Jul 22, 2024

Conversation

spalladino
Copy link
Collaborator

@spalladino spalladino commented Jul 11, 2024

Introduces a new prover node package, which spawns a new prover that follows the proven chain, and exposes a high-level method for proving an unfinalised block. This involves fetching the tx hashes from L1, requesting the individual txs from a tx source (today a remote Aztec node), running the tx processor using a world-state synced to the last proven block, using the prover orchestrator to prove, and the l1 publisher to submit the proof back to L1.

Below is an example of a node and a prover node running side by side with the following commands:

ETHEREUM_HOST='http://localhost:8545' DEPLOY_AZTEC_CONTRACTS=true SEQ_SKIP_SUBMIT_PROOFS=1 SEQ_PUBLISHER_PRIVATE_KEY=0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d \
yarn aztec start --node --sequencer --prover --archiver --pxe
LOG_LEVEL=verbose ETHEREUM_HOST='http://localhost:8545' AZTEC_NODE_URL='http://localhost:8080' \
yarn aztec start -p 8090 --prover-node --prover --archiver
Screencast.from.2024-07-19.18-42-27.webm

See #7346

Copy link
Contributor

@alexghr alexghr left a comment

Choose a reason for hiding this comment

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

Looks good to me 👍

Comment on lines +34 to +46
// REFACTOR: Move publisher out of sequencer package and into an L1-related package
const publisher = getL1Publisher(config);
Copy link
Contributor

Choose a reason for hiding this comment

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

❤️

}

this.state = 'awaiting-prover';
const { block, aggregationObject, proof } = await this.prover.finaliseBlock();
Copy link
Contributor

Choose a reason for hiding this comment

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

IIUC startNewBlock starts a block containing txs while finaliseBlock waits for the block rollup to complete? (sueprblock?)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

For now everything is just block since we're still doing one proof per block. I'll probably change the API once we switch to batches.

Comment on lines +137 to +141
this.latestBlockDownloader = new L2BlockDownloader(l2BlockSource, l2DownloaderOpts);
this.provenBlockDownloader = new L2BlockDownloader(l2BlockSource, { ...l2DownloaderOpts, proven: true });
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this is fine for now but I'm thinking tha two downlaoder listening to the same source would mean the same block is read multiple times.
I'd make the source & downlaoder event emitters/readable streams, but definitely sits in the realm of opimization/nice to haves and can be tackled independently of this PR.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Actually it doesn't: the L2Downloader, unlike its name describes, is just a queue that pulls from an Archiver. So each block is only downloaded and processed once.

Copy link
Collaborator

Choose a reason for hiding this comment

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

But each one makes seperate requests to the block source though don't they? So if you had a remote archiver the blocks are pulled from it twice?

Copy link
Collaborator

Choose a reason for hiding this comment

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

I'm wondering if we need to replace the block downloader with a component that handle this properly. It polls for both blocks and changes in meta data (block numbers etc). Blocks are downloaded once and the lengths of proven and unproven chains moves seperately as stuff gets proven or we encounter re-orgs etc.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Good point on the remote archiver, hadn't considered it! Agree in that we should revisit this component, and that we should think it so it properly handles reorgs (which is a pending assignment all across the board). But I'd push it for a future PR if that's ok.

@spalladino spalladino marked this pull request as ready for review July 16, 2024 22:01
Comment on lines -24 to -25
/** A URL for an archiver service that the node will use. */
archiverUrl?: string;
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This was moved to the ArchiverConfig

@spalladino spalladino force-pushed the palla/prover-node-package branch 5 times, most recently from 55e16c7 to 2eadc5c Compare July 19, 2024 12:34
Copy link
Collaborator

@PhilWindle PhilWindle left a comment

Choose a reason for hiding this comment

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

Some comments

Comment on lines +137 to +141
this.latestBlockDownloader = new L2BlockDownloader(l2BlockSource, l2DownloaderOpts);
this.provenBlockDownloader = new L2BlockDownloader(l2BlockSource, { ...l2DownloaderOpts, proven: true });
Copy link
Collaborator

Choose a reason for hiding this comment

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

But each one makes seperate requests to the block source though don't they? So if you had a remote archiver the blocks are pulled from it twice?

Comment on lines +137 to +141
this.latestBlockDownloader = new L2BlockDownloader(l2BlockSource, l2DownloaderOpts);
this.provenBlockDownloader = new L2BlockDownloader(l2BlockSource, { ...l2DownloaderOpts, proven: true });
Copy link
Collaborator

Choose a reason for hiding this comment

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

I'm wondering if we need to replace the block downloader with a component that handle this properly. It polls for both blocks and changes in meta data (block numbers etc). Blocks are downloaded once and the lengths of proven and unproven chains moves seperately as stuff gets proven or we encounter re-orgs etc.

this.log.debug('Stopped block downloader');
// TODO: This running promise will never resolve if there are no new blocks to sync.
Copy link
Collaborator

Choose a reason for hiding this comment

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

The getBlocks call has a timeout that can be used to stop it blocking forever.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Good call, added a timeout of 1s!

@@ -32,7 +32,8 @@ export function injectAztecCommands(program: Command, userLog: LogFn, debugLogge
.option('-px, --pxe [options]', cliTexts.pxe)
.option('-a, --archiver [options]', cliTexts.archiver)
.option('-s, --sequencer [options]', cliTexts.sequencer)
.option('-r, --prover [options]', cliTexts.prover)
.option('-r, --prover [options]', cliTexts.proverAgent)
Copy link
Collaborator

Choose a reason for hiding this comment

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

I'm not entirely convinced of the way in which we are deviating from the current cli command system. If I want to run a prover node why wouldn't I just run:

aztec start --node --prover

Is it solely about being able to run multiple seperate prover nodes and only have a single transaction pool that they pull from? Is this likely? Is it even necessary to run multiple prover nodes?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This is mostly for backwards compatibility: we still support having a sequencer generate and publish proofs as it generates a block (this will be removed soon-ish), so we still need to handle the configuration of "sequencer node with local prover-agent", which is --node --sequencer --prover. Once we deprecate that, I agree on the need to revisit the CLI options here.

return min >= this.lastPublishedBlock;
const [worldState, p2p, l2BlockSource, l1ToL2MessageSource] = syncedBlocks;
const result = min >= this.lastPublishedBlock;
this.log.debug(`Sync check to last published block ${this.lastPublishedBlock} ${result ? 'succeeded' : 'failed'}`, {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Doesn't this spam the logs? Even at debug, that would be pretty annoying.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

A bit, but I'd argue that debug should be annoying, and it's useful for understanding the state of the components that act as dependencies to the sequencer. I'd keep it if possible.

@spalladino spalladino merged commit 609a68f into master Jul 22, 2024
93 checks passed
@spalladino spalladino deleted the palla/prover-node-package branch July 22, 2024 14:21
rahul-kothari pushed a commit that referenced this pull request Jul 24, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.47.0](aztec-package-v0.46.7...aztec-package-v0.47.0)
(2024-07-24)


### Features

* Bootstrap devnet
([#7578](#7578))
([ade373b](ade373b))
* Bootstrap devnet on CI
([#7534](#7534))
([77ce1c3](77ce1c3))
* Prover node
([#7452](#7452))
([609a68f](609a68f)),
closes
[#7346](#7346)
* TXE nr deployments, dependency cleanup for CLI
([#7548](#7548))
([92ff2fa](92ff2fa))
</details>

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

##
[0.47.0](barretenberg.js-v0.46.7...barretenberg.js-v0.47.0)
(2024-07-24)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

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

##
[0.47.0](aztec-packages-v0.46.7...aztec-packages-v0.47.0)
(2024-07-24)


### ⚠ BREAKING CHANGES

* **frontend:** Restrict numeric generic types to unsigned ints up to
`u32` (noir-lang/noir#5581)

### Features

* Add `TraitDefinition::as_trait_constraint()`
(noir-lang/noir#5541)
([a26419f](a26419f))
* Add `TraitDefinition::as_trait_constraint()`
(noir-lang/noir#5541)
([7799fc6](7799fc6))
* Add `TraitDefinition::as_trait_constraint()`
(noir-lang/noir#5541)
([c39bcdc](c39bcdc))
* Add a compile-time hash map type
(noir-lang/noir#5543)
([a26419f](a26419f))
* Add a compile-time hash map type
(noir-lang/noir#5543)
([7799fc6](7799fc6))
* Add a compile-time hash map type
(noir-lang/noir#5543)
([c39bcdc](c39bcdc))
* Add comptime support for `modulus_*` compiler builtins
(noir-lang/noir#5530)
([a26419f](a26419f))
* Add comptime support for `modulus_*` compiler builtins
(noir-lang/noir#5530)
([7799fc6](7799fc6))
* Add comptime support for `modulus_*` compiler builtins
(noir-lang/noir#5530)
([c39bcdc](c39bcdc))
* Add debug codelens action
(noir-lang/noir#5474)
([4ec86c0](4ec86c0))
* Add support for usage of `super` in import paths
(noir-lang/noir#5502)
([4ec86c0](4ec86c0))
* Add TraitConstraint type (noir-lang/noir#5499)
([a26419f](a26419f))
* Add TraitConstraint type (noir-lang/noir#5499)
([7799fc6](7799fc6))
* Add TraitConstraint type (noir-lang/noir#5499)
([c39bcdc](c39bcdc))
* Add unquote function (noir-lang/noir#5497)
([4ec86c0](4ec86c0))
* Allow arguments to attribute functions
(noir-lang/noir#5494)
([4ec86c0](4ec86c0))
* Allow comptime attributes on traits & functions
(noir-lang/noir#5496)
([4ec86c0](4ec86c0))
* **avm-simulator:** Keccakf1600 opcode
([#7545](#7545))
([b81c503](b81c503))
* **avm:** Concurrency improvements
([#7495](#7495))
([0d5c066](0d5c066))
* Avoid heap allocs when going to/from field
([#7547](#7547))
([086522d](086522d))
* Bootstrap devnet
([#7578](#7578))
([ade373b](ade373b))
* Bootstrap devnet on CI
([#7534](#7534))
([77ce1c3](77ce1c3))
* Bridge devcoin
([#7595](#7595))
([a316fcd](a316fcd)),
closes
[#7571](#7571)
* Bus updates
([#7522](#7522))
([bf774c2](bf774c2))
* **docs:** Update sandbox commands, add reference, fix tutorials
([#7580](#7580))
([4f07290](4f07290))
* Faucet takes mnemonic
([#7546](#7546))
([dbd054f](dbd054f))
* Handle ACIR calls in the debugger
(noir-lang/noir#5051)
([4ec86c0](4ec86c0))
* Implement `poseidon2_permutation` in comptime interpreter
(noir-lang/noir#5590)
([a26419f](a26419f))
* Implement `zeroed` in the interpreter
(noir-lang/noir#5540)
([a26419f](a26419f))
* LSP document symbol (noir-lang/noir#5532)
([a26419f](a26419f))
* LSP document symbol (noir-lang/noir#5532)
([7799fc6](7799fc6))
* LSP document symbol (noir-lang/noir#5532)
([c39bcdc](c39bcdc))
* LSP hover (noir-lang/noir#5491)
([4ec86c0](4ec86c0))
* LSP inlay hints for let and global
(noir-lang/noir#5510)
([a26419f](a26419f))
* LSP inlay hints for let and global
(noir-lang/noir#5510)
([7799fc6](7799fc6))
* LSP inlay hints for let and global
(noir-lang/noir#5510)
([c39bcdc](c39bcdc))
* LSP inlay parameter hints
(noir-lang/noir#5553)
([a26419f](a26419f))
* LSP inlay parameter hints
(noir-lang/noir#5553)
([7799fc6](7799fc6))
* LSP inlay parameter hints
(noir-lang/noir#5553)
([c39bcdc](c39bcdc))
* Make Brillig do integer arithmetic operations using u128 instead of
Bigint
([#7518](#7518))
([4a2011e](4a2011e))
* **nargo:** Default expression width field in `Nargo.toml`
(noir-lang/noir#5505)
([4ec86c0](4ec86c0))
* Populate recipient in outgoing
([#7390](#7390))
([3293244](3293244))
* Prover node
([#7452](#7452))
([609a68f](609a68f)),
closes
[#7346](#7346)
* Simple sparse commitment
([#7488](#7488))
([df08874](df08874))
* Skip reading values immediately after it being written into an array
(noir-lang/noir#5449)
([4ec86c0](4ec86c0))
* Solidity honk verifier
([#5485](#5485))
([8dfebe4](8dfebe4))
* Trimming 1 byte from compressed repr of Point
([#7505](#7505))
([9a68034](9a68034))
* TS keccakf1600
([#7542](#7542))
([55fb93d](55fb93d))
* TXE nr deployments, dependency cleanup for CLI
([#7548](#7548))
([92ff2fa](92ff2fa))


### Bug Fixes

* 'cannot eval non-comptime global' error
(noir-lang/noir#5586)
([a26419f](a26419f))
* Add yq to build image
([#7338](#7338))
([6035595](6035595))
* Allow calling a trait method with paths that don't consist of exactly
two segments (noir-lang/noir#5577)
([a26419f](a26419f))
* Allow calling a trait method with paths that don't consist of exactly
two segments (noir-lang/noir#5577)
([7799fc6](7799fc6))
* **avm:** One too many range check rows
([#7499](#7499))
([deb6918](deb6918))
* **aztec-nr:** Make impls not stricter than traits
([#7502](#7502))
([c498934](c498934))
* Cli fixes
([#7543](#7543))
([689000a](689000a))
* Correctly track sources for open LSP documents
(noir-lang/noir#5561)
([a26419f](a26419f))
* Do not load the BN254 CRS for verifying client ivc proofs
([#7556](#7556))
([e515b71](e515b71))
* Don't bind ports when running the cli
([#7596](#7596))
([5a907c6](5a907c6))
* Don't panic when a macro fails to resolve
(noir-lang/noir#5537)
([a26419f](a26419f))
* Don't panic when a macro fails to resolve
(noir-lang/noir#5537)
([7799fc6](7799fc6))
* Don't panic when a macro fails to resolve
(noir-lang/noir#5537)
([c39bcdc](c39bcdc))
* Don't type error when calling certain trait impls in the interpreter
(noir-lang/noir#5471)
([4ec86c0](4ec86c0))
* Error on empty function bodies
(noir-lang/noir#5519)
([a26419f](a26419f))
* Error on empty function bodies
(noir-lang/noir#5519)
([7799fc6](7799fc6))
* Error on empty function bodies
(noir-lang/noir#5519)
([c39bcdc](c39bcdc))
* Error on trait impl generics count mismatch
(noir-lang/noir#5582)
([a26419f](a26419f))
* Fix `uhashmap` test name (noir-lang/noir#5563)
([a26419f](a26419f))
* Fix `uhashmap` test name (noir-lang/noir#5563)
([7799fc6](7799fc6))
* Fix `uhashmap` test name (noir-lang/noir#5563)
([c39bcdc](c39bcdc))
* Fix occurs check (noir-lang/noir#5535)
([a26419f](a26419f))
* Fix occurs check (noir-lang/noir#5535)
([7799fc6](7799fc6))
* Fix occurs check (noir-lang/noir#5535)
([c39bcdc](c39bcdc))
* **frontend:** Disallow signed numeric generics
(noir-lang/noir#5572)
([a26419f](a26419f))
* **frontend:** Disallow signed numeric generics
(noir-lang/noir#5572)
([7799fc6](7799fc6))
* **frontend:** Disallow signed numeric generics
(noir-lang/noir#5572)
([c39bcdc](c39bcdc))
* **frontend:** Error for when impl is stricter than trait
(noir-lang/noir#5343)
([a26419f](a26419f))
* **frontend:** Error for when impl is stricter than trait
(noir-lang/noir#5343)
([7799fc6](7799fc6))
* **frontend:** Error for when impl is stricter than trait
(noir-lang/noir#5343)
([c39bcdc](c39bcdc))
* **frontend:** Restrict numeric generic types to unsigned ints up to
`u32` (noir-lang/noir#5581)
([a26419f](a26419f))
* Let unary traits work at comptime
(noir-lang/noir#5507)
([a26419f](a26419f))
* Let unary traits work at comptime
(noir-lang/noir#5507)
([7799fc6](7799fc6))
* Let unary traits work at comptime
(noir-lang/noir#5507)
([c39bcdc](c39bcdc))
* Lsp hover wasn't always working
(noir-lang/noir#5515)
([4ec86c0](4ec86c0))
* Mutability in the comptime interpreter
(noir-lang/noir#5517)
([4ec86c0](4ec86c0))
* Never panic in LSP inlay hints
(noir-lang/noir#5534)
([a26419f](a26419f))
* Never panic in LSP inlay hints
(noir-lang/noir#5534)
([7799fc6](7799fc6))
* Never panic in LSP inlay hints
(noir-lang/noir#5534)
([c39bcdc](c39bcdc))
* Nuke app siloed incoming viewing keys
([#7464](#7464))
([24d353a](24d353a))
* Prover JSON RPC
([#7496](#7496))
([ca584a0](ca584a0))
* Remove custom entrypoint from CLI image
([#7508](#7508))
([c892c6a](c892c6a))
* Revert "feat: Sync from noir
([#7512](#7512))"
([#7558](#7558))
([548701e](548701e))
* Revert PR
[#5449](#5449)
(noir-lang/noir#5548)
([a26419f](a26419f))
* Revert PR
[#5449](#5449)
(noir-lang/noir#5548)
([7799fc6](7799fc6))
* Revert PR
[#5449](#5449)
(noir-lang/noir#5548)
([c39bcdc](c39bcdc))
* Run macros within comptime contexts
(noir-lang/noir#5576)
([a26419f](a26419f))
* Run macros within comptime contexts
(noir-lang/noir#5576)
([7799fc6](7799fc6))
* **ssa:** More robust array deduplication check
(noir-lang/noir#5547)
([a26419f](a26419f))
* **ssa:** More robust array deduplication check
(noir-lang/noir#5547)
([7799fc6](7799fc6))
* **ssa:** More robust array deduplication check
(noir-lang/noir#5547)
([c39bcdc](c39bcdc))
* Type_of for pointer types
(noir-lang/noir#5536)
([a26419f](a26419f))
* Type_of for pointer types
(noir-lang/noir#5536)
([7799fc6](7799fc6))
* Type_of for pointer types
(noir-lang/noir#5536)
([c39bcdc](c39bcdc))


### Miscellaneous

* Add a regression test for bit not on untyped integer
(noir-lang/noir#5589)
([a26419f](a26419f))
* Add benchmark for ecdsa (noir-lang/noir#5113)
([4ec86c0](4ec86c0))
* Added regression test for check_for_underconstrained_values resolve
bug (noir-lang/noir#5490)
([4ec86c0](4ec86c0))
* **avm:** Bump SRS to 1 &lt;< 20
([#7575](#7575))
([fad37a7](fad37a7))
* **avm:** Count non-zero elems and others
([#7498](#7498))
([7d97c0f](7d97c0f))
* **avm:** Nuke declare_views
([#7507](#7507))
([7e07ba9](7e07ba9))
* **avm:** Use commit_sparse
([#7581](#7581))
([6812f2b](6812f2b))
* Bump hardhat version to `2.22.6`
(noir-lang/noir#5514)
([4ec86c0](4ec86c0))
* **ci:** Add workflow to run `nargo check` on external repos
(noir-lang/noir#5355)
([4ec86c0](4ec86c0))
* **ci:** Remove bad colon in yaml file
(noir-lang/noir#5520)
([4ec86c0](4ec86c0))
* Disable aztec-packages CI checks
(noir-lang/noir#5566)
([a26419f](a26419f))
* Disable aztec-packages CI checks
(noir-lang/noir#5566)
([7799fc6](7799fc6))
* Disable aztec-packages CI checks
(noir-lang/noir#5566)
([c39bcdc](c39bcdc))
* **docs:** Docs for turbofish operator
(noir-lang/noir#5555)
([a26419f](a26419f))
* **docs:** Docs for turbofish operator
(noir-lang/noir#5555)
([7799fc6](7799fc6))
* **docs:** Docs for turbofish operator
(noir-lang/noir#5555)
([c39bcdc](c39bcdc))
* **docs:** Fix migration notes
([#7599](#7599))
([ba90e2c](ba90e2c))
* Filter warnings from elaborator in Aztec Macros
(noir-lang/noir#5556)
([a26419f](a26419f))
* Filter warnings from elaborator in Aztec Macros
(noir-lang/noir#5556)
([7799fc6](7799fc6))
* Filter warnings from elaborator in Aztec Macros
(noir-lang/noir#5556)
([c39bcdc](c39bcdc))
* Fix benchmark summary credentials
([#7549](#7549))
([817dd10](817dd10))
* Introduce execution oracle
([#7521](#7521))
([645aec1](645aec1))
* Moving pub_key_to_bytes to aztec-nr
([#7506](#7506))
([5b323a7](5b323a7))
* Noir version for Pedersen commitment and hash
(noir-lang/noir#5431)
([4ec86c0](4ec86c0))
* Optimizing DA cost with new point compression
([#7473](#7473))
([2a5ee4f](2a5ee4f))
* Persist initial header in local store
([#7555](#7555))
([d65c692](d65c692))
* Release Noir(0.32.0) (noir-lang/noir#5268)
([a26419f](a26419f))
* Release Noir(0.32.0) (noir-lang/noir#5268)
([7799fc6](7799fc6))
* Release Noir(0.32.0) (noir-lang/noir#5268)
([c39bcdc](c39bcdc))
* Remove `--use-legacy` and resolution code
(noir-lang/noir#5248)
([a26419f](a26419f))
* Remove `--use-legacy` and resolution code
(noir-lang/noir#5248)
([7799fc6](7799fc6))
* Remove `--use-legacy` and resolution code
(noir-lang/noir#5248)
([c39bcdc](c39bcdc))
* Remove comptime scanning pass
(noir-lang/noir#5569)
([a26419f](a26419f))
* Remove comptime scanning pass
(noir-lang/noir#5569)
([7799fc6](7799fc6))
* Remove dbg on find_func_with_name
(noir-lang/noir#5526)
([a26419f](a26419f))
* Remove dbg on find_func_with_name
(noir-lang/noir#5526)
([7799fc6](7799fc6))
* Remove dbg on find_func_with_name
(noir-lang/noir#5526)
([c39bcdc](c39bcdc))
* Remove dummy arrays
([#7246](#7246))
([a4acd12](a4acd12))
* Remove more aztec-nr warnings (numerics and unused variables)
([#7519](#7519))
([3da86cb](3da86cb))
* Remove the remainder of legacy code
(noir-lang/noir#5525)
([a26419f](a26419f))
* Remove the remainder of legacy code
(noir-lang/noir#5525)
([7799fc6](7799fc6))
* Remove the remainder of legacy code
(noir-lang/noir#5525)
([c39bcdc](c39bcdc))
* Remove unknown annotation warning
(noir-lang/noir#5531)
([a26419f](a26419f))
* Remove unknown annotation warning
(noir-lang/noir#5531)
([7799fc6](7799fc6))
* Remove unknown annotation warning
(noir-lang/noir#5531)
([c39bcdc](c39bcdc))
* Replace relative paths to noir-protocol-circuits
([301b34f](301b34f))
* Replace relative paths to noir-protocol-circuits
([0977dec](0977dec))
* Replace relative paths to noir-protocol-circuits
([da071bf](da071bf))
* Replace relative paths to noir-protocol-circuits
([954bcd7](954bcd7))
* Standardize experimental feature disclaimer across documentation
(noir-lang/noir#5367)
([a26419f](a26419f))
* Standardize experimental feature disclaimer across documentation
(noir-lang/noir#5367)
([7799fc6](7799fc6))
* Standardize experimental feature disclaimer across documentation
(noir-lang/noir#5367)
([c39bcdc](c39bcdc))
* Switch to Noir Keccak implementation with variable size support
(noir-lang/noir#5508)
([a26419f](a26419f))
* Switch to Noir Keccak implementation with variable size support
(noir-lang/noir#5508)
([7799fc6](7799fc6))
* Switch to Noir Keccak implementation with variable size support
(noir-lang/noir#5508)
([c39bcdc](c39bcdc))
* Update typo PR script (noir-lang/noir#5488)
([4ec86c0](4ec86c0))
* Use new let syntax for generic numerics
([#7503](#7503))
([25e6684](25e6684))
</details>

<details><summary>barretenberg: 0.47.0</summary>

##
[0.47.0](barretenberg-v0.46.7...barretenberg-v0.47.0)
(2024-07-24)


### Features

* **avm:** Concurrency improvements
([#7495](#7495))
([0d5c066](0d5c066))
* Bus updates
([#7522](#7522))
([bf774c2](bf774c2))
* Make Brillig do integer arithmetic operations using u128 instead of
Bigint
([#7518](#7518))
([4a2011e](4a2011e))
* Simple sparse commitment
([#7488](#7488))
([df08874](df08874))
* Solidity honk verifier
([#5485](#5485))
([8dfebe4](8dfebe4))


### Bug Fixes

* **avm:** One too many range check rows
([#7499](#7499))
([deb6918](deb6918))
* Do not load the BN254 CRS for verifying client ivc proofs
([#7556](#7556))
([e515b71](e515b71))


### Miscellaneous

* **avm:** Bump SRS to 1 &lt;< 20
([#7575](#7575))
([fad37a7](fad37a7))
* **avm:** Count non-zero elems and others
([#7498](#7498))
([7d97c0f](7d97c0f))
* **avm:** Nuke declare_views
([#7507](#7507))
([7e07ba9](7e07ba9))
* **avm:** Use commit_sparse
([#7581](#7581))
([6812f2b](6812f2b))
</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 Jul 25, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.47.0](AztecProtocol/aztec-packages@aztec-package-v0.46.7...aztec-package-v0.47.0)
(2024-07-24)


### Features

* Bootstrap devnet
([#7578](AztecProtocol/aztec-packages#7578))
([ade373b](AztecProtocol/aztec-packages@ade373b))
* Bootstrap devnet on CI
([#7534](AztecProtocol/aztec-packages#7534))
([77ce1c3](AztecProtocol/aztec-packages@77ce1c3))
* Prover node
([#7452](AztecProtocol/aztec-packages#7452))
([609a68f](AztecProtocol/aztec-packages@609a68f)),
closes
[#7346](AztecProtocol/aztec-packages#7346)
* TXE nr deployments, dependency cleanup for CLI
([#7548](AztecProtocol/aztec-packages#7548))
([92ff2fa](AztecProtocol/aztec-packages@92ff2fa))
</details>

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

##
[0.47.0](AztecProtocol/aztec-packages@barretenberg.js-v0.46.7...barretenberg.js-v0.47.0)
(2024-07-24)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

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

##
[0.47.0](AztecProtocol/aztec-packages@aztec-packages-v0.46.7...aztec-packages-v0.47.0)
(2024-07-24)


### ⚠ BREAKING CHANGES

* **frontend:** Restrict numeric generic types to unsigned ints up to
`u32` (noir-lang/noir#5581)

### Features

* Add `TraitDefinition::as_trait_constraint()`
(noir-lang/noir#5541)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Add `TraitDefinition::as_trait_constraint()`
(noir-lang/noir#5541)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Add `TraitDefinition::as_trait_constraint()`
(noir-lang/noir#5541)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Add a compile-time hash map type
(noir-lang/noir#5543)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Add a compile-time hash map type
(noir-lang/noir#5543)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Add a compile-time hash map type
(noir-lang/noir#5543)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Add comptime support for `modulus_*` compiler builtins
(noir-lang/noir#5530)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Add comptime support for `modulus_*` compiler builtins
(noir-lang/noir#5530)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Add comptime support for `modulus_*` compiler builtins
(noir-lang/noir#5530)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Add debug codelens action
(noir-lang/noir#5474)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Add support for usage of `super` in import paths
(noir-lang/noir#5502)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Add TraitConstraint type (noir-lang/noir#5499)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Add TraitConstraint type (noir-lang/noir#5499)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Add TraitConstraint type (noir-lang/noir#5499)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Add unquote function (noir-lang/noir#5497)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Allow arguments to attribute functions
(noir-lang/noir#5494)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Allow comptime attributes on traits & functions
(noir-lang/noir#5496)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* **avm-simulator:** Keccakf1600 opcode
([#7545](AztecProtocol/aztec-packages#7545))
([b81c503](AztecProtocol/aztec-packages@b81c503))
* **avm:** Concurrency improvements
([#7495](AztecProtocol/aztec-packages#7495))
([0d5c066](AztecProtocol/aztec-packages@0d5c066))
* Avoid heap allocs when going to/from field
([#7547](AztecProtocol/aztec-packages#7547))
([086522d](AztecProtocol/aztec-packages@086522d))
* Bootstrap devnet
([#7578](AztecProtocol/aztec-packages#7578))
([ade373b](AztecProtocol/aztec-packages@ade373b))
* Bootstrap devnet on CI
([#7534](AztecProtocol/aztec-packages#7534))
([77ce1c3](AztecProtocol/aztec-packages@77ce1c3))
* Bridge devcoin
([#7595](AztecProtocol/aztec-packages#7595))
([a316fcd](AztecProtocol/aztec-packages@a316fcd)),
closes
[#7571](AztecProtocol/aztec-packages#7571)
* Bus updates
([#7522](AztecProtocol/aztec-packages#7522))
([bf774c2](AztecProtocol/aztec-packages@bf774c2))
* **docs:** Update sandbox commands, add reference, fix tutorials
([#7580](AztecProtocol/aztec-packages#7580))
([4f07290](AztecProtocol/aztec-packages@4f07290))
* Faucet takes mnemonic
([#7546](AztecProtocol/aztec-packages#7546))
([dbd054f](AztecProtocol/aztec-packages@dbd054f))
* Handle ACIR calls in the debugger
(noir-lang/noir#5051)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Implement `poseidon2_permutation` in comptime interpreter
(noir-lang/noir#5590)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Implement `zeroed` in the interpreter
(noir-lang/noir#5540)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* LSP document symbol (noir-lang/noir#5532)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* LSP document symbol (noir-lang/noir#5532)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* LSP document symbol (noir-lang/noir#5532)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* LSP hover (noir-lang/noir#5491)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* LSP inlay hints for let and global
(noir-lang/noir#5510)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* LSP inlay hints for let and global
(noir-lang/noir#5510)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* LSP inlay hints for let and global
(noir-lang/noir#5510)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* LSP inlay parameter hints
(noir-lang/noir#5553)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* LSP inlay parameter hints
(noir-lang/noir#5553)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* LSP inlay parameter hints
(noir-lang/noir#5553)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Make Brillig do integer arithmetic operations using u128 instead of
Bigint
([#7518](AztecProtocol/aztec-packages#7518))
([4a2011e](AztecProtocol/aztec-packages@4a2011e))
* **nargo:** Default expression width field in `Nargo.toml`
(noir-lang/noir#5505)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Populate recipient in outgoing
([#7390](AztecProtocol/aztec-packages#7390))
([3293244](AztecProtocol/aztec-packages@3293244))
* Prover node
([#7452](AztecProtocol/aztec-packages#7452))
([609a68f](AztecProtocol/aztec-packages@609a68f)),
closes
[#7346](AztecProtocol/aztec-packages#7346)
* Simple sparse commitment
([#7488](AztecProtocol/aztec-packages#7488))
([df08874](AztecProtocol/aztec-packages@df08874))
* Skip reading values immediately after it being written into an array
(noir-lang/noir#5449)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Solidity honk verifier
([#5485](AztecProtocol/aztec-packages#5485))
([8dfebe4](AztecProtocol/aztec-packages@8dfebe4))
* Trimming 1 byte from compressed repr of Point
([#7505](AztecProtocol/aztec-packages#7505))
([9a68034](AztecProtocol/aztec-packages@9a68034))
* TS keccakf1600
([#7542](AztecProtocol/aztec-packages#7542))
([55fb93d](AztecProtocol/aztec-packages@55fb93d))
* TXE nr deployments, dependency cleanup for CLI
([#7548](AztecProtocol/aztec-packages#7548))
([92ff2fa](AztecProtocol/aztec-packages@92ff2fa))


### Bug Fixes

* 'cannot eval non-comptime global' error
(noir-lang/noir#5586)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Add yq to build image
([#7338](AztecProtocol/aztec-packages#7338))
([6035595](AztecProtocol/aztec-packages@6035595))
* Allow calling a trait method with paths that don't consist of exactly
two segments (noir-lang/noir#5577)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Allow calling a trait method with paths that don't consist of exactly
two segments (noir-lang/noir#5577)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* **avm:** One too many range check rows
([#7499](AztecProtocol/aztec-packages#7499))
([deb6918](AztecProtocol/aztec-packages@deb6918))
* **aztec-nr:** Make impls not stricter than traits
([#7502](AztecProtocol/aztec-packages#7502))
([c498934](AztecProtocol/aztec-packages@c498934))
* Cli fixes
([#7543](AztecProtocol/aztec-packages#7543))
([689000a](AztecProtocol/aztec-packages@689000a))
* Correctly track sources for open LSP documents
(noir-lang/noir#5561)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Do not load the BN254 CRS for verifying client ivc proofs
([#7556](AztecProtocol/aztec-packages#7556))
([e515b71](AztecProtocol/aztec-packages@e515b71))
* Don't bind ports when running the cli
([#7596](AztecProtocol/aztec-packages#7596))
([5a907c6](AztecProtocol/aztec-packages@5a907c6))
* Don't panic when a macro fails to resolve
(noir-lang/noir#5537)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Don't panic when a macro fails to resolve
(noir-lang/noir#5537)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Don't panic when a macro fails to resolve
(noir-lang/noir#5537)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Don't type error when calling certain trait impls in the interpreter
(noir-lang/noir#5471)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Error on empty function bodies
(noir-lang/noir#5519)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Error on empty function bodies
(noir-lang/noir#5519)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Error on empty function bodies
(noir-lang/noir#5519)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Error on trait impl generics count mismatch
(noir-lang/noir#5582)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Fix `uhashmap` test name (noir-lang/noir#5563)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Fix `uhashmap` test name (noir-lang/noir#5563)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Fix `uhashmap` test name (noir-lang/noir#5563)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Fix occurs check (noir-lang/noir#5535)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Fix occurs check (noir-lang/noir#5535)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Fix occurs check (noir-lang/noir#5535)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* **frontend:** Disallow signed numeric generics
(noir-lang/noir#5572)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* **frontend:** Disallow signed numeric generics
(noir-lang/noir#5572)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* **frontend:** Disallow signed numeric generics
(noir-lang/noir#5572)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* **frontend:** Error for when impl is stricter than trait
(noir-lang/noir#5343)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* **frontend:** Error for when impl is stricter than trait
(noir-lang/noir#5343)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* **frontend:** Error for when impl is stricter than trait
(noir-lang/noir#5343)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* **frontend:** Restrict numeric generic types to unsigned ints up to
`u32` (noir-lang/noir#5581)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Let unary traits work at comptime
(noir-lang/noir#5507)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Let unary traits work at comptime
(noir-lang/noir#5507)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Let unary traits work at comptime
(noir-lang/noir#5507)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Lsp hover wasn't always working
(noir-lang/noir#5515)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Mutability in the comptime interpreter
(noir-lang/noir#5517)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Never panic in LSP inlay hints
(noir-lang/noir#5534)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Never panic in LSP inlay hints
(noir-lang/noir#5534)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Never panic in LSP inlay hints
(noir-lang/noir#5534)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Nuke app siloed incoming viewing keys
([#7464](AztecProtocol/aztec-packages#7464))
([24d353a](AztecProtocol/aztec-packages@24d353a))
* Prover JSON RPC
([#7496](AztecProtocol/aztec-packages#7496))
([ca584a0](AztecProtocol/aztec-packages@ca584a0))
* Remove custom entrypoint from CLI image
([#7508](AztecProtocol/aztec-packages#7508))
([c892c6a](AztecProtocol/aztec-packages@c892c6a))
* Revert "feat: Sync from noir
([#7512](AztecProtocol/aztec-packages#7512))"
([#7558](AztecProtocol/aztec-packages#7558))
([548701e](AztecProtocol/aztec-packages@548701e))
* Revert PR
[#5449](AztecProtocol/aztec-packages#5449)
(noir-lang/noir#5548)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Revert PR
[#5449](AztecProtocol/aztec-packages#5449)
(noir-lang/noir#5548)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Revert PR
[#5449](AztecProtocol/aztec-packages#5449)
(noir-lang/noir#5548)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Run macros within comptime contexts
(noir-lang/noir#5576)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Run macros within comptime contexts
(noir-lang/noir#5576)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* **ssa:** More robust array deduplication check
(noir-lang/noir#5547)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* **ssa:** More robust array deduplication check
(noir-lang/noir#5547)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* **ssa:** More robust array deduplication check
(noir-lang/noir#5547)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Type_of for pointer types
(noir-lang/noir#5536)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Type_of for pointer types
(noir-lang/noir#5536)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Type_of for pointer types
(noir-lang/noir#5536)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))


### Miscellaneous

* Add a regression test for bit not on untyped integer
(noir-lang/noir#5589)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Add benchmark for ecdsa (noir-lang/noir#5113)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Added regression test for check_for_underconstrained_values resolve
bug (noir-lang/noir#5490)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* **avm:** Bump SRS to 1 &lt;< 20
([#7575](AztecProtocol/aztec-packages#7575))
([fad37a7](AztecProtocol/aztec-packages@fad37a7))
* **avm:** Count non-zero elems and others
([#7498](AztecProtocol/aztec-packages#7498))
([7d97c0f](AztecProtocol/aztec-packages@7d97c0f))
* **avm:** Nuke declare_views
([#7507](AztecProtocol/aztec-packages#7507))
([7e07ba9](AztecProtocol/aztec-packages@7e07ba9))
* **avm:** Use commit_sparse
([#7581](AztecProtocol/aztec-packages#7581))
([6812f2b](AztecProtocol/aztec-packages@6812f2b))
* Bump hardhat version to `2.22.6`
(noir-lang/noir#5514)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* **ci:** Add workflow to run `nargo check` on external repos
(noir-lang/noir#5355)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* **ci:** Remove bad colon in yaml file
(noir-lang/noir#5520)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Disable aztec-packages CI checks
(noir-lang/noir#5566)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Disable aztec-packages CI checks
(noir-lang/noir#5566)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Disable aztec-packages CI checks
(noir-lang/noir#5566)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* **docs:** Docs for turbofish operator
(noir-lang/noir#5555)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* **docs:** Docs for turbofish operator
(noir-lang/noir#5555)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* **docs:** Docs for turbofish operator
(noir-lang/noir#5555)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* **docs:** Fix migration notes
([#7599](AztecProtocol/aztec-packages#7599))
([ba90e2c](AztecProtocol/aztec-packages@ba90e2c))
* Filter warnings from elaborator in Aztec Macros
(noir-lang/noir#5556)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Filter warnings from elaborator in Aztec Macros
(noir-lang/noir#5556)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Filter warnings from elaborator in Aztec Macros
(noir-lang/noir#5556)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Fix benchmark summary credentials
([#7549](AztecProtocol/aztec-packages#7549))
([817dd10](AztecProtocol/aztec-packages@817dd10))
* Introduce execution oracle
([#7521](AztecProtocol/aztec-packages#7521))
([645aec1](AztecProtocol/aztec-packages@645aec1))
* Moving pub_key_to_bytes to aztec-nr
([#7506](AztecProtocol/aztec-packages#7506))
([5b323a7](AztecProtocol/aztec-packages@5b323a7))
* Noir version for Pedersen commitment and hash
(noir-lang/noir#5431)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Optimizing DA cost with new point compression
([#7473](AztecProtocol/aztec-packages#7473))
([2a5ee4f](AztecProtocol/aztec-packages@2a5ee4f))
* Persist initial header in local store
([#7555](AztecProtocol/aztec-packages#7555))
([d65c692](AztecProtocol/aztec-packages@d65c692))
* Release Noir(0.32.0) (noir-lang/noir#5268)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Release Noir(0.32.0) (noir-lang/noir#5268)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Release Noir(0.32.0) (noir-lang/noir#5268)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Remove `--use-legacy` and resolution code
(noir-lang/noir#5248)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Remove `--use-legacy` and resolution code
(noir-lang/noir#5248)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Remove `--use-legacy` and resolution code
(noir-lang/noir#5248)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Remove comptime scanning pass
(noir-lang/noir#5569)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Remove comptime scanning pass
(noir-lang/noir#5569)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Remove dbg on find_func_with_name
(noir-lang/noir#5526)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Remove dbg on find_func_with_name
(noir-lang/noir#5526)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Remove dbg on find_func_with_name
(noir-lang/noir#5526)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Remove dummy arrays
([#7246](AztecProtocol/aztec-packages#7246))
([a4acd12](AztecProtocol/aztec-packages@a4acd12))
* Remove more aztec-nr warnings (numerics and unused variables)
([#7519](AztecProtocol/aztec-packages#7519))
([3da86cb](AztecProtocol/aztec-packages@3da86cb))
* Remove the remainder of legacy code
(noir-lang/noir#5525)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Remove the remainder of legacy code
(noir-lang/noir#5525)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Remove the remainder of legacy code
(noir-lang/noir#5525)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Remove unknown annotation warning
(noir-lang/noir#5531)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Remove unknown annotation warning
(noir-lang/noir#5531)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Remove unknown annotation warning
(noir-lang/noir#5531)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Replace relative paths to noir-protocol-circuits
([301b34f](AztecProtocol/aztec-packages@301b34f))
* Replace relative paths to noir-protocol-circuits
([0977dec](AztecProtocol/aztec-packages@0977dec))
* Replace relative paths to noir-protocol-circuits
([da071bf](AztecProtocol/aztec-packages@da071bf))
* Replace relative paths to noir-protocol-circuits
([954bcd7](AztecProtocol/aztec-packages@954bcd7))
* Standardize experimental feature disclaimer across documentation
(noir-lang/noir#5367)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Standardize experimental feature disclaimer across documentation
(noir-lang/noir#5367)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Standardize experimental feature disclaimer across documentation
(noir-lang/noir#5367)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Switch to Noir Keccak implementation with variable size support
(noir-lang/noir#5508)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Switch to Noir Keccak implementation with variable size support
(noir-lang/noir#5508)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Switch to Noir Keccak implementation with variable size support
(noir-lang/noir#5508)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Update typo PR script (noir-lang/noir#5488)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Use new let syntax for generic numerics
([#7503](AztecProtocol/aztec-packages#7503))
([25e6684](AztecProtocol/aztec-packages@25e6684))
</details>

<details><summary>barretenberg: 0.47.0</summary>

##
[0.47.0](AztecProtocol/aztec-packages@barretenberg-v0.46.7...barretenberg-v0.47.0)
(2024-07-24)


### Features

* **avm:** Concurrency improvements
([#7495](AztecProtocol/aztec-packages#7495))
([0d5c066](AztecProtocol/aztec-packages@0d5c066))
* Bus updates
([#7522](AztecProtocol/aztec-packages#7522))
([bf774c2](AztecProtocol/aztec-packages@bf774c2))
* Make Brillig do integer arithmetic operations using u128 instead of
Bigint
([#7518](AztecProtocol/aztec-packages#7518))
([4a2011e](AztecProtocol/aztec-packages@4a2011e))
* Simple sparse commitment
([#7488](AztecProtocol/aztec-packages#7488))
([df08874](AztecProtocol/aztec-packages@df08874))
* Solidity honk verifier
([#5485](AztecProtocol/aztec-packages#5485))
([8dfebe4](AztecProtocol/aztec-packages@8dfebe4))


### Bug Fixes

* **avm:** One too many range check rows
([#7499](AztecProtocol/aztec-packages#7499))
([deb6918](AztecProtocol/aztec-packages@deb6918))
* Do not load the BN254 CRS for verifying client ivc proofs
([#7556](AztecProtocol/aztec-packages#7556))
([e515b71](AztecProtocol/aztec-packages@e515b71))


### Miscellaneous

* **avm:** Bump SRS to 1 &lt;< 20
([#7575](AztecProtocol/aztec-packages#7575))
([fad37a7](AztecProtocol/aztec-packages@fad37a7))
* **avm:** Count non-zero elems and others
([#7498](AztecProtocol/aztec-packages#7498))
([7d97c0f](AztecProtocol/aztec-packages@7d97c0f))
* **avm:** Nuke declare_views
([#7507](AztecProtocol/aztec-packages#7507))
([7e07ba9](AztecProtocol/aztec-packages@7e07ba9))
* **avm:** Use commit_sparse
([#7581](AztecProtocol/aztec-packages#7581))
([6812f2b](AztecProtocol/aztec-packages@6812f2b))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants