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(docs): Function transforms (hidden macros) #7784

Merged
merged 37 commits into from
Oct 25, 2024

Conversation

catmcgee
Copy link
Contributor

@catmcgee catmcgee commented Aug 6, 2024

Closes AztecProtocol/dev-rel#309

Blocked by #7640

Copy link
Contributor

github-actions bot commented Aug 6, 2024

Changes to circuit sizes

Generated at commit: aed41305ddaa7061b44365fa4372ad532fe37bb2, compared to commit: 5bcc1365830cb862e9d0be90fef9298083058c4a

🧾 Summary (100% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
private_kernel_empty -26 ✅ -1.35% +1,033,495 ❌ +11831.65%
private_kernel_tail_to_public +429 ❌ +0.58% +283,300 ❌ +161.97%
private_kernel_tail +2,134 ❌ +11.49% +285,535 ❌ +112.45%
private_kernel_reset -4 ✅ -0.00% +447,066 ❌ +91.34%
private_kernel_reset_big -4 ✅ -0.00% +223,610 ❌ +79.68%
private_kernel_reset_medium -4 ✅ -0.01% +111,882 ❌ +63.48%
parity_base -2 ✅ -0.57% +28,854 ❌ +56.62%
private_kernel_reset_small -4 ✅ -0.01% +56,018 ❌ +45.12%
private_kernel_reset_tiny -4 ✅ -0.01% +28,086 ❌ +28.60%
private_kernel_init -29 ✅ -0.10% +9,012 ❌ +23.18%
private_kernel_inner -12 ✅ -0.02% +3,604 ❌ +5.38%
public_kernel_app_logic -7,430 ✅ -2.52% +29,369 ❌ +4.93%
public_kernel_setup -5,918 ✅ -2.73% +28,784 ❌ +1.83%
public_kernel_teardown -7,430 ✅ -2.51% +27,266 ❌ +1.65%
rollup_merge -2 ✅ -0.07% -2,107 ✅ -0.10%
parity_root -1 ✅ -0.02% -5,884 ✅ -0.14%
private_kernel_init_simulated 0 ➖ 0.00% -5 ✅ -0.23%
private_kernel_inner_simulated 0 ➖ 0.00% -5 ✅ -0.23%
private_kernel_reset_simulated 0 ➖ 0.00% -5 ✅ -0.23%
private_kernel_reset_simulated_big 0 ➖ 0.00% -5 ✅ -0.23%
private_kernel_reset_simulated_medium 0 ➖ 0.00% -5 ✅ -0.23%
private_kernel_reset_simulated_small 0 ➖ 0.00% -5 ✅ -0.23%
private_kernel_reset_simulated_tiny 0 ➖ 0.00% -5 ✅ -0.23%
rollup_root -41 ✅ -0.95% -33,971 ✅ -1.07%
rollup_base_simulated 0 ➖ 0.00% -1 ✅ -2.94%
public_kernel_app_logic_simulated 0 ➖ 0.00% -178 ✅ -4.92%
public_kernel_setup_simulated 0 ➖ 0.00% -178 ✅ -4.92%
public_kernel_teardown_simulated 0 ➖ 0.00% -178 ✅ -4.92%
private_kernel_tail_to_public_simulated 0 ➖ 0.00% -181 ✅ -5.00%
public_kernel_tail_simulated 0 ➖ 0.00% -26 ✅ -5.83%
private_kernel_empty_simulated 0 ➖ 0.00% -29 ✅ -6.46%
private_kernel_tail_simulated 0 ➖ 0.00% -29 ✅ -6.46%
empty_nested 0 ➖ +∞% -3 ✅ -37.50%
empty_nested_simulated 0 ➖ 0.00% -3 ✅ -37.50%
public_kernel_tail -38,348 ✅ -3.82% -4,625,400 ✅ -49.88%
rollup_base -2,998 ✅ -0.87% -4,772,520 ✅ -55.44%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
private_kernel_empty 1,893 (-26) -1.35% 1,042,230 (+1,033,495) +11831.65%
private_kernel_tail_to_public 74,832 (+429) +0.58% 458,209 (+283,300) +161.97%
private_kernel_tail 20,699 (+2,134) +11.49% 539,468 (+285,535) +112.45%
private_kernel_reset 108,938 (-4) -0.00% 936,494 (+447,066) +91.34%
private_kernel_reset_big 81,634 (-4) -0.00% 504,246 (+223,610) +79.68%
private_kernel_reset_medium 67,981 (-4) -0.01% 288,121 (+111,882) +63.48%
parity_base 347 (-2) -0.57% 79,811 (+28,854) +56.62%
private_kernel_reset_small 61,154 (-4) -0.01% 180,162 (+56,018) +45.12%
private_kernel_reset_tiny 57,742 (-4) -0.01% 126,272 (+28,086) +28.60%
private_kernel_init 28,592 (-29) -0.10% 47,896 (+9,012) +23.18%
private_kernel_inner 50,007 (-12) -0.02% 70,555 (+3,604) +5.38%
public_kernel_app_logic 287,026 (-7,430) -2.52% 625,357 (+29,369) +4.93%
public_kernel_setup 211,049 (-5,918) -2.73% 1,605,206 (+28,784) +1.83%
public_kernel_teardown 288,636 (-7,430) -2.51% 1,684,428 (+27,266) +1.65%
rollup_merge 2,850 (-2) -0.07% 2,092,928 (-2,107) -0.10%
parity_root 5,029 (-1) -0.02% 4,173,282 (-5,884) -0.14%
private_kernel_init_simulated 1 (0) 0.00% 2,170 (-5) -0.23%
private_kernel_inner_simulated 1 (0) 0.00% 2,170 (-5) -0.23%
private_kernel_reset_simulated 1 (0) 0.00% 2,170 (-5) -0.23%
private_kernel_reset_simulated_big 1 (0) 0.00% 2,170 (-5) -0.23%
private_kernel_reset_simulated_medium 1 (0) 0.00% 2,170 (-5) -0.23%
private_kernel_reset_simulated_small 1 (0) 0.00% 2,170 (-5) -0.23%
private_kernel_reset_simulated_tiny 1 (0) 0.00% 2,170 (-5) -0.23%
rollup_root 4,296 (-41) -0.95% 3,145,771 (-33,971) -1.07%
rollup_base_simulated 1 (0) 0.00% 33 (-1) -2.94%
public_kernel_app_logic_simulated 1 (0) 0.00% 3,440 (-178) -4.92%
public_kernel_setup_simulated 1 (0) 0.00% 3,440 (-178) -4.92%
public_kernel_teardown_simulated 1 (0) 0.00% 3,440 (-178) -4.92%
private_kernel_tail_to_public_simulated 1 (0) 0.00% 3,440 (-181) -5.00%
public_kernel_tail_simulated 1 (0) 0.00% 420 (-26) -5.83%
private_kernel_empty_simulated 1 (0) 0.00% 420 (-29) -6.46%
private_kernel_tail_simulated 1 (0) 0.00% 420 (-29) -6.46%
empty_nested 0 (0) +∞% 5 (-3) -37.50%
empty_nested_simulated 1 (0) 0.00% 5 (-3) -37.50%
public_kernel_tail 965,808 (-38,348) -3.82% 4,647,680 (-4,625,400) -49.88%
rollup_base 341,428 (-2,998) -0.87% 3,836,417 (-4,772,520) -55.44%

@AztecBot
Copy link
Collaborator

AztecBot commented Aug 6, 2024

Benchmark results

Metrics with a significant change:

  • proof_construction_time_sha256_100_ms (16): 6,960 (+23%)
  • batch_insert_into_append_only_tree_16_depth_ms (1): 10.4 (+386%)
  • batch_insert_into_append_only_tree_16_depth_ms (16): 16.9 (+335%)
  • batch_insert_into_append_only_tree_16_depth_hash_ms (1): 0.603 (+440%)
  • batch_insert_into_append_only_tree_16_depth_hash_ms (16): 0.520 (+372%)
  • app_circuit_witness_generation_time_in_ms (ContractInstanceDeployer:deploy): 27.9 (+54%)
  • app_circuit_witness_generation_time_in_ms (MultiCallEntrypoint:entrypoint): 611 (+29%)
  • app_circuit_witness_generation_time_in_ms (GasToken:deploy): 446 (+16%)
  • app_circuit_witness_generation_time_in_ms (SchnorrAccount:constructor): 438 (+147%)
  • app_circuit_witness_generation_time_in_ms (SchnorrAccount:entrypoint): 823 (+45%)
  • app_circuit_witness_generation_time_in_ms (Token:privately_mint_private_note): 521 (+132%)
  • app_circuit_witness_generation_time_in_ms (FPC:fee_entrypoint_public): 89.9 (+170%)
  • app_circuit_witness_generation_time_in_ms (Token:transfer): 1,293 (+59%)
  • app_circuit_witness_generation_time_in_ms (Benchmarking:create_note): 422 (+148%)
  • app_circuit_witness_generation_time_in_ms (SchnorrAccount:verify_private_authwit): 45.8 (+67%)
  • app_circuit_witness_generation_time_in_ms (Token:unshield): 1,085 (+44%)
  • app_circuit_witness_generation_time_in_ms (FPC:fee_entrypoint_private): 1,392 (+40%)
  • app_circuit_input_size_in_bytes (Token:transfer_public (avm)): 46,817 (-24%)
  • app_circuit_input_size_in_bytes (AuthRegistry:consume (avm)): 26,670 (-36%)
  • protocol_circuit_simulation_time_in_ms (root-rollup): 158 (+61%)
  • protocol_circuit_simulation_time_in_ms (private-kernel-reset-tiny): 226 (+16%)
  • protocol_circuit_simulation_time_in_ms (private-kernel-tail-to-public): 4,157 (+57%)
  • batch_insert_into_append_only_tree_32_depth_ms (64): 48.3 (+333%)
  • batch_insert_into_append_only_tree_32_depth_ms (128): 76.5 (+326%)
  • batch_insert_into_append_only_tree_32_depth_ms (256): 132 (+313%)
  • batch_insert_into_append_only_tree_32_depth_ms (512): 245 (+311%)
  • batch_insert_into_append_only_tree_32_depth_ms (1024): 501 (+343%)
  • batch_insert_into_append_only_tree_32_depth_hash_ms (64): 0.494 (+360%)
  • batch_insert_into_append_only_tree_32_depth_hash_ms (128): 0.469 (+350%)
  • batch_insert_into_append_only_tree_32_depth_hash_ms (256): 0.454 (+338%)
  • batch_insert_into_append_only_tree_32_depth_hash_ms (512): 0.444 (+331%)
  • batch_insert_into_append_only_tree_32_depth_hash_ms (1024): 0.467 (+359%)
  • batch_insert_into_indexed_tree_40_depth_ms (64): 73.4 (+345%)
  • batch_insert_into_indexed_tree_40_depth_hash_ms (64): 0.522 (+395%)
  • batch_insert_into_indexed_tree_20_depth_ms (64): 60.1 (+320%)
  • batch_insert_into_indexed_tree_20_depth_ms (128): 114 (+348%)
  • batch_insert_into_indexed_tree_20_depth_ms (256): 184 (+319%)
  • batch_insert_into_indexed_tree_20_depth_ms (512): 352 (+327%)
  • batch_insert_into_indexed_tree_20_depth_ms (1024): 703 (+337%)
  • batch_insert_into_indexed_tree_20_depth_hash_ms (64): 0.507 (+367%)
  • batch_insert_into_indexed_tree_20_depth_hash_ms (128): 0.510 (+396%)
  • batch_insert_into_indexed_tree_20_depth_hash_ms (256): 0.487 (+355%)
  • batch_insert_into_indexed_tree_20_depth_hash_ms (512): 0.476 (+368%)
  • batch_insert_into_indexed_tree_20_depth_hash_ms (1024): 0.482 (+368%)
  • avm_simulation_time_ms (GasToken:set_portal): 16.3 (+55%)
  • avm_simulation_time_ms (FPC:pay_refund): 81.1 (+32%)
  • avm_simulation_time_ms (Token:_increase_public_balance): 12.2 (-84%)
  • avm_simulation_time_ms (FPC:pay_refund_with_shielded_rebate): 144 (+106%)
  • avm_simulation_bytecode_size_in_bytes (Token:constructor): 16,400 (-47%)
  • avm_simulation_bytecode_size_in_bytes (FPC:constructor): 9,304 (-61%)
  • avm_simulation_bytecode_size_in_bytes (Token:transfer_public): 32,641 (-31%)
  • protocol_circuit_witness_generation_time_in_ms (private-kernel-tail): 1,001 (+17%)
  • protocol_circuit_proving_time_in_ms (base-parity): 1,312 (+21%)
  • protocol_circuit_proving_time_in_ms (base-rollup): 41,120 (-53%)
  • protocol_circuit_proving_time_in_ms (public-kernel-tail): 62,433 (-33%)
  • protocol_circuit_size_in_gates (base-parity): 131,072 (+100%)
  • protocol_circuit_size_in_gates (base-rollup): 4,194,304 (-75%)
  • protocol_circuit_size_in_gates (public-kernel-tail): 8,388,608 (-50%)
  • app_circuit_proving_time_in_ms (AuthRegistry:set_authorized (avm)): 2,134 (-20%)
  • app_circuit_proving_time_in_ms (FPC:prepare_fee (avm)): 2,367 (-31%)
  • app_circuit_proving_time_in_ms (Token:transfer_public (avm)): 6,181 (-65%)
  • app_circuit_proving_time_in_ms (AuthRegistry:consume (avm)): 2,648 (-66%)
  • app_circuit_proving_time_in_ms (FPC:pay_refund (avm)): 3,487 (-52%)
  • app_circuit_proof_size_in_bytes (AuthRegistry:set_authorized (avm)): 102,048 (-31%)
  • app_circuit_proof_size_in_bytes (FPC:prepare_fee (avm)): 102,112 (-31%)
  • app_circuit_proof_size_in_bytes (Token:transfer_public (avm)): 102,112 (-31%)
  • app_circuit_proof_size_in_bytes (AuthRegistry:consume (avm)): 102,080 (-31%)
  • app_circuit_proof_size_in_bytes (FPC:pay_refund (avm)): 102,080 (-31%)
  • l2_block_processing_time_in_ms (4): 771 (+178%)
  • l2_block_processing_time_in_ms (8): 1,415 (+212%)
  • l2_block_processing_time_in_ms (16): 2,850 (+256%)
  • node_history_sync_time_in_ms (3): 7,028 (+160%)
  • node_history_sync_time_in_ms (5): 9,872 (+163%)
Detailed results

All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.

This benchmark source data is available in JSON format on S3 here.

Proof generation

Each column represents the number of threads used in proof generation.

Metric 1 threads 4 threads 16 threads 32 threads 64 threads
proof_construction_time_sha256_ms 5,772 (+1%) 1,555 (+1%) 708 758 (+1%) 764
proof_construction_time_sha256_30_ms 11,831 (+1%) 3,179 (+1%) 1,412 (+1%) 1,438 1,481 (+1%)
proof_construction_time_sha256_100_ms 44,184 (+1%) 12,579 (+1%) ⚠️ 6,960 (+23%) 5,490 (-1%) 5,520 (+1%)
proof_construction_time_poseidon_hash_ms 79.0 (+1%) 42.0 (+24%) 34.0 (-23%) 58.0 (-11%) 87.0 (-4%)
proof_construction_time_poseidon_hash_30_ms 1,528 (+1%) 420 (+1%) 200 226 266
proof_construction_time_poseidon_hash_100_ms 5,658 (+1%) 1,531 (+1%) 672 748 (+4%) 756 (+1%)

L2 block published to L1

Each column represents the number of txs on an L2 block published to L1.

Metric 4 txs 8 txs 16 txs
l1_rollup_calldata_size_in_bytes 708 (-4%) 708 (-4%) 708 (-4%)
l1_rollup_calldata_gas 6,600 (-2%) 6,588 (-2%) 6,588 (-2%)
l1_rollup_execution_gas 611,442 611,581 611,732
l2_block_processing_time_in_ms ⚠️ 771 (+178%) ⚠️ 1,415 (+212%) ⚠️ 2,850 (+256%)
l2_block_building_time_in_ms 10,205 (+7%) 19,824 (+4%) 39,459 (+8%)
l2_block_rollup_simulation_time_in_ms 10,205 (+7%) 19,824 (+4%) 39,458 (+8%)
l2_block_public_tx_process_time_in_ms 8,518 (+8%) 17,912 (+3%) 37,474 (+8%)

L2 chain processing

Each column represents the number of blocks on the L2 chain where each block has 8 txs.

Metric 3 blocks 5 blocks
node_history_sync_time_in_ms ⚠️ 7,028 (+160%) ⚠️ 9,872 (+163%)
node_database_size_in_bytes 12,738,640 16,945,232
pxe_database_size_in_bytes 16,254 26,813

Circuits stats

Stats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.

Circuit simulation_time_in_ms witness_generation_time_in_ms input_size_in_bytes output_size_in_bytes proving_time_in_ms proof_size_in_bytes num_public_inputs size_in_gates
private-kernel-init 106 (+13%) 425 (+4%) 21,718 (-1%) 44,795 N/A N/A N/A N/A
private-kernel-inner 182 (+9%) 744 (+3%) 72,440 44,942 N/A N/A N/A N/A
private-kernel-tail 729 (+7%) ⚠️ 1,001 (+17%) 52,998 (-1%) 46,729 (-6%) N/A N/A N/A N/A
base-parity 6.65 (+13%) 647 (+12%) 160 96.0 ⚠️ 1,312 (+21%) 13,188 19.0 ⚠️ 131,072 (+100%)
root-parity 113 (+2%) 113 (+2%) 69,084 96.0 27,813 13,188 19.0 4,194,304
base-rollup 3,255 (+8%) 5,033 (-9%) 182,192 632 (-5%) ⚠️ 41,120 (-53%) 13,988 44.0 (-2%) ⚠️ 4,194,304 (-75%)
root-rollup ⚠️ 158 (+61%) 112 (+13%) 54,461 684 (-4%) 25,535 13,956 43.0 (-2%) 4,194,304
public-kernel-setup 88.2 (-2%) 2,645 (-3%) 98,393 (-4%) 65,654 (-6%) 16,011 (+4%) 123,012 (-3%) 3,451 (-4%) 2,097,152
public-kernel-app-logic 101 (-5%) 3,976 (-4%) 98,393 (-4%) 65,654 (-6%) 9,629 (+5%) 123,012 (-3%) 3,451 (-4%) 1,048,576
public-kernel-tail 627 (+5%) 24,489 (-15%) 396,134 (-2%) 10,814 (-1%) ⚠️ 62,433 (-33%) 26,372 431 ⚠️ 8,388,608 (-50%)
private-kernel-reset-tiny ⚠️ 226 (+16%) 955 (+10%) 68,504 44,687 N/A N/A N/A N/A
private-kernel-tail-to-public ⚠️ 4,157 (+57%) 1,716 (+7%) 918,792 (-6%) 1,697 N/A N/A N/A N/A
public-kernel-teardown 83.6 (-3%) 4,092 (-2%) 98,393 (-4%) 65,654 (-6%) 17,250 (+6%) 123,012 (-3%) 3,451 (-4%) 2,097,152
merge-rollup 61.0 (+2%) N/A 35,678 632 (-5%) N/A N/A N/A N/A
undefined N/A N/A N/A N/A 157,231 (+6%) N/A N/A N/A

Stats on running time collected for app circuits

Function input_size_in_bytes output_size_in_bytes witness_generation_time_in_ms proof_size_in_bytes proving_time_in_ms
ContractClassRegisterer:register 1,312 (-2%) 11,699 348 (+3%) N/A N/A
ContractInstanceDeployer:deploy 1,376 (-2%) 11,699 ⚠️ 27.9 (+54%) N/A N/A
MultiCallEntrypoint:entrypoint 1,888 (-2%) 11,699 ⚠️ 611 (+29%) N/A N/A
GasToken:deploy 1,344 (-2%) 11,699 ⚠️ 446 (+16%) N/A N/A
SchnorrAccount:constructor 1,280 (-2%) 11,699 ⚠️ 438 (+147%) N/A N/A
SchnorrAccount:entrypoint 2,272 (-1%) 11,699 ⚠️ 823 (+45%) N/A N/A
Token:privately_mint_private_note 1,248 (-2%) 11,699 ⚠️ 521 (+132%) N/A N/A
FPC:fee_entrypoint_public 1,312 (-2%) 11,699 ⚠️ 89.9 (+170%) N/A N/A
Token:transfer 1,280 (-2%) 11,699 ⚠️ 1,293 (+59%) N/A N/A
AuthRegistry:set_authorized (avm) 18,427 N/A N/A ⚠️ 102,048 (-31%) ⚠️ 2,134 (-20%)
FPC:prepare_fee (avm) 22,894 N/A N/A ⚠️ 102,112 (-31%) ⚠️ 2,367 (-31%)
Token:transfer_public (avm) ⚠️ 46,817 (-24%) N/A N/A ⚠️ 102,112 (-31%) ⚠️ 6,181 (-65%)
AuthRegistry:consume (avm) ⚠️ 26,670 (-36%) N/A N/A ⚠️ 102,080 (-31%) ⚠️ 2,648 (-66%)
FPC:pay_refund (avm) 26,163 N/A N/A ⚠️ 102,080 (-31%) ⚠️ 3,487 (-52%)
Benchmarking:create_note 1,312 (-2%) 11,699 ⚠️ 422 (+148%) N/A N/A
SchnorrAccount:verify_private_authwit 1,248 (-2%) 11,699 ⚠️ 45.8 (+67%) N/A N/A
Token:unshield 1,344 (-2%) 11,699 ⚠️ 1,085 (+44%) N/A N/A
FPC:fee_entrypoint_private 1,344 (-2%) 11,699 ⚠️ 1,392 (+40%) N/A N/A

AVM Simulation

Time to simulate various public functions in the AVM.

Function time_ms bytecode_size_in_bytes
GasToken:_increase_public_balance 94.8 (+3%) 8,139
GasToken:set_portal ⚠️ 16.3 (+55%) 2,362
Token:constructor 94.0 (-23%) ⚠️ 16,400 (-47%)
FPC:constructor 94.2 (+1%) ⚠️ 9,304 (-61%)
GasToken:mint_public 84.7 (+8%) 6,150
Token:mint_public 90.6 (+7%) 11,720
Token:assert_minter_and_mint 104 (+9%) 8,028
AuthRegistry:set_authorized 9.27 (+21%) 4,537
FPC:prepare_fee 267 (-7%) 8,812
Token:transfer_public 29.7 (+14%) ⚠️ 32,641 (-31%)
FPC:pay_refund ⚠️ 81.1 (+32%) 12,114
Benchmarking:increment_balance 992 (+1%) 7,450
Token:_increase_public_balance ⚠️ 12.2 (-84%) 8,960
FPC:pay_refund_with_shielded_rebate ⚠️ 144 (+106%) 12,663

Public DB Access

Time to access various public DBs.

Function time_ms
get-nullifier-index 0.147 (-4%)

Tree insertion stats

The duration to insert a fixed batch of leaves into each tree type.

Metric 1 leaves 16 leaves 64 leaves 128 leaves 256 leaves 512 leaves 1024 leaves
batch_insert_into_append_only_tree_16_depth_ms ⚠️ 10.4 (+386%) ⚠️ 16.9 (+335%) N/A N/A N/A N/A N/A
batch_insert_into_append_only_tree_16_depth_hash_count 16.8 31.7 N/A N/A N/A N/A N/A
batch_insert_into_append_only_tree_16_depth_hash_ms ⚠️ 0.603 (+440%) ⚠️ 0.520 (+372%) N/A N/A N/A N/A N/A
batch_insert_into_append_only_tree_32_depth_ms N/A N/A ⚠️ 48.3 (+333%) ⚠️ 76.5 (+326%) ⚠️ 132 (+313%) ⚠️ 245 (+311%) ⚠️ 501 (+343%)
batch_insert_into_append_only_tree_32_depth_hash_count N/A N/A 95.9 159 287 543 1,055
batch_insert_into_append_only_tree_32_depth_hash_ms N/A N/A ⚠️ 0.494 (+360%) ⚠️ 0.469 (+350%) ⚠️ 0.454 (+338%) ⚠️ 0.444 (+331%) ⚠️ 0.467 (+359%)
batch_insert_into_indexed_tree_20_depth_ms N/A N/A ⚠️ 60.1 (+320%) ⚠️ 114 (+348%) ⚠️ 184 (+319%) ⚠️ 352 (+327%) ⚠️ 703 (+337%)
batch_insert_into_indexed_tree_20_depth_hash_count N/A N/A 109 207 355 691 1,363
batch_insert_into_indexed_tree_20_depth_hash_ms N/A N/A ⚠️ 0.507 (+367%) ⚠️ 0.510 (+396%) ⚠️ 0.487 (+355%) ⚠️ 0.476 (+368%) ⚠️ 0.482 (+368%)
batch_insert_into_indexed_tree_40_depth_ms N/A N/A ⚠️ 73.4 (+345%) N/A N/A N/A N/A
batch_insert_into_indexed_tree_40_depth_hash_count N/A N/A 133 N/A N/A N/A N/A
batch_insert_into_indexed_tree_40_depth_hash_ms N/A N/A ⚠️ 0.522 (+395%) N/A N/A N/A N/A

Miscellaneous

Transaction sizes based on how many contract classes are registered in the tx.

Metric 0 registered classes 1 registered classes
tx_size_in_bytes 59,027 (-6%) 663,408

Transaction size based on fee payment method

| Metric | |
| - | |

@AztecBot
Copy link
Collaborator

AztecBot commented Aug 6, 2024

Docs Preview

Hey there! 👋 You can check your preview at https://671b9cc874664d22e6b72273--aztec-docs-dev.netlify.app

@critesjosh critesjosh self-requested a review August 6, 2024 19:58
@catmcgee catmcgee requested a review from a team August 7, 2024 08:19
@critesjosh critesjosh self-requested a review August 27, 2024 13:50
@catmcgee catmcgee enabled auto-merge (squash) September 18, 2024 14:44
@catmcgee
Copy link
Contributor Author

fk this fking pr why are there so many conflicts

@catmcgee catmcgee merged commit 831cc66 into master Oct 25, 2024
44 checks passed
@catmcgee catmcgee deleted the docs/function-transforms branch October 25, 2024 13:35
TomAFrench pushed a commit that referenced this pull request Oct 30, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.61.0</summary>

##
[0.61.0](aztec-package-v0.60.0...aztec-package-v0.61.0)
(2024-10-30)


### Miscellaneous

* **aztec-package:** Synchronize aztec-packages versions
</details>

<details><summary>barretenberg.js: 0.61.0</summary>

##
[0.61.0](barretenberg.js-v0.60.0...barretenberg.js-v0.61.0)
(2024-10-30)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

<details><summary>aztec-packages: 0.61.0</summary>

##
[0.61.0](aztec-packages-v0.60.0...aztec-packages-v0.61.0)
(2024-10-30)


### ⚠ BREAKING CHANGES

* **avm:** cleanup CALL
([#9551](#9551))
* **avm:** returndatasize + returndatacopy
([#9475](#9475))
* use Brillig opcode when possible for less-than operations on fields
([#9416](#9416))
* **profiler:** New flamegraph command that profiles the opcodes
executed (noir-lang/noir#6327)
* split base rollup and remove public kernel proving
([#9434](#9434))
* getcontractinstance instruction returns only a specified member
([#9300](#9300))
* **avm/brillig:** revert/rethrow oracle
([#9408](#9408))

### Features

* `bytes_to_fields` requiring only 1 generic param
([#9417](#9417))
([2217da6](2217da6))
* 20-30% cost reduction in recursive ipa algorithm
([#9420](#9420))
([a4bd3e1](a4bd3e1))
* Add capacities to brillig vectors and use them in slice ops
(noir-lang/noir#6332)
([b82f3d1](b82f3d1))
* Added indexes and a way to store/retrieve tagged secrets
([#9468](#9468))
([1c685b1](1c685b1))
* **avm/brillig:** Revert/rethrow oracle
([#9408](#9408))
([1bbd724](1bbd724))
* **avm:** Avm replace zeromorph pcs by shplemini
([#9389](#9389))
([07d6dc2](07d6dc2))
* **avm:** Cleanup CALL
([#9551](#9551))
([26adc55](26adc55))
* **avm:** Merkle tree gadget
([#9205](#9205))
([d52b616](d52b616))
* **avm:** Returndatasize + returndatacopy
([#9475](#9475))
([8f71006](8f71006))
* **avm:** Trace contract class and contract instance
([#8840](#8840))
([84205d8](84205d8))
* Better LSP hover for functions
(noir-lang/noir#6376)
([b82f3d1](b82f3d1))
* Bytecode hashing init
([#8535](#8535))
([2bb09e5](2bb09e5))
* Check trait where clause (noir-lang/noir#6325)
([d67381b](d67381b))
* Comptime deriving generators in macros
([#9195](#9195))
([c4b629c](c4b629c))
* Derive address and class id in avm
([#8897](#8897))
([2ebe361](2ebe361))
* Do not increment reference counts on arrays through references
(noir-lang/noir#6375)
([f386612](f386612))
* **docs:** Function transforms (hidden macros)
([#7784](#7784))
([831cc66](831cc66))
* Fee pricing to 0 for old instances
([#9296](#9296))
([7bc3a21](7bc3a21))
* Fixed number of pub inputs for databus commitment propagation
([#9336](#9336))
([8658abd](8658abd))
* Getcontractinstance instruction returns only a specified member
([#9300](#9300))
([29b692f](29b692f))
* Implement encryption to an address point and decryption from an
address secret
([#9272](#9272))
([6d77dd0](6d77dd0))
* Initial block reward + external libraries
([#9297](#9297))
([240e9b5](240e9b5))
* Let LSP suggest traits in trait bounds
(noir-lang/noir#6370)
([f386612](f386612))
* Let the formatter remove lambda block braces for single-statement
blocks (noir-lang/noir#6335)
([d67381b](d67381b))
* Let the LSP import code action insert into existing use statements
(noir-lang/noir#6358)
([f386612](f386612))
* Let the LSP import code action insert into existing use statements
(noir-lang/noir#6358)
([d67381b](d67381b))
* LSP auto-import will try to add to existing use statements
(noir-lang/noir#6354)
([f386612](f386612))
* LSP auto-import will try to add to existing use statements
(noir-lang/noir#6354)
([d67381b](d67381b))
* Merge and sort imports (noir-lang/noir#6322)
([b4db379](b4db379))
* Note tagging oracle
([#9429](#9429))
([cec6306](cec6306))
* Ownable sysstia
([#9398](#9398))
([30314ec](30314ec)),
closes
[#9351](#9351)
* **perf:** Use [u32;16] for message block in sha256
(noir-lang/noir#6324)
([d67381b](d67381b))
* Print finalized size and log dyadic size during Ultra proof
construction
([#9411](#9411))
([84fdc52](84fdc52))
* **profiler:** New flamegraph command that profiles the opcodes
executed (noir-lang/noir#6327)
([d67381b](d67381b))
* Prover coordination test with a reorg
([#9405](#9405))
([9efe288](9efe288))
* **prover:** Perform prover coordination via p2p layer
([#9325](#9325))
([2132bc2](2132bc2)),
closes
[#9264](#9264)
* Reject programs with unconditional recursion
(noir-lang/noir#6292)
([b4db379](b4db379))
* Remove 'single use' intermediate variables
(noir-lang/noir#6268)
([d67381b](d67381b))
* Reorder blocks for efficiency
([#9560](#9560))
([10874f4](10874f4))
* Simulate latency with network chaos
([#9469](#9469))
([10aefbb](10aefbb))
* Sol shplemini in acir tests + contract_gen
([#8874](#8874))
([1c0275d](1c0275d))
* Suggest removing `!` from macro call that doesn't return Quoted
(noir-lang/noir#6384)
([b82f3d1](b82f3d1))
* Support specifying generics on a struct when calling an associated
function (noir-lang/noir#6306)
([b82f3d1](b82f3d1))
* Sync from aztec-packages (noir-lang/noir#6345)
([d67381b](d67381b))
* Tally AVM opcodes executed in simulator
([#9473](#9473))
([9a06ada](9a06ada))
* **test:** Run test matrix on stdlib tests
(noir-lang/noir#6352)
([f386612](f386612))
* **test:** Run test matrix on stdlib tests
(noir-lang/noir#6352)
([d67381b](d67381b))


### Bug Fixes

* (formatter) correctly format quote delimiters
(noir-lang/noir#6377)
([b82f3d1](b82f3d1))
* (formatter) indent after infix lhs
(noir-lang/noir#6331)
([b4db379](b4db379))
* (LSP) check visibility of module that re-exports item, if any
(noir-lang/noir#6371)
([f386612](f386612))
* Add native verification test to honk keccak
([#9501](#9501))
([59810e0](59810e0))
* Allow globals in format strings
(noir-lang/noir#6382)
([b82f3d1](b82f3d1))
* Allow more resources for 4epochs tests
([#9418](#9418))
([74a8ad1](74a8ad1))
* Allow type aliases in let patterns
(noir-lang/noir#6356)
([f386612](f386612))
* Allow type aliases in let patterns
(noir-lang/noir#6356)
([d67381b](d67381b))
* Always inline `derive_generators`
(noir-lang/noir#6350)
([f386612](f386612))
* Always inline `derive_generators`
(noir-lang/noir#6350)
([d67381b](d67381b))
* **avm:** Address bytecode hashing comments
([#9436](#9436))
([a85f92a](a85f92a))
* **avm:** Disable sha256 in bulk test until we debug it
([#9482](#9482))
([078c318](078c318))
* **avm:** Re-enable sha256 in bulk test, fix bug in AVM SHL/SHR
([#9496](#9496))
([0fe64df](0fe64df))
* Bb-only-change fix e2e build instability
([#9441](#9441))
([ca3abaa](ca3abaa))
* Better formatting of leading/trailing line/block comments in
expression lists (noir-lang/noir#6338)
([d67381b](d67381b))
* Cleanup of janky encryption apis
([#9390](#9390))
([9e3e536](9e3e536))
* Deploy & version aztec-up scripts
([#9435](#9435))
([ad80169](ad80169))
* Display every bit in integer tokens
(noir-lang/noir#6360)
([b82f3d1](b82f3d1))
* Docker fast
([#9467](#9467))
([34e6dd0](34e6dd0))
* **docs:** Update getting started docs
([#9426](#9426))
([985190b](985190b))
* Fix panic in comptime code
(noir-lang/noir#6361)
([f386612](f386612))
* Fix panic in comptime code
(noir-lang/noir#6361)
([d67381b](d67381b))
* Formatter didn't format `&gt;>=` well
(noir-lang/noir#6337)
([b4db379](b4db379))
* Honk shplemini acir artifacts
([#9550](#9550))
([468c100](468c100))
* Issue in partial notes API
([#9555](#9555))
([9d66c1a](9d66c1a))
* LSP auto-import would import public item inside private module
(noir-lang/noir#6366)
([f386612](f386612))
* Make keccak256 work with input lengths greater than 136 bytes
(noir-lang/noir#6393)
([b82f3d1](b82f3d1))
* Make sure kind tests run every master commit
([#9478](#9478))
([78de316](78de316))
* Mutable global pattern didn't have a span
(noir-lang/noir#6328)
([b4db379](b4db379))
* Remove assumed parent traits
(noir-lang/noir#6365)
([f386612](f386612))
* Remove unnecessary ivpk's from aztec-nr
([#9460](#9460))
([c6437cc](c6437cc))
* Replace npk_m_hash with addresses
([#9461](#9461))
([f4ed55b](f4ed55b))
* Revert "feat: sol shplemini in acir tests + contract_gen"
([#9505](#9505))
([3351217](3351217))
* Slightly better formatting of empty blocks with comments
(noir-lang/noir#6367)
([f386612](f386612))
* Spot_strategy passing
([#9428](#9428))
([1e38d3e](1e38d3e))
* **ssa:** Do not mark an array from a parameter mutable
(noir-lang/noir#6355)
([f386612](f386612))
* **ssa:** Do not mark an array from a parameter mutable
(noir-lang/noir#6355)
([d67381b](d67381b))
* Yarn build:fast
([#9464](#9464))
([bbe6d06](bbe6d06))
* Yarn project bootstrap fast
([#9440](#9440))
([c1ebed5](c1ebed5))


### Miscellaneous

* Add serdes and eq for address note
([#9544](#9544))
([74bcfab](74bcfab))
* Add some tests for type aliases
([d67381b](d67381b))
* Add test to check that duplicate definitions generated from macros
throws error (noir-lang/noir#6351)
([f386612](f386612))
* Add test to check that duplicate definitions generated from macros
throws error (noir-lang/noir#6351)
([d67381b](d67381b))
* Align debug logging between AVM sim & witgen
([#9498](#9498))
([7c2d67a](7c2d67a))
* **avm::** Fix execution tests in proving mode
([#9466](#9466))
([8e07de8](8e07de8))
* **avm:** Allocate memory for unshifted polynomials according to their
trace col size
([#9345](#9345))
([a67d0e2](a67d0e2))
* Bumping L2 gas and public reads constants
([#9431](#9431))
([91c50dd](91c50dd))
* **CI:** Remove end-to-end/Earthfile
([#9364](#9364))
([2823cbb](2823cbb)),
closes
[#9221](#9221)
* Clean up note processor after changes due to address
([#9401](#9401))
([d33c988](d33c988))
* Disable e2e_fees_dapp_subscription
([#9489](#9489))
([26416b6](26416b6))
* Disable flakey e2e_synching.test.ts
([#9439](#9439))
([01147a5](01147a5))
* Dont show aws creds in docker fast
([#9465](#9465))
([a6d8f48](a6d8f48))
* Fix sync scripts
([#9423](#9423))
([7766c8e](7766c8e))
* Have 'aztec' honour the 'DEBUG' env var
([#9413](#9413))
([771a2ac](771a2ac))
* Minor tweaks to comptime doc
(noir-lang/noir#6357)
([f386612](f386612))
* Minor tweaks to comptime doc
(noir-lang/noir#6357)
([d67381b](d67381b))
* Minting only private or public balance in Token TXE tests
([#9491](#9491))
([b8c015b](b8c015b))
* Node follow prune and extend chain
([#9328](#9328))
([a653fd3](a653fd3))
* Noir bug workaround
([#9443](#9443))
([f619687](f619687))
* Passing partial note logs through transient storage
([#9356](#9356))
([8835b31](8835b31))
* Redo typo PR by defitricks
([#9571](#9571))
([9a5dce3](9a5dce3))
* Remove ovpk as param in boxes contracts
([#9495](#9495))
([2b24b98](2b24b98))
* Remove unnecessary trait
([#9437](#9437))
([1db2eec](1db2eec))
* Rename private function in L2 block stream
([#9481](#9481))
([a34d4aa](a34d4aa)),
closes
[#9314](#9314)
* Replace relative paths to noir-protocol-circuits
([4f2d67c](4f2d67c))
* Replace relative paths to noir-protocol-circuits
([33f2151](33f2151))
* Replace relative paths to noir-protocol-circuits
([5247be2](5247be2))
* Replace relative paths to noir-protocol-circuits
([49467ba](49467ba))
* Replace relative paths to noir-protocol-circuits
([f6d714f](f6d714f))
* Replace relative paths to noir-protocol-circuits
([b4841ad](b4841ad))
* Replace token note with uint note
([#8143](#8143))
([493a3f3](493a3f3))
* Run tests in metaprogramming.rs
(noir-lang/noir#6339)
([d67381b](d67381b))
* Split base rollup and remove public kernel proving
([#9434](#9434))
([4316242](4316242))
* Switch to btreeset for deterministic ordering
(noir-lang/noir#6348)
([d67381b](d67381b))
* Update title from feedback
(noir-lang/noir#6334)
([b4db379](b4db379))
* Use array instead of Vec in keccak256
(noir-lang/noir#6395)
([b82f3d1](b82f3d1))
* Use big endian in sha
([#9471](#9471))
([bc9828e](bc9828e))
* Use Brillig opcode when possible for less-than operations on fields
([#9416](#9416))
([e50303d](e50303d))


### Documentation

* Clean up docker messaging
([#9419](#9419))
([4c4974f](4c4974f))
</details>

<details><summary>barretenberg: 0.61.0</summary>

##
[0.61.0](barretenberg-v0.60.0...barretenberg-v0.61.0)
(2024-10-30)


### ⚠ BREAKING CHANGES

* **avm:** cleanup CALL
([#9551](#9551))
* **avm:** returndatasize + returndatacopy
([#9475](#9475))
* getcontractinstance instruction returns only a specified member
([#9300](#9300))
* **avm/brillig:** revert/rethrow oracle
([#9408](#9408))

### Features

* 20-30% cost reduction in recursive ipa algorithm
([#9420](#9420))
([a4bd3e1](a4bd3e1))
* **avm/brillig:** Revert/rethrow oracle
([#9408](#9408))
([1bbd724](1bbd724))
* **avm:** Avm replace zeromorph pcs by shplemini
([#9389](#9389))
([07d6dc2](07d6dc2))
* **avm:** Cleanup CALL
([#9551](#9551))
([26adc55](26adc55))
* **avm:** Merkle tree gadget
([#9205](#9205))
([d52b616](d52b616))
* **avm:** Returndatasize + returndatacopy
([#9475](#9475))
([8f71006](8f71006))
* **avm:** Trace contract class and contract instance
([#8840](#8840))
([84205d8](84205d8))
* Bytecode hashing init
([#8535](#8535))
([2bb09e5](2bb09e5))
* Derive address and class id in avm
([#8897](#8897))
([2ebe361](2ebe361))
* Fixed number of pub inputs for databus commitment propagation
([#9336](#9336))
([8658abd](8658abd))
* Getcontractinstance instruction returns only a specified member
([#9300](#9300))
([29b692f](29b692f))
* Print finalized size and log dyadic size during Ultra proof
construction
([#9411](#9411))
([84fdc52](84fdc52))
* Reorder blocks for efficiency
([#9560](#9560))
([10874f4](10874f4))
* Sol shplemini in acir tests + contract_gen
([#8874](#8874))
([1c0275d](1c0275d))


### Bug Fixes

* Add native verification test to honk keccak
([#9501](#9501))
([59810e0](59810e0))
* **avm:** Address bytecode hashing comments
([#9436](#9436))
([a85f92a](a85f92a))
* **avm:** Re-enable sha256 in bulk test, fix bug in AVM SHL/SHR
([#9496](#9496))
([0fe64df](0fe64df))
* Honk shplemini acir artifacts
([#9550](#9550))
([468c100](468c100))
* Revert "feat: sol shplemini in acir tests + contract_gen"
([#9505](#9505))
([3351217](3351217))


### Miscellaneous

* Align debug logging between AVM sim & witgen
([#9498](#9498))
([7c2d67a](7c2d67a))
* **avm::** Fix execution tests in proving mode
([#9466](#9466))
([8e07de8](8e07de8))
* **avm:** Allocate memory for unshifted polynomials according to their
trace col size
([#9345](#9345))
([a67d0e2](a67d0e2))
* Bumping L2 gas and public reads constants
([#9431](#9431))
([91c50dd](91c50dd))
* Use big endian in sha
([#9471](#9471))
([bc9828e](bc9828e))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
AztecBot added a commit to AztecProtocol/barretenberg that referenced this pull request Oct 31, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.61.0</summary>

##
[0.61.0](AztecProtocol/aztec-packages@aztec-package-v0.60.0...aztec-package-v0.61.0)
(2024-10-30)


### Miscellaneous

* **aztec-package:** Synchronize aztec-packages versions
</details>

<details><summary>barretenberg.js: 0.61.0</summary>

##
[0.61.0](AztecProtocol/aztec-packages@barretenberg.js-v0.60.0...barretenberg.js-v0.61.0)
(2024-10-30)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

<details><summary>aztec-packages: 0.61.0</summary>

##
[0.61.0](AztecProtocol/aztec-packages@aztec-packages-v0.60.0...aztec-packages-v0.61.0)
(2024-10-30)


### ⚠ BREAKING CHANGES

* **avm:** cleanup CALL
([#9551](AztecProtocol/aztec-packages#9551))
* **avm:** returndatasize + returndatacopy
([#9475](AztecProtocol/aztec-packages#9475))
* use Brillig opcode when possible for less-than operations on fields
([#9416](AztecProtocol/aztec-packages#9416))
* **profiler:** New flamegraph command that profiles the opcodes
executed (noir-lang/noir#6327)
* split base rollup and remove public kernel proving
([#9434](AztecProtocol/aztec-packages#9434))
* getcontractinstance instruction returns only a specified member
([#9300](AztecProtocol/aztec-packages#9300))
* **avm/brillig:** revert/rethrow oracle
([#9408](AztecProtocol/aztec-packages#9408))

### Features

* `bytes_to_fields` requiring only 1 generic param
([#9417](AztecProtocol/aztec-packages#9417))
([2217da6](AztecProtocol/aztec-packages@2217da6))
* 20-30% cost reduction in recursive ipa algorithm
([#9420](AztecProtocol/aztec-packages#9420))
([a4bd3e1](AztecProtocol/aztec-packages@a4bd3e1))
* Add capacities to brillig vectors and use them in slice ops
(noir-lang/noir#6332)
([b82f3d1](AztecProtocol/aztec-packages@b82f3d1))
* Added indexes and a way to store/retrieve tagged secrets
([#9468](AztecProtocol/aztec-packages#9468))
([1c685b1](AztecProtocol/aztec-packages@1c685b1))
* **avm/brillig:** Revert/rethrow oracle
([#9408](AztecProtocol/aztec-packages#9408))
([1bbd724](AztecProtocol/aztec-packages@1bbd724))
* **avm:** Avm replace zeromorph pcs by shplemini
([#9389](AztecProtocol/aztec-packages#9389))
([07d6dc2](AztecProtocol/aztec-packages@07d6dc2))
* **avm:** Cleanup CALL
([#9551](AztecProtocol/aztec-packages#9551))
([26adc55](AztecProtocol/aztec-packages@26adc55))
* **avm:** Merkle tree gadget
([#9205](AztecProtocol/aztec-packages#9205))
([d52b616](AztecProtocol/aztec-packages@d52b616))
* **avm:** Returndatasize + returndatacopy
([#9475](AztecProtocol/aztec-packages#9475))
([8f71006](AztecProtocol/aztec-packages@8f71006))
* **avm:** Trace contract class and contract instance
([#8840](AztecProtocol/aztec-packages#8840))
([84205d8](AztecProtocol/aztec-packages@84205d8))
* Better LSP hover for functions
(noir-lang/noir#6376)
([b82f3d1](AztecProtocol/aztec-packages@b82f3d1))
* Bytecode hashing init
([#8535](AztecProtocol/aztec-packages#8535))
([2bb09e5](AztecProtocol/aztec-packages@2bb09e5))
* Check trait where clause (noir-lang/noir#6325)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Comptime deriving generators in macros
([#9195](AztecProtocol/aztec-packages#9195))
([c4b629c](AztecProtocol/aztec-packages@c4b629c))
* Derive address and class id in avm
([#8897](AztecProtocol/aztec-packages#8897))
([2ebe361](AztecProtocol/aztec-packages@2ebe361))
* Do not increment reference counts on arrays through references
(noir-lang/noir#6375)
([f386612](AztecProtocol/aztec-packages@f386612))
* **docs:** Function transforms (hidden macros)
([#7784](AztecProtocol/aztec-packages#7784))
([831cc66](AztecProtocol/aztec-packages@831cc66))
* Fee pricing to 0 for old instances
([#9296](AztecProtocol/aztec-packages#9296))
([7bc3a21](AztecProtocol/aztec-packages@7bc3a21))
* Fixed number of pub inputs for databus commitment propagation
([#9336](AztecProtocol/aztec-packages#9336))
([8658abd](AztecProtocol/aztec-packages@8658abd))
* Getcontractinstance instruction returns only a specified member
([#9300](AztecProtocol/aztec-packages#9300))
([29b692f](AztecProtocol/aztec-packages@29b692f))
* Implement encryption to an address point and decryption from an
address secret
([#9272](AztecProtocol/aztec-packages#9272))
([6d77dd0](AztecProtocol/aztec-packages@6d77dd0))
* Initial block reward + external libraries
([#9297](AztecProtocol/aztec-packages#9297))
([240e9b5](AztecProtocol/aztec-packages@240e9b5))
* Let LSP suggest traits in trait bounds
(noir-lang/noir#6370)
([f386612](AztecProtocol/aztec-packages@f386612))
* Let the formatter remove lambda block braces for single-statement
blocks (noir-lang/noir#6335)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Let the LSP import code action insert into existing use statements
(noir-lang/noir#6358)
([f386612](AztecProtocol/aztec-packages@f386612))
* Let the LSP import code action insert into existing use statements
(noir-lang/noir#6358)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* LSP auto-import will try to add to existing use statements
(noir-lang/noir#6354)
([f386612](AztecProtocol/aztec-packages@f386612))
* LSP auto-import will try to add to existing use statements
(noir-lang/noir#6354)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Merge and sort imports (noir-lang/noir#6322)
([b4db379](AztecProtocol/aztec-packages@b4db379))
* Note tagging oracle
([#9429](AztecProtocol/aztec-packages#9429))
([cec6306](AztecProtocol/aztec-packages@cec6306))
* Ownable sysstia
([#9398](AztecProtocol/aztec-packages#9398))
([30314ec](AztecProtocol/aztec-packages@30314ec)),
closes
[#9351](AztecProtocol/aztec-packages#9351)
* **perf:** Use [u32;16] for message block in sha256
(noir-lang/noir#6324)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Print finalized size and log dyadic size during Ultra proof
construction
([#9411](AztecProtocol/aztec-packages#9411))
([84fdc52](AztecProtocol/aztec-packages@84fdc52))
* **profiler:** New flamegraph command that profiles the opcodes
executed (noir-lang/noir#6327)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Prover coordination test with a reorg
([#9405](AztecProtocol/aztec-packages#9405))
([9efe288](AztecProtocol/aztec-packages@9efe288))
* **prover:** Perform prover coordination via p2p layer
([#9325](AztecProtocol/aztec-packages#9325))
([2132bc2](AztecProtocol/aztec-packages@2132bc2)),
closes
[#9264](AztecProtocol/aztec-packages#9264)
* Reject programs with unconditional recursion
(noir-lang/noir#6292)
([b4db379](AztecProtocol/aztec-packages@b4db379))
* Remove 'single use' intermediate variables
(noir-lang/noir#6268)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Reorder blocks for efficiency
([#9560](AztecProtocol/aztec-packages#9560))
([10874f4](AztecProtocol/aztec-packages@10874f4))
* Simulate latency with network chaos
([#9469](AztecProtocol/aztec-packages#9469))
([10aefbb](AztecProtocol/aztec-packages@10aefbb))
* Sol shplemini in acir tests + contract_gen
([#8874](AztecProtocol/aztec-packages#8874))
([1c0275d](AztecProtocol/aztec-packages@1c0275d))
* Suggest removing `!` from macro call that doesn't return Quoted
(noir-lang/noir#6384)
([b82f3d1](AztecProtocol/aztec-packages@b82f3d1))
* Support specifying generics on a struct when calling an associated
function (noir-lang/noir#6306)
([b82f3d1](AztecProtocol/aztec-packages@b82f3d1))
* Sync from aztec-packages (noir-lang/noir#6345)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Tally AVM opcodes executed in simulator
([#9473](AztecProtocol/aztec-packages#9473))
([9a06ada](AztecProtocol/aztec-packages@9a06ada))
* **test:** Run test matrix on stdlib tests
(noir-lang/noir#6352)
([f386612](AztecProtocol/aztec-packages@f386612))
* **test:** Run test matrix on stdlib tests
(noir-lang/noir#6352)
([d67381b](AztecProtocol/aztec-packages@d67381b))


### Bug Fixes

* (formatter) correctly format quote delimiters
(noir-lang/noir#6377)
([b82f3d1](AztecProtocol/aztec-packages@b82f3d1))
* (formatter) indent after infix lhs
(noir-lang/noir#6331)
([b4db379](AztecProtocol/aztec-packages@b4db379))
* (LSP) check visibility of module that re-exports item, if any
(noir-lang/noir#6371)
([f386612](AztecProtocol/aztec-packages@f386612))
* Add native verification test to honk keccak
([#9501](AztecProtocol/aztec-packages#9501))
([59810e0](AztecProtocol/aztec-packages@59810e0))
* Allow globals in format strings
(noir-lang/noir#6382)
([b82f3d1](AztecProtocol/aztec-packages@b82f3d1))
* Allow more resources for 4epochs tests
([#9418](AztecProtocol/aztec-packages#9418))
([74a8ad1](AztecProtocol/aztec-packages@74a8ad1))
* Allow type aliases in let patterns
(noir-lang/noir#6356)
([f386612](AztecProtocol/aztec-packages@f386612))
* Allow type aliases in let patterns
(noir-lang/noir#6356)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Always inline `derive_generators`
(noir-lang/noir#6350)
([f386612](AztecProtocol/aztec-packages@f386612))
* Always inline `derive_generators`
(noir-lang/noir#6350)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* **avm:** Address bytecode hashing comments
([#9436](AztecProtocol/aztec-packages#9436))
([a85f92a](AztecProtocol/aztec-packages@a85f92a))
* **avm:** Disable sha256 in bulk test until we debug it
([#9482](AztecProtocol/aztec-packages#9482))
([078c318](AztecProtocol/aztec-packages@078c318))
* **avm:** Re-enable sha256 in bulk test, fix bug in AVM SHL/SHR
([#9496](AztecProtocol/aztec-packages#9496))
([0fe64df](AztecProtocol/aztec-packages@0fe64df))
* Bb-only-change fix e2e build instability
([#9441](AztecProtocol/aztec-packages#9441))
([ca3abaa](AztecProtocol/aztec-packages@ca3abaa))
* Better formatting of leading/trailing line/block comments in
expression lists (noir-lang/noir#6338)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Cleanup of janky encryption apis
([#9390](AztecProtocol/aztec-packages#9390))
([9e3e536](AztecProtocol/aztec-packages@9e3e536))
* Deploy & version aztec-up scripts
([#9435](AztecProtocol/aztec-packages#9435))
([ad80169](AztecProtocol/aztec-packages@ad80169))
* Display every bit in integer tokens
(noir-lang/noir#6360)
([b82f3d1](AztecProtocol/aztec-packages@b82f3d1))
* Docker fast
([#9467](AztecProtocol/aztec-packages#9467))
([34e6dd0](AztecProtocol/aztec-packages@34e6dd0))
* **docs:** Update getting started docs
([#9426](AztecProtocol/aztec-packages#9426))
([985190b](AztecProtocol/aztec-packages@985190b))
* Fix panic in comptime code
(noir-lang/noir#6361)
([f386612](AztecProtocol/aztec-packages@f386612))
* Fix panic in comptime code
(noir-lang/noir#6361)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Formatter didn't format `&gt;>=` well
(noir-lang/noir#6337)
([b4db379](AztecProtocol/aztec-packages@b4db379))
* Honk shplemini acir artifacts
([#9550](AztecProtocol/aztec-packages#9550))
([468c100](AztecProtocol/aztec-packages@468c100))
* Issue in partial notes API
([#9555](AztecProtocol/aztec-packages#9555))
([9d66c1a](AztecProtocol/aztec-packages@9d66c1a))
* LSP auto-import would import public item inside private module
(noir-lang/noir#6366)
([f386612](AztecProtocol/aztec-packages@f386612))
* Make keccak256 work with input lengths greater than 136 bytes
(noir-lang/noir#6393)
([b82f3d1](AztecProtocol/aztec-packages@b82f3d1))
* Make sure kind tests run every master commit
([#9478](AztecProtocol/aztec-packages#9478))
([78de316](AztecProtocol/aztec-packages@78de316))
* Mutable global pattern didn't have a span
(noir-lang/noir#6328)
([b4db379](AztecProtocol/aztec-packages@b4db379))
* Remove assumed parent traits
(noir-lang/noir#6365)
([f386612](AztecProtocol/aztec-packages@f386612))
* Remove unnecessary ivpk's from aztec-nr
([#9460](AztecProtocol/aztec-packages#9460))
([c6437cc](AztecProtocol/aztec-packages@c6437cc))
* Replace npk_m_hash with addresses
([#9461](AztecProtocol/aztec-packages#9461))
([f4ed55b](AztecProtocol/aztec-packages@f4ed55b))
* Revert "feat: sol shplemini in acir tests + contract_gen"
([#9505](AztecProtocol/aztec-packages#9505))
([3351217](AztecProtocol/aztec-packages@3351217))
* Slightly better formatting of empty blocks with comments
(noir-lang/noir#6367)
([f386612](AztecProtocol/aztec-packages@f386612))
* Spot_strategy passing
([#9428](AztecProtocol/aztec-packages#9428))
([1e38d3e](AztecProtocol/aztec-packages@1e38d3e))
* **ssa:** Do not mark an array from a parameter mutable
(noir-lang/noir#6355)
([f386612](AztecProtocol/aztec-packages@f386612))
* **ssa:** Do not mark an array from a parameter mutable
(noir-lang/noir#6355)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Yarn build:fast
([#9464](AztecProtocol/aztec-packages#9464))
([bbe6d06](AztecProtocol/aztec-packages@bbe6d06))
* Yarn project bootstrap fast
([#9440](AztecProtocol/aztec-packages#9440))
([c1ebed5](AztecProtocol/aztec-packages@c1ebed5))


### Miscellaneous

* Add serdes and eq for address note
([#9544](AztecProtocol/aztec-packages#9544))
([74bcfab](AztecProtocol/aztec-packages@74bcfab))
* Add some tests for type aliases
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Add test to check that duplicate definitions generated from macros
throws error (noir-lang/noir#6351)
([f386612](AztecProtocol/aztec-packages@f386612))
* Add test to check that duplicate definitions generated from macros
throws error (noir-lang/noir#6351)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Align debug logging between AVM sim & witgen
([#9498](AztecProtocol/aztec-packages#9498))
([7c2d67a](AztecProtocol/aztec-packages@7c2d67a))
* **avm::** Fix execution tests in proving mode
([#9466](AztecProtocol/aztec-packages#9466))
([8e07de8](AztecProtocol/aztec-packages@8e07de8))
* **avm:** Allocate memory for unshifted polynomials according to their
trace col size
([#9345](AztecProtocol/aztec-packages#9345))
([a67d0e2](AztecProtocol/aztec-packages@a67d0e2))
* Bumping L2 gas and public reads constants
([#9431](AztecProtocol/aztec-packages#9431))
([91c50dd](AztecProtocol/aztec-packages@91c50dd))
* **CI:** Remove end-to-end/Earthfile
([#9364](AztecProtocol/aztec-packages#9364))
([2823cbb](AztecProtocol/aztec-packages@2823cbb)),
closes
[#9221](AztecProtocol/aztec-packages#9221)
* Clean up note processor after changes due to address
([#9401](AztecProtocol/aztec-packages#9401))
([d33c988](AztecProtocol/aztec-packages@d33c988))
* Disable e2e_fees_dapp_subscription
([#9489](AztecProtocol/aztec-packages#9489))
([26416b6](AztecProtocol/aztec-packages@26416b6))
* Disable flakey e2e_synching.test.ts
([#9439](AztecProtocol/aztec-packages#9439))
([01147a5](AztecProtocol/aztec-packages@01147a5))
* Dont show aws creds in docker fast
([#9465](AztecProtocol/aztec-packages#9465))
([a6d8f48](AztecProtocol/aztec-packages@a6d8f48))
* Fix sync scripts
([#9423](AztecProtocol/aztec-packages#9423))
([7766c8e](AztecProtocol/aztec-packages@7766c8e))
* Have 'aztec' honour the 'DEBUG' env var
([#9413](AztecProtocol/aztec-packages#9413))
([771a2ac](AztecProtocol/aztec-packages@771a2ac))
* Minor tweaks to comptime doc
(noir-lang/noir#6357)
([f386612](AztecProtocol/aztec-packages@f386612))
* Minor tweaks to comptime doc
(noir-lang/noir#6357)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Minting only private or public balance in Token TXE tests
([#9491](AztecProtocol/aztec-packages#9491))
([b8c015b](AztecProtocol/aztec-packages@b8c015b))
* Node follow prune and extend chain
([#9328](AztecProtocol/aztec-packages#9328))
([a653fd3](AztecProtocol/aztec-packages@a653fd3))
* Noir bug workaround
([#9443](AztecProtocol/aztec-packages#9443))
([f619687](AztecProtocol/aztec-packages@f619687))
* Passing partial note logs through transient storage
([#9356](AztecProtocol/aztec-packages#9356))
([8835b31](AztecProtocol/aztec-packages@8835b31))
* Redo typo PR by defitricks
([#9571](AztecProtocol/aztec-packages#9571))
([9a5dce3](AztecProtocol/aztec-packages@9a5dce3))
* Remove ovpk as param in boxes contracts
([#9495](AztecProtocol/aztec-packages#9495))
([2b24b98](AztecProtocol/aztec-packages@2b24b98))
* Remove unnecessary trait
([#9437](AztecProtocol/aztec-packages#9437))
([1db2eec](AztecProtocol/aztec-packages@1db2eec))
* Rename private function in L2 block stream
([#9481](AztecProtocol/aztec-packages#9481))
([a34d4aa](AztecProtocol/aztec-packages@a34d4aa)),
closes
[#9314](AztecProtocol/aztec-packages#9314)
* Replace relative paths to noir-protocol-circuits
([4f2d67c](AztecProtocol/aztec-packages@4f2d67c))
* Replace relative paths to noir-protocol-circuits
([33f2151](AztecProtocol/aztec-packages@33f2151))
* Replace relative paths to noir-protocol-circuits
([5247be2](AztecProtocol/aztec-packages@5247be2))
* Replace relative paths to noir-protocol-circuits
([49467ba](AztecProtocol/aztec-packages@49467ba))
* Replace relative paths to noir-protocol-circuits
([f6d714f](AztecProtocol/aztec-packages@f6d714f))
* Replace relative paths to noir-protocol-circuits
([b4841ad](AztecProtocol/aztec-packages@b4841ad))
* Replace token note with uint note
([#8143](AztecProtocol/aztec-packages#8143))
([493a3f3](AztecProtocol/aztec-packages@493a3f3))
* Run tests in metaprogramming.rs
(noir-lang/noir#6339)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Split base rollup and remove public kernel proving
([#9434](AztecProtocol/aztec-packages#9434))
([4316242](AztecProtocol/aztec-packages@4316242))
* Switch to btreeset for deterministic ordering
(noir-lang/noir#6348)
([d67381b](AztecProtocol/aztec-packages@d67381b))
* Update title from feedback
(noir-lang/noir#6334)
([b4db379](AztecProtocol/aztec-packages@b4db379))
* Use array instead of Vec in keccak256
(noir-lang/noir#6395)
([b82f3d1](AztecProtocol/aztec-packages@b82f3d1))
* Use big endian in sha
([#9471](AztecProtocol/aztec-packages#9471))
([bc9828e](AztecProtocol/aztec-packages@bc9828e))
* Use Brillig opcode when possible for less-than operations on fields
([#9416](AztecProtocol/aztec-packages#9416))
([e50303d](AztecProtocol/aztec-packages@e50303d))


### Documentation

* Clean up docker messaging
([#9419](AztecProtocol/aztec-packages#9419))
([4c4974f](AztecProtocol/aztec-packages@4c4974f))
</details>

<details><summary>barretenberg: 0.61.0</summary>

##
[0.61.0](AztecProtocol/aztec-packages@barretenberg-v0.60.0...barretenberg-v0.61.0)
(2024-10-30)


### ⚠ BREAKING CHANGES

* **avm:** cleanup CALL
([#9551](AztecProtocol/aztec-packages#9551))
* **avm:** returndatasize + returndatacopy
([#9475](AztecProtocol/aztec-packages#9475))
* getcontractinstance instruction returns only a specified member
([#9300](AztecProtocol/aztec-packages#9300))
* **avm/brillig:** revert/rethrow oracle
([#9408](AztecProtocol/aztec-packages#9408))

### Features

* 20-30% cost reduction in recursive ipa algorithm
([#9420](AztecProtocol/aztec-packages#9420))
([a4bd3e1](AztecProtocol/aztec-packages@a4bd3e1))
* **avm/brillig:** Revert/rethrow oracle
([#9408](AztecProtocol/aztec-packages#9408))
([1bbd724](AztecProtocol/aztec-packages@1bbd724))
* **avm:** Avm replace zeromorph pcs by shplemini
([#9389](AztecProtocol/aztec-packages#9389))
([07d6dc2](AztecProtocol/aztec-packages@07d6dc2))
* **avm:** Cleanup CALL
([#9551](AztecProtocol/aztec-packages#9551))
([26adc55](AztecProtocol/aztec-packages@26adc55))
* **avm:** Merkle tree gadget
([#9205](AztecProtocol/aztec-packages#9205))
([d52b616](AztecProtocol/aztec-packages@d52b616))
* **avm:** Returndatasize + returndatacopy
([#9475](AztecProtocol/aztec-packages#9475))
([8f71006](AztecProtocol/aztec-packages@8f71006))
* **avm:** Trace contract class and contract instance
([#8840](AztecProtocol/aztec-packages#8840))
([84205d8](AztecProtocol/aztec-packages@84205d8))
* Bytecode hashing init
([#8535](AztecProtocol/aztec-packages#8535))
([2bb09e5](AztecProtocol/aztec-packages@2bb09e5))
* Derive address and class id in avm
([#8897](AztecProtocol/aztec-packages#8897))
([2ebe361](AztecProtocol/aztec-packages@2ebe361))
* Fixed number of pub inputs for databus commitment propagation
([#9336](AztecProtocol/aztec-packages#9336))
([8658abd](AztecProtocol/aztec-packages@8658abd))
* Getcontractinstance instruction returns only a specified member
([#9300](AztecProtocol/aztec-packages#9300))
([29b692f](AztecProtocol/aztec-packages@29b692f))
* Print finalized size and log dyadic size during Ultra proof
construction
([#9411](AztecProtocol/aztec-packages#9411))
([84fdc52](AztecProtocol/aztec-packages@84fdc52))
* Reorder blocks for efficiency
([#9560](AztecProtocol/aztec-packages#9560))
([10874f4](AztecProtocol/aztec-packages@10874f4))
* Sol shplemini in acir tests + contract_gen
([#8874](AztecProtocol/aztec-packages#8874))
([1c0275d](AztecProtocol/aztec-packages@1c0275d))


### Bug Fixes

* Add native verification test to honk keccak
([#9501](AztecProtocol/aztec-packages#9501))
([59810e0](AztecProtocol/aztec-packages@59810e0))
* **avm:** Address bytecode hashing comments
([#9436](AztecProtocol/aztec-packages#9436))
([a85f92a](AztecProtocol/aztec-packages@a85f92a))
* **avm:** Re-enable sha256 in bulk test, fix bug in AVM SHL/SHR
([#9496](AztecProtocol/aztec-packages#9496))
([0fe64df](AztecProtocol/aztec-packages@0fe64df))
* Honk shplemini acir artifacts
([#9550](AztecProtocol/aztec-packages#9550))
([468c100](AztecProtocol/aztec-packages@468c100))
* Revert "feat: sol shplemini in acir tests + contract_gen"
([#9505](AztecProtocol/aztec-packages#9505))
([3351217](AztecProtocol/aztec-packages@3351217))


### Miscellaneous

* Align debug logging between AVM sim & witgen
([#9498](AztecProtocol/aztec-packages#9498))
([7c2d67a](AztecProtocol/aztec-packages@7c2d67a))
* **avm::** Fix execution tests in proving mode
([#9466](AztecProtocol/aztec-packages#9466))
([8e07de8](AztecProtocol/aztec-packages@8e07de8))
* **avm:** Allocate memory for unshifted polynomials according to their
trace col size
([#9345](AztecProtocol/aztec-packages#9345))
([a67d0e2](AztecProtocol/aztec-packages@a67d0e2))
* Bumping L2 gas and public reads constants
([#9431](AztecProtocol/aztec-packages#9431))
([91c50dd](AztecProtocol/aztec-packages@91c50dd))
* Use big endian in sha
([#9471](AztecProtocol/aztec-packages#9471))
([bc9828e](AztecProtocol/aztec-packages@bc9828e))
</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.

Hidden macros explainer
4 participants