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

chore(avm): Allocate memory for unshifted polynomials according to their trace col size #9345

Merged
merged 9 commits into from
Oct 25, 2024

Conversation

jeanmon
Copy link
Contributor

@jeanmon jeanmon commented Oct 23, 2024

Some measurements on bulk test showed that resident memory during proving went from 33.1 GB to 28.4 GB.

@jeanmon jeanmon marked this pull request as ready for review October 23, 2024 09:43
@jeanmon jeanmon force-pushed the jm/circuit-builder-memory-improvements branch from b5d5456 to e89fbe8 Compare October 23, 2024 10:00
Copy link
Contributor

@fcarreiro fcarreiro left a comment

Choose a reason for hiding this comment

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

Ah... the gain is less than I expected.
Do you know how much time are we spending in the calculations added by this PR?

@jeanmon jeanmon force-pushed the jm/circuit-builder-memory-improvements branch from e89fbe8 to 380d161 Compare October 24, 2024 18:59
@jeanmon
Copy link
Contributor Author

jeanmon commented Oct 24, 2024

Do you know how much time are we spending in the calculations added by this PR?

@fcarreiro You were right to ask. Unfortunately, we pay the price of 4 additional seconds in proving the bulk test!!

This PR: circuit_builder/init_polys_unshifted_ms: 3941
Master: circuit_builder/init_polys_unshifted_ms: 79

I will not merge for the time being.

@jeanmon jeanmon force-pushed the jm/circuit-builder-memory-improvements branch from 380d161 to 266fa4b Compare October 25, 2024 13:56
@jeanmon
Copy link
Contributor Author

jeanmon commented Oct 25, 2024

I have pushed a new non-parallel version of the algorithm which takes 0.5 second. We agreed that it is fine for the time being.

// An array which stores for each column of the trace the smallest size of the
// truncated column containing all non-zero elements.
// It is used to allocate the polynomials without memory overhead for the tail of zeros.
std::array<size_t, Row::SIZE> col_nonzero_size{};
Copy link
Contributor

Choose a reason for hiding this comment

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

You don't need the {} for size_t I think. But let's leave it just in case.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Actually you need them otherwise it will be uninitialized like a C array.

Comment on lines +27 to +43
// We create a mapping between the polynomial index and the corresponding column index when row
// is expressed as a vector, i.e., column of the trace matrix.
std::unordered_map<std::string, size_t> names_to_col_idx;
const auto names = Row::names();
for (size_t i = 0; i < names.size(); i++) {
names_to_col_idx[names[i]] = i;
}

const auto labels = polys.get_unshifted_labels();
const size_t num_unshifted = labels.size();

// Mapping
std::vector<size_t> polys_to_cols_unshifted_idx(num_unshifted);
for (size_t i = 0; i < num_unshifted; i++) {
polys_to_cols_unshifted_idx[i] = names_to_col_idx.at(labels[i]);
}

Copy link
Contributor

Choose a reason for hiding this comment

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

Ideally this could be in an anonymous namespace helper

size_t col_size = 0;

// We fully allocate the inverse polynomials. We leave this potential memory optimization for later.
if (derived_labels_set.contains(labels[i])) {
Copy link
Contributor

Choose a reason for hiding this comment

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

An idea (please double check): if you initialize col_nonzero_size to have num_rows on each slot, then you don't need to check the labels (and therefore also not construct them).

You do still need the poly_to_cols, unfortunatelly.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Then, I would allocate a whole column for those which are full of zeros. I think the main issue to distinguish the inverse columns from the standard ones but full of zeros.

@jeanmon jeanmon force-pushed the jm/circuit-builder-memory-improvements branch from 266fa4b to 67c4ebf Compare October 25, 2024 16:35
@jeanmon jeanmon force-pushed the jm/circuit-builder-memory-improvements branch from 67c4ebf to 52c890a Compare October 25, 2024 16:50
Copy link
Contributor

Changes to public function bytecode sizes

Generated at commit: 69c741c9cfe9c32cccd110e802b1035c31d5e878, compared to commit: 4c4974f0d49ed3623accf78b292b58beb73e6a0e

🧾 Summary (100% most significant diffs)

Program Bytecode size in bytes (+/-) %
Test::assert_public_global_vars +39 ❌ +16.05%
InclusionProofs::test_nullifier_inclusion_from_public +19 ❌ +13.38%
Test::dummy_public_call +14 ❌ +13.33%
AvmTest::assert_timestamp +14 ❌ +12.39%
AvmTest::assert_nullifier_exists +14 ❌ +12.28%
AvmTest::assert_same +14 ❌ +11.86%
AvmTest::emit_nullifier_and_check +14 ❌ +11.86%
Test::is_time_equal +14 ❌ +11.76%
AvmTest::test_get_contract_instance_raw +94 ❌ +11.62%
InclusionProofs::push_nullifier_public +14 ❌ +11.38%
AvmTest::new_nullifier +9 ❌ +10.00%
AvmTest::new_note_hash +9 ❌ +10.00%
Test::emit_nullifier_public +9 ❌ +10.00%
AvmTest::get_fee_per_l2_gas +9 ❌ +9.89%
AvmTest::get_l2_gas_left +9 ❌ +9.89%
AvmTest::get_da_gas_left +9 ❌ +9.89%
AvmTest::get_fee_per_da_gas +9 ❌ +9.89%
AvmTest::get_transaction_fee +9 ❌ +9.89%
AvmTest::get_timestamp +9 ❌ +9.89%
AvmTest::get_sender +9 ❌ +9.89%
AvmTest::get_block_number +9 ❌ +9.89%
AvmTest::get_address +9 ❌ +9.89%
AvmTest::set_opcode_u8 +9 ❌ +9.89%
AvmTest::get_chain_id +9 ❌ +9.89%
AvmTest::get_version +9 ❌ +9.89%
AvmTest::nullifier_collision +9 ❌ +9.57%
AvmTest::set_opcode_u32 +9 ❌ +9.47%
AvmTest::send_l2_to_l1_msg +9 ❌ +9.18%
Test::create_l2_to_l1_message_arbitrary_recipient_public +9 ❌ +9.18%
AvmTest::set_opcode_u64 +9 ❌ +9.09%
AvmTest::assertion_failure +14 ❌ +9.03%
DocsExample::spend_public_authwit +9 ❌ +8.91%
StaticChild::pub_get_value +14 ❌ +8.64%
NFT::_store_point_in_transient_storage_unsafe +29 ❌ +8.61%
AvmTest::add_args_return +9 ❌ +8.41%
AvmTest::set_opcode_small_field +9 ❌ +8.41%
DocsExample::update_leader +24 ❌ +8.33%
AvmTest::nullifier_exists +9 ❌ +8.26%
AvmTest::set_storage_single +19 ❌ +8.23%
AvmTest::note_hash_exists +9 ❌ +8.18%
AvmTest::l1_to_l2_msg_exists +9 ❌ +8.18%
AvmTest::check_selector +14 ❌ +8.00%
AvmTest::modulo2 +9 ❌ +7.96%
Uniswap::_assert_token_is_same +34 ❌ +7.59%
AvmTest::set_storage_list +19 ❌ +7.57%
AvmTest::set_opcode_big_field +9 ❌ +7.32%
AvmTest::set_opcode_really_big_field +9 ❌ +7.32%
AvmTest::add_u128 +14 ❌ +6.97%
AvmTest::assert_calldata_copy +29 ❌ +6.89%
CardGame::start_game +429 ❌ +6.87%
TokenBridge::_assert_token_is_same +34 ❌ +6.72%
Child::pub_get_value +9 ❌ +6.57%
Test::create_l2_to_l1_message_public +119 ❌ +6.40%
AvmTest::u128_addition_overflow +74 ❌ +6.30%
CardGame::public_dispatch +914 ❌ +6.18%
Child::pub_set_value +19 ❌ +6.07%
StaticChild::pub_set_value +19 ❌ +6.07%
NFT::public_get_symbol +29 ❌ +5.92%
TokenBridge::get_token +29 ❌ +5.92%
Token::get_admin +29 ❌ +5.92%
EasyPrivateVoting::end_vote +39 ❌ +5.87%
NFT::set_admin +39 ❌ +5.86%
Token::set_admin +39 ❌ +5.86%
NFT::get_admin +29 ❌ +5.86%
NFT::public_get_name +29 ❌ +5.86%
Token::public_get_symbol +29 ❌ +5.86%
Token::public_get_name +29 ❌ +5.86%
TokenBlacklist::total_supply +34 ❌ +5.79%
Token::total_supply +34 ❌ +5.79%
AvmTest::sha256_hash +154 ❌ +5.74%
Test::consume_message_from_arbitrary_sender_public +364 ❌ +5.74%
Token::public_get_decimals +29 ❌ +5.69%
AvmTest::keccak_hash +144 ❌ +5.65%
AvmTest::get_function_selector +9 ❌ +5.59%
TokenBridge::get_portal_address_public +29 ❌ +5.50%
DocsExample::initialize_public_immutable +44 ❌ +5.47%
DocsExample::initialize_shared_immutable +44 ❌ +5.47%
CardGame::on_card_played +289 ❌ +5.47%
Test::consume_mint_public_message +454 ❌ +5.46%
TokenBlacklist::_reduce_total_supply +49 ❌ +5.32%
Crowdfunding::_publish_donation_receipts +64 ❌ +5.30%
Token::_reduce_total_supply +49 ❌ +5.29%
TokenBridge::claim_public +494 ❌ +5.14%
AvmInitializerTest::read_storage_immutable +24 ❌ +5.11%
CardGame::on_cards_claimed +339 ❌ +5.10%
NFT::_finish_transfer_to_public +84 ❌ +4.95%
Test::public_dispatch +814 ❌ +4.86%
FeeJuice::set_portal +44 ❌ +4.84%
Token::set_minter +94 ❌ +4.82%
NFT::set_minter +94 ❌ +4.81%
TokenBlacklist::balance_of_public +89 ❌ +4.77%
Token::balance_of_public +89 ❌ +4.77%
Token::assert_minter_and_mint +109 ❌ +4.75%
StaticChild::pub_illegal_inc_value +34 ❌ +4.73%
Child::pub_inc_value_internal +34 ❌ +4.70%
NFT::is_minter +84 ❌ +4.70%
Token::is_minter +84 ❌ +4.70%
TokenBlacklist::_increase_public_balance +119 ❌ +4.68%
Token::_increase_public_balance +119 ❌ +4.68%
AvmTest::set_read_storage_single +29 ❌ +4.66%
DocsExample::get_shared_immutable_constrained_public +24 ❌ +4.66%
StatefulTest::increment_public_value +89 ❌ +4.64%
DocsExample::get_shared_immutable_constrained_public_indirect +19 ❌ +4.61%
AuthRegistry::_set_authorized +84 ❌ +4.58%
FeeJuice::balance_of_public +84 ❌ +4.58%
Auth::get_scheduled_authorized +79 ❌ +4.56%
PriceFeed::set_price +79 ❌ +4.56%
Spam::public_spam +114 ❌ +4.55%
Lending::_deposit +104 ❌ +4.54%
TokenBridge::exit_to_l1_public +294 ❌ +4.53%
StatefulTest::get_public_value +79 ❌ +4.52%
AuthRegistry::is_reject_all +79 ❌ +4.50%
AvmTest::add_storage_map +94 ❌ +4.49%
AuthRegistry::set_reject_all +74 ❌ +4.47%
TestLog::public_dispatch +134 ❌ +4.45%
PriceFeed::get_price +79 ❌ +4.45%
StatefulTest::increment_public_value_no_init_check +84 ❌ +4.44%
FPC::pay_refund_with_shielded_rebate +69 ❌ +4.42%
Router::_check_block_number +54 ❌ +4.40%
NFT::owner_of +109 ❌ +4.39%
AuthRegistry::is_consumable +84 ❌ +4.39%
AuthRegistry::set_authorized +79 ❌ +4.37%
EasyPrivateVoting::add_to_tally_public +99 ❌ +4.37%
AvmTest::read_storage_single +19 ❌ +4.35%
Lending::init +124 ❌ +4.34%
AvmTest::pedersen_hash_with_index +119 ❌ +4.34%
AvmTest::pedersen_hash +119 ❌ +4.34%
Router::_check_timestamp +54 ❌ +4.34%
Auth::get_authorized +79 ❌ +4.33%
NFT::_finalize_transfer_to_private_unsafe +159 ❌ +4.32%
CardGame::on_game_joined +194 ❌ +4.32%
FeeJuice::_increase_public_balance +99 ❌ +4.26%
AvmTest::read_storage_map +74 ❌ +4.26%
AuthRegistry::consume +124 ❌ +4.26%
Lending::get_asset +84 ❌ +4.26%
FPC::pay_refund +69 ❌ +4.25%
NFT::finalize_transfer_to_private +154 ❌ +4.22%
AvmTest::set_storage_map +74 ❌ +4.21%
Spam::public_dispatch +144 ❌ +4.19%
AvmTest::u128_from_integer_overflow +29 ❌ +4.18%
TokenBridge::_call_mint_on_token +49 ❌ +4.16%
Child::pub_inc_value +29 ❌ +4.15%
StaticChild::pub_inc_value +29 ❌ +4.15%
FeeJuice::check_balance +89 ❌ +4.14%
Benchmarking::broadcast +74 ❌ +4.14%
Auth::set_authorized_delay +224 ❌ +4.14%
NFT::mint +124 ❌ +4.13%
TestLog::emit_unencrypted_events +69 ❌ +4.10%
PriceFeed::public_dispatch +149 ❌ +4.08%
Auth::set_authorized +224 ❌ +4.08%
TokenBridge::public_dispatch +789 ❌ +4.06%
AuthWitTest::consume_public +34 ❌ +4.06%
PrivateFPC::constructor +149 ❌ +4.03%
AvmTest::pedersen_commit +44 ❌ +3.99%
AvmInitializerTest::constructor +124 ❌ +3.96%
NFT::transfer_in_public +144 ❌ +3.96%
Auth::get_authorized_delay +84 ❌ +3.95%
PrivateFPC::public_dispatch +179 ❌ +3.88%
Crowdfunding::public_dispatch +249 ❌ +3.83%
Auth::constructor +139 ❌ +3.83%
AvmTest::to_radix_le +9 ❌ +3.83%
Benchmarking::increment_balance +114 ❌ +3.81%
Uniswap::swap_public +469 ❌ +3.81%
AvmTest::emit_unencrypted_log +104 ❌ +3.81%
TokenBlacklist::get_roles +94 ❌ +3.77%
Lending::get_assets +29 ❌ +3.77%
DocsExample::public_dispatch +189 ❌ +3.77%
AvmTest::poseidon2_hash +59 ❌ +3.75%
Token::mint_public +119 ❌ +3.74%
FPC::constructor +134 ❌ +3.71%
Uniswap::constructor +134 ❌ +3.71%
InclusionProofs::constructor +119 ❌ +3.70%
TokenBridge::constructor +139 ❌ +3.66%
AvmTest::nested_call_to_add_with_gas +29 ❌ +3.65%
Claim::constructor +139 ❌ +3.64%
Token::transfer_public +169 ❌ +3.64%
Router::public_dispatch +99 ❌ +3.63%
TokenBlacklist::update_roles +254 ❌ +3.62%
Token::burn_public +164 ❌ +3.61%
Benchmarking::public_dispatch +174 ❌ +3.59%
AvmTest::get_args_hash +59 ❌ +3.58%
TokenBlacklist::constructor +289 ❌ +3.58%
Claim::public_dispatch +169 ❌ +3.56%
EasyPrivateVoting::constructor +134 ❌ +3.55%
AvmTest::nested_call_to_assert_same +29 ❌ +3.54%
AvmTest::nested_call_to_add +29 ❌ +3.54%
AvmTest::nested_static_call_to_add +29 ❌ +3.54%
Test::emit_unencrypted +54 ❌ +3.53%
AvmInitializerTest::public_dispatch +134 ❌ +3.48%
Token::mint_private +109 ❌ +3.46%
TokenBlacklist::mint_public +144 ❌ +3.45%
Crowdfunding::init +139 ❌ +3.42%
FeeJuice::public_dispatch +194 ❌ +3.40%
InclusionProofs::public_dispatch +159 ❌ +3.40%
StatefulTest::public_dispatch +269 ❌ +3.40%
AuthWitTest::public_dispatch +69 ❌ +3.38%
Uniswap::public_dispatch +739 ❌ +3.36%
TokenBlacklist::burn_public +189 ❌ +3.35%
AvmTest::bulk_testing +749 ❌ +3.35%
NFT::constructor +174 ❌ +3.34%
Token::shield +169 ❌ +3.33%
AppSubscription::constructor +139 ❌ +3.30%
TokenBlacklist::transfer_public +199 ❌ +3.30%
FPC::prepare_fee +39 ❌ +3.29%
FPC::public_dispatch +304 ❌ +3.28%
TokenBlacklist::mint_private +129 ❌ +3.27%
AvmTest::public_dispatch +1,740 ❌ +3.27%
Auth::public_dispatch +349 ❌ +3.26%
StatefulTest::public_constructor +129 ❌ +3.25%
AvmTest::test_get_contract_instance +39 ❌ +3.24%
Token::constructor +179 ❌ +3.22%
EasyPrivateVoting::public_dispatch +204 ❌ +3.19%
AppSubscription::public_dispatch +174 ❌ +3.18%
AvmTest::read_storage_list +19 ❌ +3.16%
Lending::_repay +164 ❌ +3.16%
Lending::get_position +149 ❌ +3.16%
TokenBlacklist::shield +194 ❌ +3.14%
Child::set_value_twice_with_nested_first +29 ❌ +3.14%
Child::set_value_twice_with_nested_last +29 ❌ +3.14%
Child::set_value_with_two_nested_calls +39 ❌ +3.12%
AuthRegistry::public_dispatch +239 ❌ +3.09%
Uniswap::_approve_bridge_and_exit_input_asset_to_L1 +164 ❌ +3.06%
Parent::public_nested_static_call +104 ❌ +3.05%
Lending::borrow_public +34 ❌ +3.05%
Lending::withdraw_public +34 ❌ +3.05%
ImportTest::public_dispatch +49 ❌ +2.95%
NFT::public_dispatch +634 ❌ +2.94%
AvmTest::nested_static_call_to_set_storage +19 ❌ +2.93%
ImportTest::pub_call_public_fn +19 ❌ +2.92%
AvmTest::create_same_nullifier_in_nested_call +19 ❌ +2.90%
StaticParent::public_dispatch +164 ❌ +2.89%
AvmTest::create_different_nullifier_in_nested_call +19 ❌ +2.86%
Parent::public_dispatch +219 ❌ +2.82%
StaticParent::public_get_value_from_child +19 ❌ +2.81%
Parent::pub_entry_point +19 ❌ +2.77%
StaticParent::public_call +19 ❌ +2.77%
DocsExample::get_shared_immutable_constrained_public_multiple +19 ❌ +2.76%
Lending::update_accumulator +144 ❌ +2.75%
AvmTest::return_oracle +9 ❌ +2.73%
Lending::_borrow +189 ❌ +2.66%
Lending::_withdraw +189 ❌ +2.64%
Parent::public_static_call +24 ❌ +2.58%
StaticParent::public_static_call +24 ❌ +2.58%
Parent::pub_entry_point_twice +29 ❌ +2.56%
StaticChild::public_dispatch +69 ❌ +2.49%
TokenBlacklist::public_dispatch +609 ❌ +2.48%
Lending::repay_public +39 ❌ +2.47%
Token::complete_refund +69 ❌ +2.45%
Token::public_dispatch +664 ❌ +2.41%
Lending::deposit_public +39 ❌ +2.31%
StaticParent::public_nested_static_call +29 ❌ +2.31%
AvmTest::variable_base_msm +9 ❌ +2.07%
AvmTest::keccak_f1600 +9 ❌ +1.96%
Lending::public_dispatch +459 ❌ +1.86%
Child::public_dispatch +99 ❌ +1.84%
AvmTest::elliptic_curve_add +9 ❌ +1.70%
AvmTest::elliptic_curve_add_and_double +9 ❌ +1.37%
AvmTest::debug_logging +9 ❌ +0.74%

Full diff report 👇
Program Bytecode size in bytes (+/-) %
Test::assert_public_global_vars 282 (+39) +16.05%
InclusionProofs::test_nullifier_inclusion_from_public 161 (+19) +13.38%
Test::dummy_public_call 119 (+14) +13.33%
AvmTest::assert_timestamp 127 (+14) +12.39%
AvmTest::assert_nullifier_exists 128 (+14) +12.28%
AvmTest::assert_same 132 (+14) +11.86%
AvmTest::emit_nullifier_and_check 132 (+14) +11.86%
Test::is_time_equal 133 (+14) +11.76%
AvmTest::test_get_contract_instance_raw 903 (+94) +11.62%
InclusionProofs::push_nullifier_public 137 (+14) +11.38%
AvmTest::new_nullifier 99 (+9) +10.00%
AvmTest::new_note_hash 99 (+9) +10.00%
Test::emit_nullifier_public 99 (+9) +10.00%
AvmTest::get_fee_per_l2_gas 100 (+9) +9.89%
AvmTest::get_l2_gas_left 100 (+9) +9.89%
AvmTest::get_da_gas_left 100 (+9) +9.89%
AvmTest::get_fee_per_da_gas 100 (+9) +9.89%
AvmTest::get_transaction_fee 100 (+9) +9.89%
AvmTest::get_timestamp 100 (+9) +9.89%
AvmTest::get_sender 100 (+9) +9.89%
AvmTest::get_block_number 100 (+9) +9.89%
AvmTest::get_address 100 (+9) +9.89%
AvmTest::set_opcode_u8 100 (+9) +9.89%
AvmTest::get_chain_id 100 (+9) +9.89%
AvmTest::get_version 100 (+9) +9.89%
AvmTest::nullifier_collision 103 (+9) +9.57%
AvmTest::set_opcode_u32 104 (+9) +9.47%
AvmTest::send_l2_to_l1_msg 107 (+9) +9.18%
Test::create_l2_to_l1_message_arbitrary_recipient_public 107 (+9) +9.18%
AvmTest::set_opcode_u64 108 (+9) +9.09%
AvmTest::assertion_failure 169 (+14) +9.03%
DocsExample::spend_public_authwit 110 (+9) +8.91%
StaticChild::pub_get_value 176 (+14) +8.64%
NFT::_store_point_in_transient_storage_unsafe 366 (+29) +8.61%
AvmTest::add_args_return 116 (+9) +8.41%
AvmTest::set_opcode_small_field 116 (+9) +8.41%
DocsExample::update_leader 312 (+24) +8.33%
AvmTest::nullifier_exists 118 (+9) +8.26%
AvmTest::set_storage_single 250 (+19) +8.23%
AvmTest::note_hash_exists 119 (+9) +8.18%
AvmTest::l1_to_l2_msg_exists 119 (+9) +8.18%
AvmTest::check_selector 189 (+14) +8.00%
AvmTest::modulo2 122 (+9) +7.96%
Uniswap::_assert_token_is_same 482 (+34) +7.59%
AvmTest::set_storage_list 270 (+19) +7.57%
AvmTest::set_opcode_big_field 132 (+9) +7.32%
AvmTest::set_opcode_really_big_field 132 (+9) +7.32%
AvmTest::add_u128 215 (+14) +6.97%
AvmTest::assert_calldata_copy 450 (+29) +6.89%
CardGame::start_game 6,677 (+429) +6.87%
TokenBridge::_assert_token_is_same 540 (+34) +6.72%
Child::pub_get_value 146 (+9) +6.57%
Test::create_l2_to_l1_message_public 1,979 (+119) +6.40%
AvmTest::u128_addition_overflow 1,249 (+74) +6.30%
CardGame::public_dispatch 15,704 (+914) +6.18%
Child::pub_set_value 332 (+19) +6.07%
StaticChild::pub_set_value 332 (+19) +6.07%
NFT::public_get_symbol 519 (+29) +5.92%
TokenBridge::get_token 519 (+29) +5.92%
Token::get_admin 519 (+29) +5.92%
EasyPrivateVoting::end_vote 703 (+39) +5.87%
NFT::set_admin 704 (+39) +5.86%
Token::set_admin 704 (+39) +5.86%
NFT::get_admin 524 (+29) +5.86%
NFT::public_get_name 524 (+29) +5.86%
Token::public_get_symbol 524 (+29) +5.86%
Token::public_get_name 524 (+29) +5.86%
TokenBlacklist::total_supply 621 (+34) +5.79%
Token::total_supply 621 (+34) +5.79%
AvmTest::sha256_hash 2,838 (+154) +5.74%
Test::consume_message_from_arbitrary_sender_public 6,708 (+364) +5.74%
Token::public_get_decimals 539 (+29) +5.69%
AvmTest::keccak_hash 2,692 (+144) +5.65%
AvmTest::get_function_selector 170 (+9) +5.59%
TokenBridge::get_portal_address_public 556 (+29) +5.50%
DocsExample::initialize_public_immutable 848 (+44) +5.47%
DocsExample::initialize_shared_immutable 848 (+44) +5.47%
CardGame::on_card_played 5,574 (+289) +5.47%
Test::consume_mint_public_message 8,765 (+454) +5.46%
TokenBlacklist::_reduce_total_supply 970 (+49) +5.32%
Crowdfunding::_publish_donation_receipts 1,271 (+64) +5.30%
Token::_reduce_total_supply 975 (+49) +5.29%
TokenBridge::claim_public 10,102 (+494) +5.14%
AvmInitializerTest::read_storage_immutable 494 (+24) +5.11%
CardGame::on_cards_claimed 6,989 (+339) +5.10%
NFT::_finish_transfer_to_public 1,780 (+84) +4.95%
Test::public_dispatch 17,552 (+814) +4.86%
FeeJuice::set_portal 953 (+44) +4.84%
Token::set_minter 2,045 (+94) +4.82%
NFT::set_minter 2,050 (+94) +4.81%
TokenBlacklist::balance_of_public 1,955 (+89) +4.77%
Token::balance_of_public 1,955 (+89) +4.77%
Token::assert_minter_and_mint 2,405 (+109) +4.75%
StaticChild::pub_illegal_inc_value 753 (+34) +4.73%
Child::pub_inc_value_internal 758 (+34) +4.70%
NFT::is_minter 1,873 (+84) +4.70%
Token::is_minter 1,873 (+84) +4.70%
TokenBlacklist::_increase_public_balance 2,660 (+119) +4.68%
Token::_increase_public_balance 2,660 (+119) +4.68%
AvmTest::set_read_storage_single 651 (+29) +4.66%
DocsExample::get_shared_immutable_constrained_public 539 (+24) +4.66%
StatefulTest::increment_public_value 2,008 (+89) +4.64%
DocsExample::get_shared_immutable_constrained_public_indirect 431 (+19) +4.61%
AuthRegistry::_set_authorized 1,917 (+84) +4.58%
FeeJuice::balance_of_public 1,917 (+84) +4.58%
Auth::get_scheduled_authorized 1,810 (+79) +4.56%
PriceFeed::set_price 1,813 (+79) +4.56%
Spam::public_spam 2,617 (+114) +4.55%
Lending::_deposit 2,394 (+104) +4.54%
TokenBridge::exit_to_l1_public 6,781 (+294) +4.53%
StatefulTest::get_public_value 1,825 (+79) +4.52%
AuthRegistry::is_reject_all 1,835 (+79) +4.50%
AvmTest::add_storage_map 2,189 (+94) +4.49%
AuthRegistry::set_reject_all 1,728 (+74) +4.47%
TestLog::public_dispatch 3,142 (+134) +4.45%
PriceFeed::get_price 1,853 (+79) +4.45%
StatefulTest::increment_public_value_no_init_check 1,975 (+84) +4.44%
FPC::pay_refund_with_shielded_rebate 1,630 (+69) +4.42%
Router::_check_block_number 1,282 (+54) +4.40%
NFT::owner_of 2,591 (+109) +4.39%
AuthRegistry::is_consumable 1,998 (+84) +4.39%
AuthRegistry::set_authorized 1,886 (+79) +4.37%
EasyPrivateVoting::add_to_tally_public 2,364 (+99) +4.37%
AvmTest::read_storage_single 456 (+19) +4.35%
Lending::init 2,979 (+124) +4.34%
AvmTest::pedersen_hash_with_index 2,859 (+119) +4.34%
AvmTest::pedersen_hash 2,859 (+119) +4.34%
Router::_check_timestamp 1,299 (+54) +4.34%
Auth::get_authorized 1,902 (+79) +4.33%
NFT::_finalize_transfer_to_private_unsafe 3,838 (+159) +4.32%
CardGame::on_game_joined 4,689 (+194) +4.32%
FeeJuice::_increase_public_balance 2,421 (+99) +4.26%
AvmTest::read_storage_map 1,810 (+74) +4.26%
AuthRegistry::consume 3,037 (+124) +4.26%
Lending::get_asset 2,058 (+84) +4.26%
FPC::pay_refund 1,694 (+69) +4.25%
NFT::finalize_transfer_to_private 3,807 (+154) +4.22%
AvmTest::set_storage_map 1,833 (+74) +4.21%
Spam::public_dispatch 3,580 (+144) +4.19%
AvmTest::u128_from_integer_overflow 723 (+29) +4.18%
TokenBridge::_call_mint_on_token 1,228 (+49) +4.16%
Child::pub_inc_value 728 (+29) +4.15%
StaticChild::pub_inc_value 728 (+29) +4.15%
FeeJuice::check_balance 2,238 (+89) +4.14%
Benchmarking::broadcast 1,861 (+74) +4.14%
Auth::set_authorized_delay 5,637 (+224) +4.14%
NFT::mint 3,125 (+124) +4.13%
TestLog::emit_unencrypted_events 1,753 (+69) +4.10%
PriceFeed::public_dispatch 3,800 (+149) +4.08%
Auth::set_authorized 5,717 (+224) +4.08%
TokenBridge::public_dispatch 20,207 (+789) +4.06%
AuthWitTest::consume_public 871 (+34) +4.06%
PrivateFPC::constructor 3,849 (+149) +4.03%
AvmTest::pedersen_commit 1,146 (+44) +3.99%
AvmInitializerTest::constructor 3,252 (+124) +3.96%
NFT::transfer_in_public 3,783 (+144) +3.96%
Auth::get_authorized_delay 2,211 (+84) +3.95%
PrivateFPC::public_dispatch 4,796 (+179) +3.88%
Crowdfunding::public_dispatch 6,747 (+249) +3.83%
Auth::constructor 3,768 (+139) +3.83%
AvmTest::to_radix_le 244 (+9) +3.83%
Benchmarking::increment_balance 3,107 (+114) +3.81%
Uniswap::swap_public 12,793 (+469) +3.81%
AvmTest::emit_unencrypted_log 2,837 (+104) +3.81%
TokenBlacklist::get_roles 2,588 (+94) +3.77%
Lending::get_assets 799 (+29) +3.77%
DocsExample::public_dispatch 5,208 (+189) +3.77%
AvmTest::poseidon2_hash 1,632 (+59) +3.75%
Token::mint_public 3,298 (+119) +3.74%
FPC::constructor 3,743 (+134) +3.71%
Uniswap::constructor 3,743 (+134) +3.71%
InclusionProofs::constructor 3,336 (+119) +3.70%
TokenBridge::constructor 3,937 (+139) +3.66%
AvmTest::nested_call_to_add_with_gas 823 (+29) +3.65%
Claim::constructor 3,958 (+139) +3.64%
Token::transfer_public 4,815 (+169) +3.64%
Router::public_dispatch 2,826 (+99) +3.63%
TokenBlacklist::update_roles 7,268 (+254) +3.62%
Token::burn_public 4,703 (+164) +3.61%
Benchmarking::public_dispatch 5,020 (+174) +3.59%
AvmTest::get_args_hash 1,706 (+59) +3.58%
TokenBlacklist::constructor 8,371 (+289) +3.58%
Claim::public_dispatch 4,910 (+169) +3.56%
EasyPrivateVoting::constructor 3,906 (+134) +3.55%
AvmTest::nested_call_to_assert_same 848 (+29) +3.54%
AvmTest::nested_call_to_add 848 (+29) +3.54%
AvmTest::nested_static_call_to_add 848 (+29) +3.54%
Test::emit_unencrypted 1,582 (+54) +3.53%
AvmInitializerTest::public_dispatch 3,988 (+134) +3.48%
Token::mint_private 3,263 (+109) +3.46%
TokenBlacklist::mint_public 4,322 (+144) +3.45%
Crowdfunding::init 4,203 (+139) +3.42%
FeeJuice::public_dispatch 5,895 (+194) +3.40%
InclusionProofs::public_dispatch 4,832 (+159) +3.40%
StatefulTest::public_dispatch 8,182 (+269) +3.40%
AuthWitTest::public_dispatch 2,111 (+69) +3.38%
Uniswap::public_dispatch 22,746 (+739) +3.36%
TokenBlacklist::burn_public 5,823 (+189) +3.35%
AvmTest::bulk_testing 23,085 (+749) +3.35%
NFT::constructor 5,385 (+174) +3.34%
Token::shield 5,244 (+169) +3.33%
AppSubscription::constructor 4,350 (+139) +3.30%
TokenBlacklist::transfer_public 6,235 (+199) +3.30%
FPC::prepare_fee 1,224 (+39) +3.29%
FPC::public_dispatch 9,573 (+304) +3.28%
TokenBlacklist::mint_private 4,069 (+129) +3.27%
AvmTest::public_dispatch 54,992 (+1,740) +3.27%
Auth::public_dispatch 11,068 (+349) +3.26%
StatefulTest::public_constructor 4,103 (+129) +3.25%
AvmTest::test_get_contract_instance 1,241 (+39) +3.24%
Token::constructor 5,733 (+179) +3.22%
EasyPrivateVoting::public_dispatch 6,603 (+204) +3.19%
AppSubscription::public_dispatch 5,643 (+174) +3.18%
AvmTest::read_storage_list 620 (+19) +3.16%
Lending::_repay 5,353 (+164) +3.16%
Lending::get_position 4,867 (+149) +3.16%
TokenBlacklist::shield 6,369 (+194) +3.14%
Child::set_value_twice_with_nested_first 953 (+29) +3.14%
Child::set_value_twice_with_nested_last 953 (+29) +3.14%
Child::set_value_with_two_nested_calls 1,290 (+39) +3.12%
AuthRegistry::public_dispatch 7,984 (+239) +3.09%
Uniswap::_approve_bridge_and_exit_input_asset_to_L1 5,517 (+164) +3.06%
Parent::public_nested_static_call 3,516 (+104) +3.05%
Lending::borrow_public 1,150 (+34) +3.05%
Lending::withdraw_public 1,150 (+34) +3.05%
ImportTest::public_dispatch 1,710 (+49) +2.95%
NFT::public_dispatch 22,193 (+634) +2.94%
AvmTest::nested_static_call_to_set_storage 668 (+19) +2.93%
ImportTest::pub_call_public_fn 669 (+19) +2.92%
AvmTest::create_same_nullifier_in_nested_call 674 (+19) +2.90%
StaticParent::public_dispatch 5,834 (+164) +2.89%
AvmTest::create_different_nullifier_in_nested_call 684 (+19) +2.86%
Parent::public_dispatch 7,976 (+219) +2.82%
StaticParent::public_get_value_from_child 695 (+19) +2.81%
Parent::pub_entry_point 704 (+19) +2.77%
StaticParent::public_call 704 (+19) +2.77%
DocsExample::get_shared_immutable_constrained_public_multiple 707 (+19) +2.76%
Lending::update_accumulator 5,379 (+144) +2.75%
AvmTest::return_oracle 339 (+9) +2.73%
Lending::_borrow 7,283 (+189) +2.66%
Lending::_withdraw 7,339 (+189) +2.64%
Parent::public_static_call 953 (+24) +2.58%
StaticParent::public_static_call 953 (+24) +2.58%
Parent::pub_entry_point_twice 1,164 (+29) +2.56%
StaticChild::public_dispatch 2,840 (+69) +2.49%
TokenBlacklist::public_dispatch 25,194 (+609) +2.48%
Lending::repay_public 1,619 (+39) +2.47%
Token::complete_refund 2,889 (+69) +2.45%
Token::public_dispatch 28,211 (+664) +2.41%
Lending::deposit_public 1,725 (+39) +2.31%
StaticParent::public_nested_static_call 1,286 (+29) +2.31%
AvmTest::variable_base_msm 443 (+9) +2.07%
AvmTest::keccak_f1600 469 (+9) +1.96%
Lending::public_dispatch 25,076 (+459) +1.86%
Child::public_dispatch 5,490 (+99) +1.84%
AvmTest::elliptic_curve_add 538 (+9) +1.70%
AvmTest::elliptic_curve_add_and_double 665 (+9) +1.37%
AvmTest::debug_logging 1,232 (+9) +0.74%

@jeanmon jeanmon merged commit a67d0e2 into master Oct 25, 2024
61 checks passed
@jeanmon jeanmon deleted the jm/circuit-builder-memory-improvements branch October 25, 2024 18:12
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
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants