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: biggroup_goblin handles points at infinity + 1.8x reduction in ECCVM size #9366

Merged
merged 18 commits into from
Oct 30, 2024

Conversation

zac-williamson
Copy link
Contributor

@zac-williamson zac-williamson commented Oct 23, 2024

This PR adds support for biggroup_goblin handling elliptic curve points at infinity

This feature is used to optimize the ECCVM instructions created when running a recursive protogalaxy verifier.

Instead of performing size-2 scalar multiplications for every witness/commitment, additional random challenges are generated in order to evaluate two large batch multiplications.

The technique implemented is described in https://hackmd.io/T1239dufTgO1v8Ie7EExlQ?view

In the case of ClientIVCRecursionTests.ClientTubeBase where the number of circuits is set to four, this reduces the size of the ECCVM execution trace size by 45%, which is good enough to reduce the log dyadic size of the ClientIVCVerifier by 1/2.

@zac-williamson zac-williamson changed the title feat: biggroup_goblin handles points at infinity + 4x reduction in ECCVM size feat: biggroup_goblin handles points at infinity + ~2x reduction in ECCVM size Oct 30, 2024
@codygunton codygunton changed the title feat: biggroup_goblin handles points at infinity + ~2x reduction in ECCVM size feat: biggroup_goblin handles points at infinity + 1.8x reduction in ECCVM size Oct 30, 2024
Copy link
Contributor

Changes to public function bytecode sizes

Generated at commit: 50ee0c81f19474eefa0dcdad73138f15eeb45980, compared to commit: fd974e1ba91e01910751ed87da6dbeb068faba4f

🧾 Summary (100% most significant diffs)

Program Bytecode size in bytes (+/-) %
AvmTest::debug_logging -6 ✅ -0.47%
AvmTest::variable_base_msm -6 ✅ -1.34%
Parent::pub_entry_point_twice -26 ✅ -2.73%
AvmTest::keccak_f1600 -14 ✅ -2.90%
AvmTest::create_different_nullifier_in_nested_call -14 ✅ -2.90%
AvmTest::u128_from_integer_overflow -22 ✅ -2.95%
AvmTest::create_same_nullifier_in_nested_call -14 ✅ -2.97%
Parent::pub_entry_point -16 ✅ -2.97%
StaticParent::public_call -16 ✅ -2.97%
ImportTest::pub_call_public_fn -14 ✅ -3.00%
AvmTest::revert_oracle -12 ✅ -3.00%
AvmTest::nested_static_call_to_set_storage -14 ✅ -3.00%
AvmTest::pedersen_hash -92 ✅ -3.12%
AvmTest::pedersen_hash_with_index -92 ✅ -3.12%
AuthWitTest::consume_public -18 ✅ -3.17%
Child::set_value_with_two_nested_calls -34 ✅ -3.18%
AvmTest::get_function_selector -6 ✅ -3.41%
AvmTest::return_oracle -12 ✅ -3.43%
AvmTest::add_u128 -8 ✅ -3.59%
AvmTest::pedersen_commit -44 ✅ -3.70%
Test::create_l2_to_l1_message_public -78 ✅ -3.79%
ImportTest::public_dispatch -60 ✅ -3.85%
AvmTest::bulk_testing -1,008 ✅ -3.88%
Child::pub_get_value -6 ✅ -3.95%
AvmTest::check_selector -8 ✅ -4.06%
Lending::deposit_public -102 ✅ -4.11%
CardGame::on_cards_claimed -306 ✅ -4.11%
Parent::public_static_call -46 ✅ -4.19%
StaticParent::public_static_call -46 ✅ -4.19%
Lending::repay_public -100 ✅ -4.23%
Token::mint_private -148 ✅ -4.34%
AvmTest::set_opcode_big_field -6 ✅ -4.35%
AvmTest::set_opcode_really_big_field -6 ✅ -4.35%
StaticChild::pub_get_value -8 ✅ -4.35%
CardGame::on_game_joined -224 ✅ -4.43%
AvmTest::to_radix_le -18 ✅ -4.44%
StaticChild::public_dispatch -134 ✅ -4.45%
Test::emit_unencrypted -76 ✅ -4.48%
Parent::public_nested_static_call -150 ✅ -4.48%
AvmTest::emit_unencrypted_log -136 ✅ -4.51%
Parent::public_dispatch -392 ✅ -4.56%
AuthWitTest::public_dispatch -86 ✅ -4.56%
Lending::borrow_public -84 ✅ -4.59%
Lending::withdraw_public -84 ✅ -4.59%
AvmTest::elliptic_curve_add_and_double -32 ✅ -4.59%
FPC::prepare_fee -88 ✅ -4.61%
AvmTest::elliptic_curve_add -26 ✅ -4.61%
Token::shield -238 ✅ -4.61%
FPC::pay_refund -90 ✅ -4.62%
TokenBlacklist::mint_private -198 ✅ -4.64%
Uniswap::swap_public -744 ✅ -4.67%
CardGame::on_card_played -280 ✅ -4.67%
AvmTest::modulo2 -6 ✅ -4.69%
DocsExample::get_shared_immutable_constrained_public_indirect -46 ✅ -4.72%
AvmTest::u128_addition_overflow -62 ✅ -4.73%
Child::set_value_twice_with_nested_first -56 ✅ -4.74%
Child::set_value_twice_with_nested_last -56 ✅ -4.74%
Child::public_dispatch -284 ✅ -4.74%
TokenBridge::_call_mint_on_token -44 ✅ -4.75%
AvmTest::nested_call_to_add -44 ✅ -4.76%
AvmTest::nested_static_call_to_add -44 ✅ -4.76%
AvmTest::nested_call_to_assert_same -44 ✅ -4.76%
AvmTest::public_dispatch -2,884 ✅ -4.76%
TokenBlacklist::shield -304 ✅ -4.78%
Uniswap::_approve_bridge_and_exit_input_asset_to_L1 -308 ✅ -4.79%
AvmTest::l1_to_l2_msg_exists -6 ✅ -4.80%
AvmTest::note_hash_exists -6 ✅ -4.80%
TestLog::public_dispatch -160 ✅ -4.83%
StaticParent::public_get_value_from_child -44 ✅ -4.83%
AvmTest::nullifier_exists -6 ✅ -4.84%
PriceFeed::public_dispatch -194 ✅ -4.86%
AvmTest::nested_call_to_add_with_gas -44 ✅ -4.89%
FPC::pay_refund_with_shielded_rebate -82 ✅ -4.90%
AvmTest::add_args_return -6 ✅ -4.92%
AvmTest::set_opcode_small_field -6 ✅ -4.92%
Lending::public_dispatch -1,404 ✅ -4.93%
Token::constructor -252 ✅ -4.94%
Child::pub_set_value -18 ✅ -4.95%
StaticChild::pub_set_value -18 ✅ -4.95%
StaticParent::public_nested_static_call -118 ✅ -4.95%
StaticParent::public_dispatch -366 ✅ -4.96%
Claim::public_dispatch -210 ✅ -4.96%
CardGame::public_dispatch -830 ✅ -4.98%
CardGame::start_game -360 ✅ -5.01%
FPC::public_dispatch -476 ✅ -5.05%
NFT::constructor -240 ✅ -5.06%
Lending::get_asset -110 ✅ -5.08%
PrivateFPC::public_dispatch -210 ✅ -5.10%
AuthRegistry::public_dispatch -430 ✅ -5.11%
DocsExample::get_shared_immutable_constrained_public_multiple -38 ✅ -5.11%
AvmTest::get_args_hash -92 ✅ -5.12%
TestLog::emit_unencrypted_events -96 ✅ -5.16%
Uniswap::_assert_token_is_same -52 ✅ -5.16%
Uniswap::public_dispatch -1,314 ✅ -5.16%
DocsExample::spend_public_authwit -6 ✅ -5.17%
TokenBridge::constructor -166 ✅ -5.18%
Token::transfer_public -246 ✅ -5.19%
Lending::_deposit -156 ✅ -5.19%
AvmTest::returndata_copy_oracle -104 ✅ -5.19%
Benchmarking::public_dispatch -298 ✅ -5.21%
EasyPrivateVoting::public_dispatch -316 ✅ -5.24%
Claim::constructor -170 ✅ -5.24%
Spam::public_dispatch -198 ✅ -5.24%
NFT::transfer_in_public -192 ✅ -5.25%
TokenBlacklist::transfer_public -328 ✅ -5.26%
AvmTest::set_opcode_u64 -6 ✅ -5.26%
AppSubscription::public_dispatch -266 ✅ -5.29%
AvmTest::send_l2_to_l1_msg -6 ✅ -5.31%
Test::create_l2_to_l1_message_arbitrary_recipient_public -6 ✅ -5.31%
Crowdfunding::public_dispatch -330 ✅ -5.31%
Token::burn_public -246 ✅ -5.32%
FeeJuice::_increase_public_balance -136 ✅ -5.32%
InclusionProofs::public_dispatch -222 ✅ -5.33%
StatefulTest::public_constructor -204 ✅ -5.34%
Benchmarking::broadcast -106 ✅ -5.35%
TokenBlacklist::burn_public -312 ✅ -5.36%
FeeJuice::public_dispatch -334 ✅ -5.36%
AvmInitializerTest::public_dispatch -176 ✅ -5.37%
AppSubscription::constructor -198 ✅ -5.40%
Crowdfunding::init -190 ✅ -5.41%
DocsExample::public_dispatch -316 ✅ -5.41%
Benchmarking::increment_balance -200 ✅ -5.41%
StatefulTest::public_dispatch -440 ✅ -5.41%
TokenBridge::exit_to_l1_public -452 ✅ -5.42%
TokenBlacklist::balance_of_public -112 ✅ -5.42%
Token::balance_of_public -112 ✅ -5.42%
PrivateFPC::constructor -170 ✅ -5.42%
FeeJuice::balance_of_public -110 ✅ -5.43%
Lending::_withdraw -502 ✅ -5.43%
Auth::get_scheduled_authorized -104 ✅ -5.44%
TokenBlacklist::public_dispatch -1,380 ✅ -5.44%
EasyPrivateVoting::add_to_tally_public -136 ✅ -5.44%
AvmTest::set_opcode_u32 -6 ✅ -5.45%
Token::public_dispatch -1,956 ✅ -5.47%
AuthRegistry::consume -176 ✅ -5.48%
Lending::_borrow -492 ✅ -5.49%
AuthRegistry::is_consumable -116 ✅ -5.49%
Token::mint_public -192 ✅ -5.50%
Token::assert_minter_and_mint -140 ✅ -5.50%
AvmTest::nullifier_collision -6 ✅ -5.50%
EasyPrivateVoting::constructor -176 ✅ -5.51%
PriceFeed::get_price -108 ✅ -5.51%
InclusionProofs::push_nullifier_public -8 ✅ -5.52%
PriceFeed::set_price -106 ✅ -5.53%
AvmTest::read_storage_map -106 ✅ -5.54%
TokenBlacklist::get_roles -152 ✅ -5.55%
NFT::is_minter -110 ✅ -5.55%
Token::is_minter -110 ✅ -5.55%
AuthRegistry::is_reject_all -108 ✅ -5.56%
AvmTest::poseidon2_hash -96 ✅ -5.56%
Auth::get_authorized -112 ✅ -5.56%
Auth::public_dispatch -600 ✅ -5.56%
StatefulTest::get_public_value -108 ✅ -5.59%
Crowdfunding::_publish_donation_receipts -76 ✅ -5.59%
TokenBlacklist::mint_public -256 ✅ -5.59%
Child::pub_inc_value -44 ✅ -5.61%
StaticChild::pub_inc_value -44 ✅ -5.61%
AvmTest::add_storage_map -130 ✅ -5.61%
AuthRegistry::set_authorized -112 ✅ -5.61%
NFT::public_dispatch -1,486 ✅ -5.61%
AuthRegistry::_set_authorized -114 ✅ -5.62%
NFT::set_minter -122 ✅ -5.62%
Token::_reduce_total_supply -58 ✅ -5.62%
Child::pub_inc_value_internal -46 ✅ -5.63%
Token::set_minter -122 ✅ -5.63%
StatefulTest::increment_public_value_no_init_check -118 ✅ -5.64%
StatefulTest::increment_public_value -120 ✅ -5.64%
TokenBlacklist::_reduce_total_supply -58 ✅ -5.65%
Token::complete_refund -342 ✅ -5.65%
AvmTest::set_opcode_u8 -6 ✅ -5.66%
AvmTest::get_timestamp -6 ✅ -5.66%
AvmTest::get_fee_per_da_gas -6 ✅ -5.66%
AvmTest::get_transaction_fee -6 ✅ -5.66%
AvmTest::get_chain_id -6 ✅ -5.66%
AvmTest::get_address -6 ✅ -5.66%
AvmTest::get_version -6 ✅ -5.66%
AvmTest::get_da_gas_left -6 ✅ -5.66%
AvmTest::get_fee_per_l2_gas -6 ✅ -5.66%
AvmTest::get_sender -6 ✅ -5.66%
AvmTest::get_block_number -6 ✅ -5.66%
AvmTest::get_l2_gas_left -6 ✅ -5.66%
AvmTest::set_storage_map -110 ✅ -5.66%
StaticChild::pub_illegal_inc_value -46 ✅ -5.67%
Test::is_time_equal -8 ✅ -5.67%
TokenBlacklist::_increase_public_balance -160 ✅ -5.68%
Token::_increase_public_balance -160 ✅ -5.68%
FPC::constructor -172 ✅ -5.68%
Uniswap::constructor -172 ✅ -5.68%
AuthRegistry::set_reject_all -104 ✅ -5.68%
Lending::get_assets -48 ✅ -5.68%
Auth::constructor -174 ✅ -5.69%
Spam::public_spam -158 ✅ -5.70%
AvmTest::new_note_hash -6 ✅ -5.71%
AvmTest::new_nullifier -6 ✅ -5.71%
AvmTest::assert_same -8 ✅ -5.71%
AvmTest::emit_nullifier_and_check -8 ✅ -5.71%
Test::emit_nullifier_public -6 ✅ -5.71%
Lending::update_accumulator -326 ✅ -5.72%
NFT::_finish_transfer_to_public -108 ✅ -5.72%
NFT::mint -190 ✅ -5.73%
AvmInitializerTest::constructor -144 ✅ -5.73%
InclusionProofs::constructor -150 ✅ -5.77%
TokenBlacklist::total_supply -38 ✅ -5.78%
Token::total_supply -38 ✅ -5.78%
AvmTest::read_storage_list -38 ✅ -5.79%
Test::public_dispatch -1,174 ✅ -5.81%
Token::finalize_transfer_to_private -430 ✅ -5.82%
Lending::_repay -356 ✅ -5.82%
Token::_finalize_transfer_to_private_unsafe -432 ✅ -5.82%
Router::public_dispatch -148 ✅ -5.82%
InclusionProofs::test_nullifier_inclusion_from_public -10 ✅ -5.85%
TokenBridge::public_dispatch -1,348 ✅ -5.85%
AvmTest::assert_calldata_copy -28 ✅ -5.87%
AvmTest::assert_nullifier_exists -8 ✅ -5.88%
NFT::owner_of -162 ✅ -5.89%
AvmTest::assert_timestamp -8 ✅ -5.93%
Lending::init -188 ✅ -5.94%
DocsExample::get_shared_immutable_constrained_public -34 ✅ -5.94%
NFT::finalize_transfer_to_private -388 ✅ -5.97%
NFT::_finalize_transfer_to_private_unsafe -390 ✅ -5.97%
Test::assert_public_global_vars -18 ✅ -6.00%
TokenBlacklist::update_roles -464 ✅ -6.00%
DocsExample::update_leader -20 ✅ -6.02%
Lending::get_position -312 ✅ -6.03%
Auth::set_authorized_delay -362 ✅ -6.04%
Test::consume_message_from_arbitrary_sender_public -494 ✅ -6.04%
TokenBlacklist::constructor -482 ✅ -6.04%
Auth::set_authorized -368 ✅ -6.05%
TokenBridge::get_portal_address_public -36 ✅ -6.09%
FeeJuice::set_portal -62 ✅ -6.11%
Auth::get_authorized_delay -146 ✅ -6.20%
FeeJuice::check_balance -148 ✅ -6.21%
TokenBridge::claim_public -792 ✅ -6.22%
AvmTest::set_storage_list -18 ✅ -6.25%
NFT::_store_payload_in_transient_storage_unsafe -86 ✅ -6.25%
Token::_store_payload_in_transient_storage_unsafe -86 ✅ -6.25%
Token::public_get_decimals -36 ✅ -6.27%
Test::dummy_public_call -8 ✅ -6.30%
AvmTest::sha256_hash -250 ✅ -6.31%
AvmTest::set_read_storage_single -44 ✅ -6.34%
NFT::set_admin -48 ✅ -6.39%
Token::set_admin -48 ✅ -6.39%
EasyPrivateVoting::end_vote -48 ✅ -6.40%
DocsExample::initialize_public_immutable -58 ✅ -6.41%
DocsExample::initialize_shared_immutable -58 ✅ -6.41%
Test::consume_mint_public_message -702 ✅ -6.43%
NFT::public_get_name -36 ✅ -6.44%
NFT::get_admin -36 ✅ -6.44%
Token::public_get_name -36 ✅ -6.44%
Token::public_get_symbol -36 ✅ -6.44%
AvmInitializerTest::read_storage_immutable -34 ✅ -6.45%
NFT::public_get_symbol -36 ✅ -6.50%
TokenBridge::get_token -36 ✅ -6.50%
Token::get_admin -36 ✅ -6.50%
AvmTest::read_storage_single -32 ✅ -6.57%
TokenBridge::_assert_token_is_same -38 ✅ -6.59%
AvmTest::set_storage_single -18 ✅ -6.72%
AvmTest::keccak_hash -190 ✅ -6.83%
Router::_check_timestamp -68 ✅ -7.27%
Router::_check_block_number -68 ✅ -7.41%
AvmTest::assertion_failure -16 ✅ -8.65%
AvmTest::test_get_contract_instance -42 ✅ -10.50%
AvmTest::test_get_contract_instance_matches -42 ✅ -10.63%

Full diff report 👇
Program Bytecode size in bytes (+/-) %
AvmTest::debug_logging 1,270 (-6) -0.47%
AvmTest::variable_base_msm 443 (-6) -1.34%
Parent::pub_entry_point_twice 926 (-26) -2.73%
AvmTest::keccak_f1600 468 (-14) -2.90%
AvmTest::create_different_nullifier_in_nested_call 468 (-14) -2.90%
AvmTest::u128_from_integer_overflow 723 (-22) -2.95%
AvmTest::create_same_nullifier_in_nested_call 458 (-14) -2.97%
Parent::pub_entry_point 522 (-16) -2.97%
StaticParent::public_call 522 (-16) -2.97%
ImportTest::pub_call_public_fn 453 (-14) -3.00%
AvmTest::revert_oracle 388 (-12) -3.00%
AvmTest::nested_static_call_to_set_storage 452 (-14) -3.00%
AvmTest::pedersen_hash 2,857 (-92) -3.12%
AvmTest::pedersen_hash_with_index 2,857 (-92) -3.12%
AuthWitTest::consume_public 550 (-18) -3.17%
Child::set_value_with_two_nested_calls 1,034 (-34) -3.18%
AvmTest::get_function_selector 170 (-6) -3.41%
AvmTest::return_oracle 338 (-12) -3.43%
AvmTest::add_u128 215 (-8) -3.59%
AvmTest::pedersen_commit 1,145 (-44) -3.70%
Test::create_l2_to_l1_message_public 1,978 (-78) -3.79%
ImportTest::public_dispatch 1,497 (-60) -3.85%
AvmTest::bulk_testing 24,961 (-1,008) -3.88%
Child::pub_get_value 146 (-6) -3.95%
AvmTest::check_selector 189 (-8) -4.06%
Lending::deposit_public 2,381 (-102) -4.11%
CardGame::on_cards_claimed 7,132 (-306) -4.11%
Parent::public_static_call 1,052 (-46) -4.19%
StaticParent::public_static_call 1,052 (-46) -4.19%
Lending::repay_public 2,266 (-100) -4.23%
Token::mint_private 3,262 (-148) -4.34%
AvmTest::set_opcode_big_field 132 (-6) -4.35%
AvmTest::set_opcode_really_big_field 132 (-6) -4.35%
StaticChild::pub_get_value 176 (-8) -4.35%
CardGame::on_game_joined 4,832 (-224) -4.43%
AvmTest::to_radix_le 387 (-18) -4.44%
StaticChild::public_dispatch 2,880 (-134) -4.45%
Test::emit_unencrypted 1,622 (-76) -4.48%
Parent::public_nested_static_call 3,198 (-150) -4.48%
AvmTest::emit_unencrypted_log 2,877 (-136) -4.51%
Parent::public_dispatch 8,197 (-392) -4.56%
AuthWitTest::public_dispatch 1,798 (-86) -4.56%
Lending::borrow_public 1,747 (-84) -4.59%
Lending::withdraw_public 1,747 (-84) -4.59%
AvmTest::elliptic_curve_add_and_double 665 (-32) -4.59%
FPC::prepare_fee 1,821 (-88) -4.61%
AvmTest::elliptic_curve_add 538 (-26) -4.61%
Token::shield 4,922 (-238) -4.61%
FPC::pay_refund 1,860 (-90) -4.62%
TokenBlacklist::mint_private 4,068 (-198) -4.64%
Uniswap::swap_public 15,193 (-744) -4.67%
CardGame::on_card_played 5,717 (-280) -4.67%
AvmTest::modulo2 122 (-6) -4.69%
DocsExample::get_shared_immutable_constrained_public_indirect 929 (-46) -4.72%
AvmTest::u128_addition_overflow 1,249 (-62) -4.73%
Child::set_value_twice_with_nested_first 1,126 (-56) -4.74%
Child::set_value_twice_with_nested_last 1,126 (-56) -4.74%
Child::public_dispatch 5,706 (-284) -4.74%
TokenBridge::_call_mint_on_token 882 (-44) -4.75%
AvmTest::nested_call_to_add 881 (-44) -4.76%
AvmTest::nested_static_call_to_add 881 (-44) -4.76%
AvmTest::nested_call_to_assert_same 881 (-44) -4.76%
AvmTest::public_dispatch 57,678 (-2,884) -4.76%
TokenBlacklist::shield 6,052 (-304) -4.78%
Uniswap::_approve_bridge_and_exit_input_asset_to_L1 6,121 (-308) -4.79%
AvmTest::l1_to_l2_msg_exists 119 (-6) -4.80%
AvmTest::note_hash_exists 119 (-6) -4.80%
TestLog::public_dispatch 3,154 (-160) -4.83%
StaticParent::public_get_value_from_child 867 (-44) -4.83%
AvmTest::nullifier_exists 118 (-6) -4.84%
PriceFeed::public_dispatch 3,798 (-194) -4.86%
AvmTest::nested_call_to_add_with_gas 856 (-44) -4.89%
FPC::pay_refund_with_shielded_rebate 1,590 (-82) -4.90%
AvmTest::add_args_return 116 (-6) -4.92%
AvmTest::set_opcode_small_field 116 (-6) -4.92%
Lending::public_dispatch 27,079 (-1,404) -4.93%
Token::constructor 4,847 (-252) -4.94%
Child::pub_set_value 346 (-18) -4.95%
StaticChild::pub_set_value 346 (-18) -4.95%
StaticParent::public_nested_static_call 2,265 (-118) -4.95%
StaticParent::public_dispatch 7,016 (-366) -4.96%
Claim::public_dispatch 4,024 (-210) -4.96%
CardGame::public_dispatch 15,846 (-830) -4.98%
CardGame::start_game 6,820 (-360) -5.01%
FPC::public_dispatch 8,958 (-476) -5.05%
NFT::constructor 4,499 (-240) -5.06%
Lending::get_asset 2,057 (-110) -5.08%
PrivateFPC::public_dispatch 3,910 (-210) -5.10%
AuthRegistry::public_dispatch 7,982 (-430) -5.11%
DocsExample::get_shared_immutable_constrained_public_multiple 705 (-38) -5.11%
AvmTest::get_args_hash 1,704 (-92) -5.12%
TestLog::emit_unencrypted_events 1,765 (-96) -5.16%
Uniswap::_assert_token_is_same 956 (-52) -5.16%
Uniswap::public_dispatch 24,139 (-1,314) -5.16%
DocsExample::spend_public_authwit 110 (-6) -5.17%
TokenBridge::constructor 3,040 (-166) -5.18%
Token::transfer_public 4,493 (-246) -5.19%
Lending::_deposit 2,849 (-156) -5.19%
AvmTest::returndata_copy_oracle 1,899 (-104) -5.19%
Benchmarking::public_dispatch 5,423 (-298) -5.21%
EasyPrivateVoting::public_dispatch 5,717 (-316) -5.24%
Claim::constructor 3,073 (-170) -5.24%
Spam::public_dispatch 3,578 (-198) -5.24%
NFT::transfer_in_public 3,466 (-192) -5.25%
TokenBlacklist::transfer_public 5,913 (-328) -5.26%
AvmTest::set_opcode_u64 108 (-6) -5.26%
AppSubscription::public_dispatch 4,762 (-266) -5.29%
AvmTest::send_l2_to_l1_msg 107 (-6) -5.31%
Test::create_l2_to_l1_message_arbitrary_recipient_public 107 (-6) -5.31%
Crowdfunding::public_dispatch 5,880 (-330) -5.31%
Token::burn_public 4,381 (-246) -5.32%
FeeJuice::_increase_public_balance 2,420 (-136) -5.32%
InclusionProofs::public_dispatch 3,946 (-222) -5.33%
StatefulTest::public_constructor 3,614 (-204) -5.34%
Benchmarking::broadcast 1,874 (-106) -5.35%
TokenBlacklist::burn_public 5,506 (-312) -5.36%
FeeJuice::public_dispatch 5,893 (-334) -5.36%
AvmInitializerTest::public_dispatch 3,102 (-176) -5.37%
AppSubscription::constructor 3,470 (-198) -5.40%
Crowdfunding::init 3,323 (-190) -5.41%
DocsExample::public_dispatch 5,526 (-316) -5.41%
Benchmarking::increment_balance 3,497 (-200) -5.41%
StatefulTest::public_dispatch 7,692 (-440) -5.41%
TokenBridge::exit_to_l1_public 7,894 (-452) -5.42%
TokenBlacklist::balance_of_public 1,954 (-112) -5.42%
Token::balance_of_public 1,954 (-112) -5.42%
PrivateFPC::constructor 2,964 (-170) -5.42%
FeeJuice::balance_of_public 1,916 (-110) -5.43%
Lending::_withdraw 8,737 (-502) -5.43%
Auth::get_scheduled_authorized 1,809 (-104) -5.44%
TokenBlacklist::public_dispatch 23,992 (-1,380) -5.44%
EasyPrivateVoting::add_to_tally_public 2,363 (-136) -5.44%
AvmTest::set_opcode_u32 104 (-6) -5.45%
Token::public_dispatch 33,801 (-1,956) -5.47%
AuthRegistry::consume 3,036 (-176) -5.48%
Lending::_borrow 8,475 (-492) -5.49%
AuthRegistry::is_consumable 1,997 (-116) -5.49%
Token::mint_public 3,297 (-192) -5.50%
Token::assert_minter_and_mint 2,404 (-140) -5.50%
AvmTest::nullifier_collision 103 (-6) -5.50%
EasyPrivateVoting::constructor 3,021 (-176) -5.51%
PriceFeed::get_price 1,852 (-108) -5.51%
InclusionProofs::push_nullifier_public 137 (-8) -5.52%
PriceFeed::set_price 1,812 (-106) -5.53%
AvmTest::read_storage_map 1,809 (-106) -5.54%
TokenBlacklist::get_roles 2,587 (-152) -5.55%
NFT::is_minter 1,872 (-110) -5.55%
Token::is_minter 1,872 (-110) -5.55%
AuthRegistry::is_reject_all 1,834 (-108) -5.56%
AvmTest::poseidon2_hash 1,630 (-96) -5.56%
Auth::get_authorized 1,901 (-112) -5.56%
Auth::public_dispatch 10,182 (-600) -5.56%
StatefulTest::get_public_value 1,824 (-108) -5.59%
Crowdfunding::_publish_donation_receipts 1,283 (-76) -5.59%
TokenBlacklist::mint_public 4,321 (-256) -5.59%
Child::pub_inc_value 741 (-44) -5.61%
StaticChild::pub_inc_value 741 (-44) -5.61%
AvmTest::add_storage_map 2,188 (-130) -5.61%
AuthRegistry::set_authorized 1,885 (-112) -5.61%
NFT::public_dispatch 24,994 (-1,486) -5.61%
AuthRegistry::_set_authorized 1,916 (-114) -5.62%
NFT::set_minter 2,049 (-122) -5.62%
Token::_reduce_total_supply 974 (-58) -5.62%
Child::pub_inc_value_internal 771 (-46) -5.63%
Token::set_minter 2,044 (-122) -5.63%
StatefulTest::increment_public_value_no_init_check 1,974 (-118) -5.64%
StatefulTest::increment_public_value 2,007 (-120) -5.64%
TokenBlacklist::_reduce_total_supply 969 (-58) -5.65%
Token::complete_refund 5,706 (-342) -5.65%
AvmTest::set_opcode_u8 100 (-6) -5.66%
AvmTest::get_timestamp 100 (-6) -5.66%
AvmTest::get_fee_per_da_gas 100 (-6) -5.66%
AvmTest::get_transaction_fee 100 (-6) -5.66%
AvmTest::get_chain_id 100 (-6) -5.66%
AvmTest::get_address 100 (-6) -5.66%
AvmTest::get_version 100 (-6) -5.66%
AvmTest::get_da_gas_left 100 (-6) -5.66%
AvmTest::get_fee_per_l2_gas 100 (-6) -5.66%
AvmTest::get_sender 100 (-6) -5.66%
AvmTest::get_block_number 100 (-6) -5.66%
AvmTest::get_l2_gas_left 100 (-6) -5.66%
AvmTest::set_storage_map 1,832 (-110) -5.66%
StaticChild::pub_illegal_inc_value 766 (-46) -5.67%
Test::is_time_equal 133 (-8) -5.67%
TokenBlacklist::_increase_public_balance 2,659 (-160) -5.68%
Token::_increase_public_balance 2,659 (-160) -5.68%
FPC::constructor 2,858 (-172) -5.68%
Uniswap::constructor 2,858 (-172) -5.68%
AuthRegistry::set_reject_all 1,727 (-104) -5.68%
Lending::get_assets 797 (-48) -5.68%
Auth::constructor 2,883 (-174) -5.69%
Spam::public_spam 2,616 (-158) -5.70%
AvmTest::new_note_hash 99 (-6) -5.71%
AvmTest::new_nullifier 99 (-6) -5.71%
AvmTest::assert_same 132 (-8) -5.71%
AvmTest::emit_nullifier_and_check 132 (-8) -5.71%
Test::emit_nullifier_public 99 (-6) -5.71%
Lending::update_accumulator 5,378 (-326) -5.72%
NFT::_finish_transfer_to_public 1,779 (-108) -5.72%
NFT::mint 3,124 (-190) -5.73%
AvmInitializerTest::constructor 2,367 (-144) -5.73%
InclusionProofs::constructor 2,451 (-150) -5.77%
TokenBlacklist::total_supply 620 (-38) -5.78%
Token::total_supply 620 (-38) -5.78%
AvmTest::read_storage_list 618 (-38) -5.79%
Test::public_dispatch 19,042 (-1,174) -5.81%
Token::finalize_transfer_to_private 6,959 (-430) -5.82%
Lending::_repay 5,761 (-356) -5.82%
Token::_finalize_transfer_to_private_unsafe 6,990 (-432) -5.82%
Router::public_dispatch 2,393 (-148) -5.82%
InclusionProofs::test_nullifier_inclusion_from_public 161 (-10) -5.85%
TokenBridge::public_dispatch 21,694 (-1,348) -5.85%
AvmTest::assert_calldata_copy 449 (-28) -5.87%
AvmTest::assert_nullifier_exists 128 (-8) -5.88%
NFT::owner_of 2,590 (-162) -5.89%
AvmTest::assert_timestamp 127 (-8) -5.93%
Lending::init 2,978 (-188) -5.94%
DocsExample::get_shared_immutable_constrained_public 538 (-34) -5.94%
NFT::finalize_transfer_to_private 6,109 (-388) -5.97%
NFT::_finalize_transfer_to_private_unsafe 6,140 (-390) -5.97%
Test::assert_public_global_vars 282 (-18) -6.00%
TokenBlacklist::update_roles 7,267 (-464) -6.00%
DocsExample::update_leader 312 (-20) -6.02%
Lending::get_position 4,866 (-312) -6.03%
Auth::set_authorized_delay 5,636 (-362) -6.04%
Test::consume_message_from_arbitrary_sender_public 7,683 (-494) -6.04%
TokenBlacklist::constructor 7,496 (-482) -6.04%
Auth::set_authorized 5,716 (-368) -6.05%
TokenBridge::get_portal_address_public 555 (-36) -6.09%
FeeJuice::set_portal 952 (-62) -6.11%
Auth::get_authorized_delay 2,210 (-146) -6.20%
FeeJuice::check_balance 2,237 (-148) -6.21%
TokenBridge::claim_public 11,942 (-792) -6.22%
AvmTest::set_storage_list 270 (-18) -6.25%
NFT::_store_payload_in_transient_storage_unsafe 1,289 (-86) -6.25%
Token::_store_payload_in_transient_storage_unsafe 1,289 (-86) -6.25%
Token::public_get_decimals 538 (-36) -6.27%
Test::dummy_public_call 119 (-8) -6.30%
AvmTest::sha256_hash 3,714 (-250) -6.31%
AvmTest::set_read_storage_single 650 (-44) -6.34%
NFT::set_admin 703 (-48) -6.39%
Token::set_admin 703 (-48) -6.39%
EasyPrivateVoting::end_vote 702 (-48) -6.40%
DocsExample::initialize_public_immutable 847 (-58) -6.41%
DocsExample::initialize_shared_immutable 847 (-58) -6.41%
Test::consume_mint_public_message 10,214 (-702) -6.43%
NFT::public_get_name 523 (-36) -6.44%
NFT::get_admin 523 (-36) -6.44%
Token::public_get_name 523 (-36) -6.44%
Token::public_get_symbol 523 (-36) -6.44%
AvmInitializerTest::read_storage_immutable 493 (-34) -6.45%
NFT::public_get_symbol 518 (-36) -6.50%
TokenBridge::get_token 518 (-36) -6.50%
Token::get_admin 518 (-36) -6.50%
AvmTest::read_storage_single 455 (-32) -6.57%
TokenBridge::_assert_token_is_same 539 (-38) -6.59%
AvmTest::set_storage_single 250 (-18) -6.72%
AvmTest::keccak_hash 2,593 (-190) -6.83%
Router::_check_timestamp 867 (-68) -7.27%
Router::_check_block_number 850 (-68) -7.41%
AvmTest::assertion_failure 169 (-16) -8.65%
AvmTest::test_get_contract_instance 358 (-42) -10.50%
AvmTest::test_get_contract_instance_matches 353 (-42) -10.63%


// if the output is at infinity, this is represented by x/y coordinates being zero
// because they are all 136-bit, we can do a cheap zerocheck by first summing the limbs
auto op2_is_infinity = (x_lo.add_two(x_hi, y_lo) + y_hi).is_zero();
Copy link
Contributor

Choose a reason for hiding this comment

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

We'll want a correctness check of this at some point.

@codygunton codygunton merged commit 9211d8a into master Oct 30, 2024
45 checks passed
@codygunton codygunton deleted the zw/protogalaxy-verifier-muls branch October 30, 2024 19:51
rahul-kothari pushed a commit that referenced this pull request Nov 1, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.62.0](aztec-package-v0.61.0...aztec-package-v0.62.0)
(2024-11-01)


### Features

* Token private mint optimization
([#9606](#9606))
([e8fadc7](e8fadc7))


### Bug Fixes

* **k8s:** Boot node long sync
([#9610](#9610))
([1b85840](1b85840))
* Multi-node metrics working
([#9486](#9486))
([fd974e1](fd974e1))
* Stop bot in case of tx errors
([#9421](#9421))
([6650641](6650641))


### Miscellaneous

* Replacing unshield naming with transfer_to_public
([#9608](#9608))
([247e9eb](247e9eb))
* Token partial notes refactor pt. 1
([#9490](#9490))
([3d631f5](3d631f5))
</details>

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

##
[0.62.0](barretenberg.js-v0.61.0...barretenberg.js-v0.62.0)
(2024-11-01)


### Features

* Faster square roots
([#2694](#2694))
([722ec5c](722ec5c))
</details>

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

##
[0.62.0](aztec-packages-v0.61.0...aztec-packages-v0.62.0)
(2024-11-01)


### ⚠ BREAKING CHANGES

* **avm:** use 32 bit locations
([#9596](#9596))
* Unique L1 to L2 messages
([#9492](#9492))

### Features

* Add increment secret oracles
([#9573](#9573))
([97a4c0c](97a4c0c))
* **avm:** Use 32 bit locations
([#9596](#9596))
([5f38696](5f38696))
* Barebones addressbook for tagging
([#9572](#9572))
([6526069](6526069))
* Biggroup_goblin handles points at infinity + 1.8x reduction in ECCVM
size
([#9366](#9366))
([9211d8a](9211d8a))
* Faster square roots
([#2694](#2694))
([722ec5c](722ec5c))
* Fixed private log size
([#9585](#9585))
([755c70a](755c70a))
* Removing register recipient in e2e tests as it is unnecessary now !
([#9499](#9499))
([9f52cbb](9f52cbb))
* Reorg test
([#9607](#9607))
([54488b3](54488b3))
* Simulate validateEpochProofQuoteHeader in the future
([#9641](#9641))
([284c8f8](284c8f8))
* Spartan proving
([#9584](#9584))
([392114a](392114a))
* Sync tagged logs
([#9595](#9595))
([0cc4a48](0cc4a48))
* Token private mint optimization
([#9606](#9606))
([e8fadc7](e8fadc7))
* Unique L1 to L2 messages
([#9492](#9492))
([4e5ae95](4e5ae95)),
closes
[#9450](#9450)


### Bug Fixes

* E2e event logs test
([#9621](#9621))
([737c573](737c573))
* E2e labels
([#9609](#9609))
([ed1deb9](ed1deb9))
* Ensuring translator range constraint polynomials are zeroes outside of
minicircuit
([#9251](#9251))
([04dd2c4](04dd2c4))
* EventMetadata class implementation for serialisation
([#9574](#9574))
([bdff73a](bdff73a))
* Force bb-sanitizers true
([#9614](#9614))
([39cda86](39cda86))
* **k8s:** Boot node long sync
([#9610](#9610))
([1b85840](1b85840))
* Multi-node metrics working
([#9486](#9486))
([fd974e1](fd974e1))
* Remove all register recipient functionality in ts
([#9548](#9548))
([2f7127b](2f7127b))
* Remove unnecessary ivpk references in ts
([#9463](#9463))
([0c5121f](0c5121f))
* Resolution of bugs from bigfield audits
([#9547](#9547))
([feace70](feace70))
* Stop bot in case of tx errors
([#9421](#9421))
([6650641](6650641))
* Typing of artifacts
([#9581](#9581))
([c71645f](c71645f))


### Miscellaneous

* Add guides to get_e2e_jobs.sh
([#9624](#9624))
([8891ead](8891ead))
* Add sender to encode and encrypt
([#9562](#9562))
([8ce6834](8ce6834))
* Add signed int deserialization to decoder
([#9557](#9557))
([0435d00](0435d00))
* Bb sanitizers on master
([#9564](#9564))
([747bff1](747bff1))
* Cleaning up token test utils
([#9633](#9633))
([325bdb0](325bdb0))
* Disable breaking e2e_event_logs test
([#9602](#9602))
([cf2ca2e](cf2ca2e))
* Dont generate vks for simulated circuits
([#9625](#9625))
([366eff3](366eff3))
* Fixing broken sample-dapp tests
([#9597](#9597))
([5e52900](5e52900))
* Nuking `Token::privately_mint_private_note(...)`
([#9616](#9616))
([bf53f5e](bf53f5e))
* Pass on docker_fast.sh
([#9615](#9615))
([1c53459](1c53459))
* Remove outgoing tagging field in logs
([#9502](#9502))
([c473380](c473380))
* Replace relative paths to noir-protocol-circuits
([288099b](288099b))
* Replacing unshield naming with transfer_to_public
([#9608](#9608))
([247e9eb](247e9eb))
* Token partial notes refactor pt. 1
([#9490](#9490))
([3d631f5](3d631f5))
</details>

<details><summary>barretenberg: 0.62.0</summary>

##
[0.62.0](barretenberg-v0.61.0...barretenberg-v0.62.0)
(2024-11-01)


### ⚠ BREAKING CHANGES

* **avm:** use 32 bit locations
([#9596](#9596))

### Features

* **avm:** Use 32 bit locations
([#9596](#9596))
([5f38696](5f38696))
* Biggroup_goblin handles points at infinity + 1.8x reduction in ECCVM
size
([#9366](#9366))
([9211d8a](9211d8a))
* Faster square roots
([#2694](#2694))
([722ec5c](722ec5c))
* Spartan proving
([#9584](#9584))
([392114a](392114a))


### Bug Fixes

* Ensuring translator range constraint polynomials are zeroes outside of
minicircuit
([#9251](#9251))
([04dd2c4](04dd2c4))
* Resolution of bugs from bigfield audits
([#9547](#9547))
([feace70](feace70))


### Miscellaneous

* Bb sanitizers on master
([#9564](#9564))
([747bff1](747bff1))
* Pass on docker_fast.sh
([#9615](#9615))
([1c53459](1c53459))
</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 Nov 2, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.62.0](AztecProtocol/aztec-packages@aztec-package-v0.61.0...aztec-package-v0.62.0)
(2024-11-01)


### Features

* Token private mint optimization
([#9606](AztecProtocol/aztec-packages#9606))
([e8fadc7](AztecProtocol/aztec-packages@e8fadc7))


### Bug Fixes

* **k8s:** Boot node long sync
([#9610](AztecProtocol/aztec-packages#9610))
([1b85840](AztecProtocol/aztec-packages@1b85840))
* Multi-node metrics working
([#9486](AztecProtocol/aztec-packages#9486))
([fd974e1](AztecProtocol/aztec-packages@fd974e1))
* Stop bot in case of tx errors
([#9421](AztecProtocol/aztec-packages#9421))
([6650641](AztecProtocol/aztec-packages@6650641))


### Miscellaneous

* Replacing unshield naming with transfer_to_public
([#9608](AztecProtocol/aztec-packages#9608))
([247e9eb](AztecProtocol/aztec-packages@247e9eb))
* Token partial notes refactor pt. 1
([#9490](AztecProtocol/aztec-packages#9490))
([3d631f5](AztecProtocol/aztec-packages@3d631f5))
</details>

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

##
[0.62.0](AztecProtocol/aztec-packages@barretenberg.js-v0.61.0...barretenberg.js-v0.62.0)
(2024-11-01)


### Features

* Faster square roots
([#2694](AztecProtocol/aztec-packages#2694))
([722ec5c](AztecProtocol/aztec-packages@722ec5c))
</details>

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

##
[0.62.0](AztecProtocol/aztec-packages@aztec-packages-v0.61.0...aztec-packages-v0.62.0)
(2024-11-01)


### ⚠ BREAKING CHANGES

* **avm:** use 32 bit locations
([#9596](AztecProtocol/aztec-packages#9596))
* Unique L1 to L2 messages
([#9492](AztecProtocol/aztec-packages#9492))

### Features

* Add increment secret oracles
([#9573](AztecProtocol/aztec-packages#9573))
([97a4c0c](AztecProtocol/aztec-packages@97a4c0c))
* **avm:** Use 32 bit locations
([#9596](AztecProtocol/aztec-packages#9596))
([5f38696](AztecProtocol/aztec-packages@5f38696))
* Barebones addressbook for tagging
([#9572](AztecProtocol/aztec-packages#9572))
([6526069](AztecProtocol/aztec-packages@6526069))
* Biggroup_goblin handles points at infinity + 1.8x reduction in ECCVM
size
([#9366](AztecProtocol/aztec-packages#9366))
([9211d8a](AztecProtocol/aztec-packages@9211d8a))
* Faster square roots
([#2694](AztecProtocol/aztec-packages#2694))
([722ec5c](AztecProtocol/aztec-packages@722ec5c))
* Fixed private log size
([#9585](AztecProtocol/aztec-packages#9585))
([755c70a](AztecProtocol/aztec-packages@755c70a))
* Removing register recipient in e2e tests as it is unnecessary now !
([#9499](AztecProtocol/aztec-packages#9499))
([9f52cbb](AztecProtocol/aztec-packages@9f52cbb))
* Reorg test
([#9607](AztecProtocol/aztec-packages#9607))
([54488b3](AztecProtocol/aztec-packages@54488b3))
* Simulate validateEpochProofQuoteHeader in the future
([#9641](AztecProtocol/aztec-packages#9641))
([284c8f8](AztecProtocol/aztec-packages@284c8f8))
* Spartan proving
([#9584](AztecProtocol/aztec-packages#9584))
([392114a](AztecProtocol/aztec-packages@392114a))
* Sync tagged logs
([#9595](AztecProtocol/aztec-packages#9595))
([0cc4a48](AztecProtocol/aztec-packages@0cc4a48))
* Token private mint optimization
([#9606](AztecProtocol/aztec-packages#9606))
([e8fadc7](AztecProtocol/aztec-packages@e8fadc7))
* Unique L1 to L2 messages
([#9492](AztecProtocol/aztec-packages#9492))
([4e5ae95](AztecProtocol/aztec-packages@4e5ae95)),
closes
[#9450](AztecProtocol/aztec-packages#9450)


### Bug Fixes

* E2e event logs test
([#9621](AztecProtocol/aztec-packages#9621))
([737c573](AztecProtocol/aztec-packages@737c573))
* E2e labels
([#9609](AztecProtocol/aztec-packages#9609))
([ed1deb9](AztecProtocol/aztec-packages@ed1deb9))
* Ensuring translator range constraint polynomials are zeroes outside of
minicircuit
([#9251](AztecProtocol/aztec-packages#9251))
([04dd2c4](AztecProtocol/aztec-packages@04dd2c4))
* EventMetadata class implementation for serialisation
([#9574](AztecProtocol/aztec-packages#9574))
([bdff73a](AztecProtocol/aztec-packages@bdff73a))
* Force bb-sanitizers true
([#9614](AztecProtocol/aztec-packages#9614))
([39cda86](AztecProtocol/aztec-packages@39cda86))
* **k8s:** Boot node long sync
([#9610](AztecProtocol/aztec-packages#9610))
([1b85840](AztecProtocol/aztec-packages@1b85840))
* Multi-node metrics working
([#9486](AztecProtocol/aztec-packages#9486))
([fd974e1](AztecProtocol/aztec-packages@fd974e1))
* Remove all register recipient functionality in ts
([#9548](AztecProtocol/aztec-packages#9548))
([2f7127b](AztecProtocol/aztec-packages@2f7127b))
* Remove unnecessary ivpk references in ts
([#9463](AztecProtocol/aztec-packages#9463))
([0c5121f](AztecProtocol/aztec-packages@0c5121f))
* Resolution of bugs from bigfield audits
([#9547](AztecProtocol/aztec-packages#9547))
([feace70](AztecProtocol/aztec-packages@feace70))
* Stop bot in case of tx errors
([#9421](AztecProtocol/aztec-packages#9421))
([6650641](AztecProtocol/aztec-packages@6650641))
* Typing of artifacts
([#9581](AztecProtocol/aztec-packages#9581))
([c71645f](AztecProtocol/aztec-packages@c71645f))


### Miscellaneous

* Add guides to get_e2e_jobs.sh
([#9624](AztecProtocol/aztec-packages#9624))
([8891ead](AztecProtocol/aztec-packages@8891ead))
* Add sender to encode and encrypt
([#9562](AztecProtocol/aztec-packages#9562))
([8ce6834](AztecProtocol/aztec-packages@8ce6834))
* Add signed int deserialization to decoder
([#9557](AztecProtocol/aztec-packages#9557))
([0435d00](AztecProtocol/aztec-packages@0435d00))
* Bb sanitizers on master
([#9564](AztecProtocol/aztec-packages#9564))
([747bff1](AztecProtocol/aztec-packages@747bff1))
* Cleaning up token test utils
([#9633](AztecProtocol/aztec-packages#9633))
([325bdb0](AztecProtocol/aztec-packages@325bdb0))
* Disable breaking e2e_event_logs test
([#9602](AztecProtocol/aztec-packages#9602))
([cf2ca2e](AztecProtocol/aztec-packages@cf2ca2e))
* Dont generate vks for simulated circuits
([#9625](AztecProtocol/aztec-packages#9625))
([366eff3](AztecProtocol/aztec-packages@366eff3))
* Fixing broken sample-dapp tests
([#9597](AztecProtocol/aztec-packages#9597))
([5e52900](AztecProtocol/aztec-packages@5e52900))
* Nuking `Token::privately_mint_private_note(...)`
([#9616](AztecProtocol/aztec-packages#9616))
([bf53f5e](AztecProtocol/aztec-packages@bf53f5e))
* Pass on docker_fast.sh
([#9615](AztecProtocol/aztec-packages#9615))
([1c53459](AztecProtocol/aztec-packages@1c53459))
* Remove outgoing tagging field in logs
([#9502](AztecProtocol/aztec-packages#9502))
([c473380](AztecProtocol/aztec-packages@c473380))
* Replace relative paths to noir-protocol-circuits
([288099b](AztecProtocol/aztec-packages@288099b))
* Replacing unshield naming with transfer_to_public
([#9608](AztecProtocol/aztec-packages#9608))
([247e9eb](AztecProtocol/aztec-packages@247e9eb))
* Token partial notes refactor pt. 1
([#9490](AztecProtocol/aztec-packages#9490))
([3d631f5](AztecProtocol/aztec-packages@3d631f5))
</details>

<details><summary>barretenberg: 0.62.0</summary>

##
[0.62.0](AztecProtocol/aztec-packages@barretenberg-v0.61.0...barretenberg-v0.62.0)
(2024-11-01)


### ⚠ BREAKING CHANGES

* **avm:** use 32 bit locations
([#9596](AztecProtocol/aztec-packages#9596))

### Features

* **avm:** Use 32 bit locations
([#9596](AztecProtocol/aztec-packages#9596))
([5f38696](AztecProtocol/aztec-packages@5f38696))
* Biggroup_goblin handles points at infinity + 1.8x reduction in ECCVM
size
([#9366](AztecProtocol/aztec-packages#9366))
([9211d8a](AztecProtocol/aztec-packages@9211d8a))
* Faster square roots
([#2694](AztecProtocol/aztec-packages#2694))
([722ec5c](AztecProtocol/aztec-packages@722ec5c))
* Spartan proving
([#9584](AztecProtocol/aztec-packages#9584))
([392114a](AztecProtocol/aztec-packages@392114a))


### Bug Fixes

* Ensuring translator range constraint polynomials are zeroes outside of
minicircuit
([#9251](AztecProtocol/aztec-packages#9251))
([04dd2c4](AztecProtocol/aztec-packages@04dd2c4))
* Resolution of bugs from bigfield audits
([#9547](AztecProtocol/aztec-packages#9547))
([feace70](AztecProtocol/aztec-packages@feace70))


### Miscellaneous

* Bb sanitizers on master
([#9564](AztecProtocol/aztec-packages#9564))
([747bff1](AztecProtocol/aztec-packages@747bff1))
* Pass on docker_fast.sh
([#9615](AztecProtocol/aztec-packages#9615))
([1c53459](AztecProtocol/aztec-packages@1c53459))
</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