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: Sync from noir #10660

Merged
merged 7 commits into from
Dec 13, 2024
Merged

feat: Sync from noir #10660

merged 7 commits into from
Dec 13, 2024

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
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%

…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)
@TomAFrench TomAFrench merged commit 8956e28 into master Dec 13, 2024
73 checks passed
@TomAFrench TomAFrench deleted the sync-noir branch December 13, 2024 09:10
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