Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(avm)!: returndatasize + returndatacopy #9475

Merged
merged 12 commits into from
Oct 29, 2024
Merged

Conversation

fcarreiro
Copy link
Contributor

@fcarreiro fcarreiro commented Oct 28, 2024

This PR

  • Introduces RETURNDATASIZE and RETURNDATACOPY (also copies revert data if reverted)
  • Fixes a bug in CALL in witgen
  • Changes the public context to return slices when calling public functions. This was partly done because templated functions would always be inlined and I wanted to avoid that blowup

Note that the rethrowing hack is still present in the simulator, so the rethrowing branch in the public context is still not used. I will make this change once @sirasistant finishes the string encoding changes.

In a later PR we can remove the returndata from CALL.

Part of #9061.

Copy link
Contributor Author

fcarreiro commented Oct 28, 2024

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

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

@fcarreiro fcarreiro force-pushed the fc/avm-returndatacopy branch 2 times, most recently from 26cd2d7 to 6250378 Compare October 29, 2024 10:54
@fcarreiro fcarreiro marked this pull request as ready for review October 29, 2024 10:59
@fcarreiro fcarreiro requested review from dbanks12, sirasistant and Thunkar and removed request for IlyasRidhuan, dbanks12, Maddiaa0 and jeanmon October 29, 2024 11:00
@@ -1729,7 +1729,7 @@ TEST_F(AvmExecutionTests, kernelOutputEmitOpcodes)
auto emit_log_row =
std::ranges::find_if(trace.begin(), trace.end(), [](Row r) { return r.main_sel_op_emit_unencrypted_log == 1; });
// Trust me bro for now, this is the truncated sha output
FF expected_hash = FF(std::string("0x00c826495d6e1248a170accc2790424505d5d20204053143bda20812e360299e"));
FF expected_hash = FF(std::string("0x00b5c135991581f3049df936e35ef23af34bb04a4775426481d944d35a618e9d"));
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This change is unexpected, but @IlyasRidhuan told me he has been seeing it as well. It might be some out of bounds hashing, we'll take a look.

write_slice_to_memory(resolved_ret_offset, AvmMemoryTag::FF, hint.return_data);
write_slice_to_memory(resolved_ret_offset,
AvmMemoryTag::FF,
std::vector(hint.return_data.begin(), hint.return_data.begin() + ret_size));
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This was wrong, we were always returning the whole returndata but we didn't realize because that's what the public context was doing.

@fcarreiro fcarreiro changed the title feat(avm): returndatacopy feat(avm): returndatasize + returndatacopy Oct 29, 2024
@fcarreiro fcarreiro changed the title feat(avm): returndatasize + returndatacopy feat(avm)!: returndatasize + returndatacopy Oct 29, 2024
Copy link
Contributor

github-actions bot commented Oct 29, 2024

Changes to public function bytecode sizes

Generated at commit: afdf6f733c2f98cdafc3e1b6ad0f120cbc4c2e29, compared to commit: 2b24b986e72467946cc230df534f21b3d352abd4

🧾 Summary (100% most significant diffs)

Program Bytecode size in bytes (+/-) %
DocsExample::get_shared_immutable_constrained_public_indirect +506 ❌ +117.40%
Uniswap::_assert_token_is_same +482 ❌ +100.00%
StaticParent::public_nested_static_call +610 ❌ +47.43%
StaticParent::public_get_value_from_child +180 ❌ +25.90%
Lending::withdraw_public +226 ❌ +19.65%
Lending::borrow_public +226 ❌ +19.65%
Lending::_deposit +463 ❌ +19.34%
FPC::prepare_fee +226 ❌ +18.46%
FPC::pay_refund +226 ❌ +17.89%
Child::set_value_twice_with_nested_last +167 ❌ +17.52%
Child::set_value_twice_with_nested_first +167 ❌ +17.52%
Lending::repay_public +269 ❌ +16.62%
Lending::deposit_public +269 ❌ +15.59%
Lending::_withdraw +1,014 ❌ +13.82%
Lending::_borrow +826 ❌ +11.34%
StaticParent::public_dispatch +636 ❌ +10.90%
Lending::_repay +416 ❌ +7.77%
DocsExample::public_dispatch +327 ❌ +6.28%
Lending::public_dispatch +1,515 ❌ +6.04%
Uniswap::swap_public +802 ❌ +5.94%
Uniswap::public_dispatch +1,211 ❌ +5.38%
AvmTest::nested_call_to_add_with_gas +41 ❌ +4.98%
AvmTest::nested_call_to_assert_same +41 ❌ +4.83%
AvmTest::nested_static_call_to_add +41 ❌ +4.83%
AvmTest::nested_call_to_add +41 ❌ +4.83%
Uniswap::_approve_bridge_and_exit_input_asset_to_L1 +231 ❌ +4.19%
FPC::pay_refund_with_shielded_rebate +38 ❌ +3.17%
AvmTest::public_dispatch +1,541 ❌ +2.76%
Benchmarking::increment_balance +38 ❌ +1.22%
FPC::public_dispatch +100 ❌ +1.21%
AvmTest::bulk_testing +293 ❌ +1.19%
StatefulTest::public_constructor +38 ❌ +1.18%
Benchmarking::public_dispatch +38 ❌ +0.76%
StatefulTest::public_dispatch +38 ❌ +0.52%
TokenBridge::exit_to_l1_public +38 ❌ +0.51%
TokenBridge::public_dispatch +105 ❌ +0.51%
TokenBridge::claim_public +38 ❌ +0.34%
Child::public_dispatch -52 ✅ -0.95%
Token::public_dispatch -319 ✅ -1.00%
NFT::public_dispatch -309 ✅ -1.22%
Parent::public_dispatch -102 ✅ -1.28%
TokenBlacklist::public_dispatch -319 ✅ -1.31%
TokenBlacklist::shield -309 ✅ -4.85%
TokenBlacklist::transfer_public -314 ✅ -5.04%
TokenBlacklist::burn_public -309 ✅ -5.31%
Token::shield -314 ✅ -5.99%
Token::transfer_public -314 ✅ -6.52%
Token::burn_public -314 ✅ -6.68%
Parent::public_static_call -68 ✅ -7.14%
StaticParent::public_static_call -68 ✅ -7.14%
NFT::transfer_in_public -309 ✅ -8.17%
Parent::public_nested_static_call -314 ✅ -8.93%
ImportTest::public_dispatch -204 ✅ -11.93%
AuthWitTest::public_dispatch -304 ✅ -14.40%
Parent::pub_entry_point_twice -238 ✅ -20.45%
Child::set_value_with_two_nested_calls -270 ✅ -20.93%
Parent::pub_entry_point -175 ✅ -24.86%
StaticParent::public_call -175 ✅ -24.86%
TokenBridge::_call_mint_on_token -338 ✅ -27.52%
AvmTest::create_different_nullifier_in_nested_call -209 ✅ -30.56%
AvmTest::create_same_nullifier_in_nested_call -209 ✅ -31.01%
ImportTest::pub_call_public_fn -209 ✅ -31.24%
AvmTest::nested_static_call_to_set_storage -209 ✅ -31.29%
AuthWitTest::consume_public -314 ✅ -36.05%

Full diff report 👇
Program Bytecode size in bytes (+/-) %
DocsExample::get_shared_immutable_constrained_public_indirect 937 (+506) +117.40%
Uniswap::_assert_token_is_same 964 (+482) +100.00%
StaticParent::public_nested_static_call 1,896 (+610) +47.43%
StaticParent::public_get_value_from_child 875 (+180) +25.90%
Lending::withdraw_public 1,376 (+226) +19.65%
Lending::borrow_public 1,376 (+226) +19.65%
Lending::_deposit 2,857 (+463) +19.34%
FPC::prepare_fee 1,450 (+226) +18.46%
FPC::pay_refund 1,489 (+226) +17.89%
Child::set_value_twice_with_nested_last 1,120 (+167) +17.52%
Child::set_value_twice_with_nested_first 1,120 (+167) +17.52%
Lending::repay_public 1,888 (+269) +16.62%
Lending::deposit_public 1,994 (+269) +15.59%
Lending::_withdraw 8,353 (+1,014) +13.82%
Lending::_borrow 8,109 (+826) +11.34%
StaticParent::public_dispatch 6,470 (+636) +10.90%
Lending::_repay 5,769 (+416) +7.77%
DocsExample::public_dispatch 5,535 (+327) +6.28%
Lending::public_dispatch 26,591 (+1,515) +6.04%
Uniswap::swap_public 14,298 (+802) +5.94%
Uniswap::public_dispatch 23,741 (+1,211) +5.38%
AvmTest::nested_call_to_add_with_gas 864 (+41) +4.98%
AvmTest::nested_call_to_assert_same 889 (+41) +4.83%
AvmTest::nested_static_call_to_add 889 (+41) +4.83%
AvmTest::nested_call_to_add 889 (+41) +4.83%
Uniswap::_approve_bridge_and_exit_input_asset_to_L1 5,748 (+231) +4.19%
FPC::pay_refund_with_shielded_rebate 1,237 (+38) +3.17%
AvmTest::public_dispatch 57,458 (+1,541) +2.76%
Benchmarking::increment_balance 3,145 (+38) +1.22%
FPC::public_dispatch 8,336 (+100) +1.21%
AvmTest::bulk_testing 25,007 (+293) +1.19%
StatefulTest::public_constructor 3,262 (+38) +1.18%
Benchmarking::public_dispatch 5,058 (+38) +0.76%
StatefulTest::public_dispatch 7,341 (+38) +0.52%
TokenBridge::exit_to_l1_public 7,537 (+38) +0.51%
TokenBridge::public_dispatch 20,884 (+105) +0.51%
TokenBridge::claim_public 11,312 (+38) +0.34%
Child::public_dispatch 5,438 (-52) -0.95%
Token::public_dispatch 31,642 (-319) -1.00%
NFT::public_dispatch 24,989 (-309) -1.22%
Parent::public_dispatch 7,874 (-102) -1.28%
TokenBlacklist::public_dispatch 24,001 (-319) -1.31%
TokenBlacklist::shield 6,060 (-309) -4.85%
TokenBlacklist::transfer_public 5,921 (-314) -5.04%
TokenBlacklist::burn_public 5,514 (-309) -5.31%
Token::shield 4,930 (-314) -5.99%
Token::transfer_public 4,501 (-314) -6.52%
Token::burn_public 4,389 (-314) -6.68%
Parent::public_static_call 885 (-68) -7.14%
StaticParent::public_static_call 885 (-68) -7.14%
NFT::transfer_in_public 3,474 (-309) -8.17%
Parent::public_nested_static_call 3,202 (-314) -8.93%
ImportTest::public_dispatch 1,506 (-204) -11.93%
AuthWitTest::public_dispatch 1,807 (-304) -14.40%
Parent::pub_entry_point_twice 926 (-238) -20.45%
Child::set_value_with_two_nested_calls 1,020 (-270) -20.93%
Parent::pub_entry_point 529 (-175) -24.86%
StaticParent::public_call 529 (-175) -24.86%
TokenBridge::_call_mint_on_token 890 (-338) -27.52%
AvmTest::create_different_nullifier_in_nested_call 475 (-209) -30.56%
AvmTest::create_same_nullifier_in_nested_call 465 (-209) -31.01%
ImportTest::pub_call_public_fn 460 (-209) -31.24%
AvmTest::nested_static_call_to_set_storage 459 (-209) -31.29%
AuthWitTest::consume_public 557 (-314) -36.05%

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.

Look at cpp/pil only. Look at my feedback.

barretenberg/cpp/src/barretenberg/vm/avm/trace/trace.cpp Outdated Show resolved Hide resolved
barretenberg/cpp/src/barretenberg/vm/avm/trace/trace.cpp Outdated Show resolved Hide resolved

// Write the return data to memory
// TODO: validate bounds
auto returndata_slice = std::vector(returndata.begin() + rd_offset, returndata.begin() + rd_offset + copy_size);
Copy link
Contributor

Choose a reason for hiding this comment

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

nested_returndata instead?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

indeed!

@@ -252,7 +252,7 @@ pub fn assert_inner_hash_valid_authwit(
* @param on_behalf_of The address that have authorized the current call
*/
// docs:start:assert_current_call_valid_authwit_public
pub fn assert_current_call_valid_authwit_public(
pub unconstrained fn assert_current_call_valid_authwit_public(
Copy link
Contributor

Choose a reason for hiding this comment

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

Technically it is correct to say public code is "unconstrained" (meaning it is brillig), but we try to avoid the confusion to the user since the AVM is going to constrain it.

Would it be possible to use unsafe blocks in the oracles to avoid the abstraction leak?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I tried but I can't return a slice to a constrained function :(

Copy link
Contributor

@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.

LGTM! Only comments I have are that we probably should have CPP tests for the new instructions, and there are lots of TODOs not tied to issues. I'm still okay with merging this despite those comments, but it would be great if we could tie TODOs to issues, even if they're epics or tracking tickets.

@fcarreiro fcarreiro added the e2e-prover-full CI: Enables this CI job. label Oct 29, 2024 — with Graphite App
@fcarreiro fcarreiro merged commit 8f71006 into master Oct 29, 2024
110 of 122 checks passed
Copy link
Contributor Author

Merge activity

  • Oct 29, 1:01 PM EDT: A user merged this pull request with Graphite.

@fcarreiro fcarreiro deleted the fc/avm-returndatacopy branch October 29, 2024 17:01
TomAFrench pushed a commit that referenced this pull request Oct 30, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.61.0](aztec-package-v0.60.0...aztec-package-v0.61.0)
(2024-10-30)


### Miscellaneous

* **aztec-package:** Synchronize aztec-packages versions
</details>

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

##
[0.61.0](barretenberg.js-v0.60.0...barretenberg.js-v0.61.0)
(2024-10-30)


### Miscellaneous

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

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

##
[0.61.0](aztec-packages-v0.60.0...aztec-packages-v0.61.0)
(2024-10-30)


### ⚠ BREAKING CHANGES

* **avm:** cleanup CALL
([#9551](#9551))
* **avm:** returndatasize + returndatacopy
([#9475](#9475))
* use Brillig opcode when possible for less-than operations on fields
([#9416](#9416))
* **profiler:** New flamegraph command that profiles the opcodes
executed (noir-lang/noir#6327)
* split base rollup and remove public kernel proving
([#9434](#9434))
* getcontractinstance instruction returns only a specified member
([#9300](#9300))
* **avm/brillig:** revert/rethrow oracle
([#9408](#9408))

### Features

* `bytes_to_fields` requiring only 1 generic param
([#9417](#9417))
([2217da6](2217da6))
* 20-30% cost reduction in recursive ipa algorithm
([#9420](#9420))
([a4bd3e1](a4bd3e1))
* Add capacities to brillig vectors and use them in slice ops
(noir-lang/noir#6332)
([b82f3d1](b82f3d1))
* Added indexes and a way to store/retrieve tagged secrets
([#9468](#9468))
([1c685b1](1c685b1))
* **avm/brillig:** Revert/rethrow oracle
([#9408](#9408))
([1bbd724](1bbd724))
* **avm:** Avm replace zeromorph pcs by shplemini
([#9389](#9389))
([07d6dc2](07d6dc2))
* **avm:** Cleanup CALL
([#9551](#9551))
([26adc55](26adc55))
* **avm:** Merkle tree gadget
([#9205](#9205))
([d52b616](d52b616))
* **avm:** Returndatasize + returndatacopy
([#9475](#9475))
([8f71006](8f71006))
* **avm:** Trace contract class and contract instance
([#8840](#8840))
([84205d8](84205d8))
* Better LSP hover for functions
(noir-lang/noir#6376)
([b82f3d1](b82f3d1))
* Bytecode hashing init
([#8535](#8535))
([2bb09e5](2bb09e5))
* Check trait where clause (noir-lang/noir#6325)
([d67381b](d67381b))
* Comptime deriving generators in macros
([#9195](#9195))
([c4b629c](c4b629c))
* Derive address and class id in avm
([#8897](#8897))
([2ebe361](2ebe361))
* Do not increment reference counts on arrays through references
(noir-lang/noir#6375)
([f386612](f386612))
* **docs:** Function transforms (hidden macros)
([#7784](#7784))
([831cc66](831cc66))
* Fee pricing to 0 for old instances
([#9296](#9296))
([7bc3a21](7bc3a21))
* Fixed number of pub inputs for databus commitment propagation
([#9336](#9336))
([8658abd](8658abd))
* Getcontractinstance instruction returns only a specified member
([#9300](#9300))
([29b692f](29b692f))
* Implement encryption to an address point and decryption from an
address secret
([#9272](#9272))
([6d77dd0](6d77dd0))
* Initial block reward + external libraries
([#9297](#9297))
([240e9b5](240e9b5))
* Let LSP suggest traits in trait bounds
(noir-lang/noir#6370)
([f386612](f386612))
* Let the formatter remove lambda block braces for single-statement
blocks (noir-lang/noir#6335)
([d67381b](d67381b))
* Let the LSP import code action insert into existing use statements
(noir-lang/noir#6358)
([f386612](f386612))
* Let the LSP import code action insert into existing use statements
(noir-lang/noir#6358)
([d67381b](d67381b))
* LSP auto-import will try to add to existing use statements
(noir-lang/noir#6354)
([f386612](f386612))
* LSP auto-import will try to add to existing use statements
(noir-lang/noir#6354)
([d67381b](d67381b))
* Merge and sort imports (noir-lang/noir#6322)
([b4db379](b4db379))
* Note tagging oracle
([#9429](#9429))
([cec6306](cec6306))
* Ownable sysstia
([#9398](#9398))
([30314ec](30314ec)),
closes
[#9351](#9351)
* **perf:** Use [u32;16] for message block in sha256
(noir-lang/noir#6324)
([d67381b](d67381b))
* Print finalized size and log dyadic size during Ultra proof
construction
([#9411](#9411))
([84fdc52](84fdc52))
* **profiler:** New flamegraph command that profiles the opcodes
executed (noir-lang/noir#6327)
([d67381b](d67381b))
* Prover coordination test with a reorg
([#9405](#9405))
([9efe288](9efe288))
* **prover:** Perform prover coordination via p2p layer
([#9325](#9325))
([2132bc2](2132bc2)),
closes
[#9264](#9264)
* Reject programs with unconditional recursion
(noir-lang/noir#6292)
([b4db379](b4db379))
* Remove 'single use' intermediate variables
(noir-lang/noir#6268)
([d67381b](d67381b))
* Reorder blocks for efficiency
([#9560](#9560))
([10874f4](10874f4))
* Simulate latency with network chaos
([#9469](#9469))
([10aefbb](10aefbb))
* Sol shplemini in acir tests + contract_gen
([#8874](#8874))
([1c0275d](1c0275d))
* Suggest removing `!` from macro call that doesn't return Quoted
(noir-lang/noir#6384)
([b82f3d1](b82f3d1))
* Support specifying generics on a struct when calling an associated
function (noir-lang/noir#6306)
([b82f3d1](b82f3d1))
* Sync from aztec-packages (noir-lang/noir#6345)
([d67381b](d67381b))
* Tally AVM opcodes executed in simulator
([#9473](#9473))
([9a06ada](9a06ada))
* **test:** Run test matrix on stdlib tests
(noir-lang/noir#6352)
([f386612](f386612))
* **test:** Run test matrix on stdlib tests
(noir-lang/noir#6352)
([d67381b](d67381b))


### Bug Fixes

* (formatter) correctly format quote delimiters
(noir-lang/noir#6377)
([b82f3d1](b82f3d1))
* (formatter) indent after infix lhs
(noir-lang/noir#6331)
([b4db379](b4db379))
* (LSP) check visibility of module that re-exports item, if any
(noir-lang/noir#6371)
([f386612](f386612))
* Add native verification test to honk keccak
([#9501](#9501))
([59810e0](59810e0))
* Allow globals in format strings
(noir-lang/noir#6382)
([b82f3d1](b82f3d1))
* Allow more resources for 4epochs tests
([#9418](#9418))
([74a8ad1](74a8ad1))
* Allow type aliases in let patterns
(noir-lang/noir#6356)
([f386612](f386612))
* Allow type aliases in let patterns
(noir-lang/noir#6356)
([d67381b](d67381b))
* Always inline `derive_generators`
(noir-lang/noir#6350)
([f386612](f386612))
* Always inline `derive_generators`
(noir-lang/noir#6350)
([d67381b](d67381b))
* **avm:** Address bytecode hashing comments
([#9436](#9436))
([a85f92a](a85f92a))
* **avm:** Disable sha256 in bulk test until we debug it
([#9482](#9482))
([078c318](078c318))
* **avm:** Re-enable sha256 in bulk test, fix bug in AVM SHL/SHR
([#9496](#9496))
([0fe64df](0fe64df))
* Bb-only-change fix e2e build instability
([#9441](#9441))
([ca3abaa](ca3abaa))
* Better formatting of leading/trailing line/block comments in
expression lists (noir-lang/noir#6338)
([d67381b](d67381b))
* Cleanup of janky encryption apis
([#9390](#9390))
([9e3e536](9e3e536))
* Deploy & version aztec-up scripts
([#9435](#9435))
([ad80169](ad80169))
* Display every bit in integer tokens
(noir-lang/noir#6360)
([b82f3d1](b82f3d1))
* Docker fast
([#9467](#9467))
([34e6dd0](34e6dd0))
* **docs:** Update getting started docs
([#9426](#9426))
([985190b](985190b))
* Fix panic in comptime code
(noir-lang/noir#6361)
([f386612](f386612))
* Fix panic in comptime code
(noir-lang/noir#6361)
([d67381b](d67381b))
* Formatter didn't format `&gt;>=` well
(noir-lang/noir#6337)
([b4db379](b4db379))
* Honk shplemini acir artifacts
([#9550](#9550))
([468c100](468c100))
* Issue in partial notes API
([#9555](#9555))
([9d66c1a](9d66c1a))
* LSP auto-import would import public item inside private module
(noir-lang/noir#6366)
([f386612](f386612))
* Make keccak256 work with input lengths greater than 136 bytes
(noir-lang/noir#6393)
([b82f3d1](b82f3d1))
* Make sure kind tests run every master commit
([#9478](#9478))
([78de316](78de316))
* Mutable global pattern didn't have a span
(noir-lang/noir#6328)
([b4db379](b4db379))
* Remove assumed parent traits
(noir-lang/noir#6365)
([f386612](f386612))
* Remove unnecessary ivpk's from aztec-nr
([#9460](#9460))
([c6437cc](c6437cc))
* Replace npk_m_hash with addresses
([#9461](#9461))
([f4ed55b](f4ed55b))
* Revert "feat: sol shplemini in acir tests + contract_gen"
([#9505](#9505))
([3351217](3351217))
* Slightly better formatting of empty blocks with comments
(noir-lang/noir#6367)
([f386612](f386612))
* Spot_strategy passing
([#9428](#9428))
([1e38d3e](1e38d3e))
* **ssa:** Do not mark an array from a parameter mutable
(noir-lang/noir#6355)
([f386612](f386612))
* **ssa:** Do not mark an array from a parameter mutable
(noir-lang/noir#6355)
([d67381b](d67381b))
* Yarn build:fast
([#9464](#9464))
([bbe6d06](bbe6d06))
* Yarn project bootstrap fast
([#9440](#9440))
([c1ebed5](c1ebed5))


### Miscellaneous

* Add serdes and eq for address note
([#9544](#9544))
([74bcfab](74bcfab))
* Add some tests for type aliases
([d67381b](d67381b))
* Add test to check that duplicate definitions generated from macros
throws error (noir-lang/noir#6351)
([f386612](f386612))
* Add test to check that duplicate definitions generated from macros
throws error (noir-lang/noir#6351)
([d67381b](d67381b))
* Align debug logging between AVM sim & witgen
([#9498](#9498))
([7c2d67a](7c2d67a))
* **avm::** Fix execution tests in proving mode
([#9466](#9466))
([8e07de8](8e07de8))
* **avm:** Allocate memory for unshifted polynomials according to their
trace col size
([#9345](#9345))
([a67d0e2](a67d0e2))
* Bumping L2 gas and public reads constants
([#9431](#9431))
([91c50dd](91c50dd))
* **CI:** Remove end-to-end/Earthfile
([#9364](#9364))
([2823cbb](2823cbb)),
closes
[#9221](#9221)
* Clean up note processor after changes due to address
([#9401](#9401))
([d33c988](d33c988))
* Disable e2e_fees_dapp_subscription
([#9489](#9489))
([26416b6](26416b6))
* Disable flakey e2e_synching.test.ts
([#9439](#9439))
([01147a5](01147a5))
* Dont show aws creds in docker fast
([#9465](#9465))
([a6d8f48](a6d8f48))
* Fix sync scripts
([#9423](#9423))
([7766c8e](7766c8e))
* Have 'aztec' honour the 'DEBUG' env var
([#9413](#9413))
([771a2ac](771a2ac))
* Minor tweaks to comptime doc
(noir-lang/noir#6357)
([f386612](f386612))
* Minor tweaks to comptime doc
(noir-lang/noir#6357)
([d67381b](d67381b))
* Minting only private or public balance in Token TXE tests
([#9491](#9491))
([b8c015b](b8c015b))
* Node follow prune and extend chain
([#9328](#9328))
([a653fd3](a653fd3))
* Noir bug workaround
([#9443](#9443))
([f619687](f619687))
* Passing partial note logs through transient storage
([#9356](#9356))
([8835b31](8835b31))
* Redo typo PR by defitricks
([#9571](#9571))
([9a5dce3](9a5dce3))
* Remove ovpk as param in boxes contracts
([#9495](#9495))
([2b24b98](2b24b98))
* Remove unnecessary trait
([#9437](#9437))
([1db2eec](1db2eec))
* Rename private function in L2 block stream
([#9481](#9481))
([a34d4aa](a34d4aa)),
closes
[#9314](#9314)
* Replace relative paths to noir-protocol-circuits
([4f2d67c](4f2d67c))
* Replace relative paths to noir-protocol-circuits
([33f2151](33f2151))
* Replace relative paths to noir-protocol-circuits
([5247be2](5247be2))
* Replace relative paths to noir-protocol-circuits
([49467ba](49467ba))
* Replace relative paths to noir-protocol-circuits
([f6d714f](f6d714f))
* Replace relative paths to noir-protocol-circuits
([b4841ad](b4841ad))
* Replace token note with uint note
([#8143](#8143))
([493a3f3](493a3f3))
* Run tests in metaprogramming.rs
(noir-lang/noir#6339)
([d67381b](d67381b))
* Split base rollup and remove public kernel proving
([#9434](#9434))
([4316242](4316242))
* Switch to btreeset for deterministic ordering
(noir-lang/noir#6348)
([d67381b](d67381b))
* Update title from feedback
(noir-lang/noir#6334)
([b4db379](b4db379))
* Use array instead of Vec in keccak256
(noir-lang/noir#6395)
([b82f3d1](b82f3d1))
* Use big endian in sha
([#9471](#9471))
([bc9828e](bc9828e))
* Use Brillig opcode when possible for less-than operations on fields
([#9416](#9416))
([e50303d](e50303d))


### Documentation

* Clean up docker messaging
([#9419](#9419))
([4c4974f](4c4974f))
</details>

<details><summary>barretenberg: 0.61.0</summary>

##
[0.61.0](barretenberg-v0.60.0...barretenberg-v0.61.0)
(2024-10-30)


### ⚠ BREAKING CHANGES

* **avm:** cleanup CALL
([#9551](#9551))
* **avm:** returndatasize + returndatacopy
([#9475](#9475))
* getcontractinstance instruction returns only a specified member
([#9300](#9300))
* **avm/brillig:** revert/rethrow oracle
([#9408](#9408))

### Features

* 20-30% cost reduction in recursive ipa algorithm
([#9420](#9420))
([a4bd3e1](a4bd3e1))
* **avm/brillig:** Revert/rethrow oracle
([#9408](#9408))
([1bbd724](1bbd724))
* **avm:** Avm replace zeromorph pcs by shplemini
([#9389](#9389))
([07d6dc2](07d6dc2))
* **avm:** Cleanup CALL
([#9551](#9551))
([26adc55](26adc55))
* **avm:** Merkle tree gadget
([#9205](#9205))
([d52b616](d52b616))
* **avm:** Returndatasize + returndatacopy
([#9475](#9475))
([8f71006](8f71006))
* **avm:** Trace contract class and contract instance
([#8840](#8840))
([84205d8](84205d8))
* Bytecode hashing init
([#8535](#8535))
([2bb09e5](2bb09e5))
* Derive address and class id in avm
([#8897](#8897))
([2ebe361](2ebe361))
* Fixed number of pub inputs for databus commitment propagation
([#9336](#9336))
([8658abd](8658abd))
* Getcontractinstance instruction returns only a specified member
([#9300](#9300))
([29b692f](29b692f))
* Print finalized size and log dyadic size during Ultra proof
construction
([#9411](#9411))
([84fdc52](84fdc52))
* Reorder blocks for efficiency
([#9560](#9560))
([10874f4](10874f4))
* Sol shplemini in acir tests + contract_gen
([#8874](#8874))
([1c0275d](1c0275d))


### Bug Fixes

* Add native verification test to honk keccak
([#9501](#9501))
([59810e0](59810e0))
* **avm:** Address bytecode hashing comments
([#9436](#9436))
([a85f92a](a85f92a))
* **avm:** Re-enable sha256 in bulk test, fix bug in AVM SHL/SHR
([#9496](#9496))
([0fe64df](0fe64df))
* Honk shplemini acir artifacts
([#9550](#9550))
([468c100](468c100))
* Revert "feat: sol shplemini in acir tests + contract_gen"
([#9505](#9505))
([3351217](3351217))


### Miscellaneous

* Align debug logging between AVM sim & witgen
([#9498](#9498))
([7c2d67a](7c2d67a))
* **avm::** Fix execution tests in proving mode
([#9466](#9466))
([8e07de8](8e07de8))
* **avm:** Allocate memory for unshifted polynomials according to their
trace col size
([#9345](#9345))
([a67d0e2](a67d0e2))
* Bumping L2 gas and public reads constants
([#9431](#9431))
([91c50dd](91c50dd))
* Use big endian in sha
([#9471](#9471))
([bc9828e](bc9828e))
</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 Oct 31, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.61.0](AztecProtocol/aztec-packages@aztec-package-v0.60.0...aztec-package-v0.61.0)
(2024-10-30)


### Miscellaneous

* **aztec-package:** Synchronize aztec-packages versions
</details>

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

##
[0.61.0](AztecProtocol/aztec-packages@barretenberg.js-v0.60.0...barretenberg.js-v0.61.0)
(2024-10-30)


### Miscellaneous

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

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

##
[0.61.0](AztecProtocol/aztec-packages@aztec-packages-v0.60.0...aztec-packages-v0.61.0)
(2024-10-30)


### ⚠ BREAKING CHANGES

* **avm:** cleanup CALL
([#9551](AztecProtocol/aztec-packages#9551))
* **avm:** returndatasize + returndatacopy
([#9475](AztecProtocol/aztec-packages#9475))
* use Brillig opcode when possible for less-than operations on fields
([#9416](AztecProtocol/aztec-packages#9416))
* **profiler:** New flamegraph command that profiles the opcodes
executed (noir-lang/noir#6327)
* split base rollup and remove public kernel proving
([#9434](AztecProtocol/aztec-packages#9434))
* getcontractinstance instruction returns only a specified member
([#9300](AztecProtocol/aztec-packages#9300))
* **avm/brillig:** revert/rethrow oracle
([#9408](AztecProtocol/aztec-packages#9408))

### Features

* `bytes_to_fields` requiring only 1 generic param
([#9417](AztecProtocol/aztec-packages#9417))
([2217da6](AztecProtocol/aztec-packages@2217da6))
* 20-30% cost reduction in recursive ipa algorithm
([#9420](AztecProtocol/aztec-packages#9420))
([a4bd3e1](AztecProtocol/aztec-packages@a4bd3e1))
* Add capacities to brillig vectors and use them in slice ops
(noir-lang/noir#6332)
([b82f3d1](AztecProtocol/aztec-packages@b82f3d1))
* Added indexes and a way to store/retrieve tagged secrets
([#9468](AztecProtocol/aztec-packages#9468))
([1c685b1](AztecProtocol/aztec-packages@1c685b1))
* **avm/brillig:** Revert/rethrow oracle
([#9408](AztecProtocol/aztec-packages#9408))
([1bbd724](AztecProtocol/aztec-packages@1bbd724))
* **avm:** Avm replace zeromorph pcs by shplemini
([#9389](AztecProtocol/aztec-packages#9389))
([07d6dc2](AztecProtocol/aztec-packages@07d6dc2))
* **avm:** Cleanup CALL
([#9551](AztecProtocol/aztec-packages#9551))
([26adc55](AztecProtocol/aztec-packages@26adc55))
* **avm:** Merkle tree gadget
([#9205](AztecProtocol/aztec-packages#9205))
([d52b616](AztecProtocol/aztec-packages@d52b616))
* **avm:** Returndatasize + returndatacopy
([#9475](AztecProtocol/aztec-packages#9475))
([8f71006](AztecProtocol/aztec-packages@8f71006))
* **avm:** Trace contract class and contract instance
([#8840](AztecProtocol/aztec-packages#8840))
([84205d8](AztecProtocol/aztec-packages@84205d8))
* Better LSP hover for functions
(noir-lang/noir#6376)
([b82f3d1](AztecProtocol/aztec-packages@b82f3d1))
* Bytecode hashing init
([#8535](AztecProtocol/aztec-packages#8535))
([2bb09e5](AztecProtocol/aztec-packages@2bb09e5))
* Check trait where clause (noir-lang/noir#6325)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Comptime deriving generators in macros
([#9195](AztecProtocol/aztec-packages#9195))
([c4b629c](AztecProtocol/aztec-packages@c4b629c))
* Derive address and class id in avm
([#8897](AztecProtocol/aztec-packages#8897))
([2ebe361](AztecProtocol/aztec-packages@2ebe361))
* Do not increment reference counts on arrays through references
(noir-lang/noir#6375)
([f386612](AztecProtocol/aztec-packages@f386612))
* **docs:** Function transforms (hidden macros)
([#7784](AztecProtocol/aztec-packages#7784))
([831cc66](AztecProtocol/aztec-packages@831cc66))
* Fee pricing to 0 for old instances
([#9296](AztecProtocol/aztec-packages#9296))
([7bc3a21](AztecProtocol/aztec-packages@7bc3a21))
* Fixed number of pub inputs for databus commitment propagation
([#9336](AztecProtocol/aztec-packages#9336))
([8658abd](AztecProtocol/aztec-packages@8658abd))
* Getcontractinstance instruction returns only a specified member
([#9300](AztecProtocol/aztec-packages#9300))
([29b692f](AztecProtocol/aztec-packages@29b692f))
* Implement encryption to an address point and decryption from an
address secret
([#9272](AztecProtocol/aztec-packages#9272))
([6d77dd0](AztecProtocol/aztec-packages@6d77dd0))
* Initial block reward + external libraries
([#9297](AztecProtocol/aztec-packages#9297))
([240e9b5](AztecProtocol/aztec-packages@240e9b5))
* Let LSP suggest traits in trait bounds
(noir-lang/noir#6370)
([f386612](AztecProtocol/aztec-packages@f386612))
* Let the formatter remove lambda block braces for single-statement
blocks (noir-lang/noir#6335)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Let the LSP import code action insert into existing use statements
(noir-lang/noir#6358)
([f386612](AztecProtocol/aztec-packages@f386612))
* Let the LSP import code action insert into existing use statements
(noir-lang/noir#6358)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* LSP auto-import will try to add to existing use statements
(noir-lang/noir#6354)
([f386612](AztecProtocol/aztec-packages@f386612))
* LSP auto-import will try to add to existing use statements
(noir-lang/noir#6354)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Merge and sort imports (noir-lang/noir#6322)
([b4db379](AztecProtocol/aztec-packages@b4db379))
* Note tagging oracle
([#9429](AztecProtocol/aztec-packages#9429))
([cec6306](AztecProtocol/aztec-packages@cec6306))
* Ownable sysstia
([#9398](AztecProtocol/aztec-packages#9398))
([30314ec](AztecProtocol/aztec-packages@30314ec)),
closes
[#9351](AztecProtocol/aztec-packages#9351)
* **perf:** Use [u32;16] for message block in sha256
(noir-lang/noir#6324)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Print finalized size and log dyadic size during Ultra proof
construction
([#9411](AztecProtocol/aztec-packages#9411))
([84fdc52](AztecProtocol/aztec-packages@84fdc52))
* **profiler:** New flamegraph command that profiles the opcodes
executed (noir-lang/noir#6327)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Prover coordination test with a reorg
([#9405](AztecProtocol/aztec-packages#9405))
([9efe288](AztecProtocol/aztec-packages@9efe288))
* **prover:** Perform prover coordination via p2p layer
([#9325](AztecProtocol/aztec-packages#9325))
([2132bc2](AztecProtocol/aztec-packages@2132bc2)),
closes
[#9264](AztecProtocol/aztec-packages#9264)
* Reject programs with unconditional recursion
(noir-lang/noir#6292)
([b4db379](AztecProtocol/aztec-packages@b4db379))
* Remove 'single use' intermediate variables
(noir-lang/noir#6268)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Reorder blocks for efficiency
([#9560](AztecProtocol/aztec-packages#9560))
([10874f4](AztecProtocol/aztec-packages@10874f4))
* Simulate latency with network chaos
([#9469](AztecProtocol/aztec-packages#9469))
([10aefbb](AztecProtocol/aztec-packages@10aefbb))
* Sol shplemini in acir tests + contract_gen
([#8874](AztecProtocol/aztec-packages#8874))
([1c0275d](AztecProtocol/aztec-packages@1c0275d))
* Suggest removing `!` from macro call that doesn't return Quoted
(noir-lang/noir#6384)
([b82f3d1](AztecProtocol/aztec-packages@b82f3d1))
* Support specifying generics on a struct when calling an associated
function (noir-lang/noir#6306)
([b82f3d1](AztecProtocol/aztec-packages@b82f3d1))
* Sync from aztec-packages (noir-lang/noir#6345)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Tally AVM opcodes executed in simulator
([#9473](AztecProtocol/aztec-packages#9473))
([9a06ada](AztecProtocol/aztec-packages@9a06ada))
* **test:** Run test matrix on stdlib tests
(noir-lang/noir#6352)
([f386612](AztecProtocol/aztec-packages@f386612))
* **test:** Run test matrix on stdlib tests
(noir-lang/noir#6352)
([d67381b](AztecProtocol/aztec-packages@d67381b))


### Bug Fixes

* (formatter) correctly format quote delimiters
(noir-lang/noir#6377)
([b82f3d1](AztecProtocol/aztec-packages@b82f3d1))
* (formatter) indent after infix lhs
(noir-lang/noir#6331)
([b4db379](AztecProtocol/aztec-packages@b4db379))
* (LSP) check visibility of module that re-exports item, if any
(noir-lang/noir#6371)
([f386612](AztecProtocol/aztec-packages@f386612))
* Add native verification test to honk keccak
([#9501](AztecProtocol/aztec-packages#9501))
([59810e0](AztecProtocol/aztec-packages@59810e0))
* Allow globals in format strings
(noir-lang/noir#6382)
([b82f3d1](AztecProtocol/aztec-packages@b82f3d1))
* Allow more resources for 4epochs tests
([#9418](AztecProtocol/aztec-packages#9418))
([74a8ad1](AztecProtocol/aztec-packages@74a8ad1))
* Allow type aliases in let patterns
(noir-lang/noir#6356)
([f386612](AztecProtocol/aztec-packages@f386612))
* Allow type aliases in let patterns
(noir-lang/noir#6356)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Always inline `derive_generators`
(noir-lang/noir#6350)
([f386612](AztecProtocol/aztec-packages@f386612))
* Always inline `derive_generators`
(noir-lang/noir#6350)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* **avm:** Address bytecode hashing comments
([#9436](AztecProtocol/aztec-packages#9436))
([a85f92a](AztecProtocol/aztec-packages@a85f92a))
* **avm:** Disable sha256 in bulk test until we debug it
([#9482](AztecProtocol/aztec-packages#9482))
([078c318](AztecProtocol/aztec-packages@078c318))
* **avm:** Re-enable sha256 in bulk test, fix bug in AVM SHL/SHR
([#9496](AztecProtocol/aztec-packages#9496))
([0fe64df](AztecProtocol/aztec-packages@0fe64df))
* Bb-only-change fix e2e build instability
([#9441](AztecProtocol/aztec-packages#9441))
([ca3abaa](AztecProtocol/aztec-packages@ca3abaa))
* Better formatting of leading/trailing line/block comments in
expression lists (noir-lang/noir#6338)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Cleanup of janky encryption apis
([#9390](AztecProtocol/aztec-packages#9390))
([9e3e536](AztecProtocol/aztec-packages@9e3e536))
* Deploy & version aztec-up scripts
([#9435](AztecProtocol/aztec-packages#9435))
([ad80169](AztecProtocol/aztec-packages@ad80169))
* Display every bit in integer tokens
(noir-lang/noir#6360)
([b82f3d1](AztecProtocol/aztec-packages@b82f3d1))
* Docker fast
([#9467](AztecProtocol/aztec-packages#9467))
([34e6dd0](AztecProtocol/aztec-packages@34e6dd0))
* **docs:** Update getting started docs
([#9426](AztecProtocol/aztec-packages#9426))
([985190b](AztecProtocol/aztec-packages@985190b))
* Fix panic in comptime code
(noir-lang/noir#6361)
([f386612](AztecProtocol/aztec-packages@f386612))
* Fix panic in comptime code
(noir-lang/noir#6361)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Formatter didn't format `&gt;>=` well
(noir-lang/noir#6337)
([b4db379](AztecProtocol/aztec-packages@b4db379))
* Honk shplemini acir artifacts
([#9550](AztecProtocol/aztec-packages#9550))
([468c100](AztecProtocol/aztec-packages@468c100))
* Issue in partial notes API
([#9555](AztecProtocol/aztec-packages#9555))
([9d66c1a](AztecProtocol/aztec-packages@9d66c1a))
* LSP auto-import would import public item inside private module
(noir-lang/noir#6366)
([f386612](AztecProtocol/aztec-packages@f386612))
* Make keccak256 work with input lengths greater than 136 bytes
(noir-lang/noir#6393)
([b82f3d1](AztecProtocol/aztec-packages@b82f3d1))
* Make sure kind tests run every master commit
([#9478](AztecProtocol/aztec-packages#9478))
([78de316](AztecProtocol/aztec-packages@78de316))
* Mutable global pattern didn't have a span
(noir-lang/noir#6328)
([b4db379](AztecProtocol/aztec-packages@b4db379))
* Remove assumed parent traits
(noir-lang/noir#6365)
([f386612](AztecProtocol/aztec-packages@f386612))
* Remove unnecessary ivpk's from aztec-nr
([#9460](AztecProtocol/aztec-packages#9460))
([c6437cc](AztecProtocol/aztec-packages@c6437cc))
* Replace npk_m_hash with addresses
([#9461](AztecProtocol/aztec-packages#9461))
([f4ed55b](AztecProtocol/aztec-packages@f4ed55b))
* Revert "feat: sol shplemini in acir tests + contract_gen"
([#9505](AztecProtocol/aztec-packages#9505))
([3351217](AztecProtocol/aztec-packages@3351217))
* Slightly better formatting of empty blocks with comments
(noir-lang/noir#6367)
([f386612](AztecProtocol/aztec-packages@f386612))
* Spot_strategy passing
([#9428](AztecProtocol/aztec-packages#9428))
([1e38d3e](AztecProtocol/aztec-packages@1e38d3e))
* **ssa:** Do not mark an array from a parameter mutable
(noir-lang/noir#6355)
([f386612](AztecProtocol/aztec-packages@f386612))
* **ssa:** Do not mark an array from a parameter mutable
(noir-lang/noir#6355)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Yarn build:fast
([#9464](AztecProtocol/aztec-packages#9464))
([bbe6d06](AztecProtocol/aztec-packages@bbe6d06))
* Yarn project bootstrap fast
([#9440](AztecProtocol/aztec-packages#9440))
([c1ebed5](AztecProtocol/aztec-packages@c1ebed5))


### Miscellaneous

* Add serdes and eq for address note
([#9544](AztecProtocol/aztec-packages#9544))
([74bcfab](AztecProtocol/aztec-packages@74bcfab))
* Add some tests for type aliases
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Add test to check that duplicate definitions generated from macros
throws error (noir-lang/noir#6351)
([f386612](AztecProtocol/aztec-packages@f386612))
* Add test to check that duplicate definitions generated from macros
throws error (noir-lang/noir#6351)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Align debug logging between AVM sim & witgen
([#9498](AztecProtocol/aztec-packages#9498))
([7c2d67a](AztecProtocol/aztec-packages@7c2d67a))
* **avm::** Fix execution tests in proving mode
([#9466](AztecProtocol/aztec-packages#9466))
([8e07de8](AztecProtocol/aztec-packages@8e07de8))
* **avm:** Allocate memory for unshifted polynomials according to their
trace col size
([#9345](AztecProtocol/aztec-packages#9345))
([a67d0e2](AztecProtocol/aztec-packages@a67d0e2))
* Bumping L2 gas and public reads constants
([#9431](AztecProtocol/aztec-packages#9431))
([91c50dd](AztecProtocol/aztec-packages@91c50dd))
* **CI:** Remove end-to-end/Earthfile
([#9364](AztecProtocol/aztec-packages#9364))
([2823cbb](AztecProtocol/aztec-packages@2823cbb)),
closes
[#9221](AztecProtocol/aztec-packages#9221)
* Clean up note processor after changes due to address
([#9401](AztecProtocol/aztec-packages#9401))
([d33c988](AztecProtocol/aztec-packages@d33c988))
* Disable e2e_fees_dapp_subscription
([#9489](AztecProtocol/aztec-packages#9489))
([26416b6](AztecProtocol/aztec-packages@26416b6))
* Disable flakey e2e_synching.test.ts
([#9439](AztecProtocol/aztec-packages#9439))
([01147a5](AztecProtocol/aztec-packages@01147a5))
* Dont show aws creds in docker fast
([#9465](AztecProtocol/aztec-packages#9465))
([a6d8f48](AztecProtocol/aztec-packages@a6d8f48))
* Fix sync scripts
([#9423](AztecProtocol/aztec-packages#9423))
([7766c8e](AztecProtocol/aztec-packages@7766c8e))
* Have 'aztec' honour the 'DEBUG' env var
([#9413](AztecProtocol/aztec-packages#9413))
([771a2ac](AztecProtocol/aztec-packages@771a2ac))
* Minor tweaks to comptime doc
(noir-lang/noir#6357)
([f386612](AztecProtocol/aztec-packages@f386612))
* Minor tweaks to comptime doc
(noir-lang/noir#6357)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Minting only private or public balance in Token TXE tests
([#9491](AztecProtocol/aztec-packages#9491))
([b8c015b](AztecProtocol/aztec-packages@b8c015b))
* Node follow prune and extend chain
([#9328](AztecProtocol/aztec-packages#9328))
([a653fd3](AztecProtocol/aztec-packages@a653fd3))
* Noir bug workaround
([#9443](AztecProtocol/aztec-packages#9443))
([f619687](AztecProtocol/aztec-packages@f619687))
* Passing partial note logs through transient storage
([#9356](AztecProtocol/aztec-packages#9356))
([8835b31](AztecProtocol/aztec-packages@8835b31))
* Redo typo PR by defitricks
([#9571](AztecProtocol/aztec-packages#9571))
([9a5dce3](AztecProtocol/aztec-packages@9a5dce3))
* Remove ovpk as param in boxes contracts
([#9495](AztecProtocol/aztec-packages#9495))
([2b24b98](AztecProtocol/aztec-packages@2b24b98))
* Remove unnecessary trait
([#9437](AztecProtocol/aztec-packages#9437))
([1db2eec](AztecProtocol/aztec-packages@1db2eec))
* Rename private function in L2 block stream
([#9481](AztecProtocol/aztec-packages#9481))
([a34d4aa](AztecProtocol/aztec-packages@a34d4aa)),
closes
[#9314](AztecProtocol/aztec-packages#9314)
* Replace relative paths to noir-protocol-circuits
([4f2d67c](AztecProtocol/aztec-packages@4f2d67c))
* Replace relative paths to noir-protocol-circuits
([33f2151](AztecProtocol/aztec-packages@33f2151))
* Replace relative paths to noir-protocol-circuits
([5247be2](AztecProtocol/aztec-packages@5247be2))
* Replace relative paths to noir-protocol-circuits
([49467ba](AztecProtocol/aztec-packages@49467ba))
* Replace relative paths to noir-protocol-circuits
([f6d714f](AztecProtocol/aztec-packages@f6d714f))
* Replace relative paths to noir-protocol-circuits
([b4841ad](AztecProtocol/aztec-packages@b4841ad))
* Replace token note with uint note
([#8143](AztecProtocol/aztec-packages#8143))
([493a3f3](AztecProtocol/aztec-packages@493a3f3))
* Run tests in metaprogramming.rs
(noir-lang/noir#6339)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Split base rollup and remove public kernel proving
([#9434](AztecProtocol/aztec-packages#9434))
([4316242](AztecProtocol/aztec-packages@4316242))
* Switch to btreeset for deterministic ordering
(noir-lang/noir#6348)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Update title from feedback
(noir-lang/noir#6334)
([b4db379](AztecProtocol/aztec-packages@b4db379))
* Use array instead of Vec in keccak256
(noir-lang/noir#6395)
([b82f3d1](AztecProtocol/aztec-packages@b82f3d1))
* Use big endian in sha
([#9471](AztecProtocol/aztec-packages#9471))
([bc9828e](AztecProtocol/aztec-packages@bc9828e))
* Use Brillig opcode when possible for less-than operations on fields
([#9416](AztecProtocol/aztec-packages#9416))
([e50303d](AztecProtocol/aztec-packages@e50303d))


### Documentation

* Clean up docker messaging
([#9419](AztecProtocol/aztec-packages#9419))
([4c4974f](AztecProtocol/aztec-packages@4c4974f))
</details>

<details><summary>barretenberg: 0.61.0</summary>

##
[0.61.0](AztecProtocol/aztec-packages@barretenberg-v0.60.0...barretenberg-v0.61.0)
(2024-10-30)


### ⚠ BREAKING CHANGES

* **avm:** cleanup CALL
([#9551](AztecProtocol/aztec-packages#9551))
* **avm:** returndatasize + returndatacopy
([#9475](AztecProtocol/aztec-packages#9475))
* getcontractinstance instruction returns only a specified member
([#9300](AztecProtocol/aztec-packages#9300))
* **avm/brillig:** revert/rethrow oracle
([#9408](AztecProtocol/aztec-packages#9408))

### Features

* 20-30% cost reduction in recursive ipa algorithm
([#9420](AztecProtocol/aztec-packages#9420))
([a4bd3e1](AztecProtocol/aztec-packages@a4bd3e1))
* **avm/brillig:** Revert/rethrow oracle
([#9408](AztecProtocol/aztec-packages#9408))
([1bbd724](AztecProtocol/aztec-packages@1bbd724))
* **avm:** Avm replace zeromorph pcs by shplemini
([#9389](AztecProtocol/aztec-packages#9389))
([07d6dc2](AztecProtocol/aztec-packages@07d6dc2))
* **avm:** Cleanup CALL
([#9551](AztecProtocol/aztec-packages#9551))
([26adc55](AztecProtocol/aztec-packages@26adc55))
* **avm:** Merkle tree gadget
([#9205](AztecProtocol/aztec-packages#9205))
([d52b616](AztecProtocol/aztec-packages@d52b616))
* **avm:** Returndatasize + returndatacopy
([#9475](AztecProtocol/aztec-packages#9475))
([8f71006](AztecProtocol/aztec-packages@8f71006))
* **avm:** Trace contract class and contract instance
([#8840](AztecProtocol/aztec-packages#8840))
([84205d8](AztecProtocol/aztec-packages@84205d8))
* Bytecode hashing init
([#8535](AztecProtocol/aztec-packages#8535))
([2bb09e5](AztecProtocol/aztec-packages@2bb09e5))
* Derive address and class id in avm
([#8897](AztecProtocol/aztec-packages#8897))
([2ebe361](AztecProtocol/aztec-packages@2ebe361))
* Fixed number of pub inputs for databus commitment propagation
([#9336](AztecProtocol/aztec-packages#9336))
([8658abd](AztecProtocol/aztec-packages@8658abd))
* Getcontractinstance instruction returns only a specified member
([#9300](AztecProtocol/aztec-packages#9300))
([29b692f](AztecProtocol/aztec-packages@29b692f))
* Print finalized size and log dyadic size during Ultra proof
construction
([#9411](AztecProtocol/aztec-packages#9411))
([84fdc52](AztecProtocol/aztec-packages@84fdc52))
* Reorder blocks for efficiency
([#9560](AztecProtocol/aztec-packages#9560))
([10874f4](AztecProtocol/aztec-packages@10874f4))
* Sol shplemini in acir tests + contract_gen
([#8874](AztecProtocol/aztec-packages#8874))
([1c0275d](AztecProtocol/aztec-packages@1c0275d))


### Bug Fixes

* Add native verification test to honk keccak
([#9501](AztecProtocol/aztec-packages#9501))
([59810e0](AztecProtocol/aztec-packages@59810e0))
* **avm:** Address bytecode hashing comments
([#9436](AztecProtocol/aztec-packages#9436))
([a85f92a](AztecProtocol/aztec-packages@a85f92a))
* **avm:** Re-enable sha256 in bulk test, fix bug in AVM SHL/SHR
([#9496](AztecProtocol/aztec-packages#9496))
([0fe64df](AztecProtocol/aztec-packages@0fe64df))
* Honk shplemini acir artifacts
([#9550](AztecProtocol/aztec-packages#9550))
([468c100](AztecProtocol/aztec-packages@468c100))
* Revert "feat: sol shplemini in acir tests + contract_gen"
([#9505](AztecProtocol/aztec-packages#9505))
([3351217](AztecProtocol/aztec-packages@3351217))


### Miscellaneous

* Align debug logging between AVM sim & witgen
([#9498](AztecProtocol/aztec-packages#9498))
([7c2d67a](AztecProtocol/aztec-packages@7c2d67a))
* **avm::** Fix execution tests in proving mode
([#9466](AztecProtocol/aztec-packages#9466))
([8e07de8](AztecProtocol/aztec-packages@8e07de8))
* **avm:** Allocate memory for unshifted polynomials according to their
trace col size
([#9345](AztecProtocol/aztec-packages#9345))
([a67d0e2](AztecProtocol/aztec-packages@a67d0e2))
* Bumping L2 gas and public reads constants
([#9431](AztecProtocol/aztec-packages#9431))
([91c50dd](AztecProtocol/aztec-packages@91c50dd))
* Use big endian in sha
([#9471](AztecProtocol/aztec-packages#9471))
([bc9828e](AztecProtocol/aztec-packages@bc9828e))
</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-prover-full CI: Enables this CI job.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants