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(avm): concurrency improvements #7495

Merged
merged 1 commit into from
Jul 17, 2024
Merged

Conversation

fcarreiro
Copy link
Contributor

@fcarreiro fcarreiro commented Jul 16, 2024

This PR makes some changes to use the more standard bb::parallel_for instead of or custom solution.

This is nice because we can now control/experiment with concurrency limit by using the env variable HARDWARE_CONCURRENCY (which defaults to the number of cpus).

I also added parallel computation of logderivative inverses in the prover which actually made a huge difference: took it from 5.1s to 0.1s and has now become negligible (with the # of cpus of the mainframe).

BEFORE

prove/check_circuit: 5120
prove/execute_log_derivative_inverse_commitments_round_ms: 532
*** prove/execute_log_derivative_inverse_round_ms: 5199
prove/execute_pcs_rounds_ms: 413
prove/execute_relation_check_rounds_ms: 1328
prove/execute_wire_commitments_round_ms: 1742
prove/gen_trace: 850

AFTER

prove/check_circuit: 4859
prove/execute_log_derivative_inverse_commitments_round_ms: 543
*** prove/execute_log_derivative_inverse_round_ms: 162
prove/execute_pcs_rounds_ms: 381
prove/execute_relation_check_rounds_ms: 1089
prove/execute_wire_commitments_round_ms: 1608
prove/gen_trace: 755

WARNING: I had to update the handling of exception catching in the tests, because things get complicated w/threads. I mostly just changed the helper, but GTest does complain and we have to do sth about it eventually.

[WARNING] /mnt/user-data/facundo/aztec-packages/barretenberg/cpp/build/_deps/gtest-src/googletest/src/gtest-death-test.cc:1108:: Death tests use fork(), which is unsafe particularly in a threaded context. For this test, Google Test detected 192 threads. See https://github.com/google/googletest/blob/main/docs/advanced.md#death-tests-and-threads for more explanation and suggested solutions, especially if this is the last message you see before your test times out.

Filed this issue.

Copy link
Contributor Author

fcarreiro commented Jul 16, 2024

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @fcarreiro and the rest of your teammates on Graphite Graphite

@fcarreiro fcarreiro requested review from ludamad and removed request for IlyasRidhuan, Maddiaa0 and jeanmon July 16, 2024 15:53
Copy link
Collaborator

@AztecBot AztecBot left a comment

Choose a reason for hiding this comment

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

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'C++ Benchmark'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.05.

Benchmark suite Current: d40745a Previous: 8e6c8b1 Ratio
Goblin::merge(t) 216529777 ns/iter 205464204 ns/iter 1.05

This comment was automatically generated by workflow using github-action-benchmark.

CC: @ludamad @codygunton

@fcarreiro fcarreiro changed the title feat(avm): better concurrency feat(avm): concurrency improvements Jul 16, 2024
});

bb::parallel_for(tasks.size(), [&](size_t i) { tasks[i](); });
Copy link
Collaborator

Choose a reason for hiding this comment

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

note we usually divide up tasks based on # of threads

Copy link
Contributor Author

fcarreiro commented Jul 17, 2024

Merge activity

@fcarreiro fcarreiro merged commit 0d5c066 into master Jul 17, 2024
93 checks passed
@fcarreiro fcarreiro deleted the fc/avm-better-concurrency branch July 17, 2024 13:55
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.

4 participants