Skip to content

feat: Sync from noir#10660

Merged
TomAFrench merged 7 commits intomasterfrom
sync-noir
Dec 13, 2024
Merged

feat: Sync from noir#10660
TomAFrench merged 7 commits intomasterfrom
sync-noir

Conversation

@AztecBot
Copy link
Collaborator

@AztecBot AztecBot commented Dec 12, 2024

Automated pull of development from the noir programming language, a dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
feat(ssa): Hoist MakeArray instructions during loop invariant code motion (noir-lang/noir#6782)
feat: add (x | 1) optimization for booleans (noir-lang/noir#6795)
feat: nargo test -q (or nargo test --format terse) (noir-lang/noir#6776)
fix: disable failure persistance in nargo test fuzzing (noir-lang/noir#6777)
feat(cli): Verify return against ABI and Prover.toml (noir-lang/noir#6765)
chore(ssa): Activate loop invariant code motion on ACIR functions (noir-lang/noir#6785)
fix: use extension in docs link so it also works on GitHub (noir-lang/noir#6787)
fix: optimizer to keep track of changing opcode locations (noir-lang/noir#6781)
fix: Minimal change to avoid reverting entire PR #6685 (noir-lang/noir#6778)
END_COMMIT_OVERRIDE

@TomAFrench TomAFrench enabled auto-merge (squash) December 12, 2024 15:22
@github-actions
Copy link
Contributor

github-actions bot commented Dec 12, 2024

Changes to public function bytecode sizes

Generated at commit: 9d39defb2d4a37754b700cbb04c427cfbdea874e, compared to commit: 19a500ffc09ab8bc367a78599dd73a07a04b426e

🧾 Summary (100% most significant diffs)

Program Bytecode size in bytes (+/-) %
AvmTest::nested_call_to_nothing_recovers +13 ❌ +4.30%
Crowdfunding::_publish_donation_receipts +26 ❌ +2.82%
AvmTest::n_storage_writes +39 ❌ +2.40%
AvmTest::emit_unencrypted_log +65 ❌ +2.35%
AvmTest::keccak_hash +52 ❌ +2.20%
AvmTest::returndata_copy_oracle +39 ❌ +2.14%
Token::public_dispatch +665 ❌ +2.03%
Test::emit_unencrypted +26 ❌ +1.77%
TestLog::public_dispatch +39 ❌ +1.69%
NFT::finalize_transfer_to_private +91 ❌ +1.68%
NFT::_finalize_transfer_to_private_unsafe +91 ❌ +1.66%
Token::finalize_mint_to_private +91 ❌ +1.49%
Token::_finalize_mint_to_private_unsafe +91 ❌ +1.48%
CardGame::on_cards_claimed +104 ❌ +1.47%
Parent::public_nested_static_call +52 ❌ +1.46%
Auth::get_scheduled_authorized +26 ❌ +1.45%
Token::complete_refund +78 ❌ +1.41%
Token::finalize_transfer_to_private +91 ❌ +1.41%
Token::_finalize_transfer_to_private_unsafe +91 ❌ +1.40%
AvmTest::get_args_hash +26 ❌ +1.38%
Auth::get_authorized +26 ❌ +1.37%
AvmTest::sha256_hash +52 ❌ +1.31%
Lending::get_asset +26 ❌ +1.27%
Test::create_l2_to_l1_message_public +26 ❌ +1.18%
TestLog::emit_unencrypted_events +13 ❌ +1.15%
ImportTest::public_dispatch +13 ❌ +1.13%
Uniswap::_approve_bridge_and_exit_input_asset_to_L1 +78 ❌ +1.12%
AMM::_remove_liquidity +78 ❌ +1.11%
Lending::_deposit +26 ❌ +1.09%
AvmTest::bulk_testing +260 ❌ +1.09%
CardGame::on_game_joined +52 ❌ +1.08%
NFT::_store_payload_in_transient_storage_unsafe +13 ❌ +1.08%
Token::_store_payload_in_transient_storage_unsafe +13 ❌ +1.08%
AMM::_add_liquidity +91 ❌ +1.06%
Test::consume_mint_to_public_message +117 ❌ +1.05%
Lending::public_dispatch +286 ❌ +1.02%
AvmTest::pedersen_commit +13 ❌ +1.01%
TokenBridge::claim_public +117 ❌ +1.00%
Lending::repay_public +26 ❌ +0.98%
Test::consume_message_from_arbitrary_sender_public +78 ❌ +0.96%
FPC::constructor +26 ❌ +0.96%
TokenBridge::constructor +26 ❌ +0.95%
CardGame::on_card_played +52 ❌ +0.94%
Lending::init +26 ❌ +0.94%
TokenBlacklist::get_roles +26 ❌ +0.94%
Lending::deposit_public +26 ❌ +0.94%
AvmTest::public_dispatch +598 ❌ +0.93%
Claim::constructor +26 ❌ +0.91%
Uniswap::swap_public +143 ❌ +0.90%
Uniswap::public_dispatch +221 ❌ +0.89%
TokenBridge::public_dispatch +182 ❌ +0.85%
AuthRegistry::consume +26 ❌ +0.85%
AvmTest::pedersen_hash +26 ❌ +0.84%
AvmTest::pedersen_hash_with_index +26 ❌ +0.84%
AvmTest::poseidon2_hash +13 ❌ +0.84%
Crowdfunding::public_dispatch +39 ❌ +0.83%
StatefulTest::increment_public_value_no_init_check +13 ❌ +0.83%
AuthRegistry::set_reject_all +13 ❌ +0.83%
AppSubscription::constructor +26 ❌ +0.83%
AvmTest::read_storage_map +13 ❌ +0.82%
Test::public_dispatch +156 ❌ +0.82%
StatefulTest::get_public_value +13 ❌ +0.81%
StatefulTest::increment_public_value +13 ❌ +0.81%
AuthRegistry::is_reject_all +13 ❌ +0.80%
AvmTest::set_storage_map +13 ❌ +0.80%
PriceFeed::get_price +13 ❌ +0.80%
Benchmarking::broadcast +13 ❌ +0.79%
NFT::public_dispatch +195 ❌ +0.79%
CardGame::start_game +52 ❌ +0.79%
NFT::_finish_transfer_to_public +13 ❌ +0.79%
Token::set_minter +13 ❌ +0.78%
Token::is_minter +13 ❌ +0.78%
NFT::set_minter +13 ❌ +0.78%
NFT::is_minter +13 ❌ +0.78%
PriceFeed::set_price +13 ❌ +0.78%
AuthRegistry::set_authorized +13 ❌ +0.78%
Auth::set_authorized +39 ❌ +0.77%
FeeJuice::balance_of_public +13 ❌ +0.76%
AuthRegistry::_set_authorized +13 ❌ +0.76%
Auth::set_authorized_delay +39 ❌ +0.75%
AvmTest::add_storage_map +13 ❌ +0.75%
AuthRegistry::is_consumable +13 ❌ +0.75%
Lending::_withdraw +65 ❌ +0.75%
TokenBlacklist::balance_of_public +13 ❌ +0.73%
Token::balance_of_public +13 ❌ +0.73%
NFT::transfer_in_public +26 ❌ +0.72%
Claim::public_dispatch +26 ❌ +0.71%
Benchmarking::public_dispatch +26 ❌ +0.70%
EasyPrivateVoting::add_to_tally_public +13 ❌ +0.69%
FPC::public_dispatch +52 ❌ +0.69%
TokenBlacklist::mint_private +26 ❌ +0.69%
AvmInitializerTest::constructor +13 ❌ +0.68%
TokenBlacklist::transfer_public +39 ❌ +0.65%
DocsExample::public_dispatch +26 ❌ +0.65%
Auth::get_authorized_delay +13 ❌ +0.65%
Lending::withdraw_public +13 ❌ +0.65%
Lending::borrow_public +13 ❌ +0.65%
TokenBlacklist::mint_public +26 ❌ +0.65%
Parent::public_dispatch +52 ❌ +0.64%
FeeJuice::_increase_public_balance +13 ❌ +0.64%
TokenBlacklist::shield +39 ❌ +0.63%
FeeJuice::check_balance +13 ❌ +0.62%
FPC::prepare_fee +13 ❌ +0.61%
AppSubscription::public_dispatch +26 ❌ +0.60%
StaticParent::public_nested_static_call +13 ❌ +0.60%
FPC::pay_refund +13 ❌ +0.60%
NFT::constructor +26 ❌ +0.60%
CardGame::public_dispatch +91 ❌ +0.60%
Token::constructor +26 ❌ +0.59%
NFT::owner_of +13 ❌ +0.58%
Benchmarking::increment_balance +13 ❌ +0.58%
TokenBridge::exit_to_l1_public +39 ❌ +0.58%
Spam::public_spam +13 ❌ +0.58%
Token::transfer_in_public +26 ❌ +0.58%
TokenBlacklist::_increase_public_balance +13 ❌ +0.56%
Token::_increase_public_balance +13 ❌ +0.56%
Lending::get_position +26 ❌ +0.55%
Child::public_dispatch +26 ❌ +0.53%
InclusionProofs::constructor +13 ❌ +0.52%
Uniswap::constructor +13 ❌ +0.50%
EasyPrivateVoting::constructor +13 ❌ +0.49%
Auth::constructor +13 ❌ +0.49%
NFT::mint +13 ❌ +0.49%
Token::mint_to_public +13 ❌ +0.49%
AvmInitializerTest::public_dispatch +13 ❌ +0.48%
TokenBlacklist::burn_public +26 ❌ +0.48%
Lending::_repay +26 ❌ +0.47%
Lending::update_accumulator +26 ❌ +0.47%
AMM::constructor +13 ❌ +0.46%
Crowdfunding::init +13 ❌ +0.46%
PriceFeed::public_dispatch +13 ❌ +0.44%
StatefulTest::public_constructor +13 ❌ +0.44%
StaticParent::public_dispatch +26 ❌ +0.43%
Spam::public_dispatch +13 ❌ +0.43%
StatefulTest::public_dispatch +26 ❌ +0.41%
TokenBlacklist::update_roles +26 ❌ +0.39%
TokenBlacklist::constructor +26 ❌ +0.37%
Lending::_borrow +26 ❌ +0.36%
InclusionProofs::public_dispatch +13 ❌ +0.33%
AuthRegistry::public_dispatch +26 ❌ +0.32%
Token::burn_public +13 ❌ +0.30%
Auth::public_dispatch +26 ❌ +0.27%
EasyPrivateVoting::public_dispatch +13 ❌ +0.26%
FeeJuice::public_dispatch +13 ❌ +0.26%
TokenBlacklist::public_dispatch +52 ❌ +0.21%
AMM::public_dispatch -189 ✅ -0.87%

Full diff report 👇
Program Bytecode size in bytes (+/-) %
AvmTest::nested_call_to_nothing_recovers 315 (+13) +4.30%
Crowdfunding::_publish_donation_receipts 948 (+26) +2.82%
AvmTest::n_storage_writes 1,662 (+39) +2.40%
AvmTest::emit_unencrypted_log 2,829 (+65) +2.35%
AvmTest::keccak_hash 2,415 (+52) +2.20%
AvmTest::returndata_copy_oracle 1,858 (+39) +2.14%
Token::public_dispatch 33,426 (+665) +2.03%
Test::emit_unencrypted 1,492 (+26) +1.77%
TestLog::public_dispatch 2,353 (+39) +1.69%
NFT::finalize_transfer_to_private 5,510 (+91) +1.68%
NFT::_finalize_transfer_to_private_unsafe 5,557 (+91) +1.66%
Token::finalize_mint_to_private 6,211 (+91) +1.49%
Token::_finalize_mint_to_private_unsafe 6,258 (+91) +1.48%
CardGame::on_cards_claimed 7,181 (+104) +1.47%
Parent::public_nested_static_call 3,625 (+52) +1.46%
Auth::get_scheduled_authorized 1,824 (+26) +1.45%
Token::complete_refund 5,616 (+78) +1.41%
Token::finalize_transfer_to_private 6,563 (+91) +1.41%
Token::_finalize_transfer_to_private_unsafe 6,610 (+91) +1.40%
AvmTest::get_args_hash 1,905 (+26) +1.38%
Auth::get_authorized 1,919 (+26) +1.37%
AvmTest::sha256_hash 4,019 (+52) +1.31%
Lending::get_asset 2,079 (+26) +1.27%
Test::create_l2_to_l1_message_public 2,223 (+26) +1.18%
TestLog::emit_unencrypted_events 1,144 (+13) +1.15%
ImportTest::public_dispatch 1,165 (+13) +1.13%
Uniswap::_approve_bridge_and_exit_input_asset_to_L1 7,054 (+78) +1.12%
AMM::_remove_liquidity 7,080 (+78) +1.11%
Lending::_deposit 2,411 (+26) +1.09%
AvmTest::bulk_testing 24,121 (+260) +1.09%
CardGame::on_game_joined 4,858 (+52) +1.08%
NFT::_store_payload_in_transient_storage_unsafe 1,215 (+13) +1.08%
Token::_store_payload_in_transient_storage_unsafe 1,215 (+13) +1.08%
AMM::_add_liquidity 8,693 (+91) +1.06%
Test::consume_mint_to_public_message 11,240 (+117) +1.05%
Lending::public_dispatch 28,323 (+286) +1.02%
AvmTest::pedersen_commit 1,297 (+13) +1.01%
TokenBridge::claim_public 11,773 (+117) +1.00%
Lending::repay_public 2,672 (+26) +0.98%
Test::consume_message_from_arbitrary_sender_public 8,161 (+78) +0.96%
FPC::constructor 2,737 (+26) +0.96%
TokenBridge::constructor 2,776 (+26) +0.95%
CardGame::on_card_played 5,555 (+52) +0.94%
Lending::init 2,789 (+26) +0.94%
TokenBlacklist::get_roles 2,795 (+26) +0.94%
Lending::deposit_public 2,802 (+26) +0.94%
AvmTest::public_dispatch 64,732 (+598) +0.93%
Claim::constructor 2,872 (+26) +0.91%
Uniswap::swap_public 16,067 (+143) +0.90%
Uniswap::public_dispatch 25,143 (+221) +0.89%
TokenBridge::public_dispatch 21,515 (+182) +0.85%
AuthRegistry::consume 3,101 (+26) +0.85%
AvmTest::pedersen_hash 3,116 (+26) +0.84%
AvmTest::pedersen_hash_with_index 3,116 (+26) +0.84%
AvmTest::poseidon2_hash 1,561 (+13) +0.84%
Crowdfunding::public_dispatch 4,724 (+39) +0.83%
StatefulTest::increment_public_value_no_init_check 1,577 (+13) +0.83%
AuthRegistry::set_reject_all 1,582 (+13) +0.83%
AppSubscription::constructor 3,165 (+26) +0.83%
AvmTest::read_storage_map 1,590 (+13) +0.82%
Test::public_dispatch 19,286 (+156) +0.82%
StatefulTest::get_public_value 1,616 (+13) +0.81%
StatefulTest::increment_public_value 1,626 (+13) +0.81%
AuthRegistry::is_reject_all 1,631 (+13) +0.80%
AvmTest::set_storage_map 1,635 (+13) +0.80%
PriceFeed::get_price 1,641 (+13) +0.80%
Benchmarking::broadcast 1,650 (+13) +0.79%
NFT::public_dispatch 24,807 (+195) +0.79%
CardGame::start_game 6,653 (+52) +0.79%
NFT::_finish_transfer_to_public 1,666 (+13) +0.79%
Token::set_minter 1,679 (+13) +0.78%
Token::is_minter 1,680 (+13) +0.78%
NFT::set_minter 1,684 (+13) +0.78%
NFT::is_minter 1,685 (+13) +0.78%
PriceFeed::set_price 1,685 (+13) +0.78%
AuthRegistry::set_authorized 1,686 (+13) +0.78%
Auth::set_authorized 5,109 (+39) +0.77%
FeeJuice::balance_of_public 1,729 (+13) +0.76%
AuthRegistry::_set_authorized 1,733 (+13) +0.76%
Auth::set_authorized_delay 5,205 (+39) +0.75%
AvmTest::add_storage_map 1,737 (+13) +0.75%
AuthRegistry::is_consumable 1,740 (+13) +0.75%
Lending::_withdraw 8,745 (+65) +0.75%
TokenBlacklist::balance_of_public 1,783 (+13) +0.73%
Token::balance_of_public 1,783 (+13) +0.73%
NFT::transfer_in_public 3,649 (+26) +0.72%
Claim::public_dispatch 3,663 (+26) +0.71%
Benchmarking::public_dispatch 3,742 (+26) +0.70%
EasyPrivateVoting::add_to_tally_public 1,889 (+13) +0.69%
FPC::public_dispatch 7,631 (+52) +0.69%
TokenBlacklist::mint_private 3,819 (+26) +0.69%
AvmInitializerTest::constructor 1,936 (+13) +0.68%
TokenBlacklist::transfer_public 6,040 (+39) +0.65%
DocsExample::public_dispatch 4,041 (+26) +0.65%
Auth::get_authorized_delay 2,022 (+13) +0.65%
Lending::withdraw_public 2,024 (+13) +0.65%
Lending::borrow_public 2,024 (+13) +0.65%
TokenBlacklist::mint_public 4,055 (+26) +0.65%
Parent::public_dispatch 8,125 (+52) +0.64%
FeeJuice::_increase_public_balance 2,055 (+13) +0.64%
TokenBlacklist::shield 6,241 (+39) +0.63%
FeeJuice::check_balance 2,102 (+13) +0.62%
FPC::prepare_fee 2,129 (+13) +0.61%
AppSubscription::public_dispatch 4,334 (+26) +0.60%
StaticParent::public_nested_static_call 2,176 (+13) +0.60%
FPC::pay_refund 2,184 (+13) +0.60%
NFT::constructor 4,369 (+26) +0.60%
CardGame::public_dispatch 15,323 (+91) +0.60%
Token::constructor 4,444 (+26) +0.59%
NFT::owner_of 2,250 (+13) +0.58%
Benchmarking::increment_balance 2,251 (+13) +0.58%
TokenBridge::exit_to_l1_public 6,757 (+39) +0.58%
Spam::public_spam 2,260 (+13) +0.58%
Token::transfer_in_public 4,529 (+26) +0.58%
TokenBlacklist::_increase_public_balance 2,314 (+13) +0.56%
Token::_increase_public_balance 2,314 (+13) +0.56%
Lending::get_position 4,728 (+26) +0.55%
Child::public_dispatch 4,948 (+26) +0.53%
InclusionProofs::constructor 2,536 (+13) +0.52%
Uniswap::constructor 2,605 (+13) +0.50%
EasyPrivateVoting::constructor 2,642 (+13) +0.49%
Auth::constructor 2,646 (+13) +0.49%
NFT::mint 2,670 (+13) +0.49%
Token::mint_to_public 2,689 (+13) +0.49%
AvmInitializerTest::public_dispatch 2,694 (+13) +0.48%
TokenBlacklist::burn_public 5,466 (+26) +0.48%
Lending::_repay 5,535 (+26) +0.47%
Lending::update_accumulator 5,573 (+26) +0.47%
AMM::constructor 2,824 (+13) +0.46%
Crowdfunding::init 2,839 (+13) +0.46%
PriceFeed::public_dispatch 2,960 (+13) +0.44%
StatefulTest::public_constructor 2,993 (+13) +0.44%
StaticParent::public_dispatch 6,068 (+26) +0.43%
Spam::public_dispatch 3,067 (+13) +0.43%
StatefulTest::public_dispatch 6,293 (+26) +0.41%
TokenBlacklist::update_roles 6,676 (+26) +0.39%
TokenBlacklist::constructor 6,995 (+26) +0.37%
Lending::_borrow 7,334 (+26) +0.36%
InclusionProofs::public_dispatch 3,958 (+13) +0.33%
AuthRegistry::public_dispatch 8,115 (+26) +0.32%
Token::burn_public 4,285 (+13) +0.30%
Auth::public_dispatch 9,618 (+26) +0.27%
EasyPrivateVoting::public_dispatch 4,993 (+13) +0.26%
FeeJuice::public_dispatch 5,017 (+13) +0.26%
TokenBlacklist::public_dispatch 24,598 (+52) +0.21%
AMM::public_dispatch 21,436 (-189) -0.87%

AztecBot added 3 commits December 13, 2024 08:09
…iant code motion (noir-lang/noir#6782)

feat: add `(x | 1)` optimization for booleans (noir-lang/noir#6795)
feat: `nargo test -q` (or `nargo test --format terse`) (noir-lang/noir#6776)
fix: disable failure persistance in nargo test fuzzing (noir-lang/noir#6777)
feat(cli): Verify `return` against ABI and `Prover.toml` (noir-lang/noir#6765)
chore(ssa): Activate loop invariant code motion on ACIR functions (noir-lang/noir#6785)
fix: use extension in docs link so it also works on GitHub (noir-lang/noir#6787)
fix: optimizer to keep track of changing opcode locations (noir-lang/noir#6781)
fix: Minimal change to avoid reverting entire PR #6685 (noir-lang/noir#6778)
…tion (noir-lang/noir#6782)

feat: add `(x | 1)` optimization for booleans (noir-lang/noir#6795)
feat: `nargo test -q` (or `nargo test --format terse`) (noir-lang/noir#6776)
fix: disable failure persistance in nargo test fuzzing (noir-lang/noir#6777)
feat(cli): Verify `return` against ABI and `Prover.toml` (noir-lang/noir#6765)
chore(ssa): Activate loop invariant code motion on ACIR functions (noir-lang/noir#6785)
fix: use extension in docs link so it also works on GitHub (noir-lang/noir#6787)
fix: optimizer to keep track of changing opcode locations (noir-lang/noir#6781)
fix: Minimal change to avoid reverting entire PR #6685 (noir-lang/noir#6778)
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