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

fix: underconstrained bug #11174

Merged
merged 3 commits into from
Jan 13, 2025
Merged

fix: underconstrained bug #11174

merged 3 commits into from
Jan 13, 2025

Conversation

benesjan
Copy link
Contributor

@benesjan benesjan commented Jan 10, 2025

Fixes underconstrained bug Nico spotted here.

Note on severity

The bug could not be exploited because the VariableMerkleTree is only used when computing an out_hash here and out_hash is checked on L1 against a hash computed on L1. For this reason the severity of the bug is low. But it makes sense to fix because it could become an issue in case the implementation would get used somewhere else later on.

The bug is explained in comments.

Copy link
Contributor Author

benesjan commented Jan 10, 2025

@benesjan benesjan force-pushed the 01-10-refactor_variablemerkletree_readability_improvements branch from 4541806 to 6c8ecfd Compare January 10, 2025 21:15
@benesjan benesjan force-pushed the 01-10-fix_underconstrained_bug branch from a1eec2b to 2de30bd Compare January 10, 2025 21:16
@benesjan benesjan marked this pull request as ready for review January 10, 2025 21:16
@@ -50,17 +51,15 @@ fn get_prev_power_2(value: u32) -> u32 {

let next_power_2 = 2 << next_power_exponent;
let prev_power_2 = next_power_2 / 2;
assert((value == 0) | (value == 1) | (value > prev_power_2));
assert(prev_power_2 < value);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

If value equals 0 or 1, the previous power of 2 is completely unconstrained and we could craft a response from get_next_power_exponent such that prev_power_2 is anything in [1, 2, 4, 8, 16, ...].


// hash base layer
// If we have no num_non_empty_leaves, we return 0
let mut stop = num_non_empty_leaves == 0;
Copy link
Contributor Author

@benesjan benesjan Jan 10, 2025

Choose a reason for hiding this comment

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

Before the code changes we could do the following when hashing base layer.

For num_non_empty_leaves = 0, there is no damage because stop on the line above would be set to true.
For num_non_empty_leaves = 1, this could allow us to hash also the empty leaves getting a different root.

nodes[i] = accumulate_sha256([leaves[2 * i], leaves[2 * i + 1]]);
}
}

// hash the other layers
stop = prev_power_2 == 1;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Here we can cause damage even for num_non_empty_leaves = 0, because we decide whether to hash just based on prev_power_2.

let mut next_layer_size = next_layer_end;
let mut root = nodes[0];
for i in 0..(N - 1 - N / 2) {
if !stop {
nodes[prev_power_2 + i] = accumulate_sha256([nodes[2 * i], nodes[2 * i + 1]]);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

For num_non_empty_leaves = 0 and 1 we could cause havoc here as prev_power_2 is directly used in index here and on line 108.

} else {
// For more than 1 leaf, we dynamically compute num of nodes in layer 1 by finding the previous power of 2
get_prev_power_2(num_non_empty_leaves)
};
Copy link
Contributor Author

Choose a reason for hiding this comment

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

These ^ ifs are the fix --> now we don't enter get_prev_power_2 for num_non_empty_leaves < 2 and instead in those situations we explicitly set the values.

// If we have no num_non_empty_leaves, we return 0
let mut stop = num_non_empty_leaves == 0;

let num_nodes_layer_1 = if (num_non_empty_leaves == 0) {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Renamed prev_power_2 to num_nodes_layer_1 as I found it hard to reason about prev_power_2.

@benesjan benesjan force-pushed the 01-10-refactor_variablemerkletree_readability_improvements branch from 6c8ecfd to 3bcccd6 Compare January 13, 2025 15:06
@benesjan benesjan force-pushed the 01-10-fix_underconstrained_bug branch from 2de30bd to 26c5817 Compare January 13, 2025 15:06
Copy link
Contributor

github-actions bot commented Jan 13, 2025

Changes to circuit sizes

Generated at commit: 1c4fcda1378cd1927d869a02bf32e862a51c76a7, compared to commit: 8be882f3f00a0652abe1a70709eeb9374a768b22

🧾 Summary (100% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
rollup_base_private +2 ❌ +0.00% +6 ❌ +0.00%
rollup_base_public +2 ❌ +0.00% +6 ❌ +0.00%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
rollup_base_private 138,590 (+2) +0.00% 1,772,615 (+6) +0.00%
rollup_base_public 366,997 (+2) +0.00% 3,236,019 (+6) +0.00%

Copy link
Contributor Author

benesjan commented Jan 13, 2025

Merge activity

  • Jan 13, 11:24 AM EST: A user started a stack merge that includes this pull request via Graphite.
  • Jan 13, 11:26 AM EST: Graphite rebased this pull request as part of a merge.
  • Jan 13, 12:04 PM EST: A user merged this pull request with Graphite.

@benesjan benesjan changed the base branch from 01-10-refactor_variablemerkletree_readability_improvements to graphite-base/11174 January 13, 2025 16:24
@benesjan benesjan changed the base branch from graphite-base/11174 to master January 13, 2025 16:25
@benesjan benesjan force-pushed the 01-10-fix_underconstrained_bug branch from 26c5817 to 52422a8 Compare January 13, 2025 16:25
@benesjan benesjan merged commit 0b3088b into master Jan 13, 2025
49 checks passed
@benesjan benesjan deleted the 01-10-fix_underconstrained_bug branch January 13, 2025 17:04
TomAFrench added a commit that referenced this pull request Jan 13, 2025
* master: (329 commits)
  fix(avm): mac build (#11195)
  fix: docs rebuild patterns (#11191)
  chore: refactor Solidity Transcript and improve error handling in  sol_honk flow (#11158)
  chore: move witness computation into class plus some other cleanup (#11140)
  fix: get_next_power_exponent off by 1 (#11169)
  chore(avm): vm2 followup cleanup (#11186)
  fix: underconstrained bug (#11174)
  refactor: VariableMerkleTree readability improvements (#11165)
  chore: removing noir bug workaround (#10535)
  chore(docs): Remove node pages  (#11161)
  git subrepo push --branch=master noir-projects/aztec-nr
  git_subrepo.sh: Fix parent in .gitrepo file. [skip ci]
  chore: replace relative paths to noir-protocol-circuits
  git subrepo push --branch=master barretenberg
  feat(avm2): avm redesign init (#10906)
  feat: Sync from noir (#11138)
  feat: simulator split (#11144)
  chore: rpc server cleanup & misc fixes (#11145)
  git subrepo push --branch=master noir-projects/aztec-nr
  git_subrepo.sh: Fix parent in .gitrepo file. [skip ci]
  ...
rahul-kothari pushed a commit that referenced this pull request Jan 15, 2025
🤖 I have created a release *beep* *boop*
---


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

##
[0.70.0](aztec-package-v0.69.1...aztec-package-v0.70.0)
(2025-01-15)


### Features

* Blob sink in sandbox without extra process
([#11032](#11032))
([4600f54](4600f54))
* Browser chunking
([#11102](#11102))
([393e843](393e843))


### Miscellaneous

* Greater stability at 1TPS
([#10981](#10981))
([1c23662](1c23662))
* Prover db config
([#11126](#11126))
([9d49393](9d49393)),
closes
[#10267](#10267)
* Rpc server cleanup & misc fixes
([#11145](#11145))
([8a927eb](8a927eb))
</details>

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

##
[0.70.0](barretenberg.js-v0.69.1...barretenberg.js-v0.70.0)
(2025-01-15)


### Miscellaneous

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

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

##
[0.70.0](aztec-packages-v0.69.1...aztec-packages-v0.70.0)
(2025-01-15)


### ⚠ BREAKING CHANGES

* disallow calling unconstrained functions outside of `unsafe` blocks
and passing unconstrained functions in place of constrained functions
(noir-lang/noir#6938)
* Disable mocks in `execute`
(noir-lang/noir#6869)
* require trait primitive functions/calls to have their trait in scope
(noir-lang/noir#6901)
* Reserve `enum` and `match` keywords
(noir-lang/noir#6961)
* require trait method calls (`foo.bar()`) to have the trait in scope
(imported) (noir-lang/noir#6895)
* type-check trait default methods
(noir-lang/noir#6645)
* update `aes128_encrypt` to return an array
(noir-lang/noir#6973)
* turn TypeIsMorePrivateThenItem into an error
(noir-lang/noir#6953)
* turn CannotReexportItemWithLessVisibility into an error
(noir-lang/noir#6952)

### Features

* `--pedantic-solving` flag
(noir-lang/noir#6716)
([3883a0e](3883a0e))
* 7 bit long `note_type_id`
([#10951](#10951))
([6fc5673](6fc5673))
* **avm2:** Avm redesign init
([#10906](#10906))
([231f017](231f017))
* Blob sink in sandbox without extra process
([#11032](#11032))
([4600f54](4600f54))
* Browser chunking
([#11102](#11102))
([393e843](393e843))
* Build blocks using txs with higher fee first
([#11093](#11093))
([def7cd7](def7cd7)),
closes
[#11084](#11084)
* **cli:** Add CLI option to filter by contract function name
(noir-lang/noir#7018)
([9189120](9189120))
* **comptime:** Implement to_be_bits and to_le_bits in the interpreter
(noir-lang/noir#7008)
([9189120](9189120))
* Contract class must be registered before deployment
([#10949](#10949))
([7176a70](7176a70))
* Dashboard in gcp
([#11201](#11201))
([2790bd7](2790bd7))
* Disable mocks in `execute`
(noir-lang/noir#6869)
([9189120](9189120))
* Disallow calling unconstrained functions outside of `unsafe` blocks
and passing unconstrained functions in place of constrained functions
(noir-lang/noir#6938)
([9189120](9189120))
* Don't report warnings for dependencies
(noir-lang/noir#6926)
([3883a0e](3883a0e))
* Don't simplify SSA instructions when creating them from a string
(noir-lang/noir#6948)
([3883a0e](3883a0e))
* Expose getL2ToL1Membership on the pxe
([#11215](#11215))
([ffd3625](ffd3625))
* Impl Default for U128 (noir-lang/noir#6984)
([3883a0e](3883a0e))
* Inject protocol nullifier conditionally
([#11155](#11155))
([93ade26](93ade26))
* Kickoff tube circuits at the beginning of proving job
([#11139](#11139))
([85d389f](85d389f)),
closes
[#10998](#10998)
* Lock on Nargo.toml on several nargo commands
(noir-lang/noir#6941)
([3883a0e](3883a0e))
* **lsp:** Use trait method docs for trait impl method docs on hover
(noir-lang/noir#7003)
([9189120](9189120))
* Monitor event loop lag
([#11127](#11127))
([422f125](422f125))
* Permutation argument optimizations
([#10960](#10960))
([de99603](de99603))
* PXE db contract store
([#10867](#10867))
([b5d51eb](b5d51eb))
* Require trait function calls (`Foo::bar()`) to have the trait in scope
(imported) (noir-lang/noir#6882)
([3883a0e](3883a0e))
* Require trait method calls (`foo.bar()`) to have the trait in scope
(imported) (noir-lang/noir#6895)
([3883a0e](3883a0e))
* Require trait primitive functions/calls to have their trait in scope
(noir-lang/noir#6901)
([9189120](9189120))
* Simulator split
([#11144](#11144))
([9b99126](9b99126))
* Single tx block root rollup
([#11096](#11096))
([bcc0168](bcc0168))
* SSA globals in monomorphization and SSA gen
(noir-lang/noir#6985)
([9189120](9189120))
* **ssa:** Immediately simplify away RefCount instructions in ACIR
functions (noir-lang/noir#6893)
([3883a0e](3883a0e))
* **test:** Enable the test fuzzer for Wasm
(noir-lang/noir#6835)
([3883a0e](3883a0e))
* Track nodejs runtime metrics
([#11160](#11160))
([1d24fab](1d24fab))
* Turn CannotReexportItemWithLessVisibility into an error
(noir-lang/noir#6952)
([3883a0e](3883a0e))
* Turn TypeIsMorePrivateThenItem into an error
(noir-lang/noir#6953)
([3883a0e](3883a0e))
* Type-check trait default methods
(noir-lang/noir#6645)
([3883a0e](3883a0e))
* Unchecked math operations in SSA
(noir-lang/noir#7011)
([9189120](9189120))
* Update `aes128_encrypt` to return an array
(noir-lang/noir#6973)
([3883a0e](3883a0e))
* Use tail public inputs as transaction hash
([#11100](#11100))
([34be2c3](34be2c3))
* Validator deadline for reexecution
([#11050](#11050))
([1aa34e7](1aa34e7)),
closes
[#10959](#10959)


### Bug Fixes

* Added start/stop guards to running promise and serial queue
([#11120](#11120))
([23e642f](23e642f))
* Allow multiple trait impls for the same trait as long as one is in
scope (noir-lang/noir#6987)
([9189120](9189120))
* **avm:** AVM circuit fixes related calldata, returndata and call_ptr
([#11207](#11207))
([2f05dc0](2f05dc0))
* **avm:** Mac build
([#11195](#11195))
([c4f4452](c4f4452))
* **avm:** Mac build (retry)
([#11197](#11197))
([0a4b763](0a4b763))
* Aztec-spartan config var
([#11137](#11137))
([acbfad4](acbfad4))
* Blob fees & l1-publisher logging
([#11029](#11029))
([c2c0bc6](c2c0bc6))
* **bootstrap:** Don't download bad cache if unstaged changes
([#11198](#11198))
([2bd895b](2bd895b))
* **boxes:** Fix attempt 2
([#11175](#11175))
([e87b11a](e87b11a))
* Bump inotify limits on tester
([#11217](#11217))
([60bdf1d](60bdf1d))
* Do not emit range check for multiplication by bool
(noir-lang/noir#6983)
([3883a0e](3883a0e))
* Do not panic on indices which are not valid `u32`s
(noir-lang/noir#6976)
([3883a0e](3883a0e))
* Docs rebuild patterns
([#11191](#11191))
([1999990](1999990))
* Don't fail parsing macro if there are parser warnings
(noir-lang/noir#6969)
([3883a0e](3883a0e))
* Don't retransmit txs upon node restart
([#11123](#11123))
([39535c9](39535c9))
* Duplicate env vars
([#11166](#11166))
([2507b6f](2507b6f))
* Error on missing function parameters
(noir-lang/noir#6967)
([3883a0e](3883a0e))
* Get_next_power_exponent off by 1
([#11169](#11169))
([80ec19e](80ec19e))
* Let static_assert fail with the provided message
(noir-lang/noir#7005)
([9189120](9189120))
* Max_note_len computation
([#10438](#10438))
([099c17b](099c17b))
* Non-determinism from under constrained checks
(noir-lang/noir#6945)
([3883a0e](3883a0e))
* Prover node aborts execution at epoch end
([#11111](#11111))
([2a77616](2a77616)),
closes
[#10802](#10802)
* Prover node does not err upon an empty epoch
([#11204](#11204))
([2c3ab84](2c3ab84))
* Remove arch tag in sandbox images
([#11233](#11233))
([80a872d](80a872d))
* Remove max lookup table size constant (for now)
([#11095](#11095))
([7e9e268](7e9e268))
* Reproduce and fix bytecode blowup
(noir-lang/noir#6972)
([9189120](9189120))
* Require generic trait impls to be in scope to call them
(noir-lang/noir#6913)
([9189120](9189120))
* Restore upload_logs script in use by acir bench
([2d88497](2d88497))
* Return trait impl method as FuncId if there's only one
(noir-lang/noir#6989)
([9189120](9189120))
* Revert "chore: use L1 Tx Utils"
([#11167](#11167))
([f4e5c79](f4e5c79))
* Sequencer times out L1 tx at end of L2 slot
([#11112](#11112))
([1b88a34](1b88a34))
* Show output of `test_program_is_idempotent` on failure
(noir-lang/noir#6942)
([3883a0e](3883a0e))
* Start RC at 1 again (noir-lang/noir#6958)
([3883a0e](3883a0e))
* Underconstrained bug
([#11174](#11174))
([0b3088b](0b3088b))
* Update fs max user instances for k8s
([#11220](#11220))
([b42da6d](b42da6d))
* Use absolute path for docker bind in e2e-test
([f2885ec](f2885ec))
* Wrong module to lookup trait when using crate or super
(noir-lang/noir#6974)
([3883a0e](3883a0e))


### Miscellaneous

* Add cli option to specify withdrawer address in the add-l1-validator …
([#11199](#11199))
([107f175](107f175))
* Add memsuspend to parallel in bootstrap
([#11040](#11040))
([c78cb82](c78cb82))
* Add more Field use info (noir-lang/noir#7019)
([9189120](9189120))
* Add reproduction case for bignum test failure
(noir-lang/noir#6464)
([3883a0e](3883a0e))
* Add short circuit in ssa-gen for known if conditions
(noir-lang/noir#7007)
([9189120](9189120))
* Also print test output to stdout in CI
(noir-lang/noir#6930)
([3883a0e](3883a0e))
* **avm:** Fix mac build
([#11147](#11147))
([1775e53](1775e53))
* **avm:** Improve column stats
([#11135](#11135))
([535a14c](535a14c))
* **avm:** Re-enable bb-prover tests in CI, change some to
check-circuit-only, enable multi-enqueued call tests
([#11180](#11180))
([3092212](3092212))
* **avm:** Vm2 followup cleanup
([#11186](#11186))
([6de4013](6de4013))
* Block building benchmark via github-action-benchmark
([#11202](#11202))
([c107b6b](c107b6b)),
closes
[#11154](#11154)
* Bump `noir-gates-diff` (noir-lang/noir#6943)
([3883a0e](3883a0e))
* Bump `noir-gates-diff` (noir-lang/noir#6944)
([3883a0e](3883a0e))
* Bump `noir-gates-diff` (noir-lang/noir#6949)
([3883a0e](3883a0e))
* Bump arkworks to version `0.5.0`
(noir-lang/noir#6871)
([3883a0e](3883a0e))
* **ci:** Easier to use mac ci
([#11194](#11194))
([9ab4cee](9ab4cee))
* **ci:** Ensure that prover.toml files in protocol circuits are in sync
([#11141](#11141))
([db769bd](db769bd))
* **ci:** Fail properly in `external-repo-checks`
(noir-lang/noir#6988)
([9189120](9189120))
* **ci:** Try fix boxes-test
([#11162](#11162))
([a66349f](a66349f))
* Clarity fix in docs (noir-lang/noir#7016)
([9189120](9189120))
* Delete a bunch of dead code from `noirc_evaluator`
(noir-lang/noir#6939)
([3883a0e](3883a0e))
* Delete docs for versions which aren't used
(noir-lang/noir#7020)
([9189120](9189120))
* Disable reorg test
([#11176](#11176))
([78bec44](78bec44))
* Disallow inserting ACIR-only instructions into brillig functions
(noir-lang/noir#7017)
([9189120](9189120))
* **docs:** Backport 1.0.0-beta.0 doc fixes
(noir-lang/noir#7014)
([9189120](9189120))
* **docs:** Edit Aztec.nr Guide section
([#10866](#10866))
([4051ba8](4051ba8))
* **docs:** Remove node pages
([#11161](#11161))
([e494f6b](e494f6b))
* **docs:** Update tx concepts page
([#10947](#10947))
([d9d9798](d9d9798))
* Document aztec-nargo in readme
([#11173](#11173))
([927eabf](927eabf))
* Greater stability at 1TPS
([#10981](#10981))
([1c23662](1c23662))
* Jest reporters for CI
([#11125](#11125))
([90cd9d2](90cd9d2))
* Log number of instructions executed for call in AVM. Misc fix.
([#11110](#11110))
([44e01f4](44e01f4))
* Mark `aztec-nr` as expected to compile
(noir-lang/noir#7015)
([9189120](9189120))
* Mark casts as able to be deduplicated
(noir-lang/noir#6996)
([9189120](9189120))
* Missed test account retrieval simplification in one spot
([#11172](#11172))
([b72234e](b72234e))
* Move comment as part of
[#6945](#6945)
(noir-lang/noir#6959)
([3883a0e](3883a0e))
* Move witness computation into class plus some other cleanup
([#11140](#11140))
([d41e9ab](d41e9ab))
* Nuke unused `getSiblingPath` oracle
([#11090](#11090))
([36b640a](36b640a))
* Nuking mental model of "packing into a hash"
([#11200](#11200))
([e1ebcc0](e1ebcc0))
* Only resolved globals monomorphization
(noir-lang/noir#7006)
([9189120](9189120))
* Prover db config
([#11126](#11126))
([9d49393](9d49393)),
closes
[#10267](#10267)
* Redo typo PR by longxiangqiao
([#11109](#11109))
([b8ef30e](b8ef30e))
* Refactor `get_tx_effects_hash_input_helper`
([#11213](#11213))
([5becb99](5becb99))
* Refactor Solidity Transcript and improve error handling in sol_honk
flow
([#11158](#11158))
([58fdf87](58fdf87))
* Remove explicit collector address
([#11227](#11227))
([dfb0db5](dfb0db5))
* Remove resolve_is_unconstrained pass
(noir-lang/noir#7004)
([9189120](9189120))
* Removing noir bug workaround
([#10535](#10535))
([8be882f](8be882f))
* Replace relative paths to noir-protocol-circuits
([d8619fa](d8619fa))
* Replace relative paths to noir-protocol-circuits
([70cad1c](70cad1c))
* Replace relative paths to noir-protocol-circuits
([e962534](e962534))
* Replace relative paths to noir-protocol-circuits
([ba5a589](ba5a589))
* Replace relative paths to noir-protocol-circuits
([b7c3fa2](b7c3fa2))
* Replace relative paths to noir-protocol-circuits
([32840c6](32840c6))
* Require safety doc comment for unsafe instead of
`//[@safety](https://github.com/safety)`
(noir-lang/noir#6992)
([9189120](9189120))
* Reserve `enum` and `match` keywords
(noir-lang/noir#6961)
([9189120](9189120))
* Rpc server cleanup & misc fixes
([#11145](#11145))
([8a927eb](8a927eb))
* Sanity checking of proving job IDs
([#11134](#11134))
([61c3e95](61c3e95))
* Save kind smoke test logs as artifact
([#11212](#11212))
([1389a5b](1389a5b))
* Separate unconstrained functions during monomorphization
(noir-lang/noir#6894)
([3883a0e](3883a0e))
* Simplify a couple of enum variants
(noir-lang/noir#7025)
([9189120](9189120))
* Simplify boolean in a mul of a mul
(noir-lang/noir#6951)
([3883a0e](3883a0e))
* SmallSubgroupIPA tests
([#11106](#11106))
([f034e2a](f034e2a))
* **spartan:** Making the spartan script install jq
([#11231](#11231))
([7e628cc](7e628cc))
* Test:e2e defaults to no-docker
([#10966](#10966))
([15e0d71](15e0d71))
* Turn on averaging for protocol circuits metrics in CI
(noir-lang/noir#6999)
([9189120](9189120))
* Update aztec-spartan.sh script
([#11228](#11228))
([52b3a87](52b3a87))
* Use DFG in SSA printer (noir-lang/noir#6986)
([9189120](9189120))
* Use L1 Tx Utils
([#10759](#10759))
([ccf28f5](ccf28f5)),
closes
[#10464](#10464)
* Use logs for benchmarking
(noir-lang/noir#6911)
([3883a0e](3883a0e))
* VariableMerkleTree readability improvements
([#11165](#11165))
([010d1b0](010d1b0))
* Wait for ethereum in each pod
([#11238](#11238))
([9c08e00](9c08e00))


### Documentation

* Enable protocol specs for docs in dev mode
([#11219](#11219))
([10c8afe](10c8afe))
</details>

<details><summary>barretenberg: 0.70.0</summary>

##
[0.70.0](barretenberg-v0.69.1...barretenberg-v0.70.0)
(2025-01-15)


### Features

* **avm2:** Avm redesign init
([#10906](#10906))
([231f017](231f017))
* Permutation argument optimizations
([#10960](#10960))
([de99603](de99603))
* Use tail public inputs as transaction hash
([#11100](#11100))
([34be2c3](34be2c3))


### Bug Fixes

* **avm:** AVM circuit fixes related calldata, returndata and call_ptr
([#11207](#11207))
([2f05dc0](2f05dc0))
* **avm:** Mac build
([#11195](#11195))
([c4f4452](c4f4452))
* **avm:** Mac build (retry)
([#11197](#11197))
([0a4b763](0a4b763))
* **bootstrap:** Don't download bad cache if unstaged changes
([#11198](#11198))
([2bd895b](2bd895b))
* Remove max lookup table size constant (for now)
([#11095](#11095))
([7e9e268](7e9e268))


### Miscellaneous

* **avm:** Fix mac build
([#11147](#11147))
([1775e53](1775e53))
* **avm:** Improve column stats
([#11135](#11135))
([535a14c](535a14c))
* **avm:** Re-enable bb-prover tests in CI, change some to
check-circuit-only, enable multi-enqueued call tests
([#11180](#11180))
([3092212](3092212))
* **avm:** Vm2 followup cleanup
([#11186](#11186))
([6de4013](6de4013))
* **docs:** Update tx concepts page
([#10947](#10947))
([d9d9798](d9d9798))
* Move witness computation into class plus some other cleanup
([#11140](#11140))
([d41e9ab](d41e9ab))
* Redo typo PR by longxiangqiao
([#11109](#11109))
([b8ef30e](b8ef30e))
* Refactor Solidity Transcript and improve error handling in sol_honk
flow
([#11158](#11158))
([58fdf87](58fdf87))
* SmallSubgroupIPA tests
([#11106](#11106))
([f034e2a](f034e2a))
</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 Jan 16, 2025
🤖 I have created a release *beep* *boop*
---


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

##
[0.70.0](AztecProtocol/aztec-packages@aztec-package-v0.69.1...aztec-package-v0.70.0)
(2025-01-15)


### Features

* Blob sink in sandbox without extra process
([#11032](AztecProtocol/aztec-packages#11032))
([4600f54](AztecProtocol/aztec-packages@4600f54))
* Browser chunking
([#11102](AztecProtocol/aztec-packages#11102))
([393e843](AztecProtocol/aztec-packages@393e843))


### Miscellaneous

* Greater stability at 1TPS
([#10981](AztecProtocol/aztec-packages#10981))
([1c23662](AztecProtocol/aztec-packages@1c23662))
* Prover db config
([#11126](AztecProtocol/aztec-packages#11126))
([9d49393](AztecProtocol/aztec-packages@9d49393)),
closes
[#10267](AztecProtocol/aztec-packages#10267)
* Rpc server cleanup & misc fixes
([#11145](AztecProtocol/aztec-packages#11145))
([8a927eb](AztecProtocol/aztec-packages@8a927eb))
</details>

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

##
[0.70.0](AztecProtocol/aztec-packages@barretenberg.js-v0.69.1...barretenberg.js-v0.70.0)
(2025-01-15)


### Miscellaneous

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

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

##
[0.70.0](AztecProtocol/aztec-packages@aztec-packages-v0.69.1...aztec-packages-v0.70.0)
(2025-01-15)


### ⚠ BREAKING CHANGES

* disallow calling unconstrained functions outside of `unsafe` blocks
and passing unconstrained functions in place of constrained functions
(noir-lang/noir#6938)
* Disable mocks in `execute`
(noir-lang/noir#6869)
* require trait primitive functions/calls to have their trait in scope
(noir-lang/noir#6901)
* Reserve `enum` and `match` keywords
(noir-lang/noir#6961)
* require trait method calls (`foo.bar()`) to have the trait in scope
(imported) (noir-lang/noir#6895)
* type-check trait default methods
(noir-lang/noir#6645)
* update `aes128_encrypt` to return an array
(noir-lang/noir#6973)
* turn TypeIsMorePrivateThenItem into an error
(noir-lang/noir#6953)
* turn CannotReexportItemWithLessVisibility into an error
(noir-lang/noir#6952)

### Features

* `--pedantic-solving` flag
(noir-lang/noir#6716)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* 7 bit long `note_type_id`
([#10951](AztecProtocol/aztec-packages#10951))
([6fc5673](AztecProtocol/aztec-packages@6fc5673))
* **avm2:** Avm redesign init
([#10906](AztecProtocol/aztec-packages#10906))
([231f017](AztecProtocol/aztec-packages@231f017))
* Blob sink in sandbox without extra process
([#11032](AztecProtocol/aztec-packages#11032))
([4600f54](AztecProtocol/aztec-packages@4600f54))
* Browser chunking
([#11102](AztecProtocol/aztec-packages#11102))
([393e843](AztecProtocol/aztec-packages@393e843))
* Build blocks using txs with higher fee first
([#11093](AztecProtocol/aztec-packages#11093))
([def7cd7](AztecProtocol/aztec-packages@def7cd7)),
closes
[#11084](AztecProtocol/aztec-packages#11084)
* **cli:** Add CLI option to filter by contract function name
(noir-lang/noir#7018)
([9189120](AztecProtocol/aztec-packages@9189120))
* **comptime:** Implement to_be_bits and to_le_bits in the interpreter
(noir-lang/noir#7008)
([9189120](AztecProtocol/aztec-packages@9189120))
* Contract class must be registered before deployment
([#10949](AztecProtocol/aztec-packages#10949))
([7176a70](AztecProtocol/aztec-packages@7176a70))
* Dashboard in gcp
([#11201](AztecProtocol/aztec-packages#11201))
([2790bd7](AztecProtocol/aztec-packages@2790bd7))
* Disable mocks in `execute`
(noir-lang/noir#6869)
([9189120](AztecProtocol/aztec-packages@9189120))
* Disallow calling unconstrained functions outside of `unsafe` blocks
and passing unconstrained functions in place of constrained functions
(noir-lang/noir#6938)
([9189120](AztecProtocol/aztec-packages@9189120))
* Don't report warnings for dependencies
(noir-lang/noir#6926)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Don't simplify SSA instructions when creating them from a string
(noir-lang/noir#6948)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Expose getL2ToL1Membership on the pxe
([#11215](AztecProtocol/aztec-packages#11215))
([ffd3625](AztecProtocol/aztec-packages@ffd3625))
* Impl Default for U128 (noir-lang/noir#6984)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Inject protocol nullifier conditionally
([#11155](AztecProtocol/aztec-packages#11155))
([93ade26](AztecProtocol/aztec-packages@93ade26))
* Kickoff tube circuits at the beginning of proving job
([#11139](AztecProtocol/aztec-packages#11139))
([85d389f](AztecProtocol/aztec-packages@85d389f)),
closes
[#10998](AztecProtocol/aztec-packages#10998)
* Lock on Nargo.toml on several nargo commands
(noir-lang/noir#6941)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* **lsp:** Use trait method docs for trait impl method docs on hover
(noir-lang/noir#7003)
([9189120](AztecProtocol/aztec-packages@9189120))
* Monitor event loop lag
([#11127](AztecProtocol/aztec-packages#11127))
([422f125](AztecProtocol/aztec-packages@422f125))
* Permutation argument optimizations
([#10960](AztecProtocol/aztec-packages#10960))
([de99603](AztecProtocol/aztec-packages@de99603))
* PXE db contract store
([#10867](AztecProtocol/aztec-packages#10867))
([b5d51eb](AztecProtocol/aztec-packages@b5d51eb))
* Require trait function calls (`Foo::bar()`) to have the trait in scope
(imported) (noir-lang/noir#6882)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Require trait method calls (`foo.bar()`) to have the trait in scope
(imported) (noir-lang/noir#6895)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Require trait primitive functions/calls to have their trait in scope
(noir-lang/noir#6901)
([9189120](AztecProtocol/aztec-packages@9189120))
* Simulator split
([#11144](AztecProtocol/aztec-packages#11144))
([9b99126](AztecProtocol/aztec-packages@9b99126))
* Single tx block root rollup
([#11096](AztecProtocol/aztec-packages#11096))
([bcc0168](AztecProtocol/aztec-packages@bcc0168))
* SSA globals in monomorphization and SSA gen
(noir-lang/noir#6985)
([9189120](AztecProtocol/aztec-packages@9189120))
* **ssa:** Immediately simplify away RefCount instructions in ACIR
functions (noir-lang/noir#6893)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* **test:** Enable the test fuzzer for Wasm
(noir-lang/noir#6835)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Track nodejs runtime metrics
([#11160](AztecProtocol/aztec-packages#11160))
([1d24fab](AztecProtocol/aztec-packages@1d24fab))
* Turn CannotReexportItemWithLessVisibility into an error
(noir-lang/noir#6952)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Turn TypeIsMorePrivateThenItem into an error
(noir-lang/noir#6953)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Type-check trait default methods
(noir-lang/noir#6645)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Unchecked math operations in SSA
(noir-lang/noir#7011)
([9189120](AztecProtocol/aztec-packages@9189120))
* Update `aes128_encrypt` to return an array
(noir-lang/noir#6973)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Use tail public inputs as transaction hash
([#11100](AztecProtocol/aztec-packages#11100))
([34be2c3](AztecProtocol/aztec-packages@34be2c3))
* Validator deadline for reexecution
([#11050](AztecProtocol/aztec-packages#11050))
([1aa34e7](AztecProtocol/aztec-packages@1aa34e7)),
closes
[#10959](AztecProtocol/aztec-packages#10959)


### Bug Fixes

* Added start/stop guards to running promise and serial queue
([#11120](AztecProtocol/aztec-packages#11120))
([23e642f](AztecProtocol/aztec-packages@23e642f))
* Allow multiple trait impls for the same trait as long as one is in
scope (noir-lang/noir#6987)
([9189120](AztecProtocol/aztec-packages@9189120))
* **avm:** AVM circuit fixes related calldata, returndata and call_ptr
([#11207](AztecProtocol/aztec-packages#11207))
([2f05dc0](AztecProtocol/aztec-packages@2f05dc0))
* **avm:** Mac build
([#11195](AztecProtocol/aztec-packages#11195))
([c4f4452](AztecProtocol/aztec-packages@c4f4452))
* **avm:** Mac build (retry)
([#11197](AztecProtocol/aztec-packages#11197))
([0a4b763](AztecProtocol/aztec-packages@0a4b763))
* Aztec-spartan config var
([#11137](AztecProtocol/aztec-packages#11137))
([acbfad4](AztecProtocol/aztec-packages@acbfad4))
* Blob fees & l1-publisher logging
([#11029](AztecProtocol/aztec-packages#11029))
([c2c0bc6](AztecProtocol/aztec-packages@c2c0bc6))
* **bootstrap:** Don't download bad cache if unstaged changes
([#11198](AztecProtocol/aztec-packages#11198))
([2bd895b](AztecProtocol/aztec-packages@2bd895b))
* **boxes:** Fix attempt 2
([#11175](AztecProtocol/aztec-packages#11175))
([e87b11a](AztecProtocol/aztec-packages@e87b11a))
* Bump inotify limits on tester
([#11217](AztecProtocol/aztec-packages#11217))
([60bdf1d](AztecProtocol/aztec-packages@60bdf1d))
* Do not emit range check for multiplication by bool
(noir-lang/noir#6983)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Do not panic on indices which are not valid `u32`s
(noir-lang/noir#6976)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Docs rebuild patterns
([#11191](AztecProtocol/aztec-packages#11191))
([1999990](AztecProtocol/aztec-packages@1999990))
* Don't fail parsing macro if there are parser warnings
(noir-lang/noir#6969)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Don't retransmit txs upon node restart
([#11123](AztecProtocol/aztec-packages#11123))
([39535c9](AztecProtocol/aztec-packages@39535c9))
* Duplicate env vars
([#11166](AztecProtocol/aztec-packages#11166))
([2507b6f](AztecProtocol/aztec-packages@2507b6f))
* Error on missing function parameters
(noir-lang/noir#6967)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Get_next_power_exponent off by 1
([#11169](AztecProtocol/aztec-packages#11169))
([80ec19e](AztecProtocol/aztec-packages@80ec19e))
* Let static_assert fail with the provided message
(noir-lang/noir#7005)
([9189120](AztecProtocol/aztec-packages@9189120))
* Max_note_len computation
([#10438](AztecProtocol/aztec-packages#10438))
([099c17b](AztecProtocol/aztec-packages@099c17b))
* Non-determinism from under constrained checks
(noir-lang/noir#6945)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Prover node aborts execution at epoch end
([#11111](AztecProtocol/aztec-packages#11111))
([2a77616](AztecProtocol/aztec-packages@2a77616)),
closes
[#10802](AztecProtocol/aztec-packages#10802)
* Prover node does not err upon an empty epoch
([#11204](AztecProtocol/aztec-packages#11204))
([2c3ab84](AztecProtocol/aztec-packages@2c3ab84))
* Remove arch tag in sandbox images
([#11233](AztecProtocol/aztec-packages#11233))
([80a872d](AztecProtocol/aztec-packages@80a872d))
* Remove max lookup table size constant (for now)
([#11095](AztecProtocol/aztec-packages#11095))
([7e9e268](AztecProtocol/aztec-packages@7e9e268))
* Reproduce and fix bytecode blowup
(noir-lang/noir#6972)
([9189120](AztecProtocol/aztec-packages@9189120))
* Require generic trait impls to be in scope to call them
(noir-lang/noir#6913)
([9189120](AztecProtocol/aztec-packages@9189120))
* Restore upload_logs script in use by acir bench
([2d88497](AztecProtocol/aztec-packages@2d88497))
* Return trait impl method as FuncId if there's only one
(noir-lang/noir#6989)
([9189120](AztecProtocol/aztec-packages@9189120))
* Revert "chore: use L1 Tx Utils"
([#11167](AztecProtocol/aztec-packages#11167))
([f4e5c79](AztecProtocol/aztec-packages@f4e5c79))
* Sequencer times out L1 tx at end of L2 slot
([#11112](AztecProtocol/aztec-packages#11112))
([1b88a34](AztecProtocol/aztec-packages@1b88a34))
* Show output of `test_program_is_idempotent` on failure
(noir-lang/noir#6942)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Start RC at 1 again (noir-lang/noir#6958)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Underconstrained bug
([#11174](AztecProtocol/aztec-packages#11174))
([0b3088b](AztecProtocol/aztec-packages@0b3088b))
* Update fs max user instances for k8s
([#11220](AztecProtocol/aztec-packages#11220))
([b42da6d](AztecProtocol/aztec-packages@b42da6d))
* Use absolute path for docker bind in e2e-test
([f2885ec](AztecProtocol/aztec-packages@f2885ec))
* Wrong module to lookup trait when using crate or super
(noir-lang/noir#6974)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))


### Miscellaneous

* Add cli option to specify withdrawer address in the add-l1-validator …
([#11199](AztecProtocol/aztec-packages#11199))
([107f175](AztecProtocol/aztec-packages@107f175))
* Add memsuspend to parallel in bootstrap
([#11040](AztecProtocol/aztec-packages#11040))
([c78cb82](AztecProtocol/aztec-packages@c78cb82))
* Add more Field use info (noir-lang/noir#7019)
([9189120](AztecProtocol/aztec-packages@9189120))
* Add reproduction case for bignum test failure
(noir-lang/noir#6464)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Add short circuit in ssa-gen for known if conditions
(noir-lang/noir#7007)
([9189120](AztecProtocol/aztec-packages@9189120))
* Also print test output to stdout in CI
(noir-lang/noir#6930)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* **avm:** Fix mac build
([#11147](AztecProtocol/aztec-packages#11147))
([1775e53](AztecProtocol/aztec-packages@1775e53))
* **avm:** Improve column stats
([#11135](AztecProtocol/aztec-packages#11135))
([535a14c](AztecProtocol/aztec-packages@535a14c))
* **avm:** Re-enable bb-prover tests in CI, change some to
check-circuit-only, enable multi-enqueued call tests
([#11180](AztecProtocol/aztec-packages#11180))
([3092212](AztecProtocol/aztec-packages@3092212))
* **avm:** Vm2 followup cleanup
([#11186](AztecProtocol/aztec-packages#11186))
([6de4013](AztecProtocol/aztec-packages@6de4013))
* Block building benchmark via github-action-benchmark
([#11202](AztecProtocol/aztec-packages#11202))
([c107b6b](AztecProtocol/aztec-packages@c107b6b)),
closes
[#11154](AztecProtocol/aztec-packages#11154)
* Bump `noir-gates-diff` (noir-lang/noir#6943)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Bump `noir-gates-diff` (noir-lang/noir#6944)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Bump `noir-gates-diff` (noir-lang/noir#6949)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Bump arkworks to version `0.5.0`
(noir-lang/noir#6871)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* **ci:** Easier to use mac ci
([#11194](AztecProtocol/aztec-packages#11194))
([9ab4cee](AztecProtocol/aztec-packages@9ab4cee))
* **ci:** Ensure that prover.toml files in protocol circuits are in sync
([#11141](AztecProtocol/aztec-packages#11141))
([db769bd](AztecProtocol/aztec-packages@db769bd))
* **ci:** Fail properly in `external-repo-checks`
(noir-lang/noir#6988)
([9189120](AztecProtocol/aztec-packages@9189120))
* **ci:** Try fix boxes-test
([#11162](AztecProtocol/aztec-packages#11162))
([a66349f](AztecProtocol/aztec-packages@a66349f))
* Clarity fix in docs (noir-lang/noir#7016)
([9189120](AztecProtocol/aztec-packages@9189120))
* Delete a bunch of dead code from `noirc_evaluator`
(noir-lang/noir#6939)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Delete docs for versions which aren't used
(noir-lang/noir#7020)
([9189120](AztecProtocol/aztec-packages@9189120))
* Disable reorg test
([#11176](AztecProtocol/aztec-packages#11176))
([78bec44](AztecProtocol/aztec-packages@78bec44))
* Disallow inserting ACIR-only instructions into brillig functions
(noir-lang/noir#7017)
([9189120](AztecProtocol/aztec-packages@9189120))
* **docs:** Backport 1.0.0-beta.0 doc fixes
(noir-lang/noir#7014)
([9189120](AztecProtocol/aztec-packages@9189120))
* **docs:** Edit Aztec.nr Guide section
([#10866](AztecProtocol/aztec-packages#10866))
([4051ba8](AztecProtocol/aztec-packages@4051ba8))
* **docs:** Remove node pages
([#11161](AztecProtocol/aztec-packages#11161))
([e494f6b](AztecProtocol/aztec-packages@e494f6b))
* **docs:** Update tx concepts page
([#10947](AztecProtocol/aztec-packages#10947))
([d9d9798](AztecProtocol/aztec-packages@d9d9798))
* Document aztec-nargo in readme
([#11173](AztecProtocol/aztec-packages#11173))
([927eabf](AztecProtocol/aztec-packages@927eabf))
* Greater stability at 1TPS
([#10981](AztecProtocol/aztec-packages#10981))
([1c23662](AztecProtocol/aztec-packages@1c23662))
* Jest reporters for CI
([#11125](AztecProtocol/aztec-packages#11125))
([90cd9d2](AztecProtocol/aztec-packages@90cd9d2))
* Log number of instructions executed for call in AVM. Misc fix.
([#11110](AztecProtocol/aztec-packages#11110))
([44e01f4](AztecProtocol/aztec-packages@44e01f4))
* Mark `aztec-nr` as expected to compile
(noir-lang/noir#7015)
([9189120](AztecProtocol/aztec-packages@9189120))
* Mark casts as able to be deduplicated
(noir-lang/noir#6996)
([9189120](AztecProtocol/aztec-packages@9189120))
* Missed test account retrieval simplification in one spot
([#11172](AztecProtocol/aztec-packages#11172))
([b72234e](AztecProtocol/aztec-packages@b72234e))
* Move comment as part of
[#6945](AztecProtocol/aztec-packages#6945)
(noir-lang/noir#6959)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Move witness computation into class plus some other cleanup
([#11140](AztecProtocol/aztec-packages#11140))
([d41e9ab](AztecProtocol/aztec-packages@d41e9ab))
* Nuke unused `getSiblingPath` oracle
([#11090](AztecProtocol/aztec-packages#11090))
([36b640a](AztecProtocol/aztec-packages@36b640a))
* Nuking mental model of "packing into a hash"
([#11200](AztecProtocol/aztec-packages#11200))
([e1ebcc0](AztecProtocol/aztec-packages@e1ebcc0))
* Only resolved globals monomorphization
(noir-lang/noir#7006)
([9189120](AztecProtocol/aztec-packages@9189120))
* Prover db config
([#11126](AztecProtocol/aztec-packages#11126))
([9d49393](AztecProtocol/aztec-packages@9d49393)),
closes
[#10267](AztecProtocol/aztec-packages#10267)
* Redo typo PR by longxiangqiao
([#11109](AztecProtocol/aztec-packages#11109))
([b8ef30e](AztecProtocol/aztec-packages@b8ef30e))
* Refactor `get_tx_effects_hash_input_helper`
([#11213](AztecProtocol/aztec-packages#11213))
([5becb99](AztecProtocol/aztec-packages@5becb99))
* Refactor Solidity Transcript and improve error handling in sol_honk
flow
([#11158](AztecProtocol/aztec-packages#11158))
([58fdf87](AztecProtocol/aztec-packages@58fdf87))
* Remove explicit collector address
([#11227](AztecProtocol/aztec-packages#11227))
([dfb0db5](AztecProtocol/aztec-packages@dfb0db5))
* Remove resolve_is_unconstrained pass
(noir-lang/noir#7004)
([9189120](AztecProtocol/aztec-packages@9189120))
* Removing noir bug workaround
([#10535](AztecProtocol/aztec-packages#10535))
([8be882f](AztecProtocol/aztec-packages@8be882f))
* Replace relative paths to noir-protocol-circuits
([d8619fa](AztecProtocol/aztec-packages@d8619fa))
* Replace relative paths to noir-protocol-circuits
([70cad1c](AztecProtocol/aztec-packages@70cad1c))
* Replace relative paths to noir-protocol-circuits
([e962534](AztecProtocol/aztec-packages@e962534))
* Replace relative paths to noir-protocol-circuits
([ba5a589](AztecProtocol/aztec-packages@ba5a589))
* Replace relative paths to noir-protocol-circuits
([b7c3fa2](AztecProtocol/aztec-packages@b7c3fa2))
* Replace relative paths to noir-protocol-circuits
([32840c6](AztecProtocol/aztec-packages@32840c6))
* Require safety doc comment for unsafe instead of
`//[@safety](https://github.com/safety)`
(noir-lang/noir#6992)
([9189120](AztecProtocol/aztec-packages@9189120))
* Reserve `enum` and `match` keywords
(noir-lang/noir#6961)
([9189120](AztecProtocol/aztec-packages@9189120))
* Rpc server cleanup & misc fixes
([#11145](AztecProtocol/aztec-packages#11145))
([8a927eb](AztecProtocol/aztec-packages@8a927eb))
* Sanity checking of proving job IDs
([#11134](AztecProtocol/aztec-packages#11134))
([61c3e95](AztecProtocol/aztec-packages@61c3e95))
* Save kind smoke test logs as artifact
([#11212](AztecProtocol/aztec-packages#11212))
([1389a5b](AztecProtocol/aztec-packages@1389a5b))
* Separate unconstrained functions during monomorphization
(noir-lang/noir#6894)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* Simplify a couple of enum variants
(noir-lang/noir#7025)
([9189120](AztecProtocol/aztec-packages@9189120))
* Simplify boolean in a mul of a mul
(noir-lang/noir#6951)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* SmallSubgroupIPA tests
([#11106](AztecProtocol/aztec-packages#11106))
([f034e2a](AztecProtocol/aztec-packages@f034e2a))
* **spartan:** Making the spartan script install jq
([#11231](AztecProtocol/aztec-packages#11231))
([7e628cc](AztecProtocol/aztec-packages@7e628cc))
* Test:e2e defaults to no-docker
([#10966](AztecProtocol/aztec-packages#10966))
([15e0d71](AztecProtocol/aztec-packages@15e0d71))
* Turn on averaging for protocol circuits metrics in CI
(noir-lang/noir#6999)
([9189120](AztecProtocol/aztec-packages@9189120))
* Update aztec-spartan.sh script
([#11228](AztecProtocol/aztec-packages#11228))
([52b3a87](AztecProtocol/aztec-packages@52b3a87))
* Use DFG in SSA printer (noir-lang/noir#6986)
([9189120](AztecProtocol/aztec-packages@9189120))
* Use L1 Tx Utils
([#10759](AztecProtocol/aztec-packages#10759))
([ccf28f5](AztecProtocol/aztec-packages@ccf28f5)),
closes
[#10464](AztecProtocol/aztec-packages#10464)
* Use logs for benchmarking
(noir-lang/noir#6911)
([3883a0e](AztecProtocol/aztec-packages@3883a0e))
* VariableMerkleTree readability improvements
([#11165](AztecProtocol/aztec-packages#11165))
([010d1b0](AztecProtocol/aztec-packages@010d1b0))
* Wait for ethereum in each pod
([#11238](AztecProtocol/aztec-packages#11238))
([9c08e00](AztecProtocol/aztec-packages@9c08e00))


### Documentation

* Enable protocol specs for docs in dev mode
([#11219](AztecProtocol/aztec-packages#11219))
([10c8afe](AztecProtocol/aztec-packages@10c8afe))
</details>

<details><summary>barretenberg: 0.70.0</summary>

##
[0.70.0](AztecProtocol/aztec-packages@barretenberg-v0.69.1...barretenberg-v0.70.0)
(2025-01-15)


### Features

* **avm2:** Avm redesign init
([#10906](AztecProtocol/aztec-packages#10906))
([231f017](AztecProtocol/aztec-packages@231f017))
* Permutation argument optimizations
([#10960](AztecProtocol/aztec-packages#10960))
([de99603](AztecProtocol/aztec-packages@de99603))
* Use tail public inputs as transaction hash
([#11100](AztecProtocol/aztec-packages#11100))
([34be2c3](AztecProtocol/aztec-packages@34be2c3))


### Bug Fixes

* **avm:** AVM circuit fixes related calldata, returndata and call_ptr
([#11207](AztecProtocol/aztec-packages#11207))
([2f05dc0](AztecProtocol/aztec-packages@2f05dc0))
* **avm:** Mac build
([#11195](AztecProtocol/aztec-packages#11195))
([c4f4452](AztecProtocol/aztec-packages@c4f4452))
* **avm:** Mac build (retry)
([#11197](AztecProtocol/aztec-packages#11197))
([0a4b763](AztecProtocol/aztec-packages@0a4b763))
* **bootstrap:** Don't download bad cache if unstaged changes
([#11198](AztecProtocol/aztec-packages#11198))
([2bd895b](AztecProtocol/aztec-packages@2bd895b))
* Remove max lookup table size constant (for now)
([#11095](AztecProtocol/aztec-packages#11095))
([7e9e268](AztecProtocol/aztec-packages@7e9e268))


### Miscellaneous

* **avm:** Fix mac build
([#11147](AztecProtocol/aztec-packages#11147))
([1775e53](AztecProtocol/aztec-packages@1775e53))
* **avm:** Improve column stats
([#11135](AztecProtocol/aztec-packages#11135))
([535a14c](AztecProtocol/aztec-packages@535a14c))
* **avm:** Re-enable bb-prover tests in CI, change some to
check-circuit-only, enable multi-enqueued call tests
([#11180](AztecProtocol/aztec-packages#11180))
([3092212](AztecProtocol/aztec-packages@3092212))
* **avm:** Vm2 followup cleanup
([#11186](AztecProtocol/aztec-packages#11186))
([6de4013](AztecProtocol/aztec-packages@6de4013))
* **docs:** Update tx concepts page
([#10947](AztecProtocol/aztec-packages#10947))
([d9d9798](AztecProtocol/aztec-packages@d9d9798))
* Move witness computation into class plus some other cleanup
([#11140](AztecProtocol/aztec-packages#11140))
([d41e9ab](AztecProtocol/aztec-packages@d41e9ab))
* Redo typo PR by longxiangqiao
([#11109](AztecProtocol/aztec-packages#11109))
([b8ef30e](AztecProtocol/aztec-packages@b8ef30e))
* Refactor Solidity Transcript and improve error handling in sol_honk
flow
([#11158](AztecProtocol/aztec-packages#11158))
([58fdf87](AztecProtocol/aztec-packages@58fdf87))
* SmallSubgroupIPA tests
([#11106](AztecProtocol/aztec-packages#11106))
([f034e2a](AztecProtocol/aztec-packages@f034e2a))
</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.

2 participants