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(cli): Verify return against ABI and Prover.toml #6765

Merged
merged 11 commits into from
Dec 12, 2024
Merged

Conversation

aakoshh
Copy link
Contributor

@aakoshh aakoshh commented Dec 10, 2024

Description

Problem*

Followup to #6757
Related to #6516

Summary*

Modified the execute command to:

  • check that if the circuit should return a value according to the ABI, then there is indeed Some value we can parse from the WitnessMap
  • check that if there is a return entry in Prover.toml then it matches the actual value returned by the circuit

These checks are done after the witness is saved, so we can inspect what went into the file if necessary; the main goal is to be able to use this integration testing, since the ABI parser already looks for the return key. build.rs will now check return values in execution_success, if present.

Added the test case from #6516 as extra coverage in addition to the unit test in #6757

Additional Context

Example of running the test with wrong output in Prover.toml:

cargo test -q -p nargo_cli --test execute return_twice::forcebrillig_false_inliner_0

running 1 test
F
failures:

---- tests::execution_success::test_return_twice::forcebrillig_false_inliner_0_expects stdout ----
thread 'tests::execution_success::test_return_twice::forcebrillig_false_inliner_0_expects' panicked at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ops/function.rs:250:5:
Unexpected failure.
code=1
stderr=```"Unexpected return value: expected Vec([Field(100), Field(20)]); got Some(Vec([Field(100), Field(100)]))\n"```
command=`"/Users/aakoshh/Work/aztec/noir/target/debug/nargo" "--program-dir" "/Users/aakoshh/Work/aztec/noir/test_programs/execution_success/return_twice" "execute" "--force" "--inliner-aggressiveness" "0" "--check-return"`
code=1
stdout=
[return_twice] Circuit witness successfully solved
[return_twice] Circuit output: Vec([Field(100), Field(100)])
[return_twice] Witness saved to /Users/aakoshh/Work/aztec/noir/test_programs/execution_success/return_twice/target/return_twice.gz


stderr="Unexpected return value: expected Vec([Field(100), Field(20)]); got Some(Vec([Field(100), Field(100)]))\n"

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    tests::execution_success::test_return_twice::forcebrillig_false_inliner_0_expects

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 1664 filtered out; finished in 0.59s

error: test failed, to rerun pass `-p nargo_cli --test execute`

Documentation*

Check one:

  • No documentation needed.
  • Documentation included in this PR.
  • [For Experimental Features] Documentation to be submitted in a separate PR.

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

@aakoshh aakoshh requested a review from a team December 10, 2024 20:27
Copy link
Contributor

github-actions bot commented Dec 10, 2024

Compilation Sample

Program Compilation Time %
sha256_regression 0m1.463s -8%
regression_4709 0m1.530s -3%
ram_blowup_regression 0m17.412s -2%
private-kernel-tail 0m1.469s 21%
private-kernel-reset 0m9.072s -6%
private-kernel-inner 0m2.355s -18%
parity-root 0m1.011s 6%
noir-contracts 2m51.793s 4%

Copy link
Contributor

github-actions bot commented Dec 10, 2024

Peak Memory Sample

Program Peak Memory %
keccak256 78.64M 0%
workspace 121.87M -1%
regression_4709 294.72M 0%
ram_blowup_regression 2.44G 0%
private-kernel-tail 209.05M 0%
private-kernel-reset 862.21M 0%
private-kernel-inner 307.94M 0%
parity-root 174.50M 0%

@aakoshh aakoshh changed the title feat(exec): Add --check-return to execute and verify in integration tests feat(exec): Add --check-return to execute, and verify in integration tests Dec 10, 2024
@aakoshh aakoshh changed the title feat(exec): Add --check-return to execute, and verify in integration tests feat(cli): Add --check-return to execute Dec 10, 2024
@TomAFrench
Copy link
Member

Is this reading necessary to be honest so it's kind of surprised that we didn't error out when ABI decoding already.

If we have a witness map from which we want to decode return values and we find empty witnesses at indices that should hold return values then we should just error and that should avoid the need for this flag I think.

@aakoshh
Copy link
Contributor Author

aakoshh commented Dec 10, 2024

@TomAFrench the reason it did not complain about the gaps in the witness map is explained here:

Unlike for the circuit inputs, we tolerate not being able to find the witness values for the return value.
This is because the user may be decoding a partial witness map for which is hasn't been calculated yet.
If a return value is expected, this should be checked for by the user.

You are right that based on the ABI we can tell if the circuit has any return values. I'm not sure if execute can always demand that abi.decode returns Some; it sounds like fair assumption in the context of the execute command 🤷

But I'd argue that the flag still has value to easily assert the actual value of what is being returned, not just that something is, at least in the context of integration testing, where we use Prover.toml for inputs and it readily handles the output as well. At least it can catch inconsistencies like in the diamond_deps example.

@TomAFrench
Copy link
Member

Ok, sorry I didn't read fully as I was on the tube. I'll have a look at this properly tomorrow.

@aakoshh
Copy link
Contributor Author

aakoshh commented Dec 10, 2024

I added another check to see if the return value is empty when it should be non-empty according to the ABI; all the tests are passing so I suppose that means this is a reasonable expectation. Again doing it after saving the (partial) witness map to file, but could be one earlier if the value cannot be printed.

Maybe we could compare return in Prover.toml whenever it is present, without any flags?

@jfecher
Copy link
Contributor

jfecher commented Dec 11, 2024

Maybe we could compare return in Prover.toml whenever it is present, without any flags?

This sounds good to me. I thought we already compared the return value against the verifier toml by default so it'd be good to have that behavior.

@aakoshh aakoshh changed the title feat(cli): Add --check-return to execute feat(cli): Verify return against ABI and Prover.toml Dec 11, 2024
@aakoshh aakoshh requested a review from asterite December 12, 2024 15:11
Copy link
Collaborator

@asterite asterite left a comment

Choose a reason for hiding this comment

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

Looks great!

@aakoshh aakoshh enabled auto-merge December 12, 2024 15:38
@aakoshh aakoshh added this pull request to the merge queue Dec 12, 2024
Merged via the queue into master with commit 5795a09 Dec 12, 2024
62 checks passed
@aakoshh aakoshh deleted the exec-check-return branch December 12, 2024 15:54
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 13, 2024
…iant code motion (noir-lang/noir#6782)

feat: add `(x | 1)` optimization for booleans (noir-lang/noir#6795)
feat: `nargo test -q` (or `nargo test --format terse`) (noir-lang/noir#6776)
fix: disable failure persistance in nargo test fuzzing (noir-lang/noir#6777)
feat(cli): Verify `return` against ABI and `Prover.toml` (noir-lang/noir#6765)
chore(ssa): Activate loop invariant code motion on ACIR functions (noir-lang/noir#6785)
fix: use extension in docs link so it also works on GitHub (noir-lang/noir#6787)
fix: optimizer to keep track of changing opcode locations (noir-lang/noir#6781)
fix: Minimal change to avoid reverting entire PR #6685 (noir-lang/noir#6778)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 13, 2024
…tion (noir-lang/noir#6782)

feat: add `(x | 1)` optimization for booleans (noir-lang/noir#6795)
feat: `nargo test -q` (or `nargo test --format terse`) (noir-lang/noir#6776)
fix: disable failure persistance in nargo test fuzzing (noir-lang/noir#6777)
feat(cli): Verify `return` against ABI and `Prover.toml` (noir-lang/noir#6765)
chore(ssa): Activate loop invariant code motion on ACIR functions (noir-lang/noir#6785)
fix: use extension in docs link so it also works on GitHub (noir-lang/noir#6787)
fix: optimizer to keep track of changing opcode locations (noir-lang/noir#6781)
fix: Minimal change to avoid reverting entire PR #6685 (noir-lang/noir#6778)
TomAFrench added a commit that referenced this pull request Dec 14, 2024
* master: (313 commits)
  chore: Do not print entire functions when running debug trace (#6814)
  chore(ci): Active rollup circuits in compilation report (#6813)
  feat(ssa): Bring back tracking of RC instructions during DIE (#6783)
  feat: add `nargo test --format json` (#6796)
  chore: Change Id to use a u32 (#6807)
  feat(ssa): Hoist MakeArray instructions during loop invariant code motion  (#6782)
  feat: add `(x | 1)` optimization for booleans (#6795)
  feat: `nargo test -q` (or `nargo test --format terse`) (#6776)
  fix: disable failure persistance in nargo test fuzzing (#6777)
  feat(cli): Verify `return` against ABI and `Prover.toml` (#6765)
  chore(ssa): Activate loop invariant code motion on ACIR functions (#6785)
  fix: use extension in docs link so it also works on GitHub (#6787)
  fix: optimizer to keep track of changing opcode locations (#6781)
  fix: Minimal change to avoid reverting entire PR #6685 (#6778)
  feat: several `nargo test` improvements (#6728)
  chore: Try replace callstack with a linked list (#6747)
  chore: Use `NumericType` not `Type` for casts and numeric constants (#6769)
  chore(ci): Extend compiler memory report to external repos (#6768)
  chore(ci): Handle external libraries in compilation timing report (#6750)
  feat(ssa): Implement missing brillig constraints SSA check (#6658)
  ...
ludamad pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 17, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.67.1](aztec-package-v0.67.0...aztec-package-v0.67.1)
(2024-12-17)


### Miscellaneous

* Granular CLI imports to reduce start time
([#10778](#10778))
([e2fd046](e2fd046))
* Split up protocol contract artifacts
([#10765](#10765))
([5a9ca18](5a9ca18))
* Trace and handle errors in running promises
([#10645](#10645))
([4cc0a6d](4cc0a6d))
</details>

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

##
[0.67.1](barretenberg.js-v0.67.0...barretenberg.js-v0.67.1)
(2024-12-17)


### Features

* PXE browser proving
([#10704](#10704))
([46da3cc](46da3cc))


### Bug Fixes

* **bb.js:** Use globalThis instead of self
([#10747](#10747))
([309b5f7](309b5f7)),
closes
[#10741](#10741)
* Casting vk to rawbuffer before wasm so it reads from the correct
offset
([#10769](#10769))
([6a5bcfd](6a5bcfd))
</details>

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

##
[0.67.1](aztec-packages-v0.67.0...aztec-packages-v0.67.1)
(2024-12-17)


### Features

* `nargo test -q` (or `nargo test --format terse`)
(noir-lang/noir#6776)
([8956e28](8956e28))
* Add `(x | 1)` optimization for booleans
(noir-lang/noir#6795)
([8956e28](8956e28))
* Add `nargo test --format json`
(noir-lang/noir#6796)
([d74d0fc](d74d0fc))
* Add tree equality assertions
([#10756](#10756))
([923826a](923826a))
* **avm:** Migrate simulator memory to a map
([#10715](#10715))
([64d5f2b](64d5f2b)),
closes
[#10370](#10370)
* Better initialization for permutation mapping components
([#10750](#10750))
([1516d7f](1516d7f))
* Blobs 2.
([#10188](#10188))
([d0a4b2f](d0a4b2f))
* **blobs:** Add consensus client url to config
([#10059](#10059))
([1e15bf5](1e15bf5))
* Check max fees per gas
([#10283](#10283))
([4e59b06](4e59b06))
* **cli:** Verify `return` against ABI and `Prover.toml`
(noir-lang/noir#6765)
([8956e28](8956e28))
* Json output for get_node_info
([#10771](#10771))
([b086c52](b086c52))
* Leaf index requests to the native world state can now be performed as
a batch query
([#10649](#10649))
([a437e73](a437e73))
* New 17 in 20 IVC bench added to actions
([#10777](#10777))
([9fbcff6](9fbcff6))
* Note hash management in the AVM
([#10666](#10666))
([e077980](e077980))
* **p2p:** Activate gossipsub tx validators
([#10695](#10695))
([9cce2c6](9cce2c6))
* PXE browser proving
([#10704](#10704))
([46da3cc](46da3cc))
* **ssa:** Bring back tracking of RC instructions during DIE
(noir-lang/noir#6783)
([308c5ce](308c5ce))
* **ssa:** Hoist MakeArray instructions during loop invariant code
motion (noir-lang/noir#6782)
([8956e28](8956e28))
* Sumcheck with disabled rows
([#10068](#10068))
([abd2226](abd2226))
* TXE detects duplicate nullifiers
([#10764](#10764))
([7f70110](7f70110))


### Bug Fixes

* Always remove nullified notes
([#10722](#10722))
([5e4b46d](5e4b46d))
* Avm gas and non-member
([#10709](#10709))
([dd8cc7b](dd8cc7b))
* **bb.js:** Use globalThis instead of self
([#10747](#10747))
([309b5f7](309b5f7)),
closes
[#10741](#10741)
* Cache
([#10692](#10692))
([1b1306c](1b1306c))
* Casting vk to rawbuffer before wasm so it reads from the correct
offset
([#10769](#10769))
([6a5bcfd](6a5bcfd))
* **ci:** Network-test timing
([#10725](#10725))
([9c9a2dc](9c9a2dc))
* Disable failure persistance in nargo test fuzzing
(noir-lang/noir#6777)
([8956e28](8956e28))
* Get e2e jobs
([#10689](#10689))
([37e1999](37e1999))
* Give build:fast a try in build
([#10702](#10702))
([32095f6](32095f6))
* Minimal change to avoid reverting entire PR
[#6685](#6685)
(noir-lang/noir#6778)
([8956e28](8956e28))
* Optimizer to keep track of changing opcode locations
(noir-lang/noir#6781)
([8956e28](8956e28))
* Race condition in block stream
([#10779](#10779))
([64bccd0](64bccd0))
* Race condition when cleaning epoch proof quotes
([#10795](#10795))
([f540fbe](f540fbe))
* **testdata:** Relative path calculation
([#10791](#10791))
([5a530db](5a530db))
* Use correct size for databus_id
([#10673](#10673))
([95eb658](95eb658))
* Use extension in docs link so it also works on GitHub
(noir-lang/noir#6787)
([8956e28](8956e28))
* Use throw instead of reject in broker facade
([#10735](#10735))
([cc6a72b](cc6a72b))


### Miscellaneous

* `getLogsByTags` request batching in `syncTaggedLogs`
([#10716](#10716))
([bbbf38b](bbbf38b))
* Add `Instruction::map_values_mut`
(noir-lang/noir#6756)
([308c5ce](308c5ce))
* Add errors to abis
([#10697](#10697))
([5c8e017](5c8e017))
* Add retries for prover node p2p test
([#10699](#10699))
([4115bf9](4115bf9))
* Add spans to proving job
([#10794](#10794))
([df3c51b](df3c51b))
* **avm:** Disable fake avm recursive verifier from the public base
rollup
([#10690](#10690))
([b6c9c41](b6c9c41))
* Better reqresp logging + handle empty responses in snappy
([#10657](#10657))
([934107f](934107f))
* Bump metrics and node pool
([#10745](#10745))
([9bb88bf](9bb88bf))
* Change Id to use a u32 (noir-lang/noir#6807)
([d74d0fc](d74d0fc))
* **ci:** Active rollup circuits in compilation report
(noir-lang/noir#6813)
([308c5ce](308c5ce))
* **ci:** Add bloblib to external checks
(noir-lang/noir#6818)
([381b0b8](381b0b8))
* Cleanup after e2e tests
([#10748](#10748))
([284b0a4](284b0a4))
* Disable ARM CI
([#10682](#10682))
([b16945b](b16945b))
* Do not print entire functions when running debug trace
(noir-lang/noir#6814)
([308c5ce](308c5ce))
* **docs:** Workaround (noir-lang/noir#6819)
([381b0b8](381b0b8))
* Granular CLI imports to reduce start time
([#10778](#10778))
([e2fd046](e2fd046))
* Hot fixes
([4e00dc4](4e00dc4))
* Log error in retry module
([#10719](#10719))
([84ea539](84ea539))
* Manage call stacks using a tree
(noir-lang/noir#6791)
([381b0b8](381b0b8))
* Move decider PK allocation to methods
([#10670](#10670))
([1ab9e30](1ab9e30))
* **p2p:** Move services into folders
([#10694](#10694))
([e28d12a](e28d12a))
* **prover:** Prover node should not gossip attestations
([#10672](#10672))
([41fc0f0](41fc0f0))
* Remove default export for noir contracts js
([#10762](#10762))
([c8e7763](c8e7763))
* Remove sinon in favor of a date provider
([#10705](#10705))
([3d3fabb](3d3fabb))
* Remove spurious echo
([#10774](#10774))
([5538f8c](5538f8c))
* Replace relative paths to noir-protocol-circuits
([f85fa3f](f85fa3f))
* Replace relative paths to noir-protocol-circuits
([b19c561](b19c561))
* Set max txs in spam test
([#10717](#10717))
([a50ff6c](a50ff6c))
* Slack notifications for networks
([#10784](#10784))
([bab9f85](bab9f85))
* Split up protocol contract artifacts
([#10765](#10765))
([5a9ca18](5a9ca18))
* **ssa:** Activate loop invariant code motion on ACIR functions
(noir-lang/noir#6785)
([8956e28](8956e28))
* Sync grafana dashboard
([#10792](#10792))
([421fb65](421fb65))
* Tagging cleanup
([#10675](#10675))
([52b541a](52b541a))
* Trace and handle errors in running promises
([#10645](#10645))
([4cc0a6d](4cc0a6d))
* Update external joiner script for new networks
([#10810](#10810))
([5f11cf4](5f11cf4))
</details>

<details><summary>barretenberg: 0.67.1</summary>

##
[0.67.1](barretenberg-v0.67.0...barretenberg-v0.67.1)
(2024-12-17)


### Features

* Add tree equality assertions
([#10756](#10756))
([923826a](923826a))
* Better initialization for permutation mapping components
([#10750](#10750))
([1516d7f](1516d7f))
* Leaf index requests to the native world state can now be performed as
a batch query
([#10649](#10649))
([a437e73](a437e73))
* New 17 in 20 IVC bench added to actions
([#10777](#10777))
([9fbcff6](9fbcff6))
* Note hash management in the AVM
([#10666](#10666))
([e077980](e077980))
* Sumcheck with disabled rows
([#10068](#10068))
([abd2226](abd2226))


### Bug Fixes

* Avm gas and non-member
([#10709](#10709))
([dd8cc7b](dd8cc7b))
* Use correct size for databus_id
([#10673](#10673))
([95eb658](95eb658))


### Miscellaneous

* Move decider PK allocation to methods
([#10670](#10670))
([1ab9e30](1ab9e30))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
ludamad pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 18, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.67.1](aztec-package-v0.67.0...aztec-package-v0.67.1)
(2024-12-17)


### Miscellaneous

* Granular CLI imports to reduce start time
([#10778](#10778))
([e2fd046](e2fd046))
* Split up protocol contract artifacts
([#10765](#10765))
([5a9ca18](5a9ca18))
* Trace and handle errors in running promises
([#10645](#10645))
([4cc0a6d](4cc0a6d))
</details>

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

##
[0.67.1](barretenberg.js-v0.67.0...barretenberg.js-v0.67.1)
(2024-12-17)


### Features

* PXE browser proving
([#10704](#10704))
([46da3cc](46da3cc))


### Bug Fixes

* **bb.js:** Use globalThis instead of self
([#10747](#10747))
([309b5f7](309b5f7)),
closes
[#10741](#10741)
* Casting vk to rawbuffer before wasm so it reads from the correct
offset
([#10769](#10769))
([6a5bcfd](6a5bcfd))
</details>

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

##
[0.67.1](aztec-packages-v0.67.0...aztec-packages-v0.67.1)
(2024-12-17)


### Features

* `nargo test -q` (or `nargo test --format terse`)
(noir-lang/noir#6776)
([8956e28](8956e28))
* Add `(x | 1)` optimization for booleans
(noir-lang/noir#6795)
([8956e28](8956e28))
* Add `nargo test --format json`
(noir-lang/noir#6796)
([d74d0fc](d74d0fc))
* Add tree equality assertions
([#10756](#10756))
([923826a](923826a))
* **avm:** Migrate simulator memory to a map
([#10715](#10715))
([64d5f2b](64d5f2b)),
closes
[#10370](#10370)
* Better initialization for permutation mapping components
([#10750](#10750))
([1516d7f](1516d7f))
* Blobs 2.
([#10188](#10188))
([d0a4b2f](d0a4b2f))
* **blobs:** Add consensus client url to config
([#10059](#10059))
([1e15bf5](1e15bf5))
* Check max fees per gas
([#10283](#10283))
([4e59b06](4e59b06))
* **cli:** Verify `return` against ABI and `Prover.toml`
(noir-lang/noir#6765)
([8956e28](8956e28))
* Don't store every block number in block indices DB
([#10658](#10658))
([a3fba84](a3fba84))
* Json output for get_node_info
([#10771](#10771))
([b086c52](b086c52))
* Leaf index requests to the native world state can now be performed as
a batch query
([#10649](#10649))
([a437e73](a437e73))
* New 17 in 20 IVC bench added to actions
([#10777](#10777))
([9fbcff6](9fbcff6))
* Note hash management in the AVM
([#10666](#10666))
([e077980](e077980))
* **p2p:** Activate gossipsub tx validators
([#10695](#10695))
([9cce2c6](9cce2c6))
* **p2p:** Attestation pool persistence
([#10667](#10667))
([dacef9f](dacef9f))
* PXE browser proving
([#10704](#10704))
([46da3cc](46da3cc))
* **ssa:** Bring back tracking of RC instructions during DIE
(noir-lang/noir#6783)
([308c5ce](308c5ce))
* **ssa:** Hoist MakeArray instructions during loop invariant code
motion (noir-lang/noir#6782)
([8956e28](8956e28))
* Sumcheck with disabled rows
([#10068](#10068))
([abd2226](abd2226))
* TXE detects duplicate nullifiers
([#10764](#10764))
([7f70110](7f70110))


### Bug Fixes

* Always remove nullified notes
([#10722](#10722))
([5e4b46d](5e4b46d))
* Avm gas and non-member
([#10709](#10709))
([dd8cc7b](dd8cc7b))
* AVM witgen track gas for nested calls and external halts
([#10731](#10731))
([b8bdb52](b8bdb52))
* **bb.js:** Use globalThis instead of self
([#10747](#10747))
([309b5f7](309b5f7)),
closes
[#10741](#10741)
* Block building test timeout
([#10812](#10812))
([2cad3e5](2cad3e5))
* Cache
([#10692](#10692))
([1b1306c](1b1306c))
* Casting vk to rawbuffer before wasm so it reads from the correct
offset
([#10769](#10769))
([6a5bcfd](6a5bcfd))
* **ci:** Network-test timing
([#10725](#10725))
([9c9a2dc](9c9a2dc))
* Disable failure persistance in nargo test fuzzing
(noir-lang/noir#6777)
([8956e28](8956e28))
* Get e2e jobs
([#10689](#10689))
([37e1999](37e1999))
* Give build:fast a try in build
([#10702](#10702))
([32095f6](32095f6))
* Minimal change to avoid reverting entire PR
[#6685](#6685)
(noir-lang/noir#6778)
([8956e28](8956e28))
* Optimizer to keep track of changing opcode locations
(noir-lang/noir#6781)
([8956e28](8956e28))
* Race condition in block stream
([#10779](#10779))
([64bccd0](64bccd0))
* Race condition when cleaning epoch proof quotes
([#10795](#10795))
([f540fbe](f540fbe))
* **testdata:** Relative path calculation
([#10791](#10791))
([5a530db](5a530db))
* Try fix e2e epochs in CI
([#10804](#10804))
([ba28788](ba28788))
* Use correct size for databus_id
([#10673](#10673))
([95eb658](95eb658))
* Use extension in docs link so it also works on GitHub
(noir-lang/noir#6787)
([8956e28](8956e28))
* Use throw instead of reject in broker facade
([#10735](#10735))
([cc6a72b](cc6a72b))


### Miscellaneous

* `getLogsByTags` request batching in `syncTaggedLogs`
([#10716](#10716))
([bbbf38b](bbbf38b))
* Add `Instruction::map_values_mut`
(noir-lang/noir#6756)
([308c5ce](308c5ce))
* Add errors to abis
([#10697](#10697))
([5c8e017](5c8e017))
* Add retries for prover node p2p test
([#10699](#10699))
([4115bf9](4115bf9))
* Add spans to proving job
([#10794](#10794))
([df3c51b](df3c51b))
* Average alerts across namespace for 1 hour
([#10827](#10827))
([962a7a2](962a7a2))
* **avm:** Disable fake avm recursive verifier from the public base
rollup
([#10690](#10690))
([b6c9c41](b6c9c41))
* **avm:** Radix opcode - remove immediates
([#10696](#10696))
([4ac13e6](4ac13e6)),
closes
[#10371](#10371)
* Better reqresp logging + handle empty responses in snappy
([#10657](#10657))
([934107f](934107f))
* Bump metrics and node pool
([#10745](#10745))
([9bb88bf](9bb88bf))
* Change Id to use a u32 (noir-lang/noir#6807)
([d74d0fc](d74d0fc))
* **ci:** Active rollup circuits in compilation report
(noir-lang/noir#6813)
([308c5ce](308c5ce))
* **ci:** Add bloblib to external checks
(noir-lang/noir#6818)
([381b0b8](381b0b8))
* Cleanup after e2e tests
([#10748](#10748))
([284b0a4](284b0a4))
* Disable ARM CI
([#10682](#10682))
([b16945b](b16945b))
* Do not print entire functions when running debug trace
(noir-lang/noir#6814)
([308c5ce](308c5ce))
* **docs:** Update migration notes
([#10829](#10829))
([be7cadf](be7cadf))
* **docs:** Workaround (noir-lang/noir#6819)
([381b0b8](381b0b8))
* Granular CLI imports to reduce start time
([#10778](#10778))
([e2fd046](e2fd046))
* Log error in retry module
([#10719](#10719))
([84ea539](84ea539))
* Manage call stacks using a tree
(noir-lang/noir#6791)
([381b0b8](381b0b8))
* Move decider PK allocation to methods
([#10670](#10670))
([1ab9e30](1ab9e30))
* **p2p:** Move services into folders
([#10694](#10694))
([e28d12a](e28d12a))
* **prover:** Prover node should not gossip attestations
([#10672](#10672))
([41fc0f0](41fc0f0))
* Remove default export for noir contracts js
([#10762](#10762))
([c8e7763](c8e7763))
* Remove sinon in favor of a date provider
([#10705](#10705))
([3d3fabb](3d3fabb))
* Remove spurious echo
([#10774](#10774))
([5538f8c](5538f8c))
* Replace relative paths to noir-protocol-circuits
([f85fa3f](f85fa3f))
* Replace relative paths to noir-protocol-circuits
([b19c561](b19c561))
* Set max txs in spam test
([#10717](#10717))
([a50ff6c](a50ff6c))
* Slack notifications for networks
([#10784](#10784))
([bab9f85](bab9f85))
* Split up protocol contract artifacts
([#10765](#10765))
([5a9ca18](5a9ca18))
* **ssa:** Activate loop invariant code motion on ACIR functions
(noir-lang/noir#6785)
([8956e28](8956e28))
* Sync grafana dashboard
([#10792](#10792))
([421fb65](421fb65))
* Tagging cleanup
([#10675](#10675))
([52b541a](52b541a))
* Trace and handle errors in running promises
([#10645](#10645))
([4cc0a6d](4cc0a6d))
* Update external joiner script for new networks
([#10810](#10810))
([5f11cf4](5f11cf4))
</details>

<details><summary>barretenberg: 0.67.1</summary>

##
[0.67.1](barretenberg-v0.67.0...barretenberg-v0.67.1)
(2024-12-17)


### Features

* Add tree equality assertions
([#10756](#10756))
([923826a](923826a))
* Better initialization for permutation mapping components
([#10750](#10750))
([1516d7f](1516d7f))
* Don't store every block number in block indices DB
([#10658](#10658))
([a3fba84](a3fba84))
* Leaf index requests to the native world state can now be performed as
a batch query
([#10649](#10649))
([a437e73](a437e73))
* New 17 in 20 IVC bench added to actions
([#10777](#10777))
([9fbcff6](9fbcff6))
* Note hash management in the AVM
([#10666](#10666))
([e077980](e077980))
* Sumcheck with disabled rows
([#10068](#10068))
([abd2226](abd2226))


### Bug Fixes

* Avm gas and non-member
([#10709](#10709))
([dd8cc7b](dd8cc7b))
* AVM witgen track gas for nested calls and external halts
([#10731](#10731))
([b8bdb52](b8bdb52))
* Use correct size for databus_id
([#10673](#10673))
([95eb658](95eb658))


### Miscellaneous

* **avm:** Radix opcode - remove immediates
([#10696](#10696))
([4ac13e6](4ac13e6)),
closes
[#10371](#10371)
* Move decider PK allocation to methods
([#10670](#10670))
([1ab9e30](1ab9e30))
</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 Dec 18, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.67.1](AztecProtocol/aztec-packages@aztec-package-v0.67.0...aztec-package-v0.67.1)
(2024-12-17)


### Miscellaneous

* Granular CLI imports to reduce start time
([#10778](AztecProtocol/aztec-packages#10778))
([e2fd046](AztecProtocol/aztec-packages@e2fd046))
* Split up protocol contract artifacts
([#10765](AztecProtocol/aztec-packages#10765))
([5a9ca18](AztecProtocol/aztec-packages@5a9ca18))
* Trace and handle errors in running promises
([#10645](AztecProtocol/aztec-packages#10645))
([4cc0a6d](AztecProtocol/aztec-packages@4cc0a6d))
</details>

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

##
[0.67.1](AztecProtocol/aztec-packages@barretenberg.js-v0.67.0...barretenberg.js-v0.67.1)
(2024-12-17)


### Features

* PXE browser proving
([#10704](AztecProtocol/aztec-packages#10704))
([46da3cc](AztecProtocol/aztec-packages@46da3cc))


### Bug Fixes

* **bb.js:** Use globalThis instead of self
([#10747](AztecProtocol/aztec-packages#10747))
([309b5f7](AztecProtocol/aztec-packages@309b5f7)),
closes
[#10741](AztecProtocol/aztec-packages#10741)
* Casting vk to rawbuffer before wasm so it reads from the correct
offset
([#10769](AztecProtocol/aztec-packages#10769))
([6a5bcfd](AztecProtocol/aztec-packages@6a5bcfd))
</details>

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

##
[0.67.1](AztecProtocol/aztec-packages@aztec-packages-v0.67.0...aztec-packages-v0.67.1)
(2024-12-17)


### Features

* `nargo test -q` (or `nargo test --format terse`)
(noir-lang/noir#6776)
([8956e28](AztecProtocol/aztec-packages@8956e28))
* Add `(x | 1)` optimization for booleans
(noir-lang/noir#6795)
([8956e28](AztecProtocol/aztec-packages@8956e28))
* Add `nargo test --format json`
(noir-lang/noir#6796)
([d74d0fc](AztecProtocol/aztec-packages@d74d0fc))
* Add tree equality assertions
([#10756](AztecProtocol/aztec-packages#10756))
([923826a](AztecProtocol/aztec-packages@923826a))
* **avm:** Migrate simulator memory to a map
([#10715](AztecProtocol/aztec-packages#10715))
([64d5f2b](AztecProtocol/aztec-packages@64d5f2b)),
closes
[#10370](AztecProtocol/aztec-packages#10370)
* Better initialization for permutation mapping components
([#10750](AztecProtocol/aztec-packages#10750))
([1516d7f](AztecProtocol/aztec-packages@1516d7f))
* Blobs 2.
([#10188](AztecProtocol/aztec-packages#10188))
([d0a4b2f](AztecProtocol/aztec-packages@d0a4b2f))
* **blobs:** Add consensus client url to config
([#10059](AztecProtocol/aztec-packages#10059))
([1e15bf5](AztecProtocol/aztec-packages@1e15bf5))
* Check max fees per gas
([#10283](AztecProtocol/aztec-packages#10283))
([4e59b06](AztecProtocol/aztec-packages@4e59b06))
* **cli:** Verify `return` against ABI and `Prover.toml`
(noir-lang/noir#6765)
([8956e28](AztecProtocol/aztec-packages@8956e28))
* Don't store every block number in block indices DB
([#10658](AztecProtocol/aztec-packages#10658))
([a3fba84](AztecProtocol/aztec-packages@a3fba84))
* Json output for get_node_info
([#10771](AztecProtocol/aztec-packages#10771))
([b086c52](AztecProtocol/aztec-packages@b086c52))
* Leaf index requests to the native world state can now be performed as
a batch query
([#10649](AztecProtocol/aztec-packages#10649))
([a437e73](AztecProtocol/aztec-packages@a437e73))
* New 17 in 20 IVC bench added to actions
([#10777](AztecProtocol/aztec-packages#10777))
([9fbcff6](AztecProtocol/aztec-packages@9fbcff6))
* Note hash management in the AVM
([#10666](AztecProtocol/aztec-packages#10666))
([e077980](AztecProtocol/aztec-packages@e077980))
* **p2p:** Activate gossipsub tx validators
([#10695](AztecProtocol/aztec-packages#10695))
([9cce2c6](AztecProtocol/aztec-packages@9cce2c6))
* **p2p:** Attestation pool persistence
([#10667](AztecProtocol/aztec-packages#10667))
([dacef9f](AztecProtocol/aztec-packages@dacef9f))
* PXE browser proving
([#10704](AztecProtocol/aztec-packages#10704))
([46da3cc](AztecProtocol/aztec-packages@46da3cc))
* **ssa:** Bring back tracking of RC instructions during DIE
(noir-lang/noir#6783)
([308c5ce](AztecProtocol/aztec-packages@308c5ce))
* **ssa:** Hoist MakeArray instructions during loop invariant code
motion (noir-lang/noir#6782)
([8956e28](AztecProtocol/aztec-packages@8956e28))
* Sumcheck with disabled rows
([#10068](AztecProtocol/aztec-packages#10068))
([abd2226](AztecProtocol/aztec-packages@abd2226))
* TXE detects duplicate nullifiers
([#10764](AztecProtocol/aztec-packages#10764))
([7f70110](AztecProtocol/aztec-packages@7f70110))


### Bug Fixes

* Always remove nullified notes
([#10722](AztecProtocol/aztec-packages#10722))
([5e4b46d](AztecProtocol/aztec-packages@5e4b46d))
* Avm gas and non-member
([#10709](AztecProtocol/aztec-packages#10709))
([dd8cc7b](AztecProtocol/aztec-packages@dd8cc7b))
* AVM witgen track gas for nested calls and external halts
([#10731](AztecProtocol/aztec-packages#10731))
([b8bdb52](AztecProtocol/aztec-packages@b8bdb52))
* **bb.js:** Use globalThis instead of self
([#10747](AztecProtocol/aztec-packages#10747))
([309b5f7](AztecProtocol/aztec-packages@309b5f7)),
closes
[#10741](AztecProtocol/aztec-packages#10741)
* Block building test timeout
([#10812](AztecProtocol/aztec-packages#10812))
([2cad3e5](AztecProtocol/aztec-packages@2cad3e5))
* Cache
([#10692](AztecProtocol/aztec-packages#10692))
([1b1306c](AztecProtocol/aztec-packages@1b1306c))
* Casting vk to rawbuffer before wasm so it reads from the correct
offset
([#10769](AztecProtocol/aztec-packages#10769))
([6a5bcfd](AztecProtocol/aztec-packages@6a5bcfd))
* **ci:** Network-test timing
([#10725](AztecProtocol/aztec-packages#10725))
([9c9a2dc](AztecProtocol/aztec-packages@9c9a2dc))
* Disable failure persistance in nargo test fuzzing
(noir-lang/noir#6777)
([8956e28](AztecProtocol/aztec-packages@8956e28))
* Get e2e jobs
([#10689](AztecProtocol/aztec-packages#10689))
([37e1999](AztecProtocol/aztec-packages@37e1999))
* Give build:fast a try in build
([#10702](AztecProtocol/aztec-packages#10702))
([32095f6](AztecProtocol/aztec-packages@32095f6))
* Minimal change to avoid reverting entire PR
[#6685](AztecProtocol/aztec-packages#6685)
(noir-lang/noir#6778)
([8956e28](AztecProtocol/aztec-packages@8956e28))
* Optimizer to keep track of changing opcode locations
(noir-lang/noir#6781)
([8956e28](AztecProtocol/aztec-packages@8956e28))
* Race condition in block stream
([#10779](AztecProtocol/aztec-packages#10779))
([64bccd0](AztecProtocol/aztec-packages@64bccd0))
* Race condition when cleaning epoch proof quotes
([#10795](AztecProtocol/aztec-packages#10795))
([f540fbe](AztecProtocol/aztec-packages@f540fbe))
* **testdata:** Relative path calculation
([#10791](AztecProtocol/aztec-packages#10791))
([5a530db](AztecProtocol/aztec-packages@5a530db))
* Try fix e2e epochs in CI
([#10804](AztecProtocol/aztec-packages#10804))
([ba28788](AztecProtocol/aztec-packages@ba28788))
* Use correct size for databus_id
([#10673](AztecProtocol/aztec-packages#10673))
([95eb658](AztecProtocol/aztec-packages@95eb658))
* Use extension in docs link so it also works on GitHub
(noir-lang/noir#6787)
([8956e28](AztecProtocol/aztec-packages@8956e28))
* Use throw instead of reject in broker facade
([#10735](AztecProtocol/aztec-packages#10735))
([cc6a72b](AztecProtocol/aztec-packages@cc6a72b))


### Miscellaneous

* `getLogsByTags` request batching in `syncTaggedLogs`
([#10716](AztecProtocol/aztec-packages#10716))
([bbbf38b](AztecProtocol/aztec-packages@bbbf38b))
* Add `Instruction::map_values_mut`
(noir-lang/noir#6756)
([308c5ce](AztecProtocol/aztec-packages@308c5ce))
* Add errors to abis
([#10697](AztecProtocol/aztec-packages#10697))
([5c8e017](AztecProtocol/aztec-packages@5c8e017))
* Add retries for prover node p2p test
([#10699](AztecProtocol/aztec-packages#10699))
([4115bf9](AztecProtocol/aztec-packages@4115bf9))
* Add spans to proving job
([#10794](AztecProtocol/aztec-packages#10794))
([df3c51b](AztecProtocol/aztec-packages@df3c51b))
* Average alerts across namespace for 1 hour
([#10827](AztecProtocol/aztec-packages#10827))
([962a7a2](AztecProtocol/aztec-packages@962a7a2))
* **avm:** Disable fake avm recursive verifier from the public base
rollup
([#10690](AztecProtocol/aztec-packages#10690))
([b6c9c41](AztecProtocol/aztec-packages@b6c9c41))
* **avm:** Radix opcode - remove immediates
([#10696](AztecProtocol/aztec-packages#10696))
([4ac13e6](AztecProtocol/aztec-packages@4ac13e6)),
closes
[#10371](AztecProtocol/aztec-packages#10371)
* Better reqresp logging + handle empty responses in snappy
([#10657](AztecProtocol/aztec-packages#10657))
([934107f](AztecProtocol/aztec-packages@934107f))
* Bump metrics and node pool
([#10745](AztecProtocol/aztec-packages#10745))
([9bb88bf](AztecProtocol/aztec-packages@9bb88bf))
* Change Id to use a u32 (noir-lang/noir#6807)
([d74d0fc](AztecProtocol/aztec-packages@d74d0fc))
* **ci:** Active rollup circuits in compilation report
(noir-lang/noir#6813)
([308c5ce](AztecProtocol/aztec-packages@308c5ce))
* **ci:** Add bloblib to external checks
(noir-lang/noir#6818)
([381b0b8](AztecProtocol/aztec-packages@381b0b8))
* Cleanup after e2e tests
([#10748](AztecProtocol/aztec-packages#10748))
([284b0a4](AztecProtocol/aztec-packages@284b0a4))
* Disable ARM CI
([#10682](AztecProtocol/aztec-packages#10682))
([b16945b](AztecProtocol/aztec-packages@b16945b))
* Do not print entire functions when running debug trace
(noir-lang/noir#6814)
([308c5ce](AztecProtocol/aztec-packages@308c5ce))
* **docs:** Update migration notes
([#10829](AztecProtocol/aztec-packages#10829))
([be7cadf](AztecProtocol/aztec-packages@be7cadf))
* **docs:** Workaround (noir-lang/noir#6819)
([381b0b8](AztecProtocol/aztec-packages@381b0b8))
* Granular CLI imports to reduce start time
([#10778](AztecProtocol/aztec-packages#10778))
([e2fd046](AztecProtocol/aztec-packages@e2fd046))
* Log error in retry module
([#10719](AztecProtocol/aztec-packages#10719))
([84ea539](AztecProtocol/aztec-packages@84ea539))
* Manage call stacks using a tree
(noir-lang/noir#6791)
([381b0b8](AztecProtocol/aztec-packages@381b0b8))
* Move decider PK allocation to methods
([#10670](AztecProtocol/aztec-packages#10670))
([1ab9e30](AztecProtocol/aztec-packages@1ab9e30))
* **p2p:** Move services into folders
([#10694](AztecProtocol/aztec-packages#10694))
([e28d12a](AztecProtocol/aztec-packages@e28d12a))
* **prover:** Prover node should not gossip attestations
([#10672](AztecProtocol/aztec-packages#10672))
([41fc0f0](AztecProtocol/aztec-packages@41fc0f0))
* Remove default export for noir contracts js
([#10762](AztecProtocol/aztec-packages#10762))
([c8e7763](AztecProtocol/aztec-packages@c8e7763))
* Remove sinon in favor of a date provider
([#10705](AztecProtocol/aztec-packages#10705))
([3d3fabb](AztecProtocol/aztec-packages@3d3fabb))
* Remove spurious echo
([#10774](AztecProtocol/aztec-packages#10774))
([5538f8c](AztecProtocol/aztec-packages@5538f8c))
* Replace relative paths to noir-protocol-circuits
([f85fa3f](AztecProtocol/aztec-packages@f85fa3f))
* Replace relative paths to noir-protocol-circuits
([b19c561](AztecProtocol/aztec-packages@b19c561))
* Set max txs in spam test
([#10717](AztecProtocol/aztec-packages#10717))
([a50ff6c](AztecProtocol/aztec-packages@a50ff6c))
* Slack notifications for networks
([#10784](AztecProtocol/aztec-packages#10784))
([bab9f85](AztecProtocol/aztec-packages@bab9f85))
* Split up protocol contract artifacts
([#10765](AztecProtocol/aztec-packages#10765))
([5a9ca18](AztecProtocol/aztec-packages@5a9ca18))
* **ssa:** Activate loop invariant code motion on ACIR functions
(noir-lang/noir#6785)
([8956e28](AztecProtocol/aztec-packages@8956e28))
* Sync grafana dashboard
([#10792](AztecProtocol/aztec-packages#10792))
([421fb65](AztecProtocol/aztec-packages@421fb65))
* Tagging cleanup
([#10675](AztecProtocol/aztec-packages#10675))
([52b541a](AztecProtocol/aztec-packages@52b541a))
* Trace and handle errors in running promises
([#10645](AztecProtocol/aztec-packages#10645))
([4cc0a6d](AztecProtocol/aztec-packages@4cc0a6d))
* Update external joiner script for new networks
([#10810](AztecProtocol/aztec-packages#10810))
([5f11cf4](AztecProtocol/aztec-packages@5f11cf4))
</details>

<details><summary>barretenberg: 0.67.1</summary>

##
[0.67.1](AztecProtocol/aztec-packages@barretenberg-v0.67.0...barretenberg-v0.67.1)
(2024-12-17)


### Features

* Add tree equality assertions
([#10756](AztecProtocol/aztec-packages#10756))
([923826a](AztecProtocol/aztec-packages@923826a))
* Better initialization for permutation mapping components
([#10750](AztecProtocol/aztec-packages#10750))
([1516d7f](AztecProtocol/aztec-packages@1516d7f))
* Don't store every block number in block indices DB
([#10658](AztecProtocol/aztec-packages#10658))
([a3fba84](AztecProtocol/aztec-packages@a3fba84))
* Leaf index requests to the native world state can now be performed as
a batch query
([#10649](AztecProtocol/aztec-packages#10649))
([a437e73](AztecProtocol/aztec-packages@a437e73))
* New 17 in 20 IVC bench added to actions
([#10777](AztecProtocol/aztec-packages#10777))
([9fbcff6](AztecProtocol/aztec-packages@9fbcff6))
* Note hash management in the AVM
([#10666](AztecProtocol/aztec-packages#10666))
([e077980](AztecProtocol/aztec-packages@e077980))
* Sumcheck with disabled rows
([#10068](AztecProtocol/aztec-packages#10068))
([abd2226](AztecProtocol/aztec-packages@abd2226))


### Bug Fixes

* Avm gas and non-member
([#10709](AztecProtocol/aztec-packages#10709))
([dd8cc7b](AztecProtocol/aztec-packages@dd8cc7b))
* AVM witgen track gas for nested calls and external halts
([#10731](AztecProtocol/aztec-packages#10731))
([b8bdb52](AztecProtocol/aztec-packages@b8bdb52))
* Use correct size for databus_id
([#10673](AztecProtocol/aztec-packages#10673))
([95eb658](AztecProtocol/aztec-packages@95eb658))


### Miscellaneous

* **avm:** Radix opcode - remove immediates
([#10696](AztecProtocol/aztec-packages#10696))
([4ac13e6](AztecProtocol/aztec-packages@4ac13e6)),
closes
[#10371](AztecProtocol/aztec-packages#10371)
* Move decider PK allocation to methods
([#10670](AztecProtocol/aztec-packages#10670))
([1ab9e30](AztecProtocol/aztec-packages@1ab9e30))
</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