Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Sync from noir #9099

Merged
merged 63 commits into from
Oct 14, 2024
Merged

feat: Sync from noir #9099

merged 63 commits into from
Oct 14, 2024

Conversation

AztecBot
Copy link
Collaborator

@AztecBot AztecBot commented Oct 9, 2024

Automated pull of development from the noir programming language, a dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
chore: regression test for #5462 (noir-lang/noir#6286)
feat(improve): Remove scan through globals (noir-lang/noir#6282)
feat: show LSP diagnostic related information (noir-lang/noir#6277)
feat: trait inheritance (noir-lang/noir#6252)
feat: optimize reading a workspace's files (noir-lang/noir#6281)
fix: prevent compiler panic when popping from empty slices (noir-lang/noir#6274)
feat(test): Include the PoseidonHasher in the fuzzing (noir-lang/noir#6280)
feat: slightly improve "unexpected token" error message (noir-lang/noir#6279)
feat(test): Fuzz poseidon hases against an external library (noir-lang/noir#6273)
feat: remove byte decomposition in compute_decomposition (noir-lang/noir#6159)
fix: address inactive public key check in verify_signature_noir (noir-lang/noir#6270)
feat(test): Fuzz test poseidon2 hash equivalence (noir-lang/noir#6265)
fix!: Integer division is not the inverse of integer multiplication (noir-lang/noir#6243)
feat(perf): Flamegraphs for test program execution benchmarks (noir-lang/noir#6253)
fix: visibility for impl methods (noir-lang/noir#6261)
feat: Add checked_transmute (noir-lang/noir#6262)
feat!: kind size checks (noir-lang/noir#6137)
feat: don't crash LSP when there are errors resolving the workspace (noir-lang/noir#6257)
fix: don't warn on unuse global if it has an abi annotation (noir-lang/noir#6258)
fix: don't warn on unused struct that has an abi annotation (noir-lang/noir#6254)
feat: don't suggest private struct fields in LSP (noir-lang/noir#6256)
feat: visibility for struct fields (noir-lang/noir#6221)
fix: handle dfg databus in SSA normalization (noir-lang/noir#6249)
fix: homogeneous input points for EC ADD (noir-lang/noir#6241)
chore: add regression test for #5756 (noir-lang/noir#5770)
feat: allow unconstrained after visibility (noir-lang/noir#6246)
feat: optimize Quoted::as_expr by parsing just once (noir-lang/noir#6237)
fix(frontend): Do not warn when a nested struct is provided as input to main (noir-lang/noir#6239)
fix!: Change tag attributes to require a ' prefix (noir-lang/noir#6235)
feat: recover from '=' instead of ':' in struct constructor/pattern (noir-lang/noir#6236)
END_COMMIT_OVERRIDE

AztecBot and others added 11 commits October 9, 2024 08:02
…6241)

chore: add regression test for #5756 (noir-lang/noir#5770)
feat: allow `unconstrained` after visibility (noir-lang/noir#6246)
feat: optimize `Quoted::as_expr` by parsing just once (noir-lang/noir#6237)
fix(frontend): Do not warn when a nested struct is provided as input to main (noir-lang/noir#6239)
fix!: Change tag attributes to require a ' prefix (noir-lang/noir#6235)
feat: recover from '=' instead of ':' in struct constructor/pattern (noir-lang/noir#6236)
feat: Add `checked_transmute` (noir-lang/noir#6262)
feat!: kind size checks (noir-lang/noir#6137)
feat: don't crash LSP when there are errors resolving the workspace (noir-lang/noir#6257)
fix: don't warn on unuse global if it has an abi annotation (noir-lang/noir#6258)
fix: don't warn on unused struct that has an abi annotation (noir-lang/noir#6254)
feat: don't suggest private struct fields in LSP (noir-lang/noir#6256)
feat: visibility for struct fields (noir-lang/noir#6221)
fix: handle dfg databus in SSA normalization (noir-lang/noir#6249)
fix: homogeneous input points for EC ADD (noir-lang/noir#6241)
chore: add regression test for #5756 (noir-lang/noir#5770)
feat: allow `unconstrained` after visibility (noir-lang/noir#6246)
feat: optimize `Quoted::as_expr` by parsing just once (noir-lang/noir#6237)
fix(frontend): Do not warn when a nested struct is provided as input to main (noir-lang/noir#6239)
fix!: Change tag attributes to require a ' prefix (noir-lang/noir#6235)
feat: recover from '=' instead of ':' in struct constructor/pattern (noir-lang/noir#6236)
feat: Add `checked_transmute` (noir-lang/noir#6262)
feat!: kind size checks (noir-lang/noir#6137)
feat: don't crash LSP when there are errors resolving the workspace (noir-lang/noir#6257)
fix: don't warn on unuse global if it has an abi annotation (noir-lang/noir#6258)
fix: don't warn on unused struct that has an abi annotation (noir-lang/noir#6254)
feat: don't suggest private struct fields in LSP (noir-lang/noir#6256)
feat: visibility for struct fields (noir-lang/noir#6221)
fix: handle dfg databus in SSA normalization (noir-lang/noir#6249)
fix: homogeneous input points for EC ADD (noir-lang/noir#6241)
chore: add regression test for #5756 (noir-lang/noir#5770)
feat: allow `unconstrained` after visibility (noir-lang/noir#6246)
feat: optimize `Quoted::as_expr` by parsing just once (noir-lang/noir#6237)
fix(frontend): Do not warn when a nested struct is provided as input to main (noir-lang/noir#6239)
fix!: Change tag attributes to require a ' prefix (noir-lang/noir#6235)
feat: recover from '=' instead of ':' in struct constructor/pattern (noir-lang/noir#6236)
…ry (noir-lang/noir#6273)

feat: remove byte decomposition in `compute_decomposition` (noir-lang/noir#6159)
fix: address inactive public key check in `verify_signature_noir` (noir-lang/noir#6270)
feat(test): Fuzz test poseidon2 hash equivalence (noir-lang/noir#6265)
fix!: Integer division is not the inverse of integer multiplication (noir-lang/noir#6243)
feat(perf): Flamegraphs for test program execution benchmarks (noir-lang/noir#6253)
fix: visibility for impl methods (noir-lang/noir#6261)
feat: Add `checked_transmute` (noir-lang/noir#6262)
feat!: kind size checks (noir-lang/noir#6137)
feat: don't crash LSP when there are errors resolving the workspace (noir-lang/noir#6257)
fix: don't warn on unuse global if it has an abi annotation (noir-lang/noir#6258)
fix: don't warn on unused struct that has an abi annotation (noir-lang/noir#6254)
feat: don't suggest private struct fields in LSP (noir-lang/noir#6256)
feat: visibility for struct fields (noir-lang/noir#6221)
fix: handle dfg databus in SSA normalization (noir-lang/noir#6249)
fix: homogeneous input points for EC ADD (noir-lang/noir#6241)
chore: add regression test for #5756 (noir-lang/noir#5770)
feat: allow `unconstrained` after visibility (noir-lang/noir#6246)
feat: optimize `Quoted::as_expr` by parsing just once (noir-lang/noir#6237)
fix(frontend): Do not warn when a nested struct is provided as input to main (noir-lang/noir#6239)
fix!: Change tag attributes to require a ' prefix (noir-lang/noir#6235)
feat: recover from '=' instead of ':' in struct constructor/pattern (noir-lang/noir#6236)
…g/noir#6273)

feat: remove byte decomposition in `compute_decomposition` (noir-lang/noir#6159)
fix: address inactive public key check in `verify_signature_noir` (noir-lang/noir#6270)
feat(test): Fuzz test poseidon2 hash equivalence (noir-lang/noir#6265)
fix!: Integer division is not the inverse of integer multiplication (noir-lang/noir#6243)
feat(perf): Flamegraphs for test program execution benchmarks (noir-lang/noir#6253)
fix: visibility for impl methods (noir-lang/noir#6261)
feat: Add `checked_transmute` (noir-lang/noir#6262)
feat!: kind size checks (noir-lang/noir#6137)
feat: don't crash LSP when there are errors resolving the workspace (noir-lang/noir#6257)
fix: don't warn on unuse global if it has an abi annotation (noir-lang/noir#6258)
fix: don't warn on unused struct that has an abi annotation (noir-lang/noir#6254)
feat: don't suggest private struct fields in LSP (noir-lang/noir#6256)
feat: visibility for struct fields (noir-lang/noir#6221)
fix: handle dfg databus in SSA normalization (noir-lang/noir#6249)
fix: homogeneous input points for EC ADD (noir-lang/noir#6241)
chore: add regression test for #5756 (noir-lang/noir#5770)
feat: allow `unconstrained` after visibility (noir-lang/noir#6246)
feat: optimize `Quoted::as_expr` by parsing just once (noir-lang/noir#6237)
fix(frontend): Do not warn when a nested struct is provided as input to main (noir-lang/noir#6239)
fix!: Change tag attributes to require a ' prefix (noir-lang/noir#6235)
feat: recover from '=' instead of ':' in struct constructor/pattern (noir-lang/noir#6236)
* master: (155 commits)
  fix(ci): don't report for now on kind-network-test (#9163)
  chore(ci): disable gossip_network.test.ts (#9165)
  chore: script for deploying the spartan network (#9167)
  feat!: Brillig with a stack and conditional inlining (#8989)
  fix: spartan account pre-funding (#9161)
  chore: reenable sync test (#9160)
  feat: Browser tests for UltraHonk (#9047)
  feat: make index in inbox global (#9110)
  feat: add sequencer address to metrics (#9145)
  feat: add validator address to logs (#9143)
  refactor(avm): type aliasing for VmPublicInputs (#8884)
  feat: drop epoch duration / block times (#9149)
  feat: stable deployments for spartan (#9147)
  fix: e2e-p2p attestation timeout (#9154)
  feat!: unrevert "feat: new per-enqueued-call gas limit" (#9140)
  feat: better tracing/metrics in validator and archiver (#9108)
  chore: revert deletion of the old bbup (#9146)
  chore(docs): rewriting bbup script, refactoring bb readme for clarity (#9073)
  git subrepo push --branch=master noir-projects/aztec-nr
  git_subrepo.sh: Fix parent in .gitrepo file. [skip ci]
  ...
@TomAFrench TomAFrench enabled auto-merge (squash) October 11, 2024 00:12
TomAFrench and others added 7 commits October 11, 2024 01:15
…oir-lang/noir#6279)

feat(test): Fuzz poseidon hases against an external library (noir-lang/noir#6273)
feat: remove byte decomposition in `compute_decomposition` (noir-lang/noir#6159)
fix: address inactive public key check in `verify_signature_noir` (noir-lang/noir#6270)
feat(test): Fuzz test poseidon2 hash equivalence (noir-lang/noir#6265)
fix!: Integer division is not the inverse of integer multiplication (noir-lang/noir#6243)
feat(perf): Flamegraphs for test program execution benchmarks (noir-lang/noir#6253)
fix: visibility for impl methods (noir-lang/noir#6261)
feat: Add `checked_transmute` (noir-lang/noir#6262)
feat!: kind size checks (noir-lang/noir#6137)
feat: don't crash LSP when there are errors resolving the workspace (noir-lang/noir#6257)
fix: don't warn on unuse global if it has an abi annotation (noir-lang/noir#6258)
fix: don't warn on unused struct that has an abi annotation (noir-lang/noir#6254)
feat: don't suggest private struct fields in LSP (noir-lang/noir#6256)
feat: visibility for struct fields (noir-lang/noir#6221)
fix: handle dfg databus in SSA normalization (noir-lang/noir#6249)
fix: homogeneous input points for EC ADD (noir-lang/noir#6241)
chore: add regression test for #5756 (noir-lang/noir#5770)
feat: allow `unconstrained` after visibility (noir-lang/noir#6246)
feat: optimize `Quoted::as_expr` by parsing just once (noir-lang/noir#6237)
fix(frontend): Do not warn when a nested struct is provided as input to main (noir-lang/noir#6239)
fix!: Change tag attributes to require a ' prefix (noir-lang/noir#6235)
feat: recover from '=' instead of ':' in struct constructor/pattern (noir-lang/noir#6236)
…ir#6279)

feat(test): Fuzz poseidon hases against an external library (noir-lang/noir#6273)
feat: remove byte decomposition in `compute_decomposition` (noir-lang/noir#6159)
fix: address inactive public key check in `verify_signature_noir` (noir-lang/noir#6270)
feat(test): Fuzz test poseidon2 hash equivalence (noir-lang/noir#6265)
fix!: Integer division is not the inverse of integer multiplication (noir-lang/noir#6243)
feat(perf): Flamegraphs for test program execution benchmarks (noir-lang/noir#6253)
fix: visibility for impl methods (noir-lang/noir#6261)
feat: Add `checked_transmute` (noir-lang/noir#6262)
feat!: kind size checks (noir-lang/noir#6137)
feat: don't crash LSP when there are errors resolving the workspace (noir-lang/noir#6257)
fix: don't warn on unuse global if it has an abi annotation (noir-lang/noir#6258)
fix: don't warn on unused struct that has an abi annotation (noir-lang/noir#6254)
feat: don't suggest private struct fields in LSP (noir-lang/noir#6256)
feat: visibility for struct fields (noir-lang/noir#6221)
fix: handle dfg databus in SSA normalization (noir-lang/noir#6249)
fix: homogeneous input points for EC ADD (noir-lang/noir#6241)
chore: add regression test for #5756 (noir-lang/noir#5770)
feat: allow `unconstrained` after visibility (noir-lang/noir#6246)
feat: optimize `Quoted::as_expr` by parsing just once (noir-lang/noir#6237)
fix(frontend): Do not warn when a nested struct is provided as input to main (noir-lang/noir#6239)
fix!: Change tag attributes to require a ' prefix (noir-lang/noir#6235)
feat: recover from '=' instead of ':' in struct constructor/pattern (noir-lang/noir#6236)
Copy link
Contributor

github-actions bot commented Oct 14, 2024

Changes to public function bytecode sizes

Generated at commit: 0eb44ab1a43c8e24676ecb1f108b33cf5f3f390b, compared to commit: 8e66ef97b133b3d57d5b3742e0acf2b3792433f7

🧾 Summary (100% most significant diffs)

Program Bytecode size in bytes (+/-) %
AvmTest::public_dispatch -476 ✅ -0.89%
Token::public_dispatch -253 ✅ -0.93%
TokenBlacklist::public_dispatch -253 ✅ -1.04%
NFT::public_dispatch -253 ✅ -1.19%
Test::public_dispatch -238 ✅ -1.36%
CardGame::public_dispatch -269 ✅ -1.80%
AvmTest::bulk_testing -454 ✅ -1.88%
CardGame::on_cards_claimed -269 ✅ -3.87%
TokenBlacklist::shield -253 ✅ -4.03%
NFT::finalize_transfer_to_private -253 ✅ -4.61%
Token::shield -253 ✅ -4.88%
TokenBlacklist::mint_private -253 ✅ -6.30%
AvmTest::pedersen_hash_with_index -238 ✅ -7.29%
AvmTest::pedersen_hash -238 ✅ -7.29%
Token::mint_private -253 ✅ -7.88%
Token::complete_refund -253 ✅ -8.48%
Test::create_l2_to_l1_message_public -238 ✅ -10.63%

Full diff report 👇
Program Bytecode size in bytes (+/-) %
AvmTest::public_dispatch 53,189 (-476) -0.89%
Token::public_dispatch 26,905 (-253) -0.93%
TokenBlacklist::public_dispatch 24,029 (-253) -1.04%
NFT::public_dispatch 20,955 (-253) -1.19%
Test::public_dispatch 17,228 (-238) -1.36%
CardGame::public_dispatch 14,659 (-269) -1.80%
AvmTest::bulk_testing 23,704 (-454) -1.88%
CardGame::on_cards_claimed 6,676 (-269) -3.87%
TokenBlacklist::shield 6,018 (-253) -4.03%
NFT::finalize_transfer_to_private 5,236 (-253) -4.61%
Token::shield 4,935 (-253) -4.88%
TokenBlacklist::mint_private 3,761 (-253) -6.30%
AvmTest::pedersen_hash_with_index 3,026 (-238) -7.29%
AvmTest::pedersen_hash 3,026 (-238) -7.29%
Token::mint_private 2,958 (-253) -7.88%
Token::complete_refund 2,729 (-253) -8.48%
Test::create_l2_to_l1_message_public 2,000 (-238) -10.63%

@TomAFrench
Copy link
Member

fyi @rahul-kothari that aztec contracts are a little mangled by this sync so we shouldn't push out a new release for sandbox devs until this is addressed.

Copy link
Contributor

Changes to circuit sizes

Generated at commit: 0eb44ab1a43c8e24676ecb1f108b33cf5f3f390b, compared to commit: 8e66ef97b133b3d57d5b3742e0acf2b3792433f7

🧾 Summary (100% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
private_kernel_empty 0 ➖ 0.00% +936,476 ❌ +26863.91%
private_kernel_tail +62 ❌ +1.33% +524 ❌ +5.81%
private_kernel_tail_to_public +62 ❌ +0.21% +523 ❌ +1.32%
private_kernel_inner +61 ❌ +0.14% +523 ❌ +1.00%
private_kernel_reset_4_4_4_4_4_4_4_4_1 +59 ❌ +0.17% +519 ❌ +0.70%
private_kernel_reset +59 ❌ +0.06% +520 ❌ +0.11%
rollup_merge +122 ❌ +3.32% +1,051 ❌ +0.06%
rollup_root +120 ❌ +1.68% +1,050 ❌ +0.06%
rollup_block_merge +120 ❌ +1.67% +1,048 ❌ +0.06%
rollup_block_root +128 ❌ +3.10% +1,513 ❌ +0.05%
parity_root +28 ❌ +0.52% +1,847 ❌ +0.05%
public_kernel_merge +62 ❌ +0.12% +520 ❌ +0.05%
public_kernel_tail +9 ❌ +0.00% +461 ❌ +0.02%
rollup_base +58 ❌ +0.01% +518 ❌ +0.02%
empty_nested 0 ➖ +∞% -5 ✅ -23.81%
empty_nested_simulated 0 ➖ 0.00% -5 ✅ -23.81%
private_kernel_empty_simulated 0 ➖ 0.00% -5 ✅ -23.81%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
private_kernel_empty 671 (0) 0.00% 939,962 (+936,476) +26863.91%
private_kernel_tail 4,710 (+62) +1.33% 9,545 (+524) +5.81%
private_kernel_tail_to_public 29,890 (+62) +0.21% 40,033 (+523) +1.32%
private_kernel_inner 44,103 (+61) +0.14% 52,877 (+523) +1.00%
private_kernel_reset_4_4_4_4_4_4_4_4_1 34,956 (+59) +0.17% 74,998 (+519) +0.70%
private_kernel_reset 91,992 (+59) +0.06% 468,250 (+520) +0.11%
rollup_merge 3,795 (+122) +3.32% 1,897,297 (+1,051) +0.06%
rollup_root 7,273 (+120) +1.68% 1,900,452 (+1,050) +0.06%
rollup_block_merge 7,289 (+120) +1.67% 1,900,466 (+1,048) +0.06%
rollup_block_root 4,252 (+128) +3.10% 2,838,780 (+1,513) +0.05%
parity_root 5,427 (+28) +0.52% 3,776,972 (+1,847) +0.05%
public_kernel_merge 53,594 (+62) +0.12% 1,104,122 (+520) +0.05%
public_kernel_tail 258,433 (+9) +0.00% 2,270,721 (+461) +0.02%
rollup_base 483,231 (+58) +0.01% 3,356,255 (+518) +0.02%
empty_nested 0 (0) +∞% 16 (-5) -23.81%
empty_nested_simulated 1 (0) 0.00% 16 (-5) -23.81%
private_kernel_empty_simulated 1 (0) 0.00% 16 (-5) -23.81%

@TomAFrench TomAFrench merged commit 5a3a8cc into master Oct 14, 2024
56 checks passed
@TomAFrench TomAFrench deleted the sync-noir branch October 14, 2024 23:44
github-merge-queue bot pushed a commit to noir-lang/noir that referenced this pull request Oct 22, 2024
Automated pull of Noir development from
[aztec-packages](https://github.com/AztecProtocol/aztec-packages).
BEGIN_COMMIT_OVERRIDE
feat: Sync from noir
(AztecProtocol/aztec-packages#9275)
chore!: remove pedersen commitment
(AztecProtocol/aztec-packages#9107)
fix: remove need for duplicate attributes on each function
(AztecProtocol/aztec-packages#9244)
chore!: remove pedersen hash opcode
(AztecProtocol/aztec-packages#9245)
feat!: Brillig and AVM default all uninitialized memory cells to Field 0
(AztecProtocol/aztec-packages#9057)
feat: Sync from noir
(AztecProtocol/aztec-packages#9099)
chore: swap `pub` and `unconstrained` in function signatures
(AztecProtocol/aztec-packages#9237)
chore!: remove keccak256 opcode from ACIR/Brillig
(AztecProtocol/aztec-packages#9104)
feat!: Brillig with a stack and conditional inlining
(AztecProtocol/aztec-packages#8989)
feat: Integrate databus in the private kernels
(AztecProtocol/aztec-packages#9028)
feat: Sync from noir
(AztecProtocol/aztec-packages#9034)
chore: prove_then_verify_ultra_honk on all existing acir tests
(AztecProtocol/aztec-packages#9042)
refactor(avm)!: remove CMOV opcode
(AztecProtocol/aztec-packages#9030)
feat: Sync from noir
(AztecProtocol/aztec-packages#8934)
END_COMMIT_OVERRIDE

---------

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


<details><summary>0.36.0</summary>

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


### ⚠ BREAKING CHANGES

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

### Features

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


### Bug Fixes

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


### Miscellaneous Chores

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


### Code Refactoring

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

<details><summary>0.52.0</summary>

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


### ⚠ BREAKING CHANGES

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

### Features

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


### Bug Fixes

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


### Miscellaneous Chores

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


### Code Refactoring

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

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants