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

chore: bump bb to 0.43.0 #5321

Merged
merged 2 commits into from
Jun 24, 2024
Merged

chore: bump bb to 0.43.0 #5321

merged 2 commits into from
Jun 24, 2024

Conversation

TomAFrench
Copy link
Member

Description

Problem*

Resolves

Summary*

This PR bumps the bb version to avoid stuff breaking on syncs

Additional Context

Documentation*

Check one:

  • No documentation needed.
  • Documentation included in this PR.
  • [For Experimental Features] Documentation to be submitted in a separate PR.

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

@TomAFrench TomAFrench requested a review from a team June 24, 2024 20:21
Copy link
Contributor

github-actions bot commented Jun 24, 2024

Changes to circuit sizes

Generated at commit: 4c1ea255df6d04d19c9f8e0fcd6dabe80787d3d6, compared to commit: d4e03d07bb00d1ba0f8f43bd0dd9e967a10a28b9

🧾 Summary (10% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
assert 0 ➖ 0.00% -11 ✅ -64.71%
bit_not 0 ➖ 0.00% -11 ✅ -64.71%
bool_not 0 ➖ 0.00% -11 ✅ -64.71%
brillig_loop 0 ➖ 0.00% -11 ✅ -64.71%
closures_mut_ref 0 ➖ 0.00% -11 ✅ -64.71%
custom_entry 0 ➖ 0.00% -11 ✅ -64.71%
generics 0 ➖ 0.00% -11 ✅ -64.71%
missing_closure_env 0 ➖ 0.00% -11 ✅ -64.71%
nested_arrays_from_brillig 0 ➖ 0.00% -11 ✅ -64.71%
no_predicates_brillig 0 ➖ 0.00% -11 ✅ -64.71%
pred_eq 0 ➖ 0.00% -11 ✅ -64.71%
regression_4088 0 ➖ 0.00% -11 ✅ -64.71%
regression_4124 0 ➖ 0.00% -11 ✅ -64.71%
simple_print 0 ➖ 0.00% -11 ✅ -64.71%
trait_impl_base_type 0 ➖ 0.00% -11 ✅ -64.71%
acir_inside_brillig_recursion 0 ➖ +∞% -11 ✅ -68.75%
array_to_slice_constant_length 0 ➖ 0.00% -11 ✅ -68.75%
break_and_continue 0 ➖ 0.00% -11 ✅ -68.75%
brillig_arrays 0 ➖ 0.00% -11 ✅ -68.75%
brillig_blake3 0 ➖ 0.00% -11 ✅ -68.75%
brillig_cow 0 ➖ 0.00% -11 ✅ -68.75%
brillig_cow_assign 0 ➖ 0.00% -11 ✅ -68.75%
brillig_oracle 0 ➖ 0.00% -11 ✅ -68.75%
brillig_pedersen 0 ➖ 0.00% -11 ✅ -68.75%
brillig_references 0 ➖ 0.00% -11 ✅ -68.75%
brillig_slices 0 ➖ 0.00% -11 ✅ -68.75%
cast_and_shift_global 0 ➖ +∞% -11 ✅ -68.75%
comptime_println 0 ➖ 0.00% -11 ✅ -68.75%
empty 0 ➖ +∞% -11 ✅ -68.75%
is_unconstrained 0 ➖ +∞% -11 ✅ -68.75%
prelude 0 ➖ 0.00% -11 ✅ -68.75%
regression_3051 0 ➖ 0.00% -11 ✅ -68.75%
regression_3394 0 ➖ 0.00% -11 ✅ -68.75%
regression_5202 0 ➖ +∞% -11 ✅ -68.75%
regression_method_cannot_be_found 0 ➖ 0.00% -11 ✅ -68.75%
to_bits 0 ➖ +∞% -11 ✅ -68.75%
unit_value 0 ➖ +∞% -11 ✅ -68.75%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
double_verify_nested_proof 905 (0) 0.00% 577,588 (+41,286) +7.70%
double_verify_proof 841 (0) 0.00% 549,182 (+36,298) +7.08%
double_verify_proof_recursive 841 (0) 0.00% 549,182 (+36,298) +7.08%
ecdsa_secp256k1 233 (0) 0.00% 42,933 (+1,874) +4.56%
ecdsa_secp256r1_3x 486 (0) 0.00% 203,255 (+3,787) +1.90%
ecdsa_secp256r1 162 (0) 0.00% 70,207 (+1,211) +1.76%
hashmap 209,896 (0) 0.00% 397,879 (+555) +0.14%
bench_sha256_30 1,050 (0) 0.00% 120,086 (-10) -0.01%
regression_4449 6,098 (0) 0.00% 279,859 (-39) -0.01%
eddsa 70,459 (0) 0.00% 71,821 (-11) -0.02%
bench_sha256_100 3,500 (0) 0.00% 387,691 (-66) -0.02%
keccak256 76 (0) 0.00% 54,830 (-10) -0.02%
schnorr 526 (0) 0.00% 54,388 (-10) -0.02%
regression_5252 43,480 (0) 0.00% 58,461 (-11) -0.02%
array_dynamic_blackbox_input 755 (0) 0.00% 45,970 (-10) -0.02%
sha256 151 (0) 0.00% 38,904 (-10) -0.03%
6 70 (0) 0.00% 38,799 (-10) -0.03%
array_dynamic_nested_blackbox_input 169 (0) 0.00% 38,799 (-10) -0.03%
conditional_1 8,545 (0) 0.00% 38,799 (-10) -0.03%
conditional_regression_short_circuit 98 (0) 0.00% 38,799 (-10) -0.03%
bench_poseidon_hash_100 40,700 (0) 0.00% 40,805 (-11) -0.03%
merkle_insert 1,779 (0) 0.00% 29,032 (-10) -0.03%
simple_shield 52 (0) 0.00% 29,032 (-10) -0.03%
pedersen_check 38 (0) 0.00% 28,858 (-10) -0.03%
pedersen_commitment 11 (0) 0.00% 28,742 (-10) -0.03%
pedersen_hash 2 (0) 0.00% 28,742 (-10) -0.03%
hash_to_field 66 (0) 0.00% 19,428 (-10) -0.05%
7 70 (0) 0.00% 19,350 (-10) -0.05%
blake3 70 (0) 0.00% 18,774 (-10) -0.05%
strings 38 (0) 0.00% 14,373 (-10) -0.07%
bench_eddsa_poseidon 17,922 (0) 0.00% 20,749 (-15) -0.07%
bench_poseidon_hash_30 12,210 (0) 0.00% 12,245 (-11) -0.09%
no_predicates_numeric_generic_poseidon 53 (0) 0.00% 10,756 (-11) -0.10%
operator_overloading 563 (0) 0.00% 8,214 (-10) -0.12%
simple_bitwise 18 (0) 0.00% 8,214 (-10) -0.12%
aes128_encrypt 143 (0) 0.00% 7,881 (-10) -0.13%
bit_and 46 (0) 0.00% 4,112 (-10) -0.24%
xor 8 (0) 0.00% 4,106 (-10) -0.24%
embedded_curve_ops 11 (0) 0.00% 4,891 (-13) -0.27%
regression_5045 14 (0) 0.00% 4,086 (-16) -0.39%
poseidon_bn254_hash 1,058 (0) 0.00% 2,491 (-11) -0.44%
6_array 429 (0) 0.00% 4,055 (-19) -0.47%
7_function 234 (0) 0.00% 2,992 (-15) -0.50%
regression_4709 72 (0) 0.00% 2,905 (-15) -0.51%
if_else_chain 47 (0) 0.00% 2,794 (-15) -0.53%
regression_3607 43 (0) 0.00% 2,789 (-15) -0.53%
conditional_regression_661 32 (0) 0.00% 2,785 (-15) -0.54%
conditional_regression_421 32 (0) 0.00% 2,778 (-15) -0.54%
databus 14 (0) 0.00% 2,777 (-15) -0.54%
fold_complex_outputs 31 (0) 0.00% 2,777 (-15) -0.54%
2_div 25 (0) 0.00% 2,773 (-15) -0.54%
brillig_fns_as_values 23 (0) 0.00% 2,767 (-15) -0.54%
conditional_2 22 (0) 0.00% 2,767 (-15) -0.54%
1_mul 12 (0) 0.00% 2,761 (-15) -0.54%
regression_2660 18 (0) 0.00% 2,760 (-15) -0.54%
3_add 12 (0) 0.00% 2,759 (-15) -0.54%
side_effects_constrain_array 9 (0) 0.00% 2,754 (-15) -0.54%
unsafe_range_constraint 1 (0) 0.00% 2,754 (-15) -0.54%
brillig_calls_conditionals 9 (0) 0.00% 2,752 (-15) -0.54%
brillig_acir_as_brillig 8 (0) 0.00% 2,750 (-15) -0.54%
brillig_calls 9 (0) 0.00% 2,750 (-15) -0.54%
brillig_calls_array 6 (0) 0.00% 2,750 (-15) -0.54%
fold_distinct_return 5 (0) 0.00% 2,750 (-15) -0.54%
field_attribute 5 (0) 0.00% 2,749 (-15) -0.54%
integer_array_indexing 3 (0) 0.00% 2,748 (-15) -0.54%
brillig_recursion 3 (0) 0.00% 2,746 (-15) -0.54%
fold_fibonacci 3 (0) 0.00% 2,746 (-15) -0.54%
fold_after_inlined_calls 2 (0) 0.00% 2,745 (-15) -0.54%
simple_comparison 24 (0) 0.00% 3,477 (-19) -0.54%
trait_as_return_type 1 (0) 0.00% 2,745 (-15) -0.54%
4_sub 14 (0) 0.00% 3,460 (-19) -0.55%
signed_division 207 (0) 0.00% 3,657 (-21) -0.57%
signed_arithmetic 189 (0) 0.00% 2,920 (-17) -0.58%
to_le_bytes 84 (0) 0.00% 2,910 (-17) -0.58%
struct_inputs 28 (0) 0.00% 2,842 (-17) -0.59%
5_over 21 (0) 0.00% 3,469 (-21) -0.60%
brillig_not 24 (0) 0.00% 2,785 (-17) -0.61%
u16_support 263 (0) 0.00% 3,057 (-19) -0.62%
array_sort 55 (0) 0.00% 2,860 (-18) -0.63%
arithmetic_binary_operations 18 (0) 0.00% 2,772 (-18) -0.65%
brillig_assert 12 (0) 0.00% 2,765 (-18) -0.65%
bit_shifts_comptime 13 (0) 0.00% 2,825 (-19) -0.67%
regression_mem_op_predicate 58 (0) 0.00% 3,563 (-24) -0.67%
regression_struct_array_conditional 72 (0) 0.00% 3,181 (-24) -0.75%
trait_method_mut_self 5 (0) 0.00% 1,437 (-11) -0.76%
turbofish_call_func_diff_types 5 (0) 0.00% 1,437 (-11) -0.76%
array_if_cond_simple 116 (0) 0.00% 3,122 (-24) -0.76%
poseidonsponge_x5_254 1,302 (0) 0.00% 1,307 (-11) -0.83%
simple_shift_left_right 14 (0) 0.00% 2,975 (-27) -0.90%
array_dynamic 111 (0) 0.00% 3,730 (-34) -0.90%
bigint 682 (0) 0.00% 8,641 (-83) -0.95%
regression_capacity_tracker 115 (0) 0.00% 3,928 (-38) -0.96%
regression 347 (0) 0.00% 3,871 (-39) -1.00%
slices 311 (0) 0.00% 3,380 (-36) -1.05%
slice_dynamic_index 1,322 (0) 0.00% 6,749 (-106) -1.55%
u128 782 (0) 0.00% 4,709 (-74) -1.55%
nested_array_in_slice 1,095 (0) 0.00% 5,634 (-89) -1.56%
tuple_inputs 43 (0) 0.00% 3,629 (-69) -1.87%
brillig_keccak 164 (0) 0.00% 3,058 (-63) -2.02%
wrapping_operations 34 (0) 0.00% 2,929 (-64) -2.14%
nested_array_dynamic 4,449 (0) 0.00% 14,884 (-373) -2.44%
bench_poseidon_hash 407 (0) 0.00% 413 (-11) -2.59%
to_bytes_integration 429 (0) 0.00% 484 (-13) -2.62%
brillig_block_parameter_liveness 1 (0) 0.00% 405 (-11) -2.64%
signed_div 510 (0) 0.00% 523 (-15) -2.79%
bit_shifts_runtime 2,148 (0) 0.00% 5,761 (-177) -2.98%
sha2_byte 15,906 (0) 0.00% 83,160 (-2,955) -3.43%
modulus 286 (0) 0.00% 291 (-11) -3.64%
brillig_ecdsa_secp256k1 162 (0) 0.00% 251 (-13) -4.92%
brillig_ecdsa_secp256r1 162 (0) 0.00% 251 (-13) -4.92%
signed_comparison 143 (0) 0.00% 281 (-17) -5.70%
global_consts 167 (0) 0.00% 143 (-11) -7.14%
brillig_blake2s 102 (0) 0.00% 168 (-13) -7.18%
signed_cmp 65 (0) 0.00% 216 (-17) -7.30%
to_be_bytes 78 (0) 0.00% 165 (-13) -7.30%
brillig_sha256 97 (0) 0.00% 162 (-13) -7.43%
array_neq 159 (0) 0.00% 132 (-11) -7.69%
array_dynamic_main_output 33 (0) 0.00% 171 (-18) -9.52%
array_to_slice 64 (0) 0.00% 263 (-28) -9.62%
array_len 17 (0) 0.00% 69 (-13) -15.85%
debug_logs 46 (0) 0.00% 61 (-13) -17.57%
to_bytes_consistent 47 (0) 0.00% 51 (-11) -17.74%
conditional_regression_underflow 13 (0) 0.00% 60 (-13) -17.81%
array_eq 32 (0) 0.00% 37 (-11) -22.92%
nested_array_dynamic_simple 16 (0) 0.00% 37 (-12) -24.49%
brillig_unitialised_arrays 5 (0) 0.00% 17 (-11) -39.29%
fold_numeric_generic_poseidon 8 (0) 0.00% 13 (-11) -45.83%
wildcard_type 4 (0) 0.00% 13 (-11) -45.83%
brillig_nested_arrays 10 (0) 0.00% 12 (-11) -47.83%
main_bool_arg 8 (0) 0.00% 12 (-11) -47.83%
witness_compression 6 (0) 0.00% 12 (-11) -47.83%
brillig_identity_function 9 (0) 0.00% 11 (-11) -50.00%
fold_call_witness_condition 5 (0) 0.00% 11 (-11) -50.00%
inline_never_basic 5 (0) 0.00% 10 (-11) -52.38%
modules 5 (0) 0.00% 10 (-11) -52.38%
no_predicates_basic 5 (0) 0.00% 10 (-11) -52.38%
references 6 (0) 0.00% 10 (-11) -52.38%
type_aliases 6 (0) 0.00% 10 (-11) -52.38%
brillig_conditional 6 (0) 0.00% 9 (-11) -55.00%
cast_bool 5 (0) 0.00% 9 (-11) -55.00%
import 5 (0) 0.00% 9 (-11) -55.00%
modules_more 5 (0) 0.00% 9 (-11) -55.00%
regression_4202 4 (0) 0.00% 9 (-11) -55.00%
simple_2d_array 4 (0) 0.00% 9 (-11) -55.00%
simple_radix 5 (0) 0.00% 9 (-11) -55.00%
struct_fields_ordering 2 (0) 0.00% 9 (-11) -55.00%
bool_or 3 (0) 0.00% 8 (-11) -57.89%
brillig_array_to_slice 4 (0) 0.00% 8 (-11) -57.89%
diamond_deps_0 1 (0) 0.00% 8 (-11) -57.89%
main_return 1 (0) 0.00% 8 (-11) -57.89%
simple_not 2 (0) 0.00% 8 (-11) -57.89%
submodules 3 (0) 0.00% 8 (-11) -57.89%
1327_concrete_in_generic 1 (0) 0.00% 7 (-11) -61.11%
assert_statement 1 (0) 0.00% 7 (-11) -61.11%
assert_statement_recursive 1 (0) 0.00% 7 (-11) -61.11%
assign_ex 2 (0) 0.00% 7 (-11) -61.11%
brillig_cow_regression 1 (0) 0.00% 7 (-11) -61.11%
brillig_hash_to_field 2 (0) 0.00% 7 (-11) -61.11%
conditional_regression_547 1 (0) 0.00% 7 (-11) -61.11%
fold_basic 3 (0) 0.00% 7 (-11) -61.11%
fold_basic_nested_call 3 (0) 0.00% 7 (-11) -61.11%
higher_order_functions 1 (0) 0.00% 7 (-11) -61.11%
overlapping_dep_and_mod 1 (0) 0.00% 7 (-11) -61.11%
regression_3889 1 (0) 0.00% 7 (-11) -61.11%
simple_add_and_ret_arr 1 (0) 0.00% 7 (-11) -61.11%
simple_array_param 1 (0) 0.00% 7 (-11) -61.11%
simple_mut 1 (0) 0.00% 7 (-11) -61.11%
simple_program_addition 1 (0) 0.00% 7 (-11) -61.11%
slice_coercion 2 (0) 0.00% 7 (-11) -61.11%
slice_loop 2 (0) 0.00% 7 (-11) -61.11%
struct 2 (0) 0.00% 7 (-11) -61.11%
struct_array_inputs 1 (0) 0.00% 7 (-11) -61.11%
traits_in_crates_1 1 (0) 0.00% 7 (-11) -61.11%
traits_in_crates_2 1 (0) 0.00% 7 (-11) -61.11%
tuples 2 (0) 0.00% 7 (-11) -61.11%
assert 1 (0) 0.00% 6 (-11) -64.71%
bit_not 1 (0) 0.00% 6 (-11) -64.71%
bool_not 1 (0) 0.00% 6 (-11) -64.71%
brillig_loop 1 (0) 0.00% 6 (-11) -64.71%
closures_mut_ref 1 (0) 0.00% 6 (-11) -64.71%
custom_entry 1 (0) 0.00% 6 (-11) -64.71%
generics 1 (0) 0.00% 6 (-11) -64.71%
missing_closure_env 1 (0) 0.00% 6 (-11) -64.71%
nested_arrays_from_brillig 2 (0) 0.00% 6 (-11) -64.71%
no_predicates_brillig 1 (0) 0.00% 6 (-11) -64.71%
pred_eq 1 (0) 0.00% 6 (-11) -64.71%
regression_4088 1 (0) 0.00% 6 (-11) -64.71%
regression_4124 1 (0) 0.00% 6 (-11) -64.71%
simple_print 2 (0) 0.00% 6 (-11) -64.71%
trait_impl_base_type 1 (0) 0.00% 6 (-11) -64.71%
acir_inside_brillig_recursion 0 (0) +∞% 5 (-11) -68.75%
array_to_slice_constant_length 1 (0) 0.00% 5 (-11) -68.75%
break_and_continue 1 (0) 0.00% 5 (-11) -68.75%
brillig_arrays 2 (0) 0.00% 5 (-11) -68.75%
brillig_blake3 1 (0) 0.00% 5 (-11) -68.75%
brillig_cow 1 (0) 0.00% 5 (-11) -68.75%
brillig_cow_assign 1 (0) 0.00% 5 (-11) -68.75%
brillig_oracle 7 (0) 0.00% 5 (-11) -68.75%
brillig_pedersen 1 (0) 0.00% 5 (-11) -68.75%
brillig_references 1 (0) 0.00% 5 (-11) -68.75%
brillig_slices 1 (0) 0.00% 5 (-11) -68.75%
cast_and_shift_global 0 (0) +∞% 5 (-11) -68.75%
comptime_println 1 (0) 0.00% 5 (-11) -68.75%
empty 0 (0) +∞% 5 (-11) -68.75%
is_unconstrained 0 (0) +∞% 5 (-11) -68.75%
prelude 2 (0) 0.00% 5 (-11) -68.75%
regression_3051 2 (0) 0.00% 5 (-11) -68.75%
regression_3394 1 (0) 0.00% 5 (-11) -68.75%
regression_5202 0 (0) +∞% 5 (-11) -68.75%
regression_method_cannot_be_found 1 (0) 0.00% 5 (-11) -68.75%
to_bits 0 (0) +∞% 5 (-11) -68.75%
unit_value 0 (0) +∞% 5 (-11) -68.75%

@Savio-Sou
Copy link
Collaborator

Changes to circuit sizes

Circuit size optimization goes brrrrrr

Co-authored-by: Michael J Klein <michaeljklein@users.noreply.github.com>
@Savio-Sou
Copy link
Collaborator

Should we also bump the bb installation recommendation in docs as a part of / following this PR? https://noir-lang.org/docs/dev/getting_started/barretenberg/

@TomAFrench TomAFrench added this pull request to the merge queue Jun 24, 2024
Merged via the queue into master with commit 96ef87b Jun 24, 2024
42 of 43 checks passed
@TomAFrench TomAFrench deleted the tf/bump-bb branch June 24, 2024 21:41
@TomAFrench
Copy link
Member Author

Should we also bump the bb installation recommendation in docs as a part of / following this PR?

Sure, can you open a PR for this?

TomAFrench added a commit that referenced this pull request Jun 25, 2024
* master:
  chore: replace cached `in_contract` with `in_contract()` method (#5324)
  fix: fix usage of `#[abi(tag)]` attribute with elaborator (#5298)
  fix: don't benchmark the "prove" command as it doesn't exist anymore (#5323)
  feat(stdlib): Update stdlib to use explicit numeric generics (#5306)
  feat: let `should_fail_with` check that the failure reason contains the expected message (#5319)
  chore: bump `bb` to 0.43.0 (#5321)
  feat(frontend): Explicit numeric generics and type kinds (#5155)
  feat(frontend): Where clause on impl (#5320)
  chore: add back Pedersen blackbox functions (revert PR 5221) (#5318)
  fix: skip emission of brillig calls which will never be executed (#5314)
  feat: Make macros operate on token streams instead of AST nodes (#5301)
  chore: Bundle SSA Evaluator Options (#5317)
  fix: Replace panic in monomorphization with an error (#5305)
  fix(nargo_fmt): Account for spaces before the generic list of a function (#5303)
TomAFrench added a commit that referenced this pull request Jun 25, 2024
* master: (416 commits)
  chore: replace cached `in_contract` with `in_contract()` method (#5324)
  fix: fix usage of `#[abi(tag)]` attribute with elaborator (#5298)
  fix: don't benchmark the "prove" command as it doesn't exist anymore (#5323)
  feat(stdlib): Update stdlib to use explicit numeric generics (#5306)
  feat: let `should_fail_with` check that the failure reason contains the expected message (#5319)
  chore: bump `bb` to 0.43.0 (#5321)
  feat(frontend): Explicit numeric generics and type kinds (#5155)
  feat(frontend): Where clause on impl (#5320)
  chore: add back Pedersen blackbox functions (revert PR 5221) (#5318)
  fix: skip emission of brillig calls which will never be executed (#5314)
  feat: Make macros operate on token streams instead of AST nodes (#5301)
  chore: Bundle SSA Evaluator Options (#5317)
  fix: Replace panic in monomorphization with an error (#5305)
  fix(nargo_fmt): Account for spaces before the generic list of a function (#5303)
  fix: update `in_contract` flag before handling function metadata in elaborator (#5292)
  fix: fix incorrect return type being applied to stdlib functions `modulus_be_bytes()`, `modulus_be_bits()`, etc. (#5278)
  chore: refactor test case generation in build.rs (#5280)
  fix: handle struct with nested arrays in oracle return values (#5244)
  feat: build simple dictionary from inspecting ACIR program (#5264)
  fix: Add more thorough check for whether a type is valid when passing it from constrained code to unconstrained code (#5009)
  ...
TomAFrench added a commit that referenced this pull request Jun 26, 2024
* master: (46 commits)
  chore: address TODO in `compat.nr` (#5339)
  chore: use `push_err` more in elaborator (#5336)
  chore: remove `is_unconstrained_fn` field from elaborator (#5335)
  fix: Error when a local function is called in a comptime context (#5334)
  feat: Add `map`, `fold`, `reduce`, `any`, and `all` for slices (#5331)
  fix: Avoid panic in type system (#5332)
  chore: remove panic for unimplemented trait dispatch (#5329)
  feat: Use runtime loops for brillig array initialization (#5243)
  fix: Fix tokenization of unquoted types in macros (#5326)
  chore: replace cached `in_contract` with `in_contract()` method (#5324)
  fix: fix usage of `#[abi(tag)]` attribute with elaborator (#5298)
  fix: don't benchmark the "prove" command as it doesn't exist anymore (#5323)
  feat(stdlib): Update stdlib to use explicit numeric generics (#5306)
  feat: let `should_fail_with` check that the failure reason contains the expected message (#5319)
  chore: bump `bb` to 0.43.0 (#5321)
  feat(frontend): Explicit numeric generics and type kinds (#5155)
  feat(frontend): Where clause on impl (#5320)
  chore: add back Pedersen blackbox functions (revert PR 5221) (#5318)
  fix: skip emission of brillig calls which will never be executed (#5314)
  feat: Make macros operate on token streams instead of AST nodes (#5301)
  ...
TomAFrench added a commit that referenced this pull request Jun 26, 2024
* master: (46 commits)
  chore: address TODO in `compat.nr` (#5339)
  chore: use `push_err` more in elaborator (#5336)
  chore: remove `is_unconstrained_fn` field from elaborator (#5335)
  fix: Error when a local function is called in a comptime context (#5334)
  feat: Add `map`, `fold`, `reduce`, `any`, and `all` for slices (#5331)
  fix: Avoid panic in type system (#5332)
  chore: remove panic for unimplemented trait dispatch (#5329)
  feat: Use runtime loops for brillig array initialization (#5243)
  fix: Fix tokenization of unquoted types in macros (#5326)
  chore: replace cached `in_contract` with `in_contract()` method (#5324)
  fix: fix usage of `#[abi(tag)]` attribute with elaborator (#5298)
  fix: don't benchmark the "prove" command as it doesn't exist anymore (#5323)
  feat(stdlib): Update stdlib to use explicit numeric generics (#5306)
  feat: let `should_fail_with` check that the failure reason contains the expected message (#5319)
  chore: bump `bb` to 0.43.0 (#5321)
  feat(frontend): Explicit numeric generics and type kinds (#5155)
  feat(frontend): Where clause on impl (#5320)
  chore: add back Pedersen blackbox functions (revert PR 5221) (#5318)
  fix: skip emission of brillig calls which will never be executed (#5314)
  feat: Make macros operate on token streams instead of AST nodes (#5301)
  ...
TomAFrench added a commit that referenced this pull request Jun 26, 2024
* master: (46 commits)
  chore: address TODO in `compat.nr` (#5339)
  chore: use `push_err` more in elaborator (#5336)
  chore: remove `is_unconstrained_fn` field from elaborator (#5335)
  fix: Error when a local function is called in a comptime context (#5334)
  feat: Add `map`, `fold`, `reduce`, `any`, and `all` for slices (#5331)
  fix: Avoid panic in type system (#5332)
  chore: remove panic for unimplemented trait dispatch (#5329)
  feat: Use runtime loops for brillig array initialization (#5243)
  fix: Fix tokenization of unquoted types in macros (#5326)
  chore: replace cached `in_contract` with `in_contract()` method (#5324)
  fix: fix usage of `#[abi(tag)]` attribute with elaborator (#5298)
  fix: don't benchmark the "prove" command as it doesn't exist anymore (#5323)
  feat(stdlib): Update stdlib to use explicit numeric generics (#5306)
  feat: let `should_fail_with` check that the failure reason contains the expected message (#5319)
  chore: bump `bb` to 0.43.0 (#5321)
  feat(frontend): Explicit numeric generics and type kinds (#5155)
  feat(frontend): Where clause on impl (#5320)
  chore: add back Pedersen blackbox functions (revert PR 5221) (#5318)
  fix: skip emission of brillig calls which will never be executed (#5314)
  feat: Make macros operate on token streams instead of AST nodes (#5301)
  ...
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jun 27, 2024
…-lang/noir#5330)

feat: Insert trait impls into the program from type annotations (noir-lang/noir#5327)
feat: Sync from aztec-packages (noir-lang/noir#5340)
chore: address TODO in `compat.nr` (noir-lang/noir#5339)
chore: use `push_err` more in elaborator (noir-lang/noir#5336)
chore: remove `is_unconstrained_fn` field from elaborator (noir-lang/noir#5335)
fix: Error when a local function is called in a comptime context (noir-lang/noir#5334)
feat: Add `map`, `fold`, `reduce`, `any`, and `all` for slices (noir-lang/noir#5331)
fix: Avoid panic in type system (noir-lang/noir#5332)
chore: remove panic for unimplemented trait dispatch (noir-lang/noir#5329)
feat: Use runtime loops for brillig array initialization (noir-lang/noir#5243)
fix: Fix tokenization of unquoted types in macros (noir-lang/noir#5326)
chore: replace cached `in_contract` with `in_contract()` method (noir-lang/noir#5324)
fix: fix usage of `#[abi(tag)]` attribute with elaborator (noir-lang/noir#5298)
fix: don't benchmark the "prove" command as it doesn't exist anymore (noir-lang/noir#5323)
feat(stdlib): Update stdlib to use explicit numeric generics (noir-lang/noir#5306)
feat: let `should_fail_with` check that the failure reason contains the expected message (noir-lang/noir#5319)
chore: bump `bb` to 0.43.0 (noir-lang/noir#5321)
feat(frontend): Explicit numeric generics and type kinds (noir-lang/noir#5155)
feat(frontend): Where clause on impl (noir-lang/noir#5320)
vezenovm added a commit to AztecProtocol/aztec-packages that referenced this pull request Jun 28, 2024
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
fix: Implement generic functions in the interpreter
(noir-lang/noir#5330)
feat: Insert trait impls into the program from type annotations
(noir-lang/noir#5327)
feat: Sync from aztec-packages
(noir-lang/noir#5340)
chore: address TODO in `compat.nr`
(noir-lang/noir#5339)
chore: use `push_err` more in elaborator
(noir-lang/noir#5336)
chore: remove `is_unconstrained_fn` field from elaborator
(noir-lang/noir#5335)
fix: Error when a local function is called in a comptime context
(noir-lang/noir#5334)
feat: Add `map`, `fold`, `reduce`, `any`, and `all` for slices
(noir-lang/noir#5331)
fix: Avoid panic in type system
(noir-lang/noir#5332)
chore: remove panic for unimplemented trait dispatch
(noir-lang/noir#5329)
feat: Use runtime loops for brillig array initialization
(noir-lang/noir#5243)
fix: Fix tokenization of unquoted types in macros
(noir-lang/noir#5326)
chore: replace cached `in_contract` with `in_contract()` method
(noir-lang/noir#5324)
fix: fix usage of `#[abi(tag)]` attribute with elaborator
(noir-lang/noir#5298)
fix: don't benchmark the "prove" command as it doesn't exist anymore
(noir-lang/noir#5323)
feat(stdlib): Update stdlib to use explicit numeric generics
(noir-lang/noir#5306)
feat: let `should_fail_with` check that the failure reason contains the
expected message (noir-lang/noir#5319)
chore: bump `bb` to 0.43.0 (noir-lang/noir#5321)
feat(frontend): Explicit numeric generics and type kinds
(noir-lang/noir#5155)
feat(frontend): Where clause on impl
(noir-lang/noir#5320)
END_COMMIT_OVERRIDE

---------

Co-authored-by: TomAFrench <tom@tomfren.ch>
Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
Co-authored-by: Maxim Vezenov <mvezenov@gmail.com>
rahul-kothari pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Jul 2, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.45.0](aztec-package-v0.44.0...aztec-package-v0.45.0)
(2024-07-02)


### Bug Fixes

* Devnet deployment issues
([#7197](#7197))
([9cf4904](9cf4904))
</details>

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

##
[0.45.0](barretenberg.js-v0.44.0...barretenberg.js-v0.45.0)
(2024-07-02)


### Miscellaneous

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

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

##
[0.45.0](aztec-packages-v0.44.0...aztec-packages-v0.45.0)
(2024-07-02)


### ⚠ BREAKING CHANGES

* error on too large integer value
(noir-lang/noir#5371)
* rename struct-specific TypeDefinition -> StructDefinition
(noir-lang/noir#5356)
* extend storage read oracle to receive address and block number
([#7243](#7243))
* split storage access oracles
([#7237](#7237))
* remove `dep::` prefix (noir-lang/noir#4946)

### Features

* `mod.nr` entrypoint (noir-lang/noir#5039)
([bb5cbab](bb5cbab))
* `static_assert` builtin (noir-lang/noir#5342)
([eb9e9f6](eb9e9f6))
* Add `map`, `fold`, `reduce`, `any`, and `all` for slices
(noir-lang/noir#5331)
([f2abb4e](f2abb4e))
* Add `set` and `set_unchecked` methods to `Vec` and `BoundedVec`
(noir-lang/noir#5241)
([ed815a3](ed815a3))
* Add BoundedVec::map (noir-lang/noir#5250)
([ed815a3](ed815a3))
* Add fuzzer for Noir programs
(noir-lang/noir#5251)
([ed815a3](ed815a3))
* Add new lenses for encryted notes
([#7238](#7238))
([c07cf2c](c07cf2c))
* Add outgoing keys support to getEvents
([#7239](#7239))
([77c304e](77c304e))
* Add support for wildcard types
(noir-lang/noir#5275)
([ed815a3](ed815a3))
* **avm:** Calldata gadget preliminaries
([#7227](#7227))
([79e8588](79e8588))
* Build simple dictionary from inspecting ACIR program
(noir-lang/noir#5264)
([ed815a3](ed815a3))
* Constant Honk proof sizes
([#6954](#6954))
([17c8d3a](17c8d3a))
* Disable nargo color output if stderr is tty
(noir-lang/noir#5346)
([eb9e9f6](eb9e9f6))
* **docs:** Macros explainer
([#7172](#7172))
([bb2ebfc](bb2ebfc))
* Error on too large integer value
(noir-lang/noir#5371)
([bb5cbab](bb5cbab))
* Example of private token transfer event
([#7242](#7242))
([99ce26f](99ce26f))
* **experimental:** Implement macro calls & splicing into `Expr` values
(noir-lang/noir#5203)
([ed815a3](ed815a3))
* Extend storage read oracle to receive address and block number
([#7243](#7243))
([153b201](153b201))
* **frontend:** Explicit numeric generics and type kinds
(noir-lang/noir#5155)
([f2abb4e](f2abb4e))
* **frontend:** Where clause on impl
(noir-lang/noir#5320)
([f2abb4e](f2abb4e))
* Function selector opcode in AVM
([#7244](#7244))
([dde47e9](dde47e9))
* Implement comptime support for `array_len` builtin
(noir-lang/noir#5272)
([ed815a3](ed815a3))
* Implement comptime support for `as_slice` builtin
(noir-lang/noir#5276)
([ed815a3](ed815a3))
* Insert trait impls into the program from type annotations
(noir-lang/noir#5327)
([f2abb4e](f2abb4e))
* Let `should_fail_with` check that the failure reason contains the
expected message (noir-lang/noir#5319)
([f2abb4e](f2abb4e))
* Make macros operate on token streams instead of AST nodes
(noir-lang/noir#5301)
([ed815a3](ed815a3))
* Private refunds
([#7226](#7226))
([6fafff6](6fafff6))
* Remove `dep::` prefix (noir-lang/noir#4946)
([ed815a3](ed815a3))
* Remove event selector in logs from public context
([#7192](#7192))
([646d45a](646d45a))
* Rename struct-specific TypeDefinition -&gt; StructDefinition
(noir-lang/noir#5356)
([bb5cbab](bb5cbab))
* Run `comptime` code from annotations on a type definition
(noir-lang/noir#5256)
([ed815a3](ed815a3))
* Split storage access oracles
([#7237](#7237))
([51f7d65](51f7d65))
* **stdlib:** Update stdlib to use explicit numeric generics
(noir-lang/noir#5306)
([f2abb4e](f2abb4e))
* Store shared mutable hash
([#7169](#7169))
([868606e](868606e))
* Sync from aztec-packages (noir-lang/noir#5242)
([ed815a3](ed815a3))
* Sync from aztec-packages (noir-lang/noir#5340)
([f2abb4e](f2abb4e))
* Sync from aztec-packages (noir-lang/noir#5347)
([eb9e9f6](eb9e9f6))
* Sync from aztec-packages (noir-lang/noir#5377)
([bb5cbab](bb5cbab))
* Unconstrained variants for event emission
([#7251](#7251))
([6d093e3](6d093e3))
* Unify unencrypted log emission and decoding
([#7232](#7232))
([354dba2](354dba2))
* Update rebuild script
([#7225](#7225))
([af59247](af59247))
* Use runtime loops for brillig array initialization
(noir-lang/noir#5243)
([f2abb4e](f2abb4e))
* Wonky rollups
([#7189](#7189))
([1de3746](1de3746))


### Bug Fixes

* Add more thorough check for whether a type is valid when passing it
from constrained code to unconstrained code
(noir-lang/noir#5009)
([ed815a3](ed815a3))
* Add support for nested arrays returned by oracles
(noir-lang/noir#5132)
([ed815a3](ed815a3))
* Address compiler warnings coming from stdlib
(noir-lang/noir#5351)
([eb9e9f6](eb9e9f6))
* Avoid duplicating constant arrays
(noir-lang/noir#5287)
([ed815a3](ed815a3))
* Avoid panic in type system
(noir-lang/noir#5332)
([f2abb4e](f2abb4e))
* Avoid unnecessarily splitting expressions with multiplication terms
with a shared term (noir-lang/noir#5291)
([ed815a3](ed815a3))
* Benchmark prover e2e test with proving
([#7175](#7175))
([431c14c](431c14c))
* Devnet deployment issues
([#7197](#7197))
([9cf4904](9cf4904))
* Disable `if` optimization
(noir-lang/noir#5240)
([ed815a3](ed815a3))
* **docs:** Historical reference library updates
([#7166](#7166))
([b3409c4](b3409c4))
* Don't benchmark the "prove" command as it doesn't exist anymore
(noir-lang/noir#5323)
([f2abb4e](f2abb4e))
* Don't lazily elaborate functions
(noir-lang/noir#5282)
([ed815a3](ed815a3))
* **elaborator:** Fix duplicate methods error
(noir-lang/noir#5225)
([ed815a3](ed815a3))
* **elaborator:** Fix regression introduced by lazy-global changes
(noir-lang/noir#5223)
([ed815a3](ed815a3))
* Error when a local function is called in a comptime context
(noir-lang/noir#5334)
([f2abb4e](f2abb4e))
* Fix authwit package
([#7204](#7204))
([98ccd41](98ccd41))
* Fix incorrect return type being applied to stdlib functions
`modulus_be_bytes()`, `modulus_be_bits()`, etc.
(noir-lang/noir#5278)
([ed815a3](ed815a3))
* Fix tokenization of unquoted types in macros
(noir-lang/noir#5326)
([f2abb4e](f2abb4e))
* Fix usage of `#[abi(tag)]` attribute with elaborator
(noir-lang/noir#5298)
([f2abb4e](f2abb4e))
* Handle struct with nested arrays in oracle return values
(noir-lang/noir#5244)
([ed815a3](ed815a3))
* Ignore calls to `Intrinsic::AsWitness` during brillig codegen
(noir-lang/noir#5350)
([eb9e9f6](eb9e9f6))
* Implement generic functions in the interpreter
(noir-lang/noir#5330)
([f2abb4e](f2abb4e))
* **nargo_fmt:** Account for spaces before the generic list of a
function (noir-lang/noir#5303)
([ed815a3](ed815a3))
* Replace panic in monomorphization with an error
(noir-lang/noir#5305)
([ed815a3](ed815a3))
* Reran pil-&gt;cpp codegen & encode_and_encrypt_event_with_randomness
fix
([#7247](#7247))
([fa15a45](fa15a45))
* Runtime brillig bigint id assignment
(noir-lang/noir#5369)
([bb5cbab](bb5cbab))
* Skip emission of brillig calls which will never be executed
(noir-lang/noir#5314)
([ed815a3](ed815a3))
* TS LSP being slow
([#7181](#7181))
([e934e87](e934e87))
* Update `in_contract` flag before handling function metadata in
elaborator (noir-lang/noir#5292)
([ed815a3](ed815a3))
* Use proper serialization in `AbiValue`
(noir-lang/noir#5270)
([ed815a3](ed815a3))


### Miscellaneous

* `static_assert` error message fix and split into is-dynamic and
is-false (noir-lang/noir#5353)
([eb9e9f6](eb9e9f6))
* Add back Pedersen blackbox functions (revert PR 5221)
(noir-lang/noir#5318)
([ed815a3](ed815a3))
* Add log_hash as input in log emission in private context
([#7249](#7249))
([8b3dfe9](8b3dfe9))
* Add no predicate to poseidon2
(noir-lang/noir#5252)
([ed815a3](ed815a3))
* Add no-predicate to hash implementations
(noir-lang/noir#5253)
([ed815a3](ed815a3))
* Add property tests for ABI encoding
(noir-lang/noir#5216)
([ed815a3](ed815a3))
* Address TODO in `compat.nr`
(noir-lang/noir#5339)
([f2abb4e](f2abb4e))
* **avm-transpiler:** Better error messages
([#7217](#7217))
([27051ad](27051ad))
* **avm:** Remove trailing minus zero in codegen
([#7185](#7185))
([f3c8166](f3c8166))
* Avoid building contracts when producing gates report
([#7136](#7136))
([25507e6](25507e6))
* Bump `bb` to 0.43.0 (noir-lang/noir#5321)
([f2abb4e](f2abb4e))
* Bundle SSA Evaluator Options
(noir-lang/noir#5317)
([ed815a3](ed815a3))
* **ci:** Trigger a noir sync every morning at 8am
([#7280](#7280))
([412c016](412c016))
* Copy across typo PR script from aztec-packages
(noir-lang/noir#5235)
([ed815a3](ed815a3))
* Create separate crate just for noir artifacts
(noir-lang/noir#5162)
([ed815a3](ed815a3))
* **docs:** Fixing trailing slash issue
(noir-lang/noir#5233)
([ed815a3](ed815a3))
* Fix examples (noir-lang/noir#5357)
([eb9e9f6](eb9e9f6))
* Fix migration notes
([#7279](#7279))
([51d93eb](51d93eb))
* Fix negative tests in AVM circuit for context input lookups
([#7261](#7261))
([ad2f654](ad2f654))
* Fixing all relative paths
(noir-lang/noir#5220)
([ed815a3](ed815a3))
* Generate PIL constants from via constants gen
([#7258](#7258))
([244ef7e](244ef7e))
* Gets rid of unencrypted emit in private_context
([#7236](#7236))
([3e6d88e](3e6d88e))
* Improve authwit comments/docs
([#7180](#7180))
([051ab9e](051ab9e))
* Misc cleanup in simulator
([#7203](#7203))
([eb00830](eb00830))
* Optimize the elaborator (noir-lang/noir#5230)
([ed815a3](ed815a3))
* Parse macros (noir-lang/noir#5229)
([ed815a3](ed815a3))
* Pedersen commitment in Noir
(noir-lang/noir#5221)
([ed815a3](ed815a3))
* Pedersen hash in Noir (noir-lang/noir#5217)
([ed815a3](ed815a3))
* Private tail circuits
([#7148](#7148))
([9e67e7d](9e67e7d))
* Pull out change to expression splitting from sync PR
([#7215](#7215))
([b4f50a5](b4f50a5))
* Pull out foreign call nested array changes
([#7216](#7216))
([1faaaf5](1faaaf5))
* Pull out
noir-lang/noir[#5120](#5120)
([#7205](#7205))
([c5dc094](c5dc094))
* Pull out pedersen generator builtin from sync PR
([#7210](#7210))
([412f02e](412f02e))
* Pull out SSA changes from sync PR
([#7209](#7209))
([141e137](141e137))
* Push code related to ABI gen into `noirc_driver`
(noir-lang/noir#5218)
([ed815a3](ed815a3))
* Redo typo PR by dropbigfish
(noir-lang/noir#5234)
([ed815a3](ed815a3))
* Refactor test case generation in build.rs
(noir-lang/noir#5280)
([ed815a3](ed815a3))
* Release Noir(0.31.0) (noir-lang/noir#5166)
([ed815a3](ed815a3))
* Remove `is_unconstrained_fn` field from elaborator
(noir-lang/noir#5335)
([f2abb4e](f2abb4e))
* Remove 4738 ref
([#7254](#7254))
([97d997c](97d997c))
* Remove a log file
([#7201](#7201))
([83bb218](83bb218))
* Remove commented code
([#7231](#7231))
([2740d60](2740d60))
* Remove panic for unimplemented trait dispatch
(noir-lang/noir#5329)
([f2abb4e](f2abb4e))
* Replace `is_bn254` implementation to not rely on truncation of
literals (noir-lang/noir#5247)
([ed815a3](ed815a3))
* Replace `regression_5202` with more manageably sized program
(noir-lang/noir#5345)
([eb9e9f6](eb9e9f6))
* Replace cached `in_contract` with `in_contract()` method
(noir-lang/noir#5324)
([f2abb4e](f2abb4e))
* Replace logical operators with bitwise in `DebugToString`
(noir-lang/noir#5236)
([ed815a3](ed815a3))
* Replace relative paths to noir-protocol-circuits
([e83b07b](e83b07b))
* Replace relative paths to noir-protocol-circuits
([eca8587](eca8587))
* Replace relative paths to noir-protocol-circuits
([b9ddf43](b9ddf43))
* Replace relative paths to noir-protocol-circuits
([6f817e8](6f817e8))
* Replace relative paths to noir-protocol-circuits
([f9bf0a4](f9bf0a4))
* Replicate
noir-lang/noir[#4946](#4946)
([#7202](#7202))
([b5c07d8](b5c07d8))
* Simplify compilation flow to write to file immediately
(noir-lang/noir#5265)
([ed815a3](ed815a3))
* Split off fuzzer, abi changes and `noirc_artifacts` from sync
([#7208](#7208))
([255d752](255d752))
* Thread generics through ACIR/brillig gen
(noir-lang/noir#5120)
([ed815a3](ed815a3))
* Use `push_err` more in elaborator
(noir-lang/noir#5336)
([f2abb4e](f2abb4e))
* Use options.limit as upper limit for note-getter loop
([#7253](#7253))
([8ff669b](8ff669b))
* Use prefix op_ for every instruction in avm_trace.hpp
([#7214](#7214))
([7ed7558](7ed7558))
* Use the elaborator by default
(noir-lang/noir#5246)
([ed815a3](ed815a3))
</details>

<details><summary>barretenberg: 0.45.0</summary>

##
[0.45.0](barretenberg-v0.44.0...barretenberg-v0.45.0)
(2024-07-02)


### Features

* **avm:** Calldata gadget preliminaries
([#7227](#7227))
([79e8588](79e8588))
* Constant Honk proof sizes
([#6954](#6954))
([17c8d3a](17c8d3a))
* Function selector opcode in AVM
([#7244](#7244))
([dde47e9](dde47e9))
* Update rebuild script
([#7225](#7225))
([af59247](af59247))


### Bug Fixes

* Benchmark prover e2e test with proving
([#7175](#7175))
([431c14c](431c14c))
* Reran pil-&gt;cpp codegen & encode_and_encrypt_event_with_randomness
fix
([#7247](#7247))
([fa15a45](fa15a45))


### Miscellaneous

* **avm:** Remove trailing minus zero in codegen
([#7185](#7185))
([f3c8166](f3c8166))
* Fix negative tests in AVM circuit for context input lookups
([#7261](#7261))
([ad2f654](ad2f654))
* Generate PIL constants from via constants gen
([#7258](#7258))
([244ef7e](244ef7e))
* Use prefix op_ for every instruction in avm_trace.hpp
([#7214](#7214))
([7ed7558](7ed7558))
</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 Jul 3, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.45.0](AztecProtocol/aztec-packages@aztec-package-v0.44.0...aztec-package-v0.45.0)
(2024-07-02)


### Bug Fixes

* Devnet deployment issues
([#7197](AztecProtocol/aztec-packages#7197))
([9cf4904](AztecProtocol/aztec-packages@9cf4904))
</details>

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

##
[0.45.0](AztecProtocol/aztec-packages@barretenberg.js-v0.44.0...barretenberg.js-v0.45.0)
(2024-07-02)


### Miscellaneous

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

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

##
[0.45.0](AztecProtocol/aztec-packages@aztec-packages-v0.44.0...aztec-packages-v0.45.0)
(2024-07-02)


### ⚠ BREAKING CHANGES

* error on too large integer value
(noir-lang/noir#5371)
* rename struct-specific TypeDefinition -> StructDefinition
(noir-lang/noir#5356)
* extend storage read oracle to receive address and block number
([#7243](AztecProtocol/aztec-packages#7243))
* split storage access oracles
([#7237](AztecProtocol/aztec-packages#7237))
* remove `dep::` prefix (noir-lang/noir#4946)

### Features

* `mod.nr` entrypoint (noir-lang/noir#5039)
([bb5cbab](AztecProtocol/aztec-packages@bb5cbab))
* `static_assert` builtin (noir-lang/noir#5342)
([eb9e9f6](AztecProtocol/aztec-packages@eb9e9f6))
* Add `map`, `fold`, `reduce`, `any`, and `all` for slices
(noir-lang/noir#5331)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* Add `set` and `set_unchecked` methods to `Vec` and `BoundedVec`
(noir-lang/noir#5241)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Add BoundedVec::map (noir-lang/noir#5250)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Add fuzzer for Noir programs
(noir-lang/noir#5251)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Add new lenses for encryted notes
([#7238](AztecProtocol/aztec-packages#7238))
([c07cf2c](AztecProtocol/aztec-packages@c07cf2c))
* Add outgoing keys support to getEvents
([#7239](AztecProtocol/aztec-packages#7239))
([77c304e](AztecProtocol/aztec-packages@77c304e))
* Add support for wildcard types
(noir-lang/noir#5275)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* **avm:** Calldata gadget preliminaries
([#7227](AztecProtocol/aztec-packages#7227))
([79e8588](AztecProtocol/aztec-packages@79e8588))
* Build simple dictionary from inspecting ACIR program
(noir-lang/noir#5264)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Constant Honk proof sizes
([#6954](AztecProtocol/aztec-packages#6954))
([17c8d3a](AztecProtocol/aztec-packages@17c8d3a))
* Disable nargo color output if stderr is tty
(noir-lang/noir#5346)
([eb9e9f6](AztecProtocol/aztec-packages@eb9e9f6))
* **docs:** Macros explainer
([#7172](AztecProtocol/aztec-packages#7172))
([bb2ebfc](AztecProtocol/aztec-packages@bb2ebfc))
* Error on too large integer value
(noir-lang/noir#5371)
([bb5cbab](AztecProtocol/aztec-packages@bb5cbab))
* Example of private token transfer event
([#7242](AztecProtocol/aztec-packages#7242))
([99ce26f](AztecProtocol/aztec-packages@99ce26f))
* **experimental:** Implement macro calls & splicing into `Expr` values
(noir-lang/noir#5203)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Extend storage read oracle to receive address and block number
([#7243](AztecProtocol/aztec-packages#7243))
([153b201](AztecProtocol/aztec-packages@153b201))
* **frontend:** Explicit numeric generics and type kinds
(noir-lang/noir#5155)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* **frontend:** Where clause on impl
(noir-lang/noir#5320)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* Function selector opcode in AVM
([#7244](AztecProtocol/aztec-packages#7244))
([dde47e9](AztecProtocol/aztec-packages@dde47e9))
* Implement comptime support for `array_len` builtin
(noir-lang/noir#5272)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Implement comptime support for `as_slice` builtin
(noir-lang/noir#5276)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Insert trait impls into the program from type annotations
(noir-lang/noir#5327)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* Let `should_fail_with` check that the failure reason contains the
expected message (noir-lang/noir#5319)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* Make macros operate on token streams instead of AST nodes
(noir-lang/noir#5301)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Private refunds
([#7226](AztecProtocol/aztec-packages#7226))
([6fafff6](AztecProtocol/aztec-packages@6fafff6))
* Remove `dep::` prefix (noir-lang/noir#4946)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Remove event selector in logs from public context
([#7192](AztecProtocol/aztec-packages#7192))
([646d45a](AztecProtocol/aztec-packages@646d45a))
* Rename struct-specific TypeDefinition -&gt; StructDefinition
(noir-lang/noir#5356)
([bb5cbab](AztecProtocol/aztec-packages@bb5cbab))
* Run `comptime` code from annotations on a type definition
(noir-lang/noir#5256)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Split storage access oracles
([#7237](AztecProtocol/aztec-packages#7237))
([51f7d65](AztecProtocol/aztec-packages@51f7d65))
* **stdlib:** Update stdlib to use explicit numeric generics
(noir-lang/noir#5306)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* Store shared mutable hash
([#7169](AztecProtocol/aztec-packages#7169))
([868606e](AztecProtocol/aztec-packages@868606e))
* Sync from aztec-packages (noir-lang/noir#5242)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Sync from aztec-packages (noir-lang/noir#5340)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* Sync from aztec-packages (noir-lang/noir#5347)
([eb9e9f6](AztecProtocol/aztec-packages@eb9e9f6))
* Sync from aztec-packages (noir-lang/noir#5377)
([bb5cbab](AztecProtocol/aztec-packages@bb5cbab))
* Unconstrained variants for event emission
([#7251](AztecProtocol/aztec-packages#7251))
([6d093e3](AztecProtocol/aztec-packages@6d093e3))
* Unify unencrypted log emission and decoding
([#7232](AztecProtocol/aztec-packages#7232))
([354dba2](AztecProtocol/aztec-packages@354dba2))
* Update rebuild script
([#7225](AztecProtocol/aztec-packages#7225))
([af59247](AztecProtocol/aztec-packages@af59247))
* Use runtime loops for brillig array initialization
(noir-lang/noir#5243)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* Wonky rollups
([#7189](AztecProtocol/aztec-packages#7189))
([1de3746](AztecProtocol/aztec-packages@1de3746))


### Bug Fixes

* Add more thorough check for whether a type is valid when passing it
from constrained code to unconstrained code
(noir-lang/noir#5009)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Add support for nested arrays returned by oracles
(noir-lang/noir#5132)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Address compiler warnings coming from stdlib
(noir-lang/noir#5351)
([eb9e9f6](AztecProtocol/aztec-packages@eb9e9f6))
* Avoid duplicating constant arrays
(noir-lang/noir#5287)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Avoid panic in type system
(noir-lang/noir#5332)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* Avoid unnecessarily splitting expressions with multiplication terms
with a shared term (noir-lang/noir#5291)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Benchmark prover e2e test with proving
([#7175](AztecProtocol/aztec-packages#7175))
([431c14c](AztecProtocol/aztec-packages@431c14c))
* Devnet deployment issues
([#7197](AztecProtocol/aztec-packages#7197))
([9cf4904](AztecProtocol/aztec-packages@9cf4904))
* Disable `if` optimization
(noir-lang/noir#5240)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* **docs:** Historical reference library updates
([#7166](AztecProtocol/aztec-packages#7166))
([b3409c4](AztecProtocol/aztec-packages@b3409c4))
* Don't benchmark the "prove" command as it doesn't exist anymore
(noir-lang/noir#5323)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* Don't lazily elaborate functions
(noir-lang/noir#5282)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* **elaborator:** Fix duplicate methods error
(noir-lang/noir#5225)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* **elaborator:** Fix regression introduced by lazy-global changes
(noir-lang/noir#5223)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Error when a local function is called in a comptime context
(noir-lang/noir#5334)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* Fix authwit package
([#7204](AztecProtocol/aztec-packages#7204))
([98ccd41](AztecProtocol/aztec-packages@98ccd41))
* Fix incorrect return type being applied to stdlib functions
`modulus_be_bytes()`, `modulus_be_bits()`, etc.
(noir-lang/noir#5278)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Fix tokenization of unquoted types in macros
(noir-lang/noir#5326)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* Fix usage of `#[abi(tag)]` attribute with elaborator
(noir-lang/noir#5298)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* Handle struct with nested arrays in oracle return values
(noir-lang/noir#5244)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Ignore calls to `Intrinsic::AsWitness` during brillig codegen
(noir-lang/noir#5350)
([eb9e9f6](AztecProtocol/aztec-packages@eb9e9f6))
* Implement generic functions in the interpreter
(noir-lang/noir#5330)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* **nargo_fmt:** Account for spaces before the generic list of a
function (noir-lang/noir#5303)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Replace panic in monomorphization with an error
(noir-lang/noir#5305)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Reran pil-&gt;cpp codegen & encode_and_encrypt_event_with_randomness
fix
([#7247](AztecProtocol/aztec-packages#7247))
([fa15a45](AztecProtocol/aztec-packages@fa15a45))
* Runtime brillig bigint id assignment
(noir-lang/noir#5369)
([bb5cbab](AztecProtocol/aztec-packages@bb5cbab))
* Skip emission of brillig calls which will never be executed
(noir-lang/noir#5314)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* TS LSP being slow
([#7181](AztecProtocol/aztec-packages#7181))
([e934e87](AztecProtocol/aztec-packages@e934e87))
* Update `in_contract` flag before handling function metadata in
elaborator (noir-lang/noir#5292)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Use proper serialization in `AbiValue`
(noir-lang/noir#5270)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))


### Miscellaneous

* `static_assert` error message fix and split into is-dynamic and
is-false (noir-lang/noir#5353)
([eb9e9f6](AztecProtocol/aztec-packages@eb9e9f6))
* Add back Pedersen blackbox functions (revert PR 5221)
(noir-lang/noir#5318)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Add log_hash as input in log emission in private context
([#7249](AztecProtocol/aztec-packages#7249))
([8b3dfe9](AztecProtocol/aztec-packages@8b3dfe9))
* Add no predicate to poseidon2
(noir-lang/noir#5252)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Add no-predicate to hash implementations
(noir-lang/noir#5253)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Add property tests for ABI encoding
(noir-lang/noir#5216)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Address TODO in `compat.nr`
(noir-lang/noir#5339)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* **avm-transpiler:** Better error messages
([#7217](AztecProtocol/aztec-packages#7217))
([27051ad](AztecProtocol/aztec-packages@27051ad))
* **avm:** Remove trailing minus zero in codegen
([#7185](AztecProtocol/aztec-packages#7185))
([f3c8166](AztecProtocol/aztec-packages@f3c8166))
* Avoid building contracts when producing gates report
([#7136](AztecProtocol/aztec-packages#7136))
([25507e6](AztecProtocol/aztec-packages@25507e6))
* Bump `bb` to 0.43.0 (noir-lang/noir#5321)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* Bundle SSA Evaluator Options
(noir-lang/noir#5317)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* **ci:** Trigger a noir sync every morning at 8am
([#7280](AztecProtocol/aztec-packages#7280))
([412c016](AztecProtocol/aztec-packages@412c016))
* Copy across typo PR script from aztec-packages
(noir-lang/noir#5235)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Create separate crate just for noir artifacts
(noir-lang/noir#5162)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* **docs:** Fixing trailing slash issue
(noir-lang/noir#5233)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Fix examples (noir-lang/noir#5357)
([eb9e9f6](AztecProtocol/aztec-packages@eb9e9f6))
* Fix migration notes
([#7279](AztecProtocol/aztec-packages#7279))
([51d93eb](AztecProtocol/aztec-packages@51d93eb))
* Fix negative tests in AVM circuit for context input lookups
([#7261](AztecProtocol/aztec-packages#7261))
([ad2f654](AztecProtocol/aztec-packages@ad2f654))
* Fixing all relative paths
(noir-lang/noir#5220)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Generate PIL constants from via constants gen
([#7258](AztecProtocol/aztec-packages#7258))
([244ef7e](AztecProtocol/aztec-packages@244ef7e))
* Gets rid of unencrypted emit in private_context
([#7236](AztecProtocol/aztec-packages#7236))
([3e6d88e](AztecProtocol/aztec-packages@3e6d88e))
* Improve authwit comments/docs
([#7180](AztecProtocol/aztec-packages#7180))
([051ab9e](AztecProtocol/aztec-packages@051ab9e))
* Misc cleanup in simulator
([#7203](AztecProtocol/aztec-packages#7203))
([eb00830](AztecProtocol/aztec-packages@eb00830))
* Optimize the elaborator (noir-lang/noir#5230)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Parse macros (noir-lang/noir#5229)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Pedersen commitment in Noir
(noir-lang/noir#5221)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Pedersen hash in Noir (noir-lang/noir#5217)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Private tail circuits
([#7148](AztecProtocol/aztec-packages#7148))
([9e67e7d](AztecProtocol/aztec-packages@9e67e7d))
* Pull out change to expression splitting from sync PR
([#7215](AztecProtocol/aztec-packages#7215))
([b4f50a5](AztecProtocol/aztec-packages@b4f50a5))
* Pull out foreign call nested array changes
([#7216](AztecProtocol/aztec-packages#7216))
([1faaaf5](AztecProtocol/aztec-packages@1faaaf5))
* Pull out
noir-lang/noir[#5120](AztecProtocol/aztec-packages#5120)
([#7205](AztecProtocol/aztec-packages#7205))
([c5dc094](AztecProtocol/aztec-packages@c5dc094))
* Pull out pedersen generator builtin from sync PR
([#7210](AztecProtocol/aztec-packages#7210))
([412f02e](AztecProtocol/aztec-packages@412f02e))
* Pull out SSA changes from sync PR
([#7209](AztecProtocol/aztec-packages#7209))
([141e137](AztecProtocol/aztec-packages@141e137))
* Push code related to ABI gen into `noirc_driver`
(noir-lang/noir#5218)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Redo typo PR by dropbigfish
(noir-lang/noir#5234)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Refactor test case generation in build.rs
(noir-lang/noir#5280)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Release Noir(0.31.0) (noir-lang/noir#5166)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Remove `is_unconstrained_fn` field from elaborator
(noir-lang/noir#5335)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* Remove 4738 ref
([#7254](AztecProtocol/aztec-packages#7254))
([97d997c](AztecProtocol/aztec-packages@97d997c))
* Remove a log file
([#7201](AztecProtocol/aztec-packages#7201))
([83bb218](AztecProtocol/aztec-packages@83bb218))
* Remove commented code
([#7231](AztecProtocol/aztec-packages#7231))
([2740d60](AztecProtocol/aztec-packages@2740d60))
* Remove panic for unimplemented trait dispatch
(noir-lang/noir#5329)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* Replace `is_bn254` implementation to not rely on truncation of
literals (noir-lang/noir#5247)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Replace `regression_5202` with more manageably sized program
(noir-lang/noir#5345)
([eb9e9f6](AztecProtocol/aztec-packages@eb9e9f6))
* Replace cached `in_contract` with `in_contract()` method
(noir-lang/noir#5324)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* Replace logical operators with bitwise in `DebugToString`
(noir-lang/noir#5236)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Replace relative paths to noir-protocol-circuits
([e83b07b](AztecProtocol/aztec-packages@e83b07b))
* Replace relative paths to noir-protocol-circuits
([eca8587](AztecProtocol/aztec-packages@eca8587))
* Replace relative paths to noir-protocol-circuits
([b9ddf43](AztecProtocol/aztec-packages@b9ddf43))
* Replace relative paths to noir-protocol-circuits
([6f817e8](AztecProtocol/aztec-packages@6f817e8))
* Replace relative paths to noir-protocol-circuits
([f9bf0a4](AztecProtocol/aztec-packages@f9bf0a4))
* Replicate
noir-lang/noir[#4946](AztecProtocol/aztec-packages#4946)
([#7202](AztecProtocol/aztec-packages#7202))
([b5c07d8](AztecProtocol/aztec-packages@b5c07d8))
* Simplify compilation flow to write to file immediately
(noir-lang/noir#5265)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Split off fuzzer, abi changes and `noirc_artifacts` from sync
([#7208](AztecProtocol/aztec-packages#7208))
([255d752](AztecProtocol/aztec-packages@255d752))
* Thread generics through ACIR/brillig gen
(noir-lang/noir#5120)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
* Use `push_err` more in elaborator
(noir-lang/noir#5336)
([f2abb4e](AztecProtocol/aztec-packages@f2abb4e))
* Use options.limit as upper limit for note-getter loop
([#7253](AztecProtocol/aztec-packages#7253))
([8ff669b](AztecProtocol/aztec-packages@8ff669b))
* Use prefix op_ for every instruction in avm_trace.hpp
([#7214](AztecProtocol/aztec-packages#7214))
([7ed7558](AztecProtocol/aztec-packages@7ed7558))
* Use the elaborator by default
(noir-lang/noir#5246)
([ed815a3](AztecProtocol/aztec-packages@ed815a3))
</details>

<details><summary>barretenberg: 0.45.0</summary>

##
[0.45.0](AztecProtocol/aztec-packages@barretenberg-v0.44.0...barretenberg-v0.45.0)
(2024-07-02)


### Features

* **avm:** Calldata gadget preliminaries
([#7227](AztecProtocol/aztec-packages#7227))
([79e8588](AztecProtocol/aztec-packages@79e8588))
* Constant Honk proof sizes
([#6954](AztecProtocol/aztec-packages#6954))
([17c8d3a](AztecProtocol/aztec-packages@17c8d3a))
* Function selector opcode in AVM
([#7244](AztecProtocol/aztec-packages#7244))
([dde47e9](AztecProtocol/aztec-packages@dde47e9))
* Update rebuild script
([#7225](AztecProtocol/aztec-packages#7225))
([af59247](AztecProtocol/aztec-packages@af59247))


### Bug Fixes

* Benchmark prover e2e test with proving
([#7175](AztecProtocol/aztec-packages#7175))
([431c14c](AztecProtocol/aztec-packages@431c14c))
* Reran pil-&gt;cpp codegen & encode_and_encrypt_event_with_randomness
fix
([#7247](AztecProtocol/aztec-packages#7247))
([fa15a45](AztecProtocol/aztec-packages@fa15a45))


### Miscellaneous

* **avm:** Remove trailing minus zero in codegen
([#7185](AztecProtocol/aztec-packages#7185))
([f3c8166](AztecProtocol/aztec-packages@f3c8166))
* Fix negative tests in AVM circuit for context input lookups
([#7261](AztecProtocol/aztec-packages#7261))
([ad2f654](AztecProtocol/aztec-packages@ad2f654))
* Generate PIL constants from via constants gen
([#7258](AztecProtocol/aztec-packages#7258))
([244ef7e](AztecProtocol/aztec-packages@244ef7e))
* Use prefix op_ for every instruction in avm_trace.hpp
([#7214](AztecProtocol/aztec-packages#7214))
([7ed7558](AztecProtocol/aztec-packages@7ed7558))
</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