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 #8934

Merged
merged 18 commits into from
Oct 4, 2024
Merged

feat: Sync from noir #8934

merged 18 commits into from
Oct 4, 2024

Conversation

AztecBot
Copy link
Collaborator

@AztecBot AztecBot commented Oct 2, 2024

Automated pull of development from the noir programming language, a dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
fix: add missing visibility for auto-import names (noir-lang/noir#6205)
fix: don't warn twice when referring to private item (noir-lang/noir#6216)
feat: visibility for impl functions (noir-lang/noir#6179)
feat: Inclusive for loop (noir-lang/noir#6200)
chore: Release Noir(0.35.0) (noir-lang/noir#6030)
chore: revert mistaken stack size change (noir-lang/noir#6212)
chore: fix typo in code snippet (noir-lang/noir#6211)
feat: Sync from aztec-packages (noir-lang/noir#6210)
fix: ignore compression of blocks after msg.len in sha256_var (noir-lang/noir#6206)
feat(perf): Optimize array set from get (noir-lang/noir#6207)
chore(refactor): Array set optimization context struct for analysis (noir-lang/noir#6204)
fix: type variables by default should have Any kind (noir-lang/noir#6203)
feat: remove orphaned blocks from cfg to improve simplify_cfg pass. (noir-lang/noir#6198)
fix(ssa): Check if result of array set is used in value of another array set (noir-lang/noir#6197)
fix(docs): Rename recursion.md to recursion.mdx (noir-lang/noir#6195)
feat: skip remove_enable_side_effects pass on brillig functions (noir-lang/noir#6199)
feat!: Syncing TypeVariableKind with Kind (noir-lang/noir#6094)
feat(perf): Simplify the cfg after DIE (noir-lang/noir#6184)
feat: refactor SSA passes to run on individual functions (noir-lang/noir#6072)
chore: Remove macros_api module (noir-lang/noir#6190)
fix: ensure to_bytes returns the canonical decomposition (noir-lang/noir#6084)
chore: rename DefinitionKind::GenericType (noir-lang/noir#6182)
END_COMMIT_OVERRIDE

AztecBot and others added 10 commits October 2, 2024 08:02
…#6094)

feat(perf): Simplify the cfg after DIE (noir-lang/noir#6184)
feat: refactor SSA passes to run on individual functions (noir-lang/noir#6072)
chore: Remove macros_api module (noir-lang/noir#6190)
fix: ensure to_bytes returns the canonical decomposition (noir-lang/noir#6084)
chore: rename `DefinitionKind::GenericType` (noir-lang/noir#6182)
chore: revert mistaken stack size change (noir-lang/noir#6212)
chore: fix typo in code snippet (noir-lang/noir#6211)
feat: Sync from aztec-packages (noir-lang/noir#6210)
fix: ignore compression of blocks after msg.len in sha256_var (noir-lang/noir#6206)
feat(perf): Optimize array set from get (noir-lang/noir#6207)
chore(refactor): Array set optimization context struct for analysis (noir-lang/noir#6204)
fix: type variables by default should have Any kind (noir-lang/noir#6203)
feat: remove orphaned blocks from cfg to improve `simplify_cfg` pass. (noir-lang/noir#6198)
fix(ssa): Check if result of array set is used in value of another array set (noir-lang/noir#6197)
fix(docs): Rename recursion.md to recursion.mdx (noir-lang/noir#6195)
feat: skip `remove_enable_side_effects` pass on brillig functions (noir-lang/noir#6199)
feat!: Syncing TypeVariableKind with Kind (noir-lang/noir#6094)
feat(perf): Simplify the cfg after DIE (noir-lang/noir#6184)
feat: refactor SSA passes to run on individual functions (noir-lang/noir#6072)
chore: Remove macros_api module (noir-lang/noir#6190)
fix: ensure to_bytes returns the canonical decomposition (noir-lang/noir#6084)
chore: rename `DefinitionKind::GenericType` (noir-lang/noir#6182)
chore: revert mistaken stack size change (noir-lang/noir#6212)
chore: fix typo in code snippet (noir-lang/noir#6211)
feat: Sync from aztec-packages (noir-lang/noir#6210)
fix: ignore compression of blocks after msg.len in sha256_var (noir-lang/noir#6206)
feat(perf): Optimize array set from get (noir-lang/noir#6207)
chore(refactor): Array set optimization context struct for analysis (noir-lang/noir#6204)
fix: type variables by default should have Any kind (noir-lang/noir#6203)
feat: remove orphaned blocks from cfg to improve `simplify_cfg` pass. (noir-lang/noir#6198)
fix(ssa): Check if result of array set is used in value of another array set (noir-lang/noir#6197)
fix(docs): Rename recursion.md to recursion.mdx (noir-lang/noir#6195)
feat: skip `remove_enable_side_effects` pass on brillig functions (noir-lang/noir#6199)
feat!: Syncing TypeVariableKind with Kind (noir-lang/noir#6094)
feat(perf): Simplify the cfg after DIE (noir-lang/noir#6184)
feat: refactor SSA passes to run on individual functions (noir-lang/noir#6072)
chore: Remove macros_api module (noir-lang/noir#6190)
fix: ensure to_bytes returns the canonical decomposition (noir-lang/noir#6084)
chore: rename `DefinitionKind::GenericType` (noir-lang/noir#6182)
feat: Inclusive for loop (noir-lang/noir#6200)
chore: Release Noir(0.35.0) (noir-lang/noir#6030)
chore: revert mistaken stack size change (noir-lang/noir#6212)
chore: fix typo in code snippet (noir-lang/noir#6211)
feat: Sync from aztec-packages (noir-lang/noir#6210)
fix: ignore compression of blocks after msg.len in sha256_var (noir-lang/noir#6206)
feat(perf): Optimize array set from get (noir-lang/noir#6207)
chore(refactor): Array set optimization context struct for analysis (noir-lang/noir#6204)
fix: type variables by default should have Any kind (noir-lang/noir#6203)
feat: remove orphaned blocks from cfg to improve `simplify_cfg` pass. (noir-lang/noir#6198)
fix(ssa): Check if result of array set is used in value of another array set (noir-lang/noir#6197)
fix(docs): Rename recursion.md to recursion.mdx (noir-lang/noir#6195)
feat: skip `remove_enable_side_effects` pass on brillig functions (noir-lang/noir#6199)
feat!: Syncing TypeVariableKind with Kind (noir-lang/noir#6094)
feat(perf): Simplify the cfg after DIE (noir-lang/noir#6184)
feat: refactor SSA passes to run on individual functions (noir-lang/noir#6072)
chore: Remove macros_api module (noir-lang/noir#6190)
fix: ensure to_bytes returns the canonical decomposition (noir-lang/noir#6084)
chore: rename `DefinitionKind::GenericType` (noir-lang/noir#6182)
feat: Inclusive for loop (noir-lang/noir#6200)
chore: Release Noir(0.35.0) (noir-lang/noir#6030)
chore: revert mistaken stack size change (noir-lang/noir#6212)
chore: fix typo in code snippet (noir-lang/noir#6211)
feat: Sync from aztec-packages (noir-lang/noir#6210)
fix: ignore compression of blocks after msg.len in sha256_var (noir-lang/noir#6206)
feat(perf): Optimize array set from get (noir-lang/noir#6207)
chore(refactor): Array set optimization context struct for analysis (noir-lang/noir#6204)
fix: type variables by default should have Any kind (noir-lang/noir#6203)
feat: remove orphaned blocks from cfg to improve `simplify_cfg` pass. (noir-lang/noir#6198)
fix(ssa): Check if result of array set is used in value of another array set (noir-lang/noir#6197)
fix(docs): Rename recursion.md to recursion.mdx (noir-lang/noir#6195)
feat: skip `remove_enable_side_effects` pass on brillig functions (noir-lang/noir#6199)
feat!: Syncing TypeVariableKind with Kind (noir-lang/noir#6094)
feat(perf): Simplify the cfg after DIE (noir-lang/noir#6184)
feat: refactor SSA passes to run on individual functions (noir-lang/noir#6072)
chore: Remove macros_api module (noir-lang/noir#6190)
fix: ensure to_bytes returns the canonical decomposition (noir-lang/noir#6084)
chore: rename `DefinitionKind::GenericType` (noir-lang/noir#6182)
@TomAFrench TomAFrench enabled auto-merge (squash) October 3, 2024 13:45
Copy link
Contributor

github-actions bot commented Oct 3, 2024

Changes to public function bytecode sizes

Generated at commit: d27487381a620086c5933b6fa58b92916d9a463f, compared to commit: 7f2e29fd0042d7644e629dfe660533c681bf71a8

🧾 Summary (100% most significant diffs)

Program Bytecode size in bytes (+/-) %
Test::consume_mint_public_message +15 ❌ +0.11%
TokenBridge::exit_to_l1_public +9 ❌ +0.11%
Uniswap::swap_public +17 ❌ +0.11%
TokenBridge::claim_public +15 ❌ +0.10%
Test::consume_message_from_arbitrary_sender_public +6 ❌ +0.07%
Test::public_dispatch +21 ❌ +0.06%
Lending::update_accumulator -3 ✅ -0.02%
Parent::public_dispatch -3 ✅ -0.03%
CardGame::on_cards_claimed -3 ✅ -0.04%
CardGame::start_game -3 ✅ -0.04%
NFT::finalize_transfer_to_private -3 ✅ -0.05%
CardGame::on_game_joined -3 ✅ -0.06%
Parent::public_nested_static_call -3 ✅ -0.07%
Token::mint_private -3 ✅ -0.07%
AppSubscription::public_dispatch -6 ✅ -0.07%
AvmTest::bulk_testing -24 ✅ -0.08%
AvmTest::sha256_hash -3 ✅ -0.08%
AppSubscription::constructor -6 ✅ -0.10%
TokenBlacklist::mint_private -6 ✅ -0.10%
AvmInitializerTest::constructor -3 ✅ -0.10%
Lending::_borrow -16 ✅ -0.10%
Claim::public_dispatch -6 ✅ -0.11%
Lending::init -3 ✅ -0.11%
PrivateFPC::public_dispatch -6 ✅ -0.11%
Lending::public_dispatch -90 ✅ -0.11%
Token::constructor -9 ✅ -0.11%
Crowdfunding::init -6 ✅ -0.12%
Lending::get_position -9 ✅ -0.12%
DocsExample::public_dispatch -7 ✅ -0.12%
FeeJuice::public_dispatch -12 ✅ -0.12%
PriceFeed::public_dispatch -6 ✅ -0.12%
Token::assert_minter_and_mint -3 ✅ -0.12%
NFT::constructor -9 ✅ -0.12%
Uniswap::_approve_bridge_and_exit_input_asset_to_L1 -12 ✅ -0.13%
Benchmarking::public_dispatch -9 ✅ -0.13%
Spam::public_dispatch -6 ✅ -0.13%
Claim::constructor -6 ✅ -0.13%
Token::shield -12 ✅ -0.13%
EasyPrivateVoting::constructor -6 ✅ -0.13%
Auth::get_authorized_delay -3 ✅ -0.14%
FeeJuice::check_balance -3 ✅ -0.14%
TokenBridge::public_dispatch -45 ✅ -0.14%
TokenBridge::constructor -6 ✅ -0.14%
Auth::constructor -6 ✅ -0.14%
FPC::constructor -6 ✅ -0.14%
Uniswap::constructor -6 ✅ -0.14%
Lending::get_asset -3 ✅ -0.14%
PrivateFPC::constructor -6 ✅ -0.15%
NFT::set_minter -3 ✅ -0.15%
Token::set_minter -3 ✅ -0.15%
Auth::get_authorized -3 ✅ -0.15%
Benchmarking::increment_balance -6 ✅ -0.15%
StatefulTest::increment_public_value -3 ✅ -0.15%
TokenBlacklist::shield -18 ✅ -0.15%
TokenBlacklist::balance_of_public -3 ✅ -0.15%
Token::balance_of_public -3 ✅ -0.15%
StatefulTest::increment_public_value_no_init_check -3 ✅ -0.15%
FeeJuice::balance_of_public -3 ✅ -0.16%
Crowdfunding::public_dispatch -13 ✅ -0.16%
Auth::get_scheduled_authorized -3 ✅ -0.16%
NFT::is_minter -3 ✅ -0.16%
Token::is_minter -3 ✅ -0.16%
InclusionProofs::constructor -6 ✅ -0.16%
Benchmarking::broadcast -3 ✅ -0.16%
NFT::transfer_in_public -9 ✅ -0.16%
PriceFeed::get_price -3 ✅ -0.16%
Token::burn_public -12 ✅ -0.16%
AuthRegistry::is_reject_all -3 ✅ -0.16%
StatefulTest::get_public_value -3 ✅ -0.16%
AvmTest::read_storage_map -3 ✅ -0.17%
PriceFeed::set_price -3 ✅ -0.17%
NFT::_finish_transfer_to_public -3 ✅ -0.17%
Token::mint_public -9 ✅ -0.17%
Lending::_withdraw -23 ✅ -0.17%
AuthRegistry::set_reject_all -3 ✅ -0.17%
TokenBlacklist::burn_public -18 ✅ -0.17%
Spam::public_spam -6 ✅ -0.18%
EasyPrivateVoting::add_to_tally_public -6 ✅ -0.18%
TokenBlacklist::_increase_public_balance -6 ✅ -0.18%
Token::_increase_public_balance -6 ✅ -0.18%
Auth::set_authorized -18 ✅ -0.18%
TokenBlacklist::get_roles -6 ✅ -0.18%
FeeJuice::_increase_public_balance -6 ✅ -0.18%
AuthRegistry::public_dispatch -42 ✅ -0.18%
Auth::set_authorized_delay -18 ✅ -0.18%
NFT::owner_of -6 ✅ -0.18%
AvmTest::get_args_hash -3 ✅ -0.18%
Token::transfer_public -18 ✅ -0.18%
TokenBlacklist::update_roles -27 ✅ -0.18%
TokenBlacklist::mint_public -18 ✅ -0.19%
AvmTest::poseidon2_hash -3 ✅ -0.19%
TokenBlacklist::transfer_public -30 ✅ -0.19%
AuthRegistry::is_consumable -6 ✅ -0.20%
NFT::mint -12 ✅ -0.20%
AuthRegistry::_set_authorized -6 ✅ -0.20%
AuthRegistry::set_authorized -6 ✅ -0.20%
AvmTest::add_storage_map -9 ✅ -0.21%
AvmTest::set_storage_map -6 ✅ -0.21%
AuthRegistry::consume -18 ✅ -0.22%
TokenBlacklist::constructor -33 ✅ -0.22%
AvmTest::public_dispatch -219 ✅ -0.24%
Lending::_repay -23 ✅ -0.25%
TokenBlacklist::public_dispatch -332 ✅ -0.25%
Child::public_dispatch -14 ✅ -0.25%
AvmInitializerTest::public_dispatch -10 ✅ -0.27%
EasyPrivateVoting::public_dispatch -26 ✅ -0.28%
StatefulTest::public_constructor -13 ✅ -0.28%
StatefulTest::public_dispatch -36 ✅ -0.29%
Auth::public_dispatch -86 ✅ -0.29%
FPC::public_dispatch -41 ✅ -0.35%
InclusionProofs::public_dispatch -20 ✅ -0.35%
Uniswap::public_dispatch -120 ✅ -0.36%
Lending::_deposit -10 ✅ -0.40%
NFT::public_dispatch -167 ✅ -0.42%
Token::public_dispatch -312 ✅ -0.46%
CardGame::public_dispatch -334 ✅ -1.19%
Uniswap::_assert_token_is_same -7 ✅ -1.48%
AvmTest::nested_call_to_add_with_gas -14 ✅ -1.64%
Child::set_value_with_two_nested_calls -14 ✅ -1.86%
DocsExample::get_shared_immutable_constrained_public_indirect -11 ✅ -2.55%
CardGame::on_card_played -185 ✅ -3.13%
AvmTest::elliptic_curve_add_and_double -9 ✅ -5.00%

Full diff report 👇
Program Bytecode size in bytes (+/-) %
Test::consume_mint_public_message 13,378 (+15) +0.11%
TokenBridge::exit_to_l1_public 8,041 (+9) +0.11%
Uniswap::swap_public 15,359 (+17) +0.11%
TokenBridge::claim_public 14,814 (+15) +0.10%
Test::consume_message_from_arbitrary_sender_public 8,638 (+6) +0.07%
Test::public_dispatch 32,799 (+21) +0.06%
Lending::update_accumulator 12,818 (-3) -0.02%
Parent::public_dispatch 11,276 (-3) -0.03%
CardGame::on_cards_claimed 7,472 (-3) -0.04%
CardGame::start_game 7,282 (-3) -0.04%
NFT::finalize_transfer_to_private 6,177 (-3) -0.05%
CardGame::on_game_joined 4,764 (-3) -0.06%
Parent::public_nested_static_call 4,500 (-3) -0.07%
Token::mint_private 4,384 (-3) -0.07%
AppSubscription::public_dispatch 8,040 (-6) -0.07%
AvmTest::bulk_testing 31,964 (-24) -0.08%
AvmTest::sha256_hash 3,546 (-3) -0.08%
AppSubscription::constructor 6,071 (-6) -0.10%
TokenBlacklist::mint_private 5,860 (-6) -0.10%
AvmInitializerTest::constructor 2,877 (-3) -0.10%
Lending::_borrow 15,332 (-16) -0.10%
Claim::public_dispatch 5,705 (-6) -0.11%
Lending::init 2,765 (-3) -0.11%
PrivateFPC::public_dispatch 5,244 (-6) -0.11%
Lending::public_dispatch 78,527 (-90) -0.11%
Token::constructor 7,835 (-9) -0.11%
Crowdfunding::init 5,129 (-6) -0.12%
Lending::get_position 7,611 (-9) -0.12%
DocsExample::public_dispatch 5,800 (-7) -0.12%
FeeJuice::public_dispatch 9,863 (-12) -0.12%
PriceFeed::public_dispatch 4,929 (-6) -0.12%
Token::assert_minter_and_mint 2,455 (-3) -0.12%
NFT::constructor 7,346 (-9) -0.12%
Uniswap::_approve_bridge_and_exit_input_asset_to_L1 9,430 (-12) -0.13%
Benchmarking::public_dispatch 7,015 (-9) -0.13%
Spam::public_dispatch 4,556 (-6) -0.13%
Claim::constructor 4,555 (-6) -0.13%
Token::shield 8,920 (-12) -0.13%
EasyPrivateVoting::constructor 4,440 (-6) -0.13%
Auth::get_authorized_delay 2,216 (-3) -0.14%
FeeJuice::check_balance 2,176 (-3) -0.14%
TokenBridge::public_dispatch 32,234 (-45) -0.14%
TokenBridge::constructor 4,232 (-6) -0.14%
Auth::constructor 4,185 (-6) -0.14%
FPC::constructor 4,163 (-6) -0.14%
Uniswap::constructor 4,163 (-6) -0.14%
Lending::get_asset 2,075 (-3) -0.14%
PrivateFPC::constructor 4,094 (-6) -0.15%
NFT::set_minter 2,021 (-3) -0.15%
Token::set_minter 2,021 (-3) -0.15%
Auth::get_authorized 1,991 (-3) -0.15%
Benchmarking::increment_balance 3,978 (-6) -0.15%
StatefulTest::increment_public_value 1,989 (-3) -0.15%
TokenBlacklist::shield 11,884 (-18) -0.15%
TokenBlacklist::balance_of_public 1,967 (-3) -0.15%
Token::balance_of_public 1,967 (-3) -0.15%
StatefulTest::increment_public_value_no_init_check 1,944 (-3) -0.15%
FeeJuice::balance_of_public 1,917 (-3) -0.16%
Crowdfunding::public_dispatch 8,206 (-13) -0.16%
Auth::get_scheduled_authorized 1,890 (-3) -0.16%
NFT::is_minter 1,885 (-3) -0.16%
Token::is_minter 1,885 (-3) -0.16%
InclusionProofs::constructor 3,765 (-6) -0.16%
Benchmarking::broadcast 1,875 (-3) -0.16%
NFT::transfer_in_public 5,597 (-9) -0.16%
PriceFeed::get_price 1,856 (-3) -0.16%
Token::burn_public 7,351 (-12) -0.16%
AuthRegistry::is_reject_all 1,835 (-3) -0.16%
StatefulTest::get_public_value 1,825 (-3) -0.16%
AvmTest::read_storage_map 1,814 (-3) -0.17%
PriceFeed::set_price 1,810 (-3) -0.17%
NFT::_finish_transfer_to_public 1,786 (-3) -0.17%
Token::mint_public 5,247 (-9) -0.17%
Lending::_withdraw 13,345 (-23) -0.17%
AuthRegistry::set_reject_all 1,726 (-3) -0.17%
TokenBlacklist::burn_public 10,315 (-18) -0.17%
Spam::public_spam 3,390 (-6) -0.18%
EasyPrivateVoting::add_to_tally_public 3,384 (-6) -0.18%
TokenBlacklist::_increase_public_balance 3,381 (-6) -0.18%
Token::_increase_public_balance 3,381 (-6) -0.18%
Auth::set_authorized 10,096 (-18) -0.18%
TokenBlacklist::get_roles 3,347 (-6) -0.18%
FeeJuice::_increase_public_balance 3,336 (-6) -0.18%
AuthRegistry::public_dispatch 23,209 (-42) -0.18%
Auth::set_authorized_delay 9,900 (-18) -0.18%
NFT::owner_of 3,278 (-6) -0.18%
AvmTest::get_args_hash 1,629 (-3) -0.18%
Token::transfer_public 9,766 (-18) -0.18%
TokenBlacklist::update_roles 14,581 (-27) -0.18%
TokenBlacklist::mint_public 9,593 (-18) -0.19%
AvmTest::poseidon2_hash 1,563 (-3) -0.19%
TokenBlacklist::transfer_public 15,600 (-30) -0.19%
AuthRegistry::is_consumable 3,035 (-6) -0.20%
NFT::mint 5,936 (-12) -0.20%
AuthRegistry::_set_authorized 2,948 (-6) -0.20%
AuthRegistry::set_authorized 2,921 (-6) -0.20%
AvmTest::add_storage_map 4,203 (-9) -0.21%
AvmTest::set_storage_map 2,798 (-6) -0.21%
AuthRegistry::consume 8,240 (-18) -0.22%
TokenBlacklist::constructor 14,745 (-33) -0.22%
AvmTest::public_dispatch 92,360 (-219) -0.24%
Lending::_repay 9,364 (-23) -0.25%
TokenBlacklist::public_dispatch 130,933 (-332) -0.25%
Child::public_dispatch 5,494 (-14) -0.25%
AvmInitializerTest::public_dispatch 3,682 (-10) -0.27%
EasyPrivateVoting::public_dispatch 9,207 (-26) -0.28%
StatefulTest::public_constructor 4,558 (-13) -0.28%
StatefulTest::public_dispatch 12,516 (-36) -0.29%
Auth::public_dispatch 29,850 (-86) -0.29%
FPC::public_dispatch 11,738 (-41) -0.35%
InclusionProofs::public_dispatch 5,666 (-20) -0.35%
Uniswap::public_dispatch 33,525 (-120) -0.36%
Lending::_deposit 2,494 (-10) -0.40%
NFT::public_dispatch 39,970 (-167) -0.42%
Token::public_dispatch 67,222 (-312) -0.46%
CardGame::public_dispatch 27,822 (-334) -1.19%
Uniswap::_assert_token_is_same 467 (-7) -1.48%
AvmTest::nested_call_to_add_with_gas 838 (-14) -1.64%
Child::set_value_with_two_nested_calls 738 (-14) -1.86%
DocsExample::get_shared_immutable_constrained_public_indirect 421 (-11) -2.55%
CardGame::on_card_played 5,723 (-185) -3.13%
AvmTest::elliptic_curve_add_and_double 171 (-9) -5.00%

Copy link
Contributor

github-actions bot commented Oct 3, 2024

Changes to circuit sizes

Generated at commit: d27487381a620086c5933b6fa58b92916d9a463f, compared to commit: 7f2e29fd0042d7644e629dfe660533c681bf71a8

🧾 Summary (100% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
rollup_base +248,861 ❌ +58.83% +225,803 ❌ +6.81%
rollup_merge +2,188 ❌ +147.54% +1,974 ❌ +0.10%
parity_root +3,282 ❌ +155.03% +2,961 ❌ +0.08%
rollup_block_root +2,188 ❌ +111.29% +1,974 ❌ +0.07%
rollup_root +1,395 ❌ +7.40% +1,288 ❌ +0.07%
rollup_block_merge +1,395 ❌ +7.40% +1,288 ❌ +0.07%
parity_base +3,282 ❌ +157.11% 0 ➖ 0.00%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
rollup_base 671,887 (+248,861) +58.83% 3,541,069 (+225,803) +6.81%
rollup_merge 3,671 (+2,188) +147.54% 1,918,477 (+1,974) +0.10%
parity_root 5,399 (+3,282) +155.03% 3,819,849 (+2,961) +0.08%
rollup_block_root 4,154 (+2,188) +111.29% 2,870,753 (+1,974) +0.07%
rollup_root 20,239 (+1,395) +7.40% 1,954,031 (+1,288) +0.07%
rollup_block_merge 20,255 (+1,395) +7.40% 1,954,063 (+1,288) +0.07%
parity_base 5,371 (+3,282) +157.11% 53,408 (0) 0.00%

@TomAFrench
Copy link
Member

This needs some stuff which got deleted in the sync to be restored. A merge won't fix these errors.

AztecBot and others added 7 commits October 4, 2024 08:02
…ang/noir#6205)

fix: don't warn twice when referring to private item (noir-lang/noir#6216)
feat: visibility for impl functions (noir-lang/noir#6179)
feat: Inclusive for loop (noir-lang/noir#6200)
chore: Release Noir(0.35.0) (noir-lang/noir#6030)
chore: revert mistaken stack size change (noir-lang/noir#6212)
chore: fix typo in code snippet (noir-lang/noir#6211)
feat: Sync from aztec-packages (noir-lang/noir#6210)
fix: ignore compression of blocks after msg.len in sha256_var (noir-lang/noir#6206)
feat(perf): Optimize array set from get (noir-lang/noir#6207)
chore(refactor): Array set optimization context struct for analysis (noir-lang/noir#6204)
fix: type variables by default should have Any kind (noir-lang/noir#6203)
feat: remove orphaned blocks from cfg to improve `simplify_cfg` pass. (noir-lang/noir#6198)
fix(ssa): Check if result of array set is used in value of another array set (noir-lang/noir#6197)
fix(docs): Rename recursion.md to recursion.mdx (noir-lang/noir#6195)
feat: skip `remove_enable_side_effects` pass on brillig functions (noir-lang/noir#6199)
feat!: Syncing TypeVariableKind with Kind (noir-lang/noir#6094)
feat(perf): Simplify the cfg after DIE (noir-lang/noir#6184)
feat: refactor SSA passes to run on individual functions (noir-lang/noir#6072)
chore: Remove macros_api module (noir-lang/noir#6190)
fix: ensure to_bytes returns the canonical decomposition (noir-lang/noir#6084)
chore: rename `DefinitionKind::GenericType` (noir-lang/noir#6182)
fix: don't warn twice when referring to private item (noir-lang/noir#6216)
feat: visibility for impl functions (noir-lang/noir#6179)
feat: Inclusive for loop (noir-lang/noir#6200)
chore: Release Noir(0.35.0) (noir-lang/noir#6030)
chore: revert mistaken stack size change (noir-lang/noir#6212)
chore: fix typo in code snippet (noir-lang/noir#6211)
feat: Sync from aztec-packages (noir-lang/noir#6210)
fix: ignore compression of blocks after msg.len in sha256_var (noir-lang/noir#6206)
feat(perf): Optimize array set from get (noir-lang/noir#6207)
chore(refactor): Array set optimization context struct for analysis (noir-lang/noir#6204)
fix: type variables by default should have Any kind (noir-lang/noir#6203)
feat: remove orphaned blocks from cfg to improve `simplify_cfg` pass. (noir-lang/noir#6198)
fix(ssa): Check if result of array set is used in value of another array set (noir-lang/noir#6197)
fix(docs): Rename recursion.md to recursion.mdx (noir-lang/noir#6195)
feat: skip `remove_enable_side_effects` pass on brillig functions (noir-lang/noir#6199)
feat!: Syncing TypeVariableKind with Kind (noir-lang/noir#6094)
feat(perf): Simplify the cfg after DIE (noir-lang/noir#6184)
feat: refactor SSA passes to run on individual functions (noir-lang/noir#6072)
chore: Remove macros_api module (noir-lang/noir#6190)
fix: ensure to_bytes returns the canonical decomposition (noir-lang/noir#6084)
chore: rename `DefinitionKind::GenericType` (noir-lang/noir#6182)
@TomAFrench TomAFrench merged commit 0d5b116 into master Oct 4, 2024
50 checks passed
@TomAFrench TomAFrench deleted the sync-noir branch October 4, 2024 12:12
github-merge-queue bot pushed a commit to noir-lang/noir that referenced this pull request Oct 22, 2024
Automated pull of Noir development from
[aztec-packages](https://github.com/AztecProtocol/aztec-packages).
BEGIN_COMMIT_OVERRIDE
feat: Sync from noir
(AztecProtocol/aztec-packages#9275)
chore!: remove pedersen commitment
(AztecProtocol/aztec-packages#9107)
fix: remove need for duplicate attributes on each function
(AztecProtocol/aztec-packages#9244)
chore!: remove pedersen hash opcode
(AztecProtocol/aztec-packages#9245)
feat!: Brillig and AVM default all uninitialized memory cells to Field 0
(AztecProtocol/aztec-packages#9057)
feat: Sync from noir
(AztecProtocol/aztec-packages#9099)
chore: swap `pub` and `unconstrained` in function signatures
(AztecProtocol/aztec-packages#9237)
chore!: remove keccak256 opcode from ACIR/Brillig
(AztecProtocol/aztec-packages#9104)
feat!: Brillig with a stack and conditional inlining
(AztecProtocol/aztec-packages#8989)
feat: Integrate databus in the private kernels
(AztecProtocol/aztec-packages#9028)
feat: Sync from noir
(AztecProtocol/aztec-packages#9034)
chore: prove_then_verify_ultra_honk on all existing acir tests
(AztecProtocol/aztec-packages#9042)
refactor(avm)!: remove CMOV opcode
(AztecProtocol/aztec-packages#9030)
feat: Sync from noir
(AztecProtocol/aztec-packages#8934)
END_COMMIT_OVERRIDE

---------

Co-authored-by: TomAFrench <tom@tomfren.ch>
github-merge-queue bot pushed a commit to noir-lang/noir that referenced this pull request Oct 23, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>0.36.0</summary>

## [0.36.0](v0.35.0...v0.36.0)
(2024-10-22)


### ⚠ BREAKING CHANGES

* remove pedersen commitment
(AztecProtocol/aztec-packages#9107)
* remove pedersen hash opcode
(AztecProtocol/aztec-packages#9245)
* Brillig and AVM default all uninitialized memory cells to Field 0
(AztecProtocol/aztec-packages#9057)
* remove keccak256 opcode from ACIR/Brillig
(AztecProtocol/aztec-packages#9104)
* Brillig with a stack and conditional inlining
(AztecProtocol/aztec-packages#8989)
* **avm:** remove CMOV opcode
(AztecProtocol/aztec-packages#9030)
* Integer division is not the inverse of integer multiplication
([#6243](#6243))
* kind size checks
([#6137](#6137))
* Change tag attributes to require a ' prefix
([#6235](#6235))

### Features

* Add `checked_transmute`
([#6262](#6262))
([2618061](2618061))
* Add more `Type` and `UnresolvedType` methods
([#5994](#5994))
([8236cbd](8236cbd))
* Allow `unconstrained` after visibility
([#6246](#6246))
([f6dfbcf](f6dfbcf))
* Brillig and AVM default all uninitialized memory cells to Field 0
(AztecProtocol/aztec-packages#9057)
([70dcf4a](70dcf4a))
* Brillig with a stack and conditional inlining
(AztecProtocol/aztec-packages#8989)
([70dcf4a](70dcf4a))
* Don't crash LSP when there are errors resolving the workspace
([#6257](#6257))
([7cc7197](7cc7197))
* Don't suggest private struct fields in LSP
([#6256](#6256))
([2a727b3](2a727b3))
* Handwritten parser
([#6180](#6180))
([c4273a0](c4273a0))
* **improve:** Remove scan through globals
([#6282](#6282))
([fd91913](fd91913))
* Inclusive for loop
([#6200](#6200))
([bd861f2](bd861f2))
* Integrate databus in the private kernels
(AztecProtocol/aztec-packages#9028)
([70dcf4a](70dcf4a))
* **interpreter:** Comptime derive generators
([#6303](#6303))
([d8767b3](d8767b3))
* Kind size checks
([#6137](#6137))
([6e40f62](6e40f62))
* New formatter ([#6300](#6300))
([62404d7](62404d7))
* Optimize `Quoted::as_expr` by parsing just once
([#6237](#6237))
([a4fcd00](a4fcd00))
* Optimize reading a workspace's files
([#6281](#6281))
([b54ed26](b54ed26))
* **perf:** Flamegraphs for test program execution benchmarks
([#6253](#6253))
([c186791](c186791))
* **perf:** Follow array sets backwards in array set from get
optimization ([#6208](#6208))
([999071b](999071b))
* Recover from '=' instead of ':' in struct constructor/pattern
([#6236](#6236))
([9a12f31](9a12f31))
* Remove byte decomposition in `compute_decomposition`
([#6159](#6159))
([a8bcae2](a8bcae2))
* Show LSP diagnostic related information
([#6277](#6277))
([c8a91a5](c8a91a5))
* Slightly improve "unexpected token" error message
([#6279](#6279))
([8232bfa](8232bfa))
* Sync from noir
(AztecProtocol/aztec-packages#8934)
([70dcf4a](70dcf4a))
* Sync from noir
(AztecProtocol/aztec-packages#9034)
([70dcf4a](70dcf4a))
* Sync from noir
(AztecProtocol/aztec-packages#9099)
([70dcf4a](70dcf4a))
* Sync from noir
(AztecProtocol/aztec-packages#9275)
([70dcf4a](70dcf4a))
* **test:** Fuzz poseidon hases against an external library
([#6273](#6273))
([8d8ea89](8d8ea89))
* **test:** Fuzz test poseidon2 hash equivalence
([#6265](#6265))
([f61ba03](f61ba03))
* **test:** Fuzz test stdlib hash functions
([#6233](#6233))
([1a2ca46](1a2ca46))
* **test:** Include the PoseidonHasher in the fuzzing
([#6280](#6280))
([afb8a7c](afb8a7c))
* Trait inheritance
([#6252](#6252))
([d3301a4](d3301a4))
* Visibility for impl functions
([#6179](#6179))
([1b26440](1b26440))
* Visibility for struct fields
([#6221](#6221))
([fc1c7ab](fc1c7ab))
* Warn about private types leaking in public functions and struct fields
([#6296](#6296))
([67ac0d6](67ac0d6))


### Bug Fixes

* Add missing visibility for auto-import names
([#6205](#6205))
([c3cb38a](c3cb38a))
* Address inactive public key check in `verify_signature_noir`
([#6270](#6270))
([e4325aa](e4325aa))
* Allow array map on empty arrays
([#6305](#6305))
([51ae1b3](51ae1b3))
* Change tag attributes to require a ' prefix
([#6235](#6235))
([b43dcb2](b43dcb2))
* Check for Schnorr null signature
([#6226](#6226))
([2430920](2430920))
* Display function name and body when inlining recursion limit hit
([#6291](#6291))
([33a1e7d](33a1e7d))
* Do not warn on unused self in traits
([#6298](#6298))
([4d524bf](4d524bf))
* Don't warn on unuse global if it has an abi annotation
([#6258](#6258))
([e13f617](e13f617))
* Don't warn on unused struct that has an abi annotation
([#6254](#6254))
([8a31632](8a31632))
* Don't warn twice when referring to private item
([#6216](#6216))
([619c545](619c545))
* Enforce correctness of decompositions performed at compile time
([#6278](#6278))
([53252fd](53252fd))
* **frontend:** Do not warn when a nested struct is provided as input to
main ([#6239](#6239))
([9dfe223](9dfe223))
* Handle dfg databus in SSA normalization
([#6249](#6249))
([9d8bee5](9d8bee5))
* Handle nested arrays in calldata
([#6232](#6232))
([0ab8f5e](0ab8f5e))
* Homogeneous input points for EC ADD
([#6241](#6241))
([f6a7306](f6a7306))
* Integer division is not the inverse of integer multiplication
([#6243](#6243))
([1cd2587](1cd2587))
* Panic on composite types within databus
([#6225](#6225))
([29bd125](29bd125))
* Prevent compiler panic when popping from empty slices
([#6274](#6274))
([87137d8](87137d8))
* Reject invalid expression with in CLI parser
([#6287](#6287))
([052aee8](052aee8))
* Remove need for duplicate attributes on each function
(AztecProtocol/aztec-packages#9244)
([70dcf4a](70dcf4a))
* Visibility for impl methods
([#6261](#6261))
([70cbeb4](70cbeb4))


### Miscellaneous Chores

* Remove keccak256 opcode from ACIR/Brillig
(AztecProtocol/aztec-packages#9104)
([70dcf4a](70dcf4a))
* Remove pedersen commitment
(AztecProtocol/aztec-packages#9107)
([70dcf4a](70dcf4a))
* Remove pedersen hash opcode
(AztecProtocol/aztec-packages#9245)
([70dcf4a](70dcf4a))


### Code Refactoring

* **avm:** Remove CMOV opcode
(AztecProtocol/aztec-packages#9030)
([70dcf4a](70dcf4a))
</details>

<details><summary>0.52.0</summary>

## [0.52.0](v0.51.0...v0.52.0)
(2024-10-22)


### ⚠ BREAKING CHANGES

* remove pedersen commitment
(AztecProtocol/aztec-packages#9107)
* remove pedersen hash opcode
(AztecProtocol/aztec-packages#9245)
* Brillig and AVM default all uninitialized memory cells to Field 0
(AztecProtocol/aztec-packages#9057)
* remove keccak256 opcode from ACIR/Brillig
(AztecProtocol/aztec-packages#9104)
* Brillig with a stack and conditional inlining
(AztecProtocol/aztec-packages#8989)
* **avm:** remove CMOV opcode
(AztecProtocol/aztec-packages#9030)
* remove sha256 opcode
(AztecProtocol/aztec-packages#4571)
* add support for u1 in the avm, ToRadix's radix arg is a memory addr
(AztecProtocol/aztec-packages#8570)
* Add Not instruction in brillig
(AztecProtocol/aztec-packages#8488)
* **avm:** variants for SET opcode
(AztecProtocol/aztec-packages#8441)
* **avm/brillig:** take addresses in calldatacopy
(AztecProtocol/aztec-packages#8388)
* constant inputs for blackbox
(AztecProtocol/aztec-packages#7222)

### Features

* (bb) 128-bit challenges
(AztecProtocol/aztec-packages#8406)
([3c3ed1e](3c3ed1e))
* **acir_gen:** Width aware ACIR gen addition
([#5493](#5493))
([85fa592](85fa592))
* Add assertions for ACVM `FunctionInput` `bit_size`
([#5864](#5864))
([8712f4c](8712f4c))
* Add Not instruction in brillig
(AztecProtocol/aztec-packages#8488)
([95e19ab](95e19ab))
* Add recursive aggregation object to proving/verification keys
(AztecProtocol/aztec-packages#6770)
([4ea25db](4ea25db))
* Add reusable procedures to brillig generation
(AztecProtocol/aztec-packages#7981)
([5c4f19f](5c4f19f))
* Add support for u1 in the avm, ToRadix's radix arg is a memory addr
(AztecProtocol/aztec-packages#8570)
([e8bbce7](e8bbce7))
* Added indirect const instruction
(AztecProtocol/aztec-packages#8065)
([5c4f19f](5c4f19f))
* Adding aggregation to honk and rollup
(AztecProtocol/aztec-packages#7466)
([4ea25db](4ea25db))
* Automate verify_honk_proof input generation
(AztecProtocol/aztec-packages#8092)
([5c4f19f](5c4f19f))
* **avm/brillig:** Take addresses in calldatacopy
(AztecProtocol/aztec-packages#8388)
([3c3ed1e](3c3ed1e))
* **avm:** Variants for SET opcode
(AztecProtocol/aztec-packages#8441)
([3c3ed1e](3c3ed1e))
* Avoid heap allocs when going to/from field
(AztecProtocol/aztec-packages#7547)
([daad75c](daad75c))
* Brillig and AVM default all uninitialized memory cells to Field 0
(AztecProtocol/aztec-packages#9057)
([70dcf4a](70dcf4a))
* Brillig with a stack and conditional inlining
(AztecProtocol/aztec-packages#8989)
([70dcf4a](70dcf4a))
* Change the layout of arrays and vectors to be a single pointer
(AztecProtocol/aztec-packages#8448)
([d4832ec](d4832ec))
* Constant inputs for blackbox
(AztecProtocol/aztec-packages#7222)
([fb97bb9](fb97bb9))
* Hook up secondary calldata column in dsl
(AztecProtocol/aztec-packages#7759)
([4ea25db](4ea25db))
* Integrate databus in the private kernels
(AztecProtocol/aztec-packages#9028)
([70dcf4a](70dcf4a))
* Integrate new proving systems in e2e
(AztecProtocol/aztec-packages#6971)
([daad75c](daad75c))
* Make Brillig do integer arithmetic operations using u128 instead of
Bigint (AztecProtocol/aztec-packages#7518)
([daad75c](daad75c))
* Make token transfer be recursive
(AztecProtocol/aztec-packages#7730)
([4ea25db](4ea25db))
* New test programs for wasm benchmarking
(AztecProtocol/aztec-packages#8389)
([95e19ab](95e19ab))
* Note hashes as points
(AztecProtocol/aztec-packages#7618)
([4ea25db](4ea25db))
* Optimize allocating immediate amounts of memory
(AztecProtocol/aztec-packages#8579)
([e8bbce7](e8bbce7))
* Optimize constant array handling in brillig_gen
(AztecProtocol/aztec-packages#7661)
([4ea25db](4ea25db))
* Optimize to_radix
(AztecProtocol/aztec-packages#8073)
([5c4f19f](5c4f19f))
* Pass calldata ids to the backend
(AztecProtocol/aztec-packages#7875)
([4ea25db](4ea25db))
* Poseidon2 gates for Ultra arithmetisation
(AztecProtocol/aztec-packages#7494)
([5c4f19f](5c4f19f))
* **profiler:** Add support for brillig functions in opcodes-flamegraph
(AztecProtocol/aztec-packages#7698)
([4ea25db](4ea25db))
* Remove sha256 opcode
(AztecProtocol/aztec-packages#4571)
([e8bbce7](e8bbce7))
* Removing superfluous call to MSM
(AztecProtocol/aztec-packages#7708)
([4ea25db](4ea25db))
* Report gates and VKs of private protocol circuits with megahonk
(AztecProtocol/aztec-packages#7722)
([4ea25db](4ea25db))
* Simplify constant calls to `poseidon2_permutation`, `schnorr_verify`
and `embedded_curve_add`
([#5140](#5140))
([2823ba7](2823ba7))
* Small optimization in toradix
(AztecProtocol/aztec-packages#8040)
([5c4f19f](5c4f19f))
* Sync from noir
(AztecProtocol/aztec-packages#7392)
([fb97bb9](fb97bb9))
* Sync from noir
(AztecProtocol/aztec-packages#7400)
([fb97bb9](fb97bb9))
* Sync from noir
(AztecProtocol/aztec-packages#7432)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7444)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7454)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7512)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7577)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7583)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7743)
([4ea25db](4ea25db))
* Sync from noir
(AztecProtocol/aztec-packages#7862)
([4ea25db](4ea25db))
* Sync from noir
(AztecProtocol/aztec-packages#7945)
([4ea25db](4ea25db))
* Sync from noir
(AztecProtocol/aztec-packages#7958)
([5c4f19f](5c4f19f))
* Sync from noir
(AztecProtocol/aztec-packages#8008)
([5c4f19f](5c4f19f))
* Sync from noir
(AztecProtocol/aztec-packages#8093)
([5c4f19f](5c4f19f))
* Sync from noir
(AztecProtocol/aztec-packages#8125)
([f0c2686](f0c2686))
* Sync from noir
(AztecProtocol/aztec-packages#8237)
([f0c2686](f0c2686))
* Sync from noir
(AztecProtocol/aztec-packages#8423)
([3c3ed1e](3c3ed1e))
* Sync from noir
(AztecProtocol/aztec-packages#8435)
([3c3ed1e](3c3ed1e))
* Sync from noir
(AztecProtocol/aztec-packages#8466)
([3c3ed1e](3c3ed1e))
* Sync from noir
(AztecProtocol/aztec-packages#8482)
([d4832ec](d4832ec))
* Sync from noir
(AztecProtocol/aztec-packages#8512)
([95e19ab](95e19ab))
* Sync from noir
(AztecProtocol/aztec-packages#8526)
([95e19ab](95e19ab))
* Sync from noir
(AztecProtocol/aztec-packages#8934)
([70dcf4a](70dcf4a))
* Sync from noir
(AztecProtocol/aztec-packages#9034)
([70dcf4a](70dcf4a))
* Sync from noir
(AztecProtocol/aztec-packages#9099)
([70dcf4a](70dcf4a))
* Sync from noir
(AztecProtocol/aztec-packages#9275)
([70dcf4a](70dcf4a))
* **test:** Fuzz test poseidon2 hash equivalence
([#6265](#6265))
([f61ba03](f61ba03))
* **test:** Fuzz test stdlib hash functions
([#6233](#6233))
([1a2ca46](1a2ca46))
* TXE nr deployments, dependency cleanup for CLI
(AztecProtocol/aztec-packages#7548)
([4ea25db](4ea25db))
* Typing return values of embedded_curve_ops
(AztecProtocol/aztec-packages#7413)
([daad75c](daad75c))
* Unify all acir recursion constraints based on RecursionConstraint and
proof_type (AztecProtocol/aztec-packages#7993)
([5c4f19f](5c4f19f))


### Bug Fixes

* Add trailing extra arguments for backend in gates_flamegraph
(AztecProtocol/aztec-packages#7472)
([daad75c](daad75c))
* **debugger:** Update the debugger to handle the new Brillig debug
metadata format ([#5706](#5706))
([a31f82e](a31f82e))
* Deflatten databus visibilities
(AztecProtocol/aztec-packages#7761)
([4ea25db](4ea25db))
* Do not duplicate redundant Brillig debug metadata
([#5696](#5696))
([e4f7dbe](e4f7dbe))
* Export brillig names in contract functions
(AztecProtocol/aztec-packages#8212)
([f0c2686](f0c2686))
* Handle multiple entry points for Brillig call stack resolution after
metadata deduplication
([#5788](#5788))
([38fe9dd](38fe9dd))
* Homogeneous input points for EC ADD
([#6241](#6241))
([f6a7306](f6a7306))
* Move BigInt modulus checks to runtime in brillig
([#5374](#5374))
([741d339](741d339))
* Reject invalid expression with in CLI parser
([#6287](#6287))
([052aee8](052aee8))
* Remove need for duplicate attributes on each function
(AztecProtocol/aztec-packages#9244)
([70dcf4a](70dcf4a))
* Restrict keccak256_injective test input to 8 bits
([#5977](#5977))
([a1b1346](a1b1346))
* Revert "feat: Sync from noir
(AztecProtocol/aztec-packages#7512)"
(AztecProtocol/aztec-packages#7558)
([daad75c](daad75c))


### Miscellaneous Chores

* Remove keccak256 opcode from ACIR/Brillig
(AztecProtocol/aztec-packages#9104)
([70dcf4a](70dcf4a))
* Remove pedersen commitment
(AztecProtocol/aztec-packages#9107)
([70dcf4a](70dcf4a))
* Remove pedersen hash opcode
(AztecProtocol/aztec-packages#9245)
([70dcf4a](70dcf4a))


### Code Refactoring

* **avm:** Remove CMOV opcode
(AztecProtocol/aztec-packages#9030)
([70dcf4a](70dcf4a))
</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.

3 participants