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: zip and propagate private logs #10210

Merged
merged 34 commits into from
Nov 29, 2024
Merged

feat: zip and propagate private logs #10210

merged 34 commits into from
Nov 29, 2024

Conversation

LeilaWang
Copy link
Collaborator

@LeilaWang LeilaWang commented Nov 26, 2024

  • Merge note_encrypted_logs and encrypted_logs into private_logs.
  • Propagate the fixed-size data of private logs instead of their hashes.
    • We don't have to re-hash the logs everywhere to check that they match the hashes in the public inputs anymore.
    • Change to L2 gas for private logs to be 0 because of the above.
  • Private reset kernel circuit silos contract address to the first field of private logs.
    • Which allows us to remove randomness and masked address for non-note logs.

@LeilaWang LeilaWang added the e2e-all CI: Enables this CI job. label Nov 26, 2024
increment_app_tagging_secret_index_as_sender(sender, recipient);

for i in 0..32 {
encrypted_bytes[offset + i] = tag_bytes[i];
Copy link
Collaborator Author

@LeilaWang LeilaWang Nov 26, 2024

Choose a reason for hiding this comment

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

Tag is no longer part of the "encrypted" bytes.
Instead, it's the first field of the private log: [tag, ...bytes_to_fields(encrypted_bytes)], concatenated in the above function compute_private_log_payload.
When it was part of the encrypted_bytes, bytes_to_fields would split it and leave the first 31 bytes in the first field, and the last byte in the second field, which made it really ugly when recomputing the siloed tags to request logs.

Copy link
Contributor

github-actions bot commented Nov 26, 2024

Changes to circuit sizes

Generated at commit: b0bd629f3caeb3fe72cacefaf31b04d5f6898840, compared to commit: c48ae90c5d72450a3a19b76e552df1607ff79953

🧾 Summary (100% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
rollup_base_public +537,089 ❌ +151.01% +3,515,962 ❌ +90.90%
rollup_base_private +129,798 ❌ +76.72% +2,230,069 ❌ +85.20%
private_kernel_tail +2,566 ❌ +62.18% +5,553 ❌ +44.39%
private_kernel_tail_to_public +6,847 ❌ +44.89% +11,481 ❌ +43.39%
private_kernel_init +14,025 ❌ +67.86% +12,719 ❌ +37.94%
private_kernel_inner +20,250 ❌ +55.08% +18,141 ❌ +32.48%
private_kernel_reset +20,885 ❌ +23.29% +29,689 ❌ +4.66%
private_kernel_empty +926 ❌ +151.06% +926 ❌ +0.10%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
rollup_base_public 892,763 (+537,089) +151.01% 7,383,899 (+3,515,962) +90.90%
rollup_base_private 298,972 (+129,798) +76.72% 4,847,378 (+2,230,069) +85.20%
private_kernel_tail 6,693 (+2,566) +62.18% 18,062 (+5,553) +44.39%
private_kernel_tail_to_public 22,100 (+6,847) +44.89% 37,942 (+11,481) +43.39%
private_kernel_init 34,693 (+14,025) +67.86% 46,239 (+12,719) +37.94%
private_kernel_inner 57,017 (+20,250) +55.08% 73,989 (+18,141) +32.48%
private_kernel_reset 110,547 (+20,885) +23.29% 667,168 (+29,689) +4.66%
private_kernel_empty 1,539 (+926) +151.06% 902,566 (+926) +0.10%

buffer[i + 64] = address_bytes[i];
for i in 0..16 {
buffer[i] = serialized_eph_sk_high[i + 16];
buffer[i + 16] = serialized_eph_sk_low[i + 16];
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

The first 16 bytes of serialized_eph_sk_high/low are 0s. We don't have to include them. This saves us 32 bytes.

if is_propagated {
assert_eq(expected_log, log, "Propagated note log does not match");
note_logs_kept += 1;
assert_eq(expected_log, log, "Propagated private log does not match");
Copy link
Collaborator Author

@LeilaWang LeilaWang Nov 27, 2024

Choose a reason for hiding this comment

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

This is where most of the increased gate count of reset circuit comes from. Because we are now checking the entire log (18 fields) instead of one field of log hash. But this shouldn't be so expensive. So hopefully the cost of this and other similar things will go down eventually.

Copy link
Collaborator

Choose a reason for hiding this comment

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

That's weird indeed! If it's 18 fields per log and 64 logs, that's 1152 checks, and the increase in constraint counts is 30k so around 30 gates per check sounds like a lot

this.eventTypeId.equals(other.eventTypeId)
);
}
}

function ensureMatchedMaskedContractAddress(contractAddress: AztecAddress, randomness: Fr, maskedContractAddress: Fr) {
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Removing this check from the class because we can't check the siloed field by looking at the payload anymore. We will have to get the "raw" tag and silo it with the expected contract address to confirm that the log is actually from the said contract. And this should be done in components where raw tags are available.

@Thunkar
Copy link
Contributor

Thunkar commented Nov 28, 2024

Note tagging/discovery changes and tag siloing LGTM!

CC/ @nventuro it was either you or @iAmMichaelConnor that wanted to review encryption APIs?

CC/ @sklppy88, this affects note syncing in TXE.

Comment on lines +102 to +103
// The following modifies self.hints.kept_private_logs :(
// private_logs[i].inner.log = silo_private_log(private_logs[i]);
Copy link
Collaborator

Choose a reason for hiding this comment

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

😨

Copy link
Collaborator

Choose a reason for hiding this comment

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

Does it also modify the hints if we write directly to private_logs[i].inner.log[0] ?

Comment on lines +74 to +76
let encrypted_log =
unsafe { compute_payload_unconstrained(*context, e, ovpk, recipient, sender) };
context.emit_private_log(encrypted_log);
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
let encrypted_log =
unsafe { compute_payload_unconstrained(*context, e, ovpk, recipient, sender) };
context.emit_private_log(encrypted_log);
// Unconstrained logs have both their content and encryption unconstrained - it could occur that the
// recipient is unable to decrypt the payload.
let encrypted_log =
unsafe { compute_payload_unconstrained(*context, e, ovpk, recipient, sender) };
context.emit_private_log(encrypted_log);

compute_payload_and_hash_unconstrained(*context, e.note, ovpk, recipient, sender)
};
context.emit_raw_note_log(note_hash_counter, encrypted_log, log_hash);
let (encrypted_log, note_hash_counter) =
Copy link
Contributor

Choose a reason for hiding this comment

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

Can you also delete the part of the comment above related to the log hash?

Comment on lines 108 to 113
// Silo the tag with contract address.
// This is done by the kernel circuit to the private logs.
// But since the partial log will be finalized and emitted in public as unencrypted log, its tag is not siloed at the moment.
// To avoid querying logs using two types of tags, we silo the tag manually here.
// This should be done by the AVM when its processing the raw logs instead of their hashes.
let siloed_tag_bytes: [u8; 32] =
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
// Silo the tag with contract address.
// This is done by the kernel circuit to the private logs.
// But since the partial log will be finalized and emitted in public as unencrypted log, its tag is not siloed at the moment.
// To avoid querying logs using two types of tags, we silo the tag manually here.
// This should be done by the AVM when its processing the raw logs instead of their hashes.
let siloed_tag_bytes: [u8; 32] =
// Silo the tag with contract address.
// This is done by the kernel circuit to the private logs, but since the partial log will be finalized and emitted in
// public as unencrypted log, its tag is not siloed at the moment.
// To avoid querying logs using two types of tags, we silo the tag manually here.
// TODO(#10273) This should be done by the AVM when its processing the raw logs instead of their hashes.
let siloed_tag_bytes: [u8; 32] =

Copy link
Contributor

Choose a reason for hiding this comment

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

Created #10273 to track this

Copy link
Collaborator

@sirasistant sirasistant left a comment

Choose a reason for hiding this comment

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

Kernel changes LGTM! 🚀

Comment on lines +102 to +103
// The following modifies self.hints.kept_private_logs :(
// private_logs[i].inner.log = silo_private_log(private_logs[i]);
Copy link
Collaborator

Choose a reason for hiding this comment

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

Does it also modify the hints if we write directly to private_logs[i].inner.log[0] ?

if is_propagated {
assert_eq(expected_log, log, "Propagated note log does not match");
note_logs_kept += 1;
assert_eq(expected_log, log, "Propagated private log does not match");
Copy link
Collaborator

Choose a reason for hiding this comment

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

That's weird indeed! If it's 18 fields per log and 64 logs, that's 1152 checks, and the increase in constraint counts is 30k so around 30 gates per check sounds like a lot

@LeilaWang LeilaWang merged commit 5c32747 into master Nov 29, 2024
105 checks passed
@LeilaWang LeilaWang deleted the lw/private_logs branch November 29, 2024 09:02
LeilaWang added a commit that referenced this pull request Nov 29, 2024
charlielye pushed a commit that referenced this pull request Nov 29, 2024
@LeilaWang LeilaWang restored the lw/private_logs branch November 29, 2024 12:09
charlielye pushed a commit that referenced this pull request Nov 29, 2024
Fixing #10210

---------

Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com>
AztecBot pushed a commit to AztecProtocol/aztec-nr that referenced this pull request Nov 30, 2024
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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants