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: manage enqueued calls & phases in AVM witgen #10310

Merged
merged 7 commits into from
Dec 6, 2024

Conversation

IlyasRidhuan
Copy link
Contributor

@IlyasRidhuan IlyasRidhuan commented Nov 29, 2024

Another larger PR:

  1. Swap out to use the enqueued side effect trace (so we private insert hints)
  2. Perform private inserts of nullifiers in witgen
  3. Apply asserts in witgen to ensure the endTree snapshots and endGas line up with expected public inputs
  4. Enforce side effect limits in witgen
  5. Handle enqueued calls & phases in witgen

Later:

  1. Handle nested calls in witgen
  2. Remove old side effect trace & old public inputs completely

@IlyasRidhuan IlyasRidhuan changed the title feat: enqueued call side effect trace feat: swap enqueued call side effect trace Nov 29, 2024
Copy link
Contributor Author

IlyasRidhuan commented Nov 29, 2024

IlyasRidhuan and others added 4 commits December 3, 2024 15:06
…imulator. Witgen supports phases and rollbacks. (#10329)

1. Aligns side effect limits between TS and CPP
2. Adds Noir test functions to spam side effects & adds that to proving
test
2. Adds support to witgen for tx phases
3. Never expects a read hint for nullifier writes. Always just uses the
write hint.
4. Adds an argument to finalize and `gen_trace` to skip end-gas
assertions (not sure this is the best way, but all the tests pass)
5. renames TS hint vectors to all just be `*_reads` or `*_writes`
instead of `*read/update_requests` etc.

Work needed in a follow-up PR:
- separate the opcode switch-case & phase management/enqueued-calls into
separate functions or even separate files in witgen
@IlyasRidhuan IlyasRidhuan force-pushed the ir/11-28-feat_enqueued_call_side_effect_trace branch from 197fe73 to 30dda53 Compare December 3, 2024 15:49
@dbanks12 dbanks12 added e2e-all CI: Enables this CI job. e2e-prover-full CI: Enables this CI job. labels Dec 4, 2024
@dbanks12 dbanks12 marked this pull request as ready for review December 4, 2024 14:44
@dbanks12 dbanks12 changed the title feat: swap enqueued call side effect trace [WIP] feat: swap enqueued call side effect trace Dec 4, 2024
Copy link
Contributor

github-actions bot commented Dec 4, 2024

Changes to public function bytecode sizes

Generated at commit: 531820dfb7a8dd8c520362416f053f735040c40b, compared to commit: ecd6c4ff914129236b23ab6f4924e4faa3e9d523

🧾 Summary (100% most significant diffs)

Program Bytecode size in bytes (+/-) %
AvmTest::public_dispatch +1,898 ❌ +3.13%

Full diff report 👇
Program Bytecode size in bytes (+/-) %
AvmTest::public_dispatch 62,560 (+1,898) +3.13%

Comment on lines 20 to +22
using serialize::read;
read(it, gas.l2_gas);
read(it, gas.da_gas);
read(it, gas.l2_gas);
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is this intentional? Or is this accidentally reverting some change that was made in master?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

it was actually the wrong way around originally!

Comment on lines +110 to +130
inline TreeSnapshots copy()
{
return {
.l1_to_l2_message_tree = {
.root = l1_to_l2_message_tree.root,
.size = l1_to_l2_message_tree.size,
},
.note_hash_tree = {
.root = note_hash_tree.root,
.size = note_hash_tree.size,
},
.nullifier_tree = {
.root = nullifier_tree.root,
.size = nullifier_tree.size,
},
.public_data_tree = {
.root = public_data_tree.root,
.size = public_data_tree.size,
},
};
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't know C++.... Did I need to do this to get a deep copy of a tree snapshot?

Copy link
Contributor

Choose a reason for hiding this comment

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

Deep copy on structs work on cpp per default (unless you redefine copy constructor) but if there is a pointer, then it will just copy the address. So, you might need a special treatment only when there are pointers.

Comment on lines -2934 to +3025
// This is a little bit fragile - but we use the fact that if we traced a nullifier that already exists (which is
// invalid), we would have stored it under a read hint.
NullifierReadTreeHint nullifier_read_hint = execution_hints.nullifier_read_hints.at(nullifier_read_counter);
bool is_update = merkle_tree_trace_builder.perform_nullifier_read(clk,
nullifier_read_hint.low_leaf_preimage,
nullifier_read_hint.low_leaf_index,
nullifier_read_hint.low_leaf_sibling_path,
intermediate_tree_snapshots.nullifier_tree.root);
NullifierWriteTreeHint nullifier_write_hint = execution_hints.nullifier_write_hints.at(nullifier_write_counter++);
bool is_update = siloed_nullifier == nullifier_write_hint.low_leaf_membership.low_leaf_preimage.next_nullifier;
Copy link
Collaborator

Choose a reason for hiding this comment

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

There is no "nullifier read" if we are doing a write. Always use the write hint, but treat it differently based on whether the siloed nullifier matches the low leaf (whether the nullifier to append is actually already present).

Comment on lines +4740 to +4749
if (apply_end_gas_assertions) {
// Sanity check that the amount of gas consumed matches what we expect from the public inputs
auto last_l2_gas_remaining = main_trace.back().main_l2_gas_remaining;
auto expected_end_gas_l2 = public_inputs.gas_settings.gas_limits.l2_gas - public_inputs.end_gas_used.l2_gas;
ASSERT(last_l2_gas_remaining == expected_end_gas_l2);
auto last_da_gas_remaining = main_trace.back().main_da_gas_remaining;
auto expected_end_gas_da = public_inputs.gas_settings.gas_limits.da_gas - public_inputs.end_gas_used.da_gas;
ASSERT(last_da_gas_remaining == expected_end_gas_da);
}

Copy link
Collaborator

Choose a reason for hiding this comment

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

Need this boolean flag otherwise we need the right end gas in every test which is too much of a pain.

Copy link
Collaborator

@dbanks12 dbanks12 left a comment

Choose a reason for hiding this comment

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

Looked through all of @IlyasRidhuan 's changes and they look good to me (particularly the TS). It would probably be good for @fcarreiro and/or @jeanmon to review the C++ which includes changes from both of us.

@dbanks12 dbanks12 requested a review from fcarreiro December 5, 2024 21:06
@dbanks12 dbanks12 changed the title [WIP] feat: swap enqueued call side effect trace feat: swap enqueued call side effect trace Dec 5, 2024
@dbanks12 dbanks12 changed the title feat: swap enqueued call side effect trace feat: manage enqueued calls & phases in AVM witgen Dec 5, 2024
Copy link
Contributor

@jeanmon jeanmon left a comment

Choose a reason for hiding this comment

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

Huge kudo for this massive PR. I mostly looked at cpp code. Please address my comments before merging.

barretenberg/cpp/src/barretenberg/bb/main.cpp Show resolved Hide resolved
barretenberg/cpp/src/barretenberg/bb/main.cpp Show resolved Hide resolved
namespace {

template <size_t N>
std::vector<PublicCallRequest> non_empty_call_requests(std::array<PublicCallRequest, N> call_requests_array)
Copy link
Contributor

Choose a reason for hiding this comment

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

call_requests_array could be made a const reference I think.
Maybe using copy_if and a back_inserter for filling the target vector would be more elegant.

* @return The trace as a vector of Row.
*/
std::vector<Row> Execution::gen_trace(std::vector<FF> const& calldata,
AvmPublicInputs const& public_inputs,
std::vector<Row> Execution::gen_trace(AvmPublicInputs const& public_inputs,
Copy link
Contributor

Choose a reason for hiding this comment

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

nitpick: const convention before the type

inline void read(uint8_t const*& it, L2ToL1Message& l2_to_l1_message)
{
using serialize::read;
std::array<uint8_t, 20> recipient;
Copy link
Contributor

Choose a reason for hiding this comment

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

20 is a magic constant. Please define a constant for this 20.

read(it, accumulated_data.public_data_writes[i]);
}

read(it, accumulated_data.note_hashes);
Copy link
Contributor

Choose a reason for hiding this comment

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

Very good!

merkle_tree_trace_builder.rollback_to_non_revertible_checkpoint();
}

std::vector<uint8_t> AvmTraceBuilder::get_bytecode(const FF contract_address, bool check_membership)
Copy link
Contributor

Choose a reason for hiding this comment

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

contract_address: could be a const reference?

@@ -306,17 +358,16 @@ AvmTraceBuilder::AvmTraceBuilder(AvmPublicInputs public_inputs,
std::vector<FF> calldata)
// NOTE: we initialise the environment builder here as it requires public inputs
: calldata(std::move(calldata))
, new_public_inputs(public_inputs)
, public_inputs(public_inputs)
Copy link
Contributor

Choose a reason for hiding this comment

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

You could rename the passed public_inputs to public_inputs_, use std::move (like we do for execution_hints) and note that you should not change anything for merkle_tree_trace_builder()

Copy link
Contributor

IIUC this PR switches to use the new public inputs/hints (from the enqued_call side effect trace). How can we do that if they don't include nested call hints? Or does this mean that once this PR is merged we will not support proving nested calls until the next PR?

@dbanks12
Copy link
Collaborator

dbanks12 commented Dec 6, 2024

IIUC this PR switches to use the new public inputs/hints (from the enqued_call side effect trace). How can we do that if they don't include nested call hints? Or does this mean that once this PR is merged we will not support proving nested calls until the next PR?

That's right. Nested call's aren't provable until the next PR (which is actually ready for review).

@dbanks12 dbanks12 merged commit e7ebef8 into master Dec 6, 2024
113 of 114 checks passed
@dbanks12 dbanks12 deleted the ir/11-28-feat_enqueued_call_side_effect_trace branch December 6, 2024 15:55
just-mitch pushed a commit that referenced this pull request Dec 6, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.66.0](aztec-package-v0.65.2...aztec-package-v0.66.0)
(2024-12-06)


### ⚠ BREAKING CHANGES

* Remove debug and winston in favor of pino
([#10355](#10355))

### Features

* Agent and broker expose OTEL metrics
([#10264](#10264))
([c2c8cc6](c2c8cc6))
* Epoch cache, do not attest if not in committee or from current
proposer
([#10327](#10327))
([9ebaa65](9ebaa65))
* Staking integration
([#10403](#10403))
([ecd6c4f](ecd6c4f))


### Miscellaneous

* Remove debug and winston in favor of pino
([#10355](#10355))
([c246aba](c246aba))
</details>

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

##
[0.66.0](barretenberg.js-v0.65.2...barretenberg.js-v0.66.0)
(2024-12-06)


### Miscellaneous

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

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

##
[0.66.0](aztec-packages-v0.65.2...aztec-packages-v0.66.0)
(2024-12-06)


### ⚠ BREAKING CHANGES

* remove `ec` module from stdlib
(noir-lang/noir#6612)
* Disallow `#[export]` on associated methods
(noir-lang/noir#6626)
* Require types of globals to be specified
(noir-lang/noir#6592)
* remove eddsa from stdlib (noir-lang/noir#6591)
* Remove debug and winston in favor of pino
([#10355](#10355))
* remove SchnorrVerify opcode
([#9897](#9897))

### Features

* Add `array_refcount` and `slice_refcount` builtins for debugging
(noir-lang/noir#6584)
([3304046](3304046))
* Add `BoundedVec::from_parts` and `BoundedVec::from_parts_unchecked`
(noir-lang/noir#6691)
([3304046](3304046))
* Add memory report into the CI
(noir-lang/noir#6630)
([3304046](3304046))
* Add workflow_call trigger to network-deploy
([#10451](#10451))
([18254e6](18254e6))
* Adding configurable data dir and p2p pk for testnet nodes
([#10422](#10422))
([77b0039](77b0039))
* Agent and broker expose OTEL metrics
([#10264](#10264))
([c2c8cc6](c2c8cc6))
* Allow filtering which SSA passes are printed
(noir-lang/noir#6636)
([3304046](3304046))
* Allow ignoring test failures from foreign calls
(noir-lang/noir#6660)
([3304046](3304046))
* Allow querying block number for tree indices
([#10332](#10332))
([cf05a7a](cf05a7a))
* AMM
([#10153](#10153))
([90668c3](90668c3))
* Avoid incrementing reference counts in some cases
(noir-lang/noir#6568)
([3304046](3304046))
* Avoid inserting an empty leaf in indexed trees on update
([#10281](#10281))
([5a04ca8](5a04ca8))
* Avoid inserting an empty leaf in indexed trees on update
([#10334](#10334))
([80fad45](80fad45))
* **bb:** Define std::hash for field
([#10312](#10312))
([752bc59](752bc59))
* Better error message when trying to invoke struct function field
(noir-lang/noir#6661)
([3304046](3304046))
* Client IVC API
([#10217](#10217))
([cc54a1e](cc54a1e))
* **comptime:** Implement blackbox functions in comptime interpreter
(noir-lang/noir#6551)
([3304046](3304046))
* Delete attestations older than a slot
([#10326](#10326))
([24abcfe](24abcfe))
* Deploy devnet to k8s
([#10449](#10449))
([27506c1](27506c1))
* Deploy networks via github actions
([#10381](#10381))
([7e19b39](7e19b39))
* **docs:** Applied structure feedback
([#9288](#9288))
([5b0b721](5b0b721))
* Epoch cache, do not attest if not in committee or from current
proposer
([#10327](#10327))
([9ebaa65](9ebaa65))
* Gas Utils for L1 operations
([#9834](#9834))
([17fa214](17fa214))
* Improve parser recovery of constructor field with '::' instead of ':'
(noir-lang/noir#6701)
([3304046](3304046))
* Integrate verify_proof calls in mock protocol circuits
([#9253](#9253))
([7ed89aa](7ed89aa))
* Making testnet script write a docker compose file
([#10333](#10333))
([be54cc3](be54cc3))
* Manage enqueued calls & phases in AVM witgen
([#10310](#10310))
([e7ebef8](e7ebef8))
* Mock IVC state from arbitrary acir IVC recursion constraints
([#10314](#10314))
([ac7c0da](ac7c0da))
* Optionally emit public bytecode
([#10365](#10365))
([84ff623](84ff623))
* **p2p:** Persist node private p2p keys
([#10324](#10324))
([1c32eda](1c32eda))
* **p2p:** Snappy compress p2p messages
([#10417](#10417))
([c643a54](c643a54))
* **perf:** Track last loads per block in mem2reg and remove them if
possible (noir-lang/noir#6088)
([3304046](3304046))
* Process blocks in parallel during epoch proving
([#10263](#10263))
([a9d418c](a9d418c))
* Reduce memory consumption by storing array length as `u32` during SSA
(noir-lang/noir#6606)
([3304046](3304046))
* Release please for release branch
([#10467](#10467))
([38941bf](38941bf))
* Replace quadratic removal of `rc` instructions
(noir-lang/noir#6705)
([3304046](3304046))
* Replace quadratic removal of rc instructions
([#10416](#10416))
([9d833c5](9d833c5))
* Revert changes to `ValueMerger` and `Instruction::IfElse`
(noir-lang/noir#6673)
([3304046](3304046))
* Show printable byte arrays as byte strings in SSA
(noir-lang/noir#6709)
([3304046](3304046))
* Simplify `jmpif`s by reversing branches if condition is negated
(noir-lang/noir#5891)
([3304046](3304046))
* **ssa:** Deduplicate intrinsics with predicates
(noir-lang/noir#6615)
([3304046](3304046))
* **ssa:** Hoisting of array get using known induction variable maximum
(noir-lang/noir#6639)
([3304046](3304046))
* **ssa:** Loop invariant code motion
(noir-lang/noir#6563)
([3304046](3304046))
* **ssa:** Option to set the maximum acceptable Brillig bytecode
increase in unrolling (noir-lang/noir#6641)
([3304046](3304046))
* **ssa:** Simplify array get from set that writes to the same dynamic
index (noir-lang/noir#6684)
([3304046](3304046))
* Staking integration
([#10403](#10403))
([ecd6c4f](ecd6c4f))
* Standalone ssd
([#10317](#10317))
([c324781](c324781))
* Switch to using an external noir implementation of Schnorr
([#10330](#10330))
([6cbd375](6cbd375))
* Sync from aztec-packages (noir-lang/noir#6576)
([3304046](3304046))
* Sync from aztec-packages (noir-lang/noir#6634)
([3304046](3304046))
* Sync from aztec-packages (noir-lang/noir#6656)
([3304046](3304046))
* Terraform for alerting on metrics
([#10192](#10192))
([05c9e5d](05c9e5d)),
closes
[#9956](#9956)
* Test release network via ci workflow
([#10388](#10388))
([e6060ec](e6060ec)),
closes
[#10383](#10383)
* **tooling:** Skip program transformation when loaded from cache
(noir-lang/noir#6689)
([3304046](3304046))
* Try to inline brillig calls with all constant arguments
(noir-lang/noir#6548)
([3304046](3304046))
* Ultra rollup flows
([#10162](#10162))
([c53f4cf](c53f4cf))
* Zip and propagate private logs
([#10210](#10210))
([5c32747](5c32747))
* Zip and silo and propagate private logs
([#10308](#10308))
([90d4385](90d4385))


### Bug Fixes

* Add helm
([#10454](#10454))
([2eb9ade](2eb9ade))
* Add secret
([#10453](#10453))
([95601df](95601df))
* Add type
([#10452](#10452))
([cd9699f](cd9699f))
* Allow multiple `_` parameters, and disallow `_` as an expression you
can read from (noir-lang/noir#6657)
([3304046](3304046))
* Always return an array of `u8`s when simplifying `Intrinsic::ToRadix`
calls (noir-lang/noir#6663)
([3304046](3304046))
* Await block unwind when a reorg happens
([#10380](#10380))
([5a02480](5a02480))
* Bbup cleanup and fix
([#10067](#10067))
([0ff8177](0ff8177))
* Bootstrapping devnet
([#10396](#10396))
([f3c7294](f3c7294))
* Bot waits for pxe synch
([#10316](#10316))
([ebd4165](ebd4165))
* Consider prereleases to be compatible with pre-1.0.0 releases
(noir-lang/noir#6580)
([3304046](3304046))
* Correct signed integer handling in `noirc_abi`
(noir-lang/noir#6638)
([3304046](3304046))
* Correct type when simplifying `derive_pedersen_generators`
(noir-lang/noir#6579)
([3304046](3304046))
* Correct types returned by constant EC operations simplified within SSA
(noir-lang/noir#6652)
([3304046](3304046))
* Disallow `#[export]` on associated methods
(noir-lang/noir#6626)
([3304046](3304046))
* Do not warn on unused functions marked with #[export]
(noir-lang/noir#6625)
([3304046](3304046))
* Don't pass default value for --node-url
([#10427](#10427))
([5299481](5299481)),
closes
[#10419](#10419)
* Don't remove necessary RC instructions in DIE pass
(noir-lang/noir#6585)
([3304046](3304046))
* Don't report visibility errors when elaborating comptime value
(noir-lang/noir#6498)
([3304046](3304046))
* Get node info from a PXE
([#10420](#10420))
([ed972f3](ed972f3))
* Increase timeouts
([#10412](#10412))
([d3b8838](d3b8838))
* LSP auto-import text indent
(noir-lang/noir#6699)
([3304046](3304046))
* LSP code action wasn't triggering on beginning or end of identifier
(noir-lang/noir#6616)
([3304046](3304046))
* **LSP:** Use generic self type to narrow down methods to complete
(noir-lang/noir#6617)
([3304046](3304046))
* Move spartan-script tf to spartan, use file in bucket
([#10395](#10395))
([5cef628](5cef628))
* Nit
([#10392](#10392))
([d6985a8](d6985a8))
* Optimize array ref counts to copy arrays much less often
(noir-lang/noir#6685)
([3304046](3304046))
* **p2p:** Override msg Id
([#10415](#10415))
([990d11b](990d11b))
* Parse a bit more SSA stuff
(noir-lang/noir#6599)
([3304046](3304046))
* Preserve newlines between comments when formatting statements
(noir-lang/noir#6601)
([3304046](3304046))
* Prevent hoisting binary instructions which can overflow
(noir-lang/noir#6672)
([3304046](3304046))
* **prover:** Handle starting blocks out of order in prover
([#10350](#10350))
([9106102](9106102))
* Publicly register contract classes
([#10385](#10385))
([94e6e1a](94e6e1a))
* Remove `compiler_version` from new `Nargo.toml`
(noir-lang/noir#6590)
([3304046](3304046))
* Revert "feat: Avoid inserting an empty leaf in indexed trees on
update"
([#10319](#10319))
([887c011](887c011))
* Revert "feat: zip and propagate private logs"
([#10302](#10302))
([9d70728](9d70728))
* Safely insert sibling paths
([#10423](#10423))
([41f7645](41f7645))
* **ssa:** Don't deduplicate constraints in blocks that are not
dominated (noir-lang/noir#6627)
([3304046](3304046))
* **ssa:** Remove RC tracker in DIE
(noir-lang/noir#6700)
([3304046](3304046))
* **ssa:** Track all local allocations during flattening
(noir-lang/noir#6619)
([3304046](3304046))
* Tf vars
([#10457](#10457))
([00aaef6](00aaef6))
* Typo in u128 docs (noir-lang/noir#6711)
([3304046](3304046))
* Url in bbup install
([#10456](#10456))
([1b0dfb7](1b0dfb7))
* Use correct type for attribute arguments
(noir-lang/noir#6640)
([3304046](3304046))
* Used signed division for signed modulo
(noir-lang/noir#6635)
([3304046](3304046))
* Witness changes in file sponge.hpp
([#10345](#10345))
([4a38edf](4a38edf))


### Miscellaneous

* Add `ram_blowup_regression` to memory report
(noir-lang/noir#6683)
([3304046](3304046))
* Add panic for compiler error described in
[#6620](#6620)
(noir-lang/noir#6621)
([3304046](3304046))
* **avm:** Fake verification routine for avm recursion in public base
rollup
([#10382](#10382))
([a1e5966](a1e5966)),
closes
[#10243](#10243)
* **avm:** Remove function selector type of getenv opcode
([#10406](#10406))
([38c0c14](38c0c14)),
closes
[#9396](#9396)
* Batch archiver requests
([#10442](#10442))
([9443e8e](9443e8e))
* Boot node has fixed peer id private key
([#10352](#10352))
([cae1203](cae1203))
* Bump alert in gossip_network.test.ts
([#10430](#10430))
([2c2169b](2c2169b))
* Centralized helm flag for proving and clean release tf deploys
([#10221](#10221))
([c2c1744](c2c1744))
* **ci:** Move playwright install to `+deps`
([#10293](#10293))
([d7bd306](d7bd306))
* Clean up archiver logs
([#10429](#10429))
([4fcbc59](4fcbc59))
* Consolidate some CI workflows to reduce sprawl
(noir-lang/noir#6696)
([3304046](3304046))
* Contracts on a diet
([#10389](#10389))
([dddb008](dddb008))
* Deduplicate constants across blocks
([#9972](#9972))
([69bb64f](69bb64f))
* Derive PartialEq and Hash for FieldElement
(noir-lang/noir#6610)
([3304046](3304046))
* **docs:** Remove additional `DEBUG` references, add note on
`LOG_LEVEL`s
([#10434](#10434))
([e1e5906](e1e5906))
* Don't generate proofs of verifier circuits in test
([#10405](#10405))
([c00ebdd](c00ebdd))
* Fix sassy-salamander chores v1
([#10218](#10218))
([7227b48](7227b48)),
closes
[#10074](#10074)
[#10075](#10075)
[#10077](#10077)
* Fix tests in `noirc_abi_wasm`
(noir-lang/noir#6688)
([3304046](3304046))
* Fix traces endpoint url in native testnet script
([#10309](#10309))
([2367c62](2367c62))
* Fix typo in test name (noir-lang/noir#6589)
([3304046](3304046))
* Fix warning when compiling `noir_wasm`
(noir-lang/noir#6686)
([3304046](3304046))
* Ignore almost-empty directories in nargo_cli tests
(noir-lang/noir#6611)
([3304046](3304046))
* Improve error message of `&T`
(noir-lang/noir#6633)
([3304046](3304046))
* Log manual contract class registrations
([#10354](#10354))
([da1470d](da1470d))
* Making bbup a shell script
([#10426](#10426))
([1c29554](1c29554))
* **network_test.sh:** Work around 143 by disabling stern
([#10436](#10436))
([64f6dad](64f6dad))
* Parallelise construction of perturbator coefficients at each level
([#10304](#10304))
([ba335bd](ba335bd))
* Parallelise inverse polynomial construction for lookup relations
([#10413](#10413))
([427cf59](427cf59))
* Pin foundry version in CI
(noir-lang/noir#6642)
([3304046](3304046))
* Public inputs in unit tests with proving were incorrectly set
([#10300](#10300))
([0311bf3](0311bf3))
* Pull out cfg simplification changes
([#10279](#10279))
([c48ae90](c48ae90))
* Pull out constant brillig inliner
([#10291](#10291))
([0577c1a](0577c1a))
* Pull out loop invariant optimization
([#10277](#10277))
([94cba37](94cba37))
* Pull out sync changes
([#10292](#10292))
([49f80b3](49f80b3))
* Random typos
([#10393](#10393))
([ed47a42](ed47a42))
* Redo typo PR by Dimitrolito
([#10364](#10364))
([da809c5](da809c5))
* Redo typo PR by Dimitrolito
(noir-lang/noir#6614)
([3304046](3304046))
* Redo typo PR by donatik27
(noir-lang/noir#6575)
([3304046](3304046))
* Redo typo PR by leopardracer
([#10363](#10363))
([0d1b722](0d1b722))
* Redo typo PR by leopardracer
([#10444](#10444))
([3653c4c](3653c4c))
* Refactor foreign call executors
(noir-lang/noir#6659)
([3304046](3304046))
* Refactor indexed tree to use traits
([#10361](#10361))
([621cbaf](621cbaf))
* Refactor poseidon2 (noir-lang/noir#6655)
([3304046](3304046))
* Release Noir(1.0.0-beta.0)
(noir-lang/noir#6562)
([3304046](3304046))
* Remove `ec` module from stdlib
(noir-lang/noir#6612)
([3304046](3304046))
* Remove debug and winston in favor of pino
([#10355](#10355))
([c246aba](c246aba))
* Remove eddsa from stdlib (noir-lang/noir#6591)
([3304046](3304046))
* Remove inliner override for `reference_counts` test
(noir-lang/noir#6714)
([3304046](3304046))
* Remove SchnorrVerify opcode
([#9897](#9897))
([93cd323](93cd323))
* Remove temporary allocations from `num_bits`
(noir-lang/noir#6600)
([3304046](3304046))
* Remove unused dep
([#10295](#10295))
([2a07355](2a07355))
* Replace relative paths to noir-protocol-circuits
([8fd8236](8fd8236))
* Replace relative paths to noir-protocol-circuits
([5d11e24](5d11e24))
* Replace relative paths to noir-protocol-circuits
([e7a99f2](e7a99f2))
* Replace relative paths to noir-protocol-circuits
([2496118](2496118))
* Replace relative paths to noir-protocol-circuits
([d77dc96](d77dc96))
* Replace relative paths to noir-protocol-circuits
([46d12e3](46d12e3))
* Require types of globals to be specified
(noir-lang/noir#6592)
([3304046](3304046))
* Revert "fix: Don't remove necessary RC instructions in DIE pass
(noir-lang/noir#6585)"
(noir-lang/noir#6693)
([3304046](3304046))
* Sassy network
([#10468](#10468))
([92eb377](92eb377))
* Simplify otel config, 1val setup, fix pod dns, retries
([#10344](#10344))
([be91d80](be91d80))
* Skip A-&gt;B B->A e2e_2_pxes test
([#10297](#10297))
([b75bfd0](b75bfd0))
* Sync logging with jest
([#10459](#10459))
([6e33cb9](6e33cb9))
* Typo in oracles how to (noir-lang/noir#6598)
([3304046](3304046))
* Update noir-bench-report version
(noir-lang/noir#6675)
([3304046](3304046))
* Update pprof (noir-lang/noir#6710)
([3304046](3304046))
* Update release-please action
(noir-lang/noir#6704)
([3304046](3304046))
* Use non default mnemonic for releases
([#10400](#10400))
([bb5f364](bb5f364))
</details>

<details><summary>barretenberg: 0.66.0</summary>

##
[0.66.0](barretenberg-v0.65.2...barretenberg-v0.66.0)
(2024-12-06)


### ⚠ BREAKING CHANGES

* remove SchnorrVerify opcode
([#9897](#9897))

### Features

* Allow querying block number for tree indices
([#10332](#10332))
([cf05a7a](cf05a7a))
* Avoid inserting an empty leaf in indexed trees on update
([#10281](#10281))
([5a04ca8](5a04ca8))
* Avoid inserting an empty leaf in indexed trees on update
([#10334](#10334))
([80fad45](80fad45))
* **bb:** Define std::hash for field
([#10312](#10312))
([752bc59](752bc59))
* Client IVC API
([#10217](#10217))
([cc54a1e](cc54a1e))
* Integrate verify_proof calls in mock protocol circuits
([#9253](#9253))
([7ed89aa](7ed89aa))
* Manage enqueued calls & phases in AVM witgen
([#10310](#10310))
([e7ebef8](e7ebef8))
* Mock IVC state from arbitrary acir IVC recursion constraints
([#10314](#10314))
([ac7c0da](ac7c0da))
* Ultra rollup flows
([#10162](#10162))
([c53f4cf](c53f4cf))


### Bug Fixes

* Bbup cleanup and fix
([#10067](#10067))
([0ff8177](0ff8177))
* Revert "feat: Avoid inserting an empty leaf in indexed trees on
update"
([#10319](#10319))
([887c011](887c011))
* Url in bbup install
([#10456](#10456))
([1b0dfb7](1b0dfb7))
* Witness changes in file sponge.hpp
([#10345](#10345))
([4a38edf](4a38edf))


### Miscellaneous

* **avm:** Fake verification routine for avm recursion in public base
rollup
([#10382](#10382))
([a1e5966](a1e5966)),
closes
[#10243](#10243)
* **avm:** Remove function selector type of getenv opcode
([#10406](#10406))
([38c0c14](38c0c14)),
closes
[#9396](#9396)
* Don't generate proofs of verifier circuits in test
([#10405](#10405))
([c00ebdd](c00ebdd))
* Making bbup a shell script
([#10426](#10426))
([1c29554](1c29554))
* Parallelise construction of perturbator coefficients at each level
([#10304](#10304))
([ba335bd](ba335bd))
* Parallelise inverse polynomial construction for lookup relations
([#10413](#10413))
([427cf59](427cf59))
* Public inputs in unit tests with proving were incorrectly set
([#10300](#10300))
([0311bf3](0311bf3))
* Redo typo PR by Dimitrolito
([#10364](#10364))
([da809c5](da809c5))
* Redo typo PR by leopardracer
([#10363](#10363))
([0d1b722](0d1b722))
* Remove SchnorrVerify opcode
([#9897](#9897))
([93cd323](93cd323))
</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 7, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.66.0](AztecProtocol/aztec-packages@aztec-package-v0.65.2...aztec-package-v0.66.0)
(2024-12-06)


### ⚠ BREAKING CHANGES

* Remove debug and winston in favor of pino
([#10355](AztecProtocol/aztec-packages#10355))

### Features

* Agent and broker expose OTEL metrics
([#10264](AztecProtocol/aztec-packages#10264))
([c2c8cc6](AztecProtocol/aztec-packages@c2c8cc6))
* Epoch cache, do not attest if not in committee or from current
proposer
([#10327](AztecProtocol/aztec-packages#10327))
([9ebaa65](AztecProtocol/aztec-packages@9ebaa65))
* Staking integration
([#10403](AztecProtocol/aztec-packages#10403))
([ecd6c4f](AztecProtocol/aztec-packages@ecd6c4f))


### Miscellaneous

* Remove debug and winston in favor of pino
([#10355](AztecProtocol/aztec-packages#10355))
([c246aba](AztecProtocol/aztec-packages@c246aba))
</details>

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

##
[0.66.0](AztecProtocol/aztec-packages@barretenberg.js-v0.65.2...barretenberg.js-v0.66.0)
(2024-12-06)


### Miscellaneous

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

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

##
[0.66.0](AztecProtocol/aztec-packages@aztec-packages-v0.65.2...aztec-packages-v0.66.0)
(2024-12-06)


### ⚠ BREAKING CHANGES

* remove `ec` module from stdlib
(noir-lang/noir#6612)
* Disallow `#[export]` on associated methods
(noir-lang/noir#6626)
* Require types of globals to be specified
(noir-lang/noir#6592)
* remove eddsa from stdlib (noir-lang/noir#6591)
* Remove debug and winston in favor of pino
([#10355](AztecProtocol/aztec-packages#10355))
* remove SchnorrVerify opcode
([#9897](AztecProtocol/aztec-packages#9897))

### Features

* Add `array_refcount` and `slice_refcount` builtins for debugging
(noir-lang/noir#6584)
([3304046](AztecProtocol/aztec-packages@3304046))
* Add `BoundedVec::from_parts` and `BoundedVec::from_parts_unchecked`
(noir-lang/noir#6691)
([3304046](AztecProtocol/aztec-packages@3304046))
* Add memory report into the CI
(noir-lang/noir#6630)
([3304046](AztecProtocol/aztec-packages@3304046))
* Add workflow_call trigger to network-deploy
([#10451](AztecProtocol/aztec-packages#10451))
([18254e6](AztecProtocol/aztec-packages@18254e6))
* Adding configurable data dir and p2p pk for testnet nodes
([#10422](AztecProtocol/aztec-packages#10422))
([77b0039](AztecProtocol/aztec-packages@77b0039))
* Agent and broker expose OTEL metrics
([#10264](AztecProtocol/aztec-packages#10264))
([c2c8cc6](AztecProtocol/aztec-packages@c2c8cc6))
* Allow filtering which SSA passes are printed
(noir-lang/noir#6636)
([3304046](AztecProtocol/aztec-packages@3304046))
* Allow ignoring test failures from foreign calls
(noir-lang/noir#6660)
([3304046](AztecProtocol/aztec-packages@3304046))
* Allow querying block number for tree indices
([#10332](AztecProtocol/aztec-packages#10332))
([cf05a7a](AztecProtocol/aztec-packages@cf05a7a))
* AMM
([#10153](AztecProtocol/aztec-packages#10153))
([90668c3](AztecProtocol/aztec-packages@90668c3))
* Avoid incrementing reference counts in some cases
(noir-lang/noir#6568)
([3304046](AztecProtocol/aztec-packages@3304046))
* Avoid inserting an empty leaf in indexed trees on update
([#10281](AztecProtocol/aztec-packages#10281))
([5a04ca8](AztecProtocol/aztec-packages@5a04ca8))
* Avoid inserting an empty leaf in indexed trees on update
([#10334](AztecProtocol/aztec-packages#10334))
([80fad45](AztecProtocol/aztec-packages@80fad45))
* **bb:** Define std::hash for field
([#10312](AztecProtocol/aztec-packages#10312))
([752bc59](AztecProtocol/aztec-packages@752bc59))
* Better error message when trying to invoke struct function field
(noir-lang/noir#6661)
([3304046](AztecProtocol/aztec-packages@3304046))
* Client IVC API
([#10217](AztecProtocol/aztec-packages#10217))
([cc54a1e](AztecProtocol/aztec-packages@cc54a1e))
* **comptime:** Implement blackbox functions in comptime interpreter
(noir-lang/noir#6551)
([3304046](AztecProtocol/aztec-packages@3304046))
* Delete attestations older than a slot
([#10326](AztecProtocol/aztec-packages#10326))
([24abcfe](AztecProtocol/aztec-packages@24abcfe))
* Deploy devnet to k8s
([#10449](AztecProtocol/aztec-packages#10449))
([27506c1](AztecProtocol/aztec-packages@27506c1))
* Deploy networks via github actions
([#10381](AztecProtocol/aztec-packages#10381))
([7e19b39](AztecProtocol/aztec-packages@7e19b39))
* **docs:** Applied structure feedback
([#9288](AztecProtocol/aztec-packages#9288))
([5b0b721](AztecProtocol/aztec-packages@5b0b721))
* Epoch cache, do not attest if not in committee or from current
proposer
([#10327](AztecProtocol/aztec-packages#10327))
([9ebaa65](AztecProtocol/aztec-packages@9ebaa65))
* Gas Utils for L1 operations
([#9834](AztecProtocol/aztec-packages#9834))
([17fa214](AztecProtocol/aztec-packages@17fa214))
* Improve parser recovery of constructor field with '::' instead of ':'
(noir-lang/noir#6701)
([3304046](AztecProtocol/aztec-packages@3304046))
* Integrate verify_proof calls in mock protocol circuits
([#9253](AztecProtocol/aztec-packages#9253))
([7ed89aa](AztecProtocol/aztec-packages@7ed89aa))
* Making testnet script write a docker compose file
([#10333](AztecProtocol/aztec-packages#10333))
([be54cc3](AztecProtocol/aztec-packages@be54cc3))
* Manage enqueued calls & phases in AVM witgen
([#10310](AztecProtocol/aztec-packages#10310))
([e7ebef8](AztecProtocol/aztec-packages@e7ebef8))
* Mock IVC state from arbitrary acir IVC recursion constraints
([#10314](AztecProtocol/aztec-packages#10314))
([ac7c0da](AztecProtocol/aztec-packages@ac7c0da))
* Optionally emit public bytecode
([#10365](AztecProtocol/aztec-packages#10365))
([84ff623](AztecProtocol/aztec-packages@84ff623))
* **p2p:** Persist node private p2p keys
([#10324](AztecProtocol/aztec-packages#10324))
([1c32eda](AztecProtocol/aztec-packages@1c32eda))
* **p2p:** Snappy compress p2p messages
([#10417](AztecProtocol/aztec-packages#10417))
([c643a54](AztecProtocol/aztec-packages@c643a54))
* **perf:** Track last loads per block in mem2reg and remove them if
possible (noir-lang/noir#6088)
([3304046](AztecProtocol/aztec-packages@3304046))
* Process blocks in parallel during epoch proving
([#10263](AztecProtocol/aztec-packages#10263))
([a9d418c](AztecProtocol/aztec-packages@a9d418c))
* Reduce memory consumption by storing array length as `u32` during SSA
(noir-lang/noir#6606)
([3304046](AztecProtocol/aztec-packages@3304046))
* Release please for release branch
([#10467](AztecProtocol/aztec-packages#10467))
([38941bf](AztecProtocol/aztec-packages@38941bf))
* Replace quadratic removal of `rc` instructions
(noir-lang/noir#6705)
([3304046](AztecProtocol/aztec-packages@3304046))
* Replace quadratic removal of rc instructions
([#10416](AztecProtocol/aztec-packages#10416))
([9d833c5](AztecProtocol/aztec-packages@9d833c5))
* Revert changes to `ValueMerger` and `Instruction::IfElse`
(noir-lang/noir#6673)
([3304046](AztecProtocol/aztec-packages@3304046))
* Show printable byte arrays as byte strings in SSA
(noir-lang/noir#6709)
([3304046](AztecProtocol/aztec-packages@3304046))
* Simplify `jmpif`s by reversing branches if condition is negated
(noir-lang/noir#5891)
([3304046](AztecProtocol/aztec-packages@3304046))
* **ssa:** Deduplicate intrinsics with predicates
(noir-lang/noir#6615)
([3304046](AztecProtocol/aztec-packages@3304046))
* **ssa:** Hoisting of array get using known induction variable maximum
(noir-lang/noir#6639)
([3304046](AztecProtocol/aztec-packages@3304046))
* **ssa:** Loop invariant code motion
(noir-lang/noir#6563)
([3304046](AztecProtocol/aztec-packages@3304046))
* **ssa:** Option to set the maximum acceptable Brillig bytecode
increase in unrolling (noir-lang/noir#6641)
([3304046](AztecProtocol/aztec-packages@3304046))
* **ssa:** Simplify array get from set that writes to the same dynamic
index (noir-lang/noir#6684)
([3304046](AztecProtocol/aztec-packages@3304046))
* Staking integration
([#10403](AztecProtocol/aztec-packages#10403))
([ecd6c4f](AztecProtocol/aztec-packages@ecd6c4f))
* Standalone ssd
([#10317](AztecProtocol/aztec-packages#10317))
([c324781](AztecProtocol/aztec-packages@c324781))
* Switch to using an external noir implementation of Schnorr
([#10330](AztecProtocol/aztec-packages#10330))
([6cbd375](AztecProtocol/aztec-packages@6cbd375))
* Sync from aztec-packages (noir-lang/noir#6576)
([3304046](AztecProtocol/aztec-packages@3304046))
* Sync from aztec-packages (noir-lang/noir#6634)
([3304046](AztecProtocol/aztec-packages@3304046))
* Sync from aztec-packages (noir-lang/noir#6656)
([3304046](AztecProtocol/aztec-packages@3304046))
* Terraform for alerting on metrics
([#10192](AztecProtocol/aztec-packages#10192))
([05c9e5d](AztecProtocol/aztec-packages@05c9e5d)),
closes
[#9956](AztecProtocol/aztec-packages#9956)
* Test release network via ci workflow
([#10388](AztecProtocol/aztec-packages#10388))
([e6060ec](AztecProtocol/aztec-packages@e6060ec)),
closes
[#10383](AztecProtocol/aztec-packages#10383)
* **tooling:** Skip program transformation when loaded from cache
(noir-lang/noir#6689)
([3304046](AztecProtocol/aztec-packages@3304046))
* Try to inline brillig calls with all constant arguments
(noir-lang/noir#6548)
([3304046](AztecProtocol/aztec-packages@3304046))
* Ultra rollup flows
([#10162](AztecProtocol/aztec-packages#10162))
([c53f4cf](AztecProtocol/aztec-packages@c53f4cf))
* Zip and propagate private logs
([#10210](AztecProtocol/aztec-packages#10210))
([5c32747](AztecProtocol/aztec-packages@5c32747))
* Zip and silo and propagate private logs
([#10308](AztecProtocol/aztec-packages#10308))
([90d4385](AztecProtocol/aztec-packages@90d4385))


### Bug Fixes

* Add helm
([#10454](AztecProtocol/aztec-packages#10454))
([2eb9ade](AztecProtocol/aztec-packages@2eb9ade))
* Add secret
([#10453](AztecProtocol/aztec-packages#10453))
([95601df](AztecProtocol/aztec-packages@95601df))
* Add type
([#10452](AztecProtocol/aztec-packages#10452))
([cd9699f](AztecProtocol/aztec-packages@cd9699f))
* Allow multiple `_` parameters, and disallow `_` as an expression you
can read from (noir-lang/noir#6657)
([3304046](AztecProtocol/aztec-packages@3304046))
* Always return an array of `u8`s when simplifying `Intrinsic::ToRadix`
calls (noir-lang/noir#6663)
([3304046](AztecProtocol/aztec-packages@3304046))
* Await block unwind when a reorg happens
([#10380](AztecProtocol/aztec-packages#10380))
([5a02480](AztecProtocol/aztec-packages@5a02480))
* Bbup cleanup and fix
([#10067](AztecProtocol/aztec-packages#10067))
([0ff8177](AztecProtocol/aztec-packages@0ff8177))
* Bootstrapping devnet
([#10396](AztecProtocol/aztec-packages#10396))
([f3c7294](AztecProtocol/aztec-packages@f3c7294))
* Bot waits for pxe synch
([#10316](AztecProtocol/aztec-packages#10316))
([ebd4165](AztecProtocol/aztec-packages@ebd4165))
* Consider prereleases to be compatible with pre-1.0.0 releases
(noir-lang/noir#6580)
([3304046](AztecProtocol/aztec-packages@3304046))
* Correct signed integer handling in `noirc_abi`
(noir-lang/noir#6638)
([3304046](AztecProtocol/aztec-packages@3304046))
* Correct type when simplifying `derive_pedersen_generators`
(noir-lang/noir#6579)
([3304046](AztecProtocol/aztec-packages@3304046))
* Correct types returned by constant EC operations simplified within SSA
(noir-lang/noir#6652)
([3304046](AztecProtocol/aztec-packages@3304046))
* Disallow `#[export]` on associated methods
(noir-lang/noir#6626)
([3304046](AztecProtocol/aztec-packages@3304046))
* Do not warn on unused functions marked with #[export]
(noir-lang/noir#6625)
([3304046](AztecProtocol/aztec-packages@3304046))
* Don't pass default value for --node-url
([#10427](AztecProtocol/aztec-packages#10427))
([5299481](AztecProtocol/aztec-packages@5299481)),
closes
[#10419](AztecProtocol/aztec-packages#10419)
* Don't remove necessary RC instructions in DIE pass
(noir-lang/noir#6585)
([3304046](AztecProtocol/aztec-packages@3304046))
* Don't report visibility errors when elaborating comptime value
(noir-lang/noir#6498)
([3304046](AztecProtocol/aztec-packages@3304046))
* Get node info from a PXE
([#10420](AztecProtocol/aztec-packages#10420))
([ed972f3](AztecProtocol/aztec-packages@ed972f3))
* Increase timeouts
([#10412](AztecProtocol/aztec-packages#10412))
([d3b8838](AztecProtocol/aztec-packages@d3b8838))
* LSP auto-import text indent
(noir-lang/noir#6699)
([3304046](AztecProtocol/aztec-packages@3304046))
* LSP code action wasn't triggering on beginning or end of identifier
(noir-lang/noir#6616)
([3304046](AztecProtocol/aztec-packages@3304046))
* **LSP:** Use generic self type to narrow down methods to complete
(noir-lang/noir#6617)
([3304046](AztecProtocol/aztec-packages@3304046))
* Move spartan-script tf to spartan, use file in bucket
([#10395](AztecProtocol/aztec-packages#10395))
([5cef628](AztecProtocol/aztec-packages@5cef628))
* Nit
([#10392](AztecProtocol/aztec-packages#10392))
([d6985a8](AztecProtocol/aztec-packages@d6985a8))
* Optimize array ref counts to copy arrays much less often
(noir-lang/noir#6685)
([3304046](AztecProtocol/aztec-packages@3304046))
* **p2p:** Override msg Id
([#10415](AztecProtocol/aztec-packages#10415))
([990d11b](AztecProtocol/aztec-packages@990d11b))
* Parse a bit more SSA stuff
(noir-lang/noir#6599)
([3304046](AztecProtocol/aztec-packages@3304046))
* Preserve newlines between comments when formatting statements
(noir-lang/noir#6601)
([3304046](AztecProtocol/aztec-packages@3304046))
* Prevent hoisting binary instructions which can overflow
(noir-lang/noir#6672)
([3304046](AztecProtocol/aztec-packages@3304046))
* **prover:** Handle starting blocks out of order in prover
([#10350](AztecProtocol/aztec-packages#10350))
([9106102](AztecProtocol/aztec-packages@9106102))
* Publicly register contract classes
([#10385](AztecProtocol/aztec-packages#10385))
([94e6e1a](AztecProtocol/aztec-packages@94e6e1a))
* Remove `compiler_version` from new `Nargo.toml`
(noir-lang/noir#6590)
([3304046](AztecProtocol/aztec-packages@3304046))
* Revert "feat: Avoid inserting an empty leaf in indexed trees on
update"
([#10319](AztecProtocol/aztec-packages#10319))
([887c011](AztecProtocol/aztec-packages@887c011))
* Revert "feat: zip and propagate private logs"
([#10302](AztecProtocol/aztec-packages#10302))
([9d70728](AztecProtocol/aztec-packages@9d70728))
* Safely insert sibling paths
([#10423](AztecProtocol/aztec-packages#10423))
([41f7645](AztecProtocol/aztec-packages@41f7645))
* **ssa:** Don't deduplicate constraints in blocks that are not
dominated (noir-lang/noir#6627)
([3304046](AztecProtocol/aztec-packages@3304046))
* **ssa:** Remove RC tracker in DIE
(noir-lang/noir#6700)
([3304046](AztecProtocol/aztec-packages@3304046))
* **ssa:** Track all local allocations during flattening
(noir-lang/noir#6619)
([3304046](AztecProtocol/aztec-packages@3304046))
* Tf vars
([#10457](AztecProtocol/aztec-packages#10457))
([00aaef6](AztecProtocol/aztec-packages@00aaef6))
* Typo in u128 docs (noir-lang/noir#6711)
([3304046](AztecProtocol/aztec-packages@3304046))
* Url in bbup install
([#10456](AztecProtocol/aztec-packages#10456))
([1b0dfb7](AztecProtocol/aztec-packages@1b0dfb7))
* Use correct type for attribute arguments
(noir-lang/noir#6640)
([3304046](AztecProtocol/aztec-packages@3304046))
* Used signed division for signed modulo
(noir-lang/noir#6635)
([3304046](AztecProtocol/aztec-packages@3304046))
* Witness changes in file sponge.hpp
([#10345](AztecProtocol/aztec-packages#10345))
([4a38edf](AztecProtocol/aztec-packages@4a38edf))


### Miscellaneous

* Add `ram_blowup_regression` to memory report
(noir-lang/noir#6683)
([3304046](AztecProtocol/aztec-packages@3304046))
* Add panic for compiler error described in
[#6620](AztecProtocol/aztec-packages#6620)
(noir-lang/noir#6621)
([3304046](AztecProtocol/aztec-packages@3304046))
* **avm:** Fake verification routine for avm recursion in public base
rollup
([#10382](AztecProtocol/aztec-packages#10382))
([a1e5966](AztecProtocol/aztec-packages@a1e5966)),
closes
[#10243](AztecProtocol/aztec-packages#10243)
* **avm:** Remove function selector type of getenv opcode
([#10406](AztecProtocol/aztec-packages#10406))
([38c0c14](AztecProtocol/aztec-packages@38c0c14)),
closes
[#9396](AztecProtocol/aztec-packages#9396)
* Batch archiver requests
([#10442](AztecProtocol/aztec-packages#10442))
([9443e8e](AztecProtocol/aztec-packages@9443e8e))
* Boot node has fixed peer id private key
([#10352](AztecProtocol/aztec-packages#10352))
([cae1203](AztecProtocol/aztec-packages@cae1203))
* Bump alert in gossip_network.test.ts
([#10430](AztecProtocol/aztec-packages#10430))
([2c2169b](AztecProtocol/aztec-packages@2c2169b))
* Centralized helm flag for proving and clean release tf deploys
([#10221](AztecProtocol/aztec-packages#10221))
([c2c1744](AztecProtocol/aztec-packages@c2c1744))
* **ci:** Move playwright install to `+deps`
([#10293](AztecProtocol/aztec-packages#10293))
([d7bd306](AztecProtocol/aztec-packages@d7bd306))
* Clean up archiver logs
([#10429](AztecProtocol/aztec-packages#10429))
([4fcbc59](AztecProtocol/aztec-packages@4fcbc59))
* Consolidate some CI workflows to reduce sprawl
(noir-lang/noir#6696)
([3304046](AztecProtocol/aztec-packages@3304046))
* Contracts on a diet
([#10389](AztecProtocol/aztec-packages#10389))
([dddb008](AztecProtocol/aztec-packages@dddb008))
* Deduplicate constants across blocks
([#9972](AztecProtocol/aztec-packages#9972))
([69bb64f](AztecProtocol/aztec-packages@69bb64f))
* Derive PartialEq and Hash for FieldElement
(noir-lang/noir#6610)
([3304046](AztecProtocol/aztec-packages@3304046))
* **docs:** Remove additional `DEBUG` references, add note on
`LOG_LEVEL`s
([#10434](AztecProtocol/aztec-packages#10434))
([e1e5906](AztecProtocol/aztec-packages@e1e5906))
* Don't generate proofs of verifier circuits in test
([#10405](AztecProtocol/aztec-packages#10405))
([c00ebdd](AztecProtocol/aztec-packages@c00ebdd))
* Fix sassy-salamander chores v1
([#10218](AztecProtocol/aztec-packages#10218))
([7227b48](AztecProtocol/aztec-packages@7227b48)),
closes
[#10074](AztecProtocol/aztec-packages#10074)
[#10075](AztecProtocol/aztec-packages#10075)
[#10077](AztecProtocol/aztec-packages#10077)
* Fix tests in `noirc_abi_wasm`
(noir-lang/noir#6688)
([3304046](AztecProtocol/aztec-packages@3304046))
* Fix traces endpoint url in native testnet script
([#10309](AztecProtocol/aztec-packages#10309))
([2367c62](AztecProtocol/aztec-packages@2367c62))
* Fix typo in test name (noir-lang/noir#6589)
([3304046](AztecProtocol/aztec-packages@3304046))
* Fix warning when compiling `noir_wasm`
(noir-lang/noir#6686)
([3304046](AztecProtocol/aztec-packages@3304046))
* Ignore almost-empty directories in nargo_cli tests
(noir-lang/noir#6611)
([3304046](AztecProtocol/aztec-packages@3304046))
* Improve error message of `&T`
(noir-lang/noir#6633)
([3304046](AztecProtocol/aztec-packages@3304046))
* Log manual contract class registrations
([#10354](AztecProtocol/aztec-packages#10354))
([da1470d](AztecProtocol/aztec-packages@da1470d))
* Making bbup a shell script
([#10426](AztecProtocol/aztec-packages#10426))
([1c29554](AztecProtocol/aztec-packages@1c29554))
* **network_test.sh:** Work around 143 by disabling stern
([#10436](AztecProtocol/aztec-packages#10436))
([64f6dad](AztecProtocol/aztec-packages@64f6dad))
* Parallelise construction of perturbator coefficients at each level
([#10304](AztecProtocol/aztec-packages#10304))
([ba335bd](AztecProtocol/aztec-packages@ba335bd))
* Parallelise inverse polynomial construction for lookup relations
([#10413](AztecProtocol/aztec-packages#10413))
([427cf59](AztecProtocol/aztec-packages@427cf59))
* Pin foundry version in CI
(noir-lang/noir#6642)
([3304046](AztecProtocol/aztec-packages@3304046))
* Public inputs in unit tests with proving were incorrectly set
([#10300](AztecProtocol/aztec-packages#10300))
([0311bf3](AztecProtocol/aztec-packages@0311bf3))
* Pull out cfg simplification changes
([#10279](AztecProtocol/aztec-packages#10279))
([c48ae90](AztecProtocol/aztec-packages@c48ae90))
* Pull out constant brillig inliner
([#10291](AztecProtocol/aztec-packages#10291))
([0577c1a](AztecProtocol/aztec-packages@0577c1a))
* Pull out loop invariant optimization
([#10277](AztecProtocol/aztec-packages#10277))
([94cba37](AztecProtocol/aztec-packages@94cba37))
* Pull out sync changes
([#10292](AztecProtocol/aztec-packages#10292))
([49f80b3](AztecProtocol/aztec-packages@49f80b3))
* Random typos
([#10393](AztecProtocol/aztec-packages#10393))
([ed47a42](AztecProtocol/aztec-packages@ed47a42))
* Redo typo PR by Dimitrolito
([#10364](AztecProtocol/aztec-packages#10364))
([da809c5](AztecProtocol/aztec-packages@da809c5))
* Redo typo PR by Dimitrolito
(noir-lang/noir#6614)
([3304046](AztecProtocol/aztec-packages@3304046))
* Redo typo PR by donatik27
(noir-lang/noir#6575)
([3304046](AztecProtocol/aztec-packages@3304046))
* Redo typo PR by leopardracer
([#10363](AztecProtocol/aztec-packages#10363))
([0d1b722](AztecProtocol/aztec-packages@0d1b722))
* Redo typo PR by leopardracer
([#10444](AztecProtocol/aztec-packages#10444))
([3653c4c](AztecProtocol/aztec-packages@3653c4c))
* Refactor foreign call executors
(noir-lang/noir#6659)
([3304046](AztecProtocol/aztec-packages@3304046))
* Refactor indexed tree to use traits
([#10361](AztecProtocol/aztec-packages#10361))
([621cbaf](AztecProtocol/aztec-packages@621cbaf))
* Refactor poseidon2 (noir-lang/noir#6655)
([3304046](AztecProtocol/aztec-packages@3304046))
* Release Noir(1.0.0-beta.0)
(noir-lang/noir#6562)
([3304046](AztecProtocol/aztec-packages@3304046))
* Remove `ec` module from stdlib
(noir-lang/noir#6612)
([3304046](AztecProtocol/aztec-packages@3304046))
* Remove debug and winston in favor of pino
([#10355](AztecProtocol/aztec-packages#10355))
([c246aba](AztecProtocol/aztec-packages@c246aba))
* Remove eddsa from stdlib (noir-lang/noir#6591)
([3304046](AztecProtocol/aztec-packages@3304046))
* Remove inliner override for `reference_counts` test
(noir-lang/noir#6714)
([3304046](AztecProtocol/aztec-packages@3304046))
* Remove SchnorrVerify opcode
([#9897](AztecProtocol/aztec-packages#9897))
([93cd323](AztecProtocol/aztec-packages@93cd323))
* Remove temporary allocations from `num_bits`
(noir-lang/noir#6600)
([3304046](AztecProtocol/aztec-packages@3304046))
* Remove unused dep
([#10295](AztecProtocol/aztec-packages#10295))
([2a07355](AztecProtocol/aztec-packages@2a07355))
* Replace relative paths to noir-protocol-circuits
([8fd8236](AztecProtocol/aztec-packages@8fd8236))
* Replace relative paths to noir-protocol-circuits
([5d11e24](AztecProtocol/aztec-packages@5d11e24))
* Replace relative paths to noir-protocol-circuits
([e7a99f2](AztecProtocol/aztec-packages@e7a99f2))
* Replace relative paths to noir-protocol-circuits
([2496118](AztecProtocol/aztec-packages@2496118))
* Replace relative paths to noir-protocol-circuits
([d77dc96](AztecProtocol/aztec-packages@d77dc96))
* Replace relative paths to noir-protocol-circuits
([46d12e3](AztecProtocol/aztec-packages@46d12e3))
* Require types of globals to be specified
(noir-lang/noir#6592)
([3304046](AztecProtocol/aztec-packages@3304046))
* Revert "fix: Don't remove necessary RC instructions in DIE pass
(noir-lang/noir#6585)"
(noir-lang/noir#6693)
([3304046](AztecProtocol/aztec-packages@3304046))
* Sassy network
([#10468](AztecProtocol/aztec-packages#10468))
([92eb377](AztecProtocol/aztec-packages@92eb377))
* Simplify otel config, 1val setup, fix pod dns, retries
([#10344](AztecProtocol/aztec-packages#10344))
([be91d80](AztecProtocol/aztec-packages@be91d80))
* Skip A-&gt;B B->A e2e_2_pxes test
([#10297](AztecProtocol/aztec-packages#10297))
([b75bfd0](AztecProtocol/aztec-packages@b75bfd0))
* Sync logging with jest
([#10459](AztecProtocol/aztec-packages#10459))
([6e33cb9](AztecProtocol/aztec-packages@6e33cb9))
* Typo in oracles how to (noir-lang/noir#6598)
([3304046](AztecProtocol/aztec-packages@3304046))
* Update noir-bench-report version
(noir-lang/noir#6675)
([3304046](AztecProtocol/aztec-packages@3304046))
* Update pprof (noir-lang/noir#6710)
([3304046](AztecProtocol/aztec-packages@3304046))
* Update release-please action
(noir-lang/noir#6704)
([3304046](AztecProtocol/aztec-packages@3304046))
* Use non default mnemonic for releases
([#10400](AztecProtocol/aztec-packages#10400))
([bb5f364](AztecProtocol/aztec-packages@bb5f364))
</details>

<details><summary>barretenberg: 0.66.0</summary>

##
[0.66.0](AztecProtocol/aztec-packages@barretenberg-v0.65.2...barretenberg-v0.66.0)
(2024-12-06)


### ⚠ BREAKING CHANGES

* remove SchnorrVerify opcode
([#9897](AztecProtocol/aztec-packages#9897))

### Features

* Allow querying block number for tree indices
([#10332](AztecProtocol/aztec-packages#10332))
([cf05a7a](AztecProtocol/aztec-packages@cf05a7a))
* Avoid inserting an empty leaf in indexed trees on update
([#10281](AztecProtocol/aztec-packages#10281))
([5a04ca8](AztecProtocol/aztec-packages@5a04ca8))
* Avoid inserting an empty leaf in indexed trees on update
([#10334](AztecProtocol/aztec-packages#10334))
([80fad45](AztecProtocol/aztec-packages@80fad45))
* **bb:** Define std::hash for field
([#10312](AztecProtocol/aztec-packages#10312))
([752bc59](AztecProtocol/aztec-packages@752bc59))
* Client IVC API
([#10217](AztecProtocol/aztec-packages#10217))
([cc54a1e](AztecProtocol/aztec-packages@cc54a1e))
* Integrate verify_proof calls in mock protocol circuits
([#9253](AztecProtocol/aztec-packages#9253))
([7ed89aa](AztecProtocol/aztec-packages@7ed89aa))
* Manage enqueued calls & phases in AVM witgen
([#10310](AztecProtocol/aztec-packages#10310))
([e7ebef8](AztecProtocol/aztec-packages@e7ebef8))
* Mock IVC state from arbitrary acir IVC recursion constraints
([#10314](AztecProtocol/aztec-packages#10314))
([ac7c0da](AztecProtocol/aztec-packages@ac7c0da))
* Ultra rollup flows
([#10162](AztecProtocol/aztec-packages#10162))
([c53f4cf](AztecProtocol/aztec-packages@c53f4cf))


### Bug Fixes

* Bbup cleanup and fix
([#10067](AztecProtocol/aztec-packages#10067))
([0ff8177](AztecProtocol/aztec-packages@0ff8177))
* Revert "feat: Avoid inserting an empty leaf in indexed trees on
update"
([#10319](AztecProtocol/aztec-packages#10319))
([887c011](AztecProtocol/aztec-packages@887c011))
* Url in bbup install
([#10456](AztecProtocol/aztec-packages#10456))
([1b0dfb7](AztecProtocol/aztec-packages@1b0dfb7))
* Witness changes in file sponge.hpp
([#10345](AztecProtocol/aztec-packages#10345))
([4a38edf](AztecProtocol/aztec-packages@4a38edf))


### Miscellaneous

* **avm:** Fake verification routine for avm recursion in public base
rollup
([#10382](AztecProtocol/aztec-packages#10382))
([a1e5966](AztecProtocol/aztec-packages@a1e5966)),
closes
[#10243](AztecProtocol/aztec-packages#10243)
* **avm:** Remove function selector type of getenv opcode
([#10406](AztecProtocol/aztec-packages#10406))
([38c0c14](AztecProtocol/aztec-packages@38c0c14)),
closes
[#9396](AztecProtocol/aztec-packages#9396)
* Don't generate proofs of verifier circuits in test
([#10405](AztecProtocol/aztec-packages#10405))
([c00ebdd](AztecProtocol/aztec-packages@c00ebdd))
* Making bbup a shell script
([#10426](AztecProtocol/aztec-packages#10426))
([1c29554](AztecProtocol/aztec-packages@1c29554))
* Parallelise construction of perturbator coefficients at each level
([#10304](AztecProtocol/aztec-packages#10304))
([ba335bd](AztecProtocol/aztec-packages@ba335bd))
* Parallelise inverse polynomial construction for lookup relations
([#10413](AztecProtocol/aztec-packages#10413))
([427cf59](AztecProtocol/aztec-packages@427cf59))
* Public inputs in unit tests with proving were incorrectly set
([#10300](AztecProtocol/aztec-packages#10300))
([0311bf3](AztecProtocol/aztec-packages@0311bf3))
* Redo typo PR by Dimitrolito
([#10364](AztecProtocol/aztec-packages#10364))
([da809c5](AztecProtocol/aztec-packages@da809c5))
* Redo typo PR by leopardracer
([#10363](AztecProtocol/aztec-packages#10363))
([0d1b722](AztecProtocol/aztec-packages@0d1b722))
* Remove SchnorrVerify opcode
([#9897](AztecProtocol/aztec-packages#9897))
([93cd323](AztecProtocol/aztec-packages@93cd323))
</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
e2e-all CI: Enables this CI job. e2e-prover-full CI: Enables this CI job.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants