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

fix: [DO NOT MERGE] Track non mutated or borrowed arrays in DIE #10399

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

vezenovm
Copy link
Contributor

@vezenovm vezenovm commented Dec 4, 2024

Please read contributing guidelines and remove this line.

Testing against CI

@vezenovm vezenovm changed the title [DO NOT MERGE] Do not remove any RCs in DIE fix: [DO NOT MERGE] Do not remove any RCs in DIE Dec 4, 2024
Copy link
Contributor

github-actions bot commented Dec 4, 2024

Changes to public function bytecode sizes

Generated at commit: 7322e5b4b6ad652a06d96ed0263524f16d6f3ec2, compared to commit: b6c9c4141b4ca6b1fc847068d352ee17590dea09

🧾 Summary (100% most significant diffs)

Program Bytecode size in bytes (+/-) %
Lending::_repay -13 ✅ -0.23%
Parent::public_nested_static_call -13 ✅ -0.36%
AvmTest::pedersen_hash -13 ✅ -0.42%
AvmTest::pedersen_hash_with_index -13 ✅ -0.42%
Lending::deposit_public -13 ✅ -0.46%
CardGame::on_card_played -26 ✅ -0.47%
AvmInitializerTest::public_dispatch -13 ✅ -0.48%
Lending::repay_public -13 ✅ -0.49%
CardGame::on_game_joined -26 ✅ -0.54%
Lending::_deposit -13 ✅ -0.54%
Benchmarking::increment_balance -13 ✅ -0.58%
Test::create_l2_to_l1_message_public -13 ✅ -0.58%
CardGame::start_game -39 ✅ -0.59%
FPC::pay_refund -13 ✅ -0.60%
StaticParent::public_nested_static_call -13 ✅ -0.60%
FPC::prepare_fee -13 ✅ -0.61%
Lending::borrow_public -13 ✅ -0.64%
Lending::withdraw_public -13 ✅ -0.64%
Auth::get_authorized_delay -13 ✅ -0.64%
AvmInitializerTest::constructor -13 ✅ -0.67%
Auth::get_authorized -13 ✅ -0.68%
Auth::get_scheduled_authorized -13 ✅ -0.71%
CardGame::on_cards_claimed -52 ✅ -0.72%
AvmTest::n_storage_writes -13 ✅ -0.78%
Spam::public_dispatch -26 ✅ -0.85%
Test::emit_unencrypted -13 ✅ -0.87%
Lending::_borrow -65 ✅ -0.89%
Lending::_withdraw -78 ✅ -0.89%
Claim::constructor -26 ✅ -0.91%
TokenBridge::constructor -26 ✅ -0.94%
FPC::constructor -26 ✅ -0.95%
TokenBlacklist::mint_public -39 ✅ -0.96%
AvmTest::u128_addition_overflow -13 ✅ -0.97%
AvmTest::pedersen_commit -13 ✅ -1.00%
AvmTest::keccak_hash -26 ✅ -1.08%
Uniswap::_approve_bridge_and_exit_input_asset_to_L1 -78 ✅ -1.11%
AvmTest::bulk_testing -286 ✅ -1.19%
TokenBlacklist::burn_public -65 ✅ -1.19%
Token::burn_public -52 ✅ -1.21%
AMM::_swap_exact_tokens_for_tokens -52 ✅ -1.25%
AuthRegistry::consume -39 ✅ -1.26%
TokenBlacklist::mint_private -52 ✅ -1.36%
AvmTest::get_args_hash -26 ✅ -1.36%
Crowdfunding::_publish_donation_receipts -13 ✅ -1.37%
Crowdfunding::init -39 ✅ -1.37%
AMM::constructor -39 ✅ -1.38%
Benchmarking::public_dispatch -52 ✅ -1.39%
TokenBlacklist::get_roles -39 ✅ -1.40%
Claim::public_dispatch -52 ✅ -1.42%
Token::constructor -65 ✅ -1.46%
NFT::constructor -65 ✅ -1.49%
AMM::_add_liquidity -130 ✅ -1.50%
TokenBlacklist::transfer_public -91 ✅ -1.51%
CardGame::public_dispatch -234 ✅ -1.53%
AuthWitTest::public_dispatch -26 ✅ -1.55%
TokenBlacklist::update_roles -104 ✅ -1.56%
AvmTest::u128_from_integer_overflow -13 ✅ -1.57%
AMM::_remove_liquidity -117 ✅ -1.65%
TokenBlacklist::shield -104 ✅ -1.67%
FPC::public_dispatch -130 ✅ -1.70%
Uniswap::_assert_token_is_same -13 ✅ -1.72%
Token::transfer_in_public -78 ✅ -1.72%
StatefulTest::public_constructor -52 ✅ -1.74%
Lending::public_dispatch -494 ✅ -1.74%
AMM::public_dispatch -377 ✅ -1.76%
AvmTest::emit_unencrypted_log -52 ✅ -1.84%
DocsExample::get_public_immutable_constrained_public_indirect -13 ✅ -1.87%
AuthWitTest::consume_public -13 ✅ -1.97%
AppSubscription::constructor -65 ✅ -2.05%
Child::set_value_twice_with_nested_last -13 ✅ -2.07%
AppSubscription::public_dispatch -91 ✅ -2.10%
Uniswap::public_dispatch -533 ✅ -2.12%
NFT::transfer_in_public -78 ✅ -2.14%
AvmTest::nested_call_to_add -13 ✅ -2.14%
AvmTest::nested_static_call_to_add -13 ✅ -2.14%
AvmTest::nested_call_to_assert_same -13 ✅ -2.14%
Token::_finalize_transfer_to_private_unsafe -143 ✅ -2.16%
Token::finalize_transfer_to_private -143 ✅ -2.18%
StaticParent::public_get_value_from_child -13 ✅ -2.19%
PriceFeed::public_dispatch -65 ✅ -2.20%
Crowdfunding::public_dispatch -104 ✅ -2.20%
AMM::_swap_tokens_for_exact_tokens -104 ✅ -2.20%
AvmTest::nested_call_to_add_with_gas -13 ✅ -2.23%
TokenBlacklist::constructor -156 ✅ -2.23%
Parent::public_dispatch -182 ✅ -2.24%
DocsExample::public_dispatch -91 ✅ -2.25%
Router::public_dispatch -52 ✅ -2.25%
TokenBlacklist::public_dispatch -559 ✅ -2.27%
Token::_finalize_mint_to_private_unsafe -143 ✅ -2.29%
Auth::public_dispatch -221 ✅ -2.30%
Token::finalize_mint_to_private -143 ✅ -2.30%
Token::complete_refund -130 ✅ -2.31%
FeeJuice::public_dispatch -117 ✅ -2.33%
NFT::_finalize_transfer_to_private_unsafe -130 ✅ -2.34%
NFT::finalize_transfer_to_private -130 ✅ -2.36%
AvmTest::assert_calldata_copy -13 ✅ -2.39%
AvmTest::create_different_nullifier_in_nested_call -13 ✅ -2.44%
Auth::constructor -65 ✅ -2.46%
EasyPrivateVoting::constructor -65 ✅ -2.46%
AvmTest::create_same_nullifier_in_nested_call -13 ✅ -2.49%
Uniswap::constructor -65 ✅ -2.50%
ImportTest::pub_call_public_fn -13 ✅ -2.51%
AvmTest::nested_static_call_to_set_storage -13 ✅ -2.51%
Parent::pub_entry_point_twice -26 ✅ -2.53%
InclusionProofs::constructor -65 ✅ -2.56%
AuthRegistry::public_dispatch -208 ✅ -2.56%
StaticParent::public_dispatch -156 ✅ -2.57%
AvmTest::external_call_to_divide_by_zero -13 ✅ -2.58%
AvmTest::external_call_to_assertion_failure -13 ✅ -2.58%
AvmTest::nested_call_to_nothing -13 ✅ -2.58%
AvmTest::sha256_hash -104 ✅ -2.59%
EasyPrivateVoting::public_dispatch -130 ✅ -2.60%
StatefulTest::public_dispatch -169 ✅ -2.69%
Auth::set_authorized_delay -143 ✅ -2.75%
Token::public_dispatch -923 ✅ -2.76%
TestLog::public_dispatch -65 ✅ -2.76%
Auth::set_authorized -143 ✅ -2.80%
NFT::public_dispatch -702 ✅ -2.83%
TokenBridge::exit_to_l1_public -208 ✅ -3.08%
Uniswap::swap_public -507 ✅ -3.16%
Test::consume_message_from_arbitrary_sender_public -260 ✅ -3.19%
TokenBridge::public_dispatch -715 ✅ -3.32%
ImportTest::public_dispatch -39 ✅ -3.35%
Child::public_dispatch -169 ✅ -3.42%
TokenBridge::claim_public -403 ✅ -3.42%
Test::consume_mint_to_public_message -390 ✅ -3.47%
AvmTest::returndata_copy_oracle -65 ✅ -3.50%
Test::public_dispatch -676 ✅ -3.51%
AvmTest::elliptic_curve_add_and_double -26 ✅ -3.52%
AvmTest::public_dispatch -2,496 ✅ -3.86%
Child::set_value_with_two_nested_calls -39 ✅ -3.87%
InclusionProofs::public_dispatch -156 ✅ -3.94%
AvmTest::elliptic_curve_add -26 ✅ -4.29%
AvmTest::read_storage_list -13 ✅ -4.38%
StaticChild::public_dispatch -104 ✅ -4.88%

Full diff report 👇
Program Bytecode size in bytes (+/-) %
Lending::_repay 5,522 (-13) -0.23%
Parent::public_nested_static_call 3,612 (-13) -0.36%
AvmTest::pedersen_hash 3,103 (-13) -0.42%
AvmTest::pedersen_hash_with_index 3,103 (-13) -0.42%
Lending::deposit_public 2,789 (-13) -0.46%
CardGame::on_card_played 5,529 (-26) -0.47%
AvmInitializerTest::public_dispatch 2,681 (-13) -0.48%
Lending::repay_public 2,659 (-13) -0.49%
CardGame::on_game_joined 4,832 (-26) -0.54%
Lending::_deposit 2,398 (-13) -0.54%
Benchmarking::increment_balance 2,238 (-13) -0.58%
Test::create_l2_to_l1_message_public 2,210 (-13) -0.58%
CardGame::start_game 6,614 (-39) -0.59%
FPC::pay_refund 2,171 (-13) -0.60%
StaticParent::public_nested_static_call 2,163 (-13) -0.60%
FPC::prepare_fee 2,116 (-13) -0.61%
Lending::borrow_public 2,011 (-13) -0.64%
Lending::withdraw_public 2,011 (-13) -0.64%
Auth::get_authorized_delay 2,009 (-13) -0.64%
AvmInitializerTest::constructor 1,923 (-13) -0.67%
Auth::get_authorized 1,906 (-13) -0.68%
Auth::get_scheduled_authorized 1,811 (-13) -0.71%
CardGame::on_cards_claimed 7,129 (-52) -0.72%
AvmTest::n_storage_writes 1,649 (-13) -0.78%
Spam::public_dispatch 3,041 (-26) -0.85%
Test::emit_unencrypted 1,479 (-13) -0.87%
Lending::_borrow 7,269 (-65) -0.89%
Lending::_withdraw 8,667 (-78) -0.89%
Claim::constructor 2,846 (-26) -0.91%
TokenBridge::constructor 2,750 (-26) -0.94%
FPC::constructor 2,711 (-26) -0.95%
TokenBlacklist::mint_public 4,016 (-39) -0.96%
AvmTest::u128_addition_overflow 1,329 (-13) -0.97%
AvmTest::pedersen_commit 1,284 (-13) -1.00%
AvmTest::keccak_hash 2,389 (-26) -1.08%
Uniswap::_approve_bridge_and_exit_input_asset_to_L1 6,976 (-78) -1.11%
AvmTest::bulk_testing 23,835 (-286) -1.19%
TokenBlacklist::burn_public 5,401 (-65) -1.19%
Token::burn_public 4,233 (-52) -1.21%
AMM::_swap_exact_tokens_for_tokens 4,098 (-52) -1.25%
AuthRegistry::consume 3,062 (-39) -1.26%
TokenBlacklist::mint_private 3,767 (-52) -1.36%
AvmTest::get_args_hash 1,879 (-26) -1.36%
Crowdfunding::_publish_donation_receipts 935 (-13) -1.37%
Crowdfunding::init 2,800 (-39) -1.37%
AMM::constructor 2,785 (-39) -1.38%
Benchmarking::public_dispatch 3,690 (-52) -1.39%
TokenBlacklist::get_roles 2,756 (-39) -1.40%
Claim::public_dispatch 3,611 (-52) -1.42%
Token::constructor 4,379 (-65) -1.46%
NFT::constructor 4,304 (-65) -1.49%
AMM::_add_liquidity 8,563 (-130) -1.50%
TokenBlacklist::transfer_public 5,949 (-91) -1.51%
CardGame::public_dispatch 15,089 (-234) -1.53%
AuthWitTest::public_dispatch 1,650 (-26) -1.55%
TokenBlacklist::update_roles 6,572 (-104) -1.56%
AvmTest::u128_from_integer_overflow 813 (-13) -1.57%
AMM::_remove_liquidity 6,963 (-117) -1.65%
TokenBlacklist::shield 6,137 (-104) -1.67%
FPC::public_dispatch 7,501 (-130) -1.70%
Uniswap::_assert_token_is_same 743 (-13) -1.72%
Token::transfer_in_public 4,451 (-78) -1.72%
StatefulTest::public_constructor 2,941 (-52) -1.74%
Lending::public_dispatch 27,829 (-494) -1.74%
AMM::public_dispatch 21,059 (-377) -1.76%
AvmTest::emit_unencrypted_log 2,777 (-52) -1.84%
DocsExample::get_public_immutable_constrained_public_indirect 682 (-13) -1.87%
AuthWitTest::consume_public 648 (-13) -1.97%
AppSubscription::constructor 3,100 (-65) -2.05%
Child::set_value_twice_with_nested_last 615 (-13) -2.07%
AppSubscription::public_dispatch 4,243 (-91) -2.10%
Uniswap::public_dispatch 24,610 (-533) -2.12%
NFT::transfer_in_public 3,571 (-78) -2.14%
AvmTest::nested_call_to_add 595 (-13) -2.14%
AvmTest::nested_static_call_to_add 595 (-13) -2.14%
AvmTest::nested_call_to_assert_same 595 (-13) -2.14%
Token::_finalize_transfer_to_private_unsafe 6,467 (-143) -2.16%
Token::finalize_transfer_to_private 6,420 (-143) -2.18%
StaticParent::public_get_value_from_child 581 (-13) -2.19%
PriceFeed::public_dispatch 2,895 (-65) -2.20%
Crowdfunding::public_dispatch 4,620 (-104) -2.20%
AMM::_swap_tokens_for_exact_tokens 4,616 (-104) -2.20%
AvmTest::nested_call_to_add_with_gas 570 (-13) -2.23%
TokenBlacklist::constructor 6,839 (-156) -2.23%
Parent::public_dispatch 7,943 (-182) -2.24%
DocsExample::public_dispatch 3,950 (-91) -2.25%
Router::public_dispatch 2,254 (-52) -2.25%
TokenBlacklist::public_dispatch 24,039 (-559) -2.27%
Token::_finalize_mint_to_private_unsafe 6,115 (-143) -2.29%
Auth::public_dispatch 9,397 (-221) -2.30%
Token::finalize_mint_to_private 6,068 (-143) -2.30%
Token::complete_refund 5,486 (-130) -2.31%
FeeJuice::public_dispatch 4,900 (-117) -2.33%
NFT::_finalize_transfer_to_private_unsafe 5,427 (-130) -2.34%
NFT::finalize_transfer_to_private 5,380 (-130) -2.36%
AvmTest::assert_calldata_copy 531 (-13) -2.39%
AvmTest::create_different_nullifier_in_nested_call 520 (-13) -2.44%
Auth::constructor 2,581 (-65) -2.46%
EasyPrivateVoting::constructor 2,577 (-65) -2.46%
AvmTest::create_same_nullifier_in_nested_call 510 (-13) -2.49%
Uniswap::constructor 2,540 (-65) -2.50%
ImportTest::pub_call_public_fn 505 (-13) -2.51%
AvmTest::nested_static_call_to_set_storage 504 (-13) -2.51%
Parent::pub_entry_point_twice 1,001 (-26) -2.53%
InclusionProofs::constructor 2,471 (-65) -2.56%
AuthRegistry::public_dispatch 7,907 (-208) -2.56%
StaticParent::public_dispatch 5,912 (-156) -2.57%
AvmTest::external_call_to_divide_by_zero 490 (-13) -2.58%
AvmTest::external_call_to_assertion_failure 490 (-13) -2.58%
AvmTest::nested_call_to_nothing 490 (-13) -2.58%
AvmTest::sha256_hash 3,915 (-104) -2.59%
EasyPrivateVoting::public_dispatch 4,863 (-130) -2.60%
StatefulTest::public_dispatch 6,124 (-169) -2.69%
Auth::set_authorized_delay 5,062 (-143) -2.75%
Token::public_dispatch 32,503 (-923) -2.76%
TestLog::public_dispatch 2,288 (-65) -2.76%
Auth::set_authorized 4,966 (-143) -2.80%
NFT::public_dispatch 24,105 (-702) -2.83%
TokenBridge::exit_to_l1_public 6,549 (-208) -3.08%
Uniswap::swap_public 15,560 (-507) -3.16%
Test::consume_message_from_arbitrary_sender_public 7,901 (-260) -3.19%
TokenBridge::public_dispatch 20,800 (-715) -3.32%
ImportTest::public_dispatch 1,126 (-39) -3.35%
Child::public_dispatch 4,779 (-169) -3.42%
TokenBridge::claim_public 11,370 (-403) -3.42%
Test::consume_mint_to_public_message 10,850 (-390) -3.47%
AvmTest::returndata_copy_oracle 1,793 (-65) -3.50%
Test::public_dispatch 18,610 (-676) -3.51%
AvmTest::elliptic_curve_add_and_double 713 (-26) -3.52%
AvmTest::public_dispatch 62,236 (-2,496) -3.86%
Child::set_value_with_two_nested_calls 969 (-39) -3.87%
InclusionProofs::public_dispatch 3,802 (-156) -3.94%
AvmTest::elliptic_curve_add 580 (-26) -4.29%
AvmTest::read_storage_list 284 (-13) -4.38%
StaticChild::public_dispatch 2,027 (-104) -4.88%

@vezenovm vezenovm changed the title fix: [DO NOT MERGE] Do not remove any RCs in DIE fix: [DO NOT MERGE] Track non mutated or borrowed arrays in DIE Dec 12, 2024
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.

1 participant