aztec-packages
aztec-packages copied to clipboard
feat: Added indirect const instruction
Adds indirect const since the AVM supports it, and uses it to reduce a bunch bytecode sizes when initializing constant arrays.
Opcode reductions
contracts: Transpiling AppSubscription::assert_block_number with size 406 => 382 contracts: Transpiling AppSubscription::assert_not_expired with size 399 => 375 contracts: Transpiling AppSubscription::constructor with size 2476 => 2438 contracts: Transpiling Auth::constructor with size 2012 => 1976 contracts: Transpiling Auth::get_authorized with size 294 => 270 contracts: Transpiling Auth::get_authorized_delay with size 358 => 334 contracts: Transpiling Auth::get_scheduled_authorized with size 279 => 255 contracts: Transpiling Auth::set_authorized with size 1872 => 1848 contracts: Transpiling Auth::set_authorized_delay with size 1791 => 1772 contracts: Transpiling AuthRegistry::_set_authorized with size 519 => 488 contracts: Transpiling AuthRegistry::consume with size 2365 => 2306 contracts: Transpiling AuthRegistry::is_consumable with size 519 => 490 contracts: Transpiling AuthRegistry::is_reject_all with size 355 => 327 contracts: Transpiling AuthRegistry::set_authorized with size 370 => 348 contracts: Transpiling AuthRegistry::set_reject_all with size 206 => 185 contracts: Transpiling AuthWitTest::consume_public with size 1637 => 1604 contracts: Transpiling AvmInitializerTest::constructor with size 1952 => 1917 contracts: Transpiling AvmInitializerTest::read_storage_immutable with size 100 => 88 contracts: Transpiling AvmTest::add_args_return with size 14 => 14 contracts: Transpiling AvmTest::add_storage_map with size 402 => 380 contracts: Transpiling AvmTest::add_u128 with size 130 => 114 contracts: Transpiling AvmTest::assert_nullifier_exists with size 107 => 90 contracts: Transpiling AvmTest::assert_same with size 97 => 84 contracts: Transpiling AvmTest::assert_timestamp with size 103 => 89 contracts: Transpiling AvmTest::assertion_failure with size 111 => 94 contracts: Transpiling AvmTest::check_selector with size 1463 => 1434 contracts: Transpiling AvmTest::create_different_nullifier_in_nested_call with size 246 => 240 contracts: Transpiling AvmTest::create_same_nullifier_in_nested_call with size 244 => 238 contracts: Transpiling AvmTest::debug_logging with size 241 => 210 contracts: Transpiling AvmTest::elliptic_curve_add_and_double with size 81 => 81 contracts: Transpiling AvmTest::emit_nullifier_and_check with size 189 => 167 contracts: Transpiling AvmTest::emit_unencrypted_log with size 640 => 608 contracts: Transpiling AvmTest::get_address with size 12 => 12 contracts: Transpiling AvmTest::get_args_hash with size 17 => 17 contracts: Transpiling AvmTest::get_block_number with size 12 => 12 contracts: Transpiling AvmTest::get_chain_id with size 12 => 12 contracts: Transpiling AvmTest::get_da_gas_left with size 12 => 12 contracts: Transpiling AvmTest::get_fee_per_da_gas with size 12 => 12 contracts: Transpiling AvmTest::get_fee_per_l2_gas with size 12 => 12 contracts: Transpiling AvmTest::get_function_selector with size 12 => 12 contracts: Transpiling AvmTest::get_l2_gas_left with size 12 => 12 contracts: Transpiling AvmTest::get_sender with size 12 => 12 contracts: Transpiling AvmTest::get_storage_address with size 12 => 12 contracts: Transpiling AvmTest::get_timestamp with size 12 => 12 contracts: Transpiling AvmTest::get_transaction_fee with size 12 => 12 contracts: Transpiling AvmTest::get_version with size 12 => 12 contracts: Transpiling AvmTest::keccak_f1600 with size 61 => 61 contracts: Transpiling AvmTest::keccak_hash with size 1219 => 1218 contracts: Transpiling AvmTest::l1_to_l2_msg_exists with size 16 => 16 contracts: Transpiling AvmTest::modulo2 with size 15 => 15 contracts: Transpiling AvmTest::nested_call_to_add with size 363 => 357 contracts: Transpiling AvmTest::nested_call_to_add_with_gas with size 477 => 454 contracts: Transpiling AvmTest::nested_static_call_to_add with size 377 => 371 contracts: Transpiling AvmTest::nested_static_call_to_set_storage with size 257 => 251 contracts: Transpiling AvmTest::new_note_hash with size 10 => 10 contracts: Transpiling AvmTest::new_nullifier with size 10 => 10 contracts: Transpiling AvmTest::note_hash_exists with size 16 => 16 contracts: Transpiling AvmTest::nullifier_collision with size 11 => 11 contracts: Transpiling AvmTest::nullifier_exists with size 16 => 16 contracts: Transpiling AvmTest::pedersen_commit with size 90 => 90 contracts: Transpiling AvmTest::pedersen_hash with size 18 => 18 contracts: Transpiling AvmTest::pedersen_hash_with_index with size 18 => 18 contracts: Transpiling AvmTest::poseidon2_hash with size 1289 => 1285 contracts: Transpiling AvmTest::read_storage_list with size 55 => 55 contracts: Transpiling AvmTest::read_storage_map with size 213 => 192 contracts: Transpiling AvmTest::read_storage_single with size 24 => 24 contracts: Transpiling AvmTest::send_l2_to_l1_msg with size 11 => 11 contracts: Transpiling AvmTest::set_opcode_big_field with size 18 => 18 contracts: Transpiling AvmTest::set_opcode_small_field with size 12 => 12 contracts: Transpiling AvmTest::set_opcode_u32 with size 12 => 12 contracts: Transpiling AvmTest::set_opcode_u64 with size 12 => 12 contracts: Transpiling AvmTest::set_opcode_u8 with size 12 => 12 contracts: Transpiling AvmTest::set_read_storage_single with size 33 => 33 contracts: Transpiling AvmTest::set_storage_list with size 21 => 21 contracts: Transpiling AvmTest::set_storage_map with size 220 => 199 contracts: Transpiling AvmTest::set_storage_single with size 18 => 18 contracts: Transpiling AvmTest::sha256_hash with size 46 => 46 contracts: Transpiling AvmTest::test_get_contract_instance with size 339 => 322 contracts: Transpiling AvmTest::test_get_contract_instance_raw with size 82 => 82 contracts: Transpiling AvmTest::to_radix_le with size 161 => 160 contracts: Transpiling AvmTest::u128_addition_overflow with size 469 => 447 contracts: Transpiling AvmTest::u128_from_integer_overflow with size 149 => 148 contracts: Transpiling AvmTest::variable_base_msm with size 92 => 94 contracts: Transpiling Benchmarking::broadcast with size 216 => 195 contracts: Transpiling Benchmarking::increment_balance with size 613 => 585 contracts: Transpiling CardGame::on_card_played with size 1730 => 1695 contracts: Transpiling CardGame::on_cards_claimed with size 1467 => 1412 contracts: Transpiling CardGame::on_game_joined with size 1370 => 1319 contracts: Transpiling CardGame::start_game with size 1909 => 1872 contracts: Transpiling Child::pub_get_value with size 21 => 21 contracts: Transpiling Child::pub_inc_value with size 43 => 43 contracts: Transpiling Child::pub_inc_value_internal with size 216 => 197 contracts: Transpiling Child::pub_set_value with size 30 => 30 contracts: Transpiling Child::set_value_twice_with_nested_first with size 262 => 255 contracts: Transpiling Child::set_value_twice_with_nested_last with size 262 => 255 contracts: Transpiling Child::set_value_with_two_nested_calls with size 226 => 232 contracts: Transpiling Claim::constructor with size 2083 => 2048 contracts: Transpiling Crowdfunding::_check_deadline with size 465 => 438 contracts: Transpiling Crowdfunding::_publish_donation_receipts with size 1820 => 1788 contracts: Transpiling Crowdfunding::init with size 2217 => 2180 contracts: Transpiling DelegatedOn::public_set_value with size 21 => 21 contracts: Transpiling Delegator::public_delegate_set_value with size 291 => 271 contracts: Transpiling DocsExample::get_shared_immutable_constrained_public with size 247 => 225 contracts: Transpiling DocsExample::get_shared_immutable_constrained_public_indirect with size 170 => 164 contracts: Transpiling DocsExample::get_shared_immutable_constrained_public_multiple with size 75 => 75 contracts: Transpiling DocsExample::initialize_public_immutable with size 165 => 146 contracts: Transpiling DocsExample::initialize_shared_immutable with size 165 => 146 contracts: Transpiling DocsExample::spend_public_authwit with size 13 => 13 contracts: Transpiling DocsExample::update_leader with size 177 => 159 contracts: Transpiling EasyPrivateVoting::add_to_tally_public with size 678 => 642 contracts: Transpiling EasyPrivateVoting::constructor with size 1973 => 1939 contracts: Transpiling EasyPrivateVoting::end_vote with size 192 => 173 contracts: Transpiling FeeJuice::_increase_public_balance with size 663 => 631 contracts: Transpiling FeeJuice::balance_of_public with size 372 => 344 contracts: Transpiling FeeJuice::check_balance with size 502 => 462 contracts: Transpiling FeeJuice::claim_public with size 4515 => 4465 contracts: Transpiling FeeJuice::mint_public with size 499 => 473 contracts: Transpiling FeeJuice::set_portal with size 185 => 166 contracts: Transpiling FPC::constructor with size 1952 => 1918 contracts: Transpiling FPC::pay_refund with size 1035 => 986 contracts: Transpiling FPC::pay_refund_with_shielded_rebate with size 1080 => 1028 contracts: Transpiling FPC::prepare_fee with size 755 => 727 contracts: Transpiling ImportTest::pub_call_public_fn with size 243 => 237 contracts: Transpiling InclusionProofs::constructor with size 1826 => 1797 contracts: Transpiling InclusionProofs::push_nullifier_public with size 86 => 74 contracts: Transpiling InclusionProofs::test_nullifier_inclusion_from_public with size 90 => 78 contracts: Transpiling KeyRegistry::register_npk_and_ivpk with size 10309 => 10242 contracts: Transpiling KeyRegistry::register_ovpk_and_tpk with size 10311 => 10242 contracts: Transpiling KeyRegistry::rotate_npk_m with size 6776 => 6692 contracts: Transpiling Lending::_borrow with size 6430 => 6086 contracts: Transpiling Lending::_deposit with size 530 => 503 contracts: Transpiling Lending::_repay with size 4112 => 3850 contracts: Transpiling Lending::_withdraw with size 6315 => 5993 contracts: Transpiling Lending::borrow_public with size 515 => 497 contracts: Transpiling Lending::deposit_public with size 1034 => 1010 contracts: Transpiling Lending::get_asset with size 464 => 433 contracts: Transpiling Lending::get_assets with size 274 => 253 contracts: Transpiling Lending::get_position with size 2475 => 2327 contracts: Transpiling Lending::init with size 409 => 383 contracts: Transpiling Lending::repay_public with size 936 => 912 contracts: Transpiling Lending::update_accumulator with size 6045 => 5719 contracts: Transpiling Lending::withdraw_public with size 515 => 497 contracts: Transpiling NewKeyRegistry::register_initial_keys with size 4594 => 4543 contracts: Transpiling NewKeyRegistry::rotate_npk_m with size 4976 => 4895 contracts: Transpiling Parent::pub_entry_point with size 144 => 138 contracts: Transpiling Parent::pub_entry_point_twice with size 250 => 257 contracts: Transpiling Parent::public_nested_static_call with size 1587 => 1560 contracts: Transpiling Parent::public_static_call with size 179 => 173 contracts: Transpiling PriceFeed::get_price with size 355 => 326 contracts: Transpiling PriceFeed::set_price with size 216 => 195 contracts: Transpiling PrivateFPC::constructor with size 1955 => 1921 contracts: Transpiling StatefulTest::get_public_value with size 360 => 330 contracts: Transpiling StatefulTest::increment_public_value with size 285 => 260 contracts: Transpiling StatefulTest::increment_public_value_no_init_check with size 217 => 196 contracts: Transpiling StatefulTest::public_constructor with size 2142 => 2107 contracts: Transpiling StaticChild::pub_get_value with size 176 => 156 contracts: Transpiling StaticChild::pub_illegal_inc_value with size 214 => 194 contracts: Transpiling StaticChild::pub_inc_value with size 43 => 43 contracts: Transpiling StaticChild::pub_set_value with size 30 => 30 contracts: Transpiling StaticParent::public_call with size 144 => 138 contracts: Transpiling StaticParent::public_get_value_from_child with size 279 => 273 contracts: Transpiling StaticParent::public_nested_static_call with size 486 => 480 contracts: Transpiling StaticParent::public_static_call with size 179 => 173 contracts: Transpiling Test::assert_public_global_vars with size 454 => 425 contracts: Transpiling Test::consume_message_from_arbitrary_sender_public with size 3574 => 3533 contracts: Transpiling Test::consume_mint_public_message with size 4017 => 3976 contracts: Transpiling Test::create_l2_to_l1_message_arbitrary_recipient_public with size 11 => 11 contracts: Transpiling Test::create_l2_to_l1_message_public with size 24 => 24 contracts: Transpiling Test::dummy_public_call with size 171 => 152 contracts: Transpiling Test::emit_nullifier_public with size 10 => 10 contracts: Transpiling Test::emit_unencrypted with size 258 => 245 contracts: Transpiling Test::is_time_equal with size 17 => 17 contracts: Transpiling TestLog::emit_unencrypted_events with size 3147 => 3107 contracts: Transpiling Token::_increase_public_balance with size 731 => 695 contracts: Transpiling Token::_reduce_total_supply with size 401 => 374 contracts: Transpiling Token::admin with size 227 => 207 contracts: Transpiling Token::assert_minter_and_mint with size 651 => 615 contracts: Transpiling Token::balance_of_public with size 440 => 408 contracts: Transpiling Token::burn_public with size 3762 => 3669 contracts: Transpiling Token::complete_refund with size 774 => 741 contracts: Transpiling Token::constructor with size 2674 => 2594 contracts: Transpiling Token::is_minter with size 414 => 383 contracts: Transpiling Token::mint_private with size 825 => 791 contracts: Transpiling Token::mint_public with size 946 => 911 contracts: Transpiling Token::public_get_decimals with size 262 => 239 contracts: Transpiling Token::public_get_name with size 251 => 228 contracts: Transpiling Token::public_get_symbol with size 255 => 232 contracts: Transpiling Token::set_admin with size 180 => 163 contracts: Transpiling Token::set_minter with size 357 => 330 contracts: Transpiling Token::shield with size 3949 => 3854 contracts: Transpiling Token::total_supply with size 255 => 234 contracts: Transpiling Token::transfer_public with size 4076 => 3980 contracts: Transpiling TokenBlacklist::_increase_public_balance with size 731 => 695 contracts: Transpiling TokenBlacklist::_reduce_total_supply with size 401 => 374 contracts: Transpiling TokenBlacklist::balance_of_public with size 440 => 408 contracts: Transpiling TokenBlacklist::burn_public with size 4101 => 3979 contracts: Transpiling TokenBlacklist::constructor with size 3833 => 3787 contracts: Transpiling TokenBlacklist::get_roles with size 489 => 458 contracts: Transpiling TokenBlacklist::mint_private with size 903 => 855 contracts: Transpiling TokenBlacklist::mint_public with size 1383 => 1299 contracts: Transpiling TokenBlacklist::shield with size 4288 => 4164 contracts: Transpiling TokenBlacklist::total_supply with size 255 => 234 contracts: Transpiling TokenBlacklist::transfer_public with size 4757 => 4605 contracts: Transpiling TokenBlacklist::update_roles with size 2489 => 2435 contracts: Transpiling TokenBridge::_assert_token_is_same with size 391 => 364 contracts: Transpiling TokenBridge::_call_mint_on_token with size 586 => 558 contracts: Transpiling TokenBridge::claim_public with size 4450 => 4391 contracts: Transpiling TokenBridge::constructor with size 1962 => 1928 contracts: Transpiling TokenBridge::exit_to_l1_public with size 1144 => 1122 contracts: Transpiling TokenBridge::get_portal_address_public with size 112 => 100 contracts: Transpiling TokenBridge::get_token with size 237 => 215 contracts: Transpiling Uniswap::_approve_bridge_and_exit_input_asset_to_L1 with size 10594 => 10491 contracts: Transpiling Uniswap::_assert_token_is_same with size 697 => 673 contracts: Transpiling Uniswap::constructor with size 1952 => 1918 contracts: Transpiling Uniswap::swap_public with size 6070 => 6006