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: Add more Hash impls to stdlib #4470

Merged
merged 1 commit into from
Mar 14, 2024
Merged

chore: Add more Hash impls to stdlib #4470

merged 1 commit into from
Mar 14, 2024

Conversation

jfecher
Copy link
Contributor

@jfecher jfecher commented Mar 4, 2024

Description

Problem*

Resolves a TODO in #4241

Summary*

Adds the remaining Hash impls for primitive types in the stdlib

Additional Context

I've marked this as "no documentation needed" but we should probably document somewhere that these types are hashable. Where should this go? The existing "hash methods" page doesn't seem to fit.

Documentation*

Check one:

  • No documentation needed.
  • Documentation included in this PR.
  • [Exceptional Case] 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.

Copy link
Contributor

github-actions bot commented Mar 4, 2024

Changes to circuit sizes

Generated at commit: 3028c832944674040d55d26d9008b4982ca9f653, compared to commit: d1d1f23d4e742bf576a6d0b83c572d4993e90be1

🧾 Summary (10% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
cast_bool -4 ✅ -80.00% -3 ✅ -33.33%
type_aliases -5 ✅ -83.33% -4 ✅ -40.00%
references -5 ✅ -83.33% -4 ✅ -40.00%
simple_radix -5 ✅ -83.33% -4 ✅ -40.00%
brillig_nested_arrays -7 ✅ -70.00% -7 ✅ -58.33%
slices -198 ✅ -32.95% -2,975 ✅ -69.28%
to_bytes_consistent -61 ✅ -98.39% -60 ✅ -90.91%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
conditional_1 3,449 (-3,467) -50.13% 38,799 (0) 0.00%
operator_overloading 575 (-17) -2.87% 8,214 (0) 0.00%
pedersen_check 14 (-2) -12.50% 28,858 (0) 0.00%
xor 6 (-2) -25.00% 4,106 (0) 0.00%
conditional_regression_short_circuit 90 (-6) -6.25% 38,799 (0) 0.00%
5_over 22 (-1) -4.35% 3,470 (-1) -0.03%
regression 192 (-1) -0.52% 3,162 (-1) -0.03%
brillig_assert 11 (-1) -8.33% 2,764 (-1) -0.04%
regression_2660 17 (-1) -5.56% 2,759 (-1) -0.04%
3_add 11 (-1) -8.33% 2,758 (-1) -0.04%
side_effects_constrain_array 8 (-1) -11.11% 2,753 (-1) -0.04%
brillig_calls_array 5 (-1) -16.67% 2,749 (-1) -0.04%
field_attribute 4 (-1) -20.00% 2,748 (-1) -0.04%
brillig_recursion 2 (-1) -33.33% 2,745 (-1) -0.04%
array_dynamic 114 (-2) -1.72% 3,729 (-2) -0.05%
simple_comparison 25 (-2) -7.41% 3,478 (-2) -0.06%
struct_inputs 25 (-2) -7.41% 2,839 (-2) -0.07%
regression_3607 45 (-2) -4.26% 2,789 (-2) -0.07%
brillig_not 22 (-2) -8.33% 2,783 (-2) -0.07%
conditional_regression_661 30 (-2) -6.25% 2,780 (-2) -0.07%
conditional_2 18 (-2) -10.00% 2,762 (-2) -0.07%
brillig_calls 7 (-2) -22.22% 2,748 (-2) -0.07%
brillig_acir_as_brillig 6 (-2) -25.00% 2,748 (-2) -0.07%
bit_shifts_comptime 10 (-3) -23.08% 2,822 (-3) -0.11%
brillig_calls_conditionals 6 (-3) -33.33% 2,749 (-3) -0.11%
signed_division 196 (-4) -2.00% 3,654 (-4) -0.11%
array_sort 55 (-4) -6.78% 2,909 (-4) -0.14%
nested_array_in_slice 1,091 (-16) -1.45% 7,214 (-16) -0.22%
arithmetic_binary_operations 14 (-3) -17.65% 2,764 (-7) -0.25%
hashmap 198,424 (-667) -0.34% 449,850 (-1,411) -0.31%
7_function 271 (-10) -3.56% 3,027 (-12) -0.39%
brillig_ecdsa_secp256r1 161 (-1) -0.62% 250 (-1) -0.40%
brillig_ecdsa_secp256k1 161 (-1) -0.62% 250 (-1) -0.40%
bit_shifts_runtime 2,777 (-25) -0.89% 5,841 (-25) -0.43%
signed_arithmetic 192 (-16) -7.69% 2,923 (-16) -0.54%
to_bytes_integration 564 (-6) -1.05% 619 (-6) -0.96%
u128 841 (-50) -5.61% 4,663 (-64) -1.35%
6_array 467 (-57) -10.88% 4,141 (-57) -1.36%
slice_dynamic_index 2,024 (-165) -7.54% 9,660 (-161) -1.64%
brillig_keccak 107 (-57) -34.76% 3,045 (-57) -1.84%
brillig_conditional 5 (-1) -16.67% 8 (-1) -11.11%
to_be_bytes 59 (-22) -27.16% 146 (-19) -11.52%
main_bool_arg 6 (-2) -25.00% 10 (-2) -16.67%
modules 3 (-2) -40.00% 8 (-2) -20.00%
import 3 (-2) -40.00% 7 (-2) -22.22%
modules_more 3 (-2) -40.00% 7 (-2) -22.22%
cast_bool 1 (-4) -80.00% 6 (-3) -33.33%
type_aliases 1 (-5) -83.33% 6 (-4) -40.00%
references 1 (-5) -83.33% 6 (-4) -40.00%
simple_radix 1 (-5) -83.33% 6 (-4) -40.00%
brillig_nested_arrays 3 (-7) -70.00% 5 (-7) -58.33%
slices 403 (-198) -32.95% 1,319 (-2,975) -69.28%
to_bytes_consistent 1 (-61) -98.39% 6 (-60) -90.91%

@vezenovm
Copy link
Contributor

Where should this go? The existing "hash methods" page doesn't seem to fit.

Under Traits in the stdlib? We probably could start to organize that file a bit more though

Copy link
Contributor

@vezenovm vezenovm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm surprised by the reduction in gate counts in various programs but I'll take it

@TomAFrench TomAFrench added this pull request to the merge queue Mar 14, 2024
Merged via the queue into master with commit 57dd91b Mar 14, 2024
43 checks passed
@TomAFrench TomAFrench deleted the jf/add-hash-impls branch March 14, 2024 15:11
@jfecher
Copy link
Contributor Author

jfecher commented Mar 14, 2024

I'm surprised by the reduction in gate counts in various programs but I'll take it

This is an older PR. At the time it was made last week every PR made at that time was seeing lower gate counts than master due to another change made elsewhere.

TomAFrench added a commit that referenced this pull request Mar 14, 2024
* master:
  chore: separate tests for execution failures from compilation failures (#4559)
  feat: remove curly braces with fmt  (#4529)
  fix: Make `nargo` the default binary for cargo run (#4554)
  fix: Evaluate operators in globals in types (#4537)
  chore: Add more `Hash` impls to stdlib (#4470)
  feat: Sync from aztec-packages (#4546)
  chore: Add `Instruction::DecrementRc` (#4525)
  feat: add `nargo compile --watch` command (#4464)
  fix: Substitute generics when checking the field count of a type (#4547)
  feat: optimize sha2 implementation (#4441)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Mar 15, 2024
…tion failures (noir-lang/noir#4559)

feat: remove curly braces with fmt  (noir-lang/noir#4529)
fix: Make `nargo` the default binary for cargo run (noir-lang/noir#4554)
fix: Evaluate operators in globals in types (noir-lang/noir#4537)
chore: Add more `Hash` impls to stdlib (noir-lang/noir#4470)
github-merge-queue bot pushed a commit that referenced this pull request Mar 15, 2024
# Description

## Problem\*

Resolves 

## Summary\*

Adds more trait implementations on the Option type.

## Additional Context

This PR depends on #4470 to be
merged first since it requires `bool: Hash`

## Documentation\*

Check one:
- [ ] No documentation needed.
- [ ] Documentation included in this PR.
- [x] **[Exceptional Case]** Documentation to be submitted in a separate
PR.
- Once both this and #4470 are
merged I think I'll add all the new impls to the docs at once.

# PR Checklist\*

- [x] I have tested the changes locally.
- [x] I have formatted the changes with [Prettier](https://prettier.io/)
and/or `cargo fmt` on default settings.
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Mar 18, 2024
…oir-lang/noir#4523)

chore: making docs build before cutting versions (noir-lang/noir#4568)
chore: fix docker test workflows (noir-lang/noir#4566)
feat: allow usage of noir `#[test]` syntax in stdlib (noir-lang/noir#4553)
feat: Add more impls on Option (noir-lang/noir#4549)
chore: fixing some broken links (noir-lang/noir#4556)
chore: separate tests for execution failures from compilation failures (noir-lang/noir#4559)
feat: remove curly braces with fmt  (noir-lang/noir#4529)
fix: Make `nargo` the default binary for cargo run (noir-lang/noir#4554)
fix: Evaluate operators in globals in types (noir-lang/noir#4537)
chore: Add more `Hash` impls to stdlib (noir-lang/noir#4470)
sirasistant added a commit to AztecProtocol/aztec-packages that referenced this pull request Mar 18, 2024
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
feat: add as_slice builtin function, add execution test
(noir-lang/noir#4523)
chore: making docs build before cutting versions
(noir-lang/noir#4568)
chore: fix docker test workflows
(noir-lang/noir#4566)
feat: allow usage of noir `#[test]` syntax in stdlib
(noir-lang/noir#4553)
feat: Add more impls on Option
(noir-lang/noir#4549)
chore: fixing some broken links
(noir-lang/noir#4556)
chore: separate tests for execution failures from compilation failures
(noir-lang/noir#4559)
feat: remove curly braces with fmt
(noir-lang/noir#4529)
fix: Make `nargo` the default binary for cargo run
(noir-lang/noir#4554)
fix: Evaluate operators in globals in types
(noir-lang/noir#4537)
chore: Add more `Hash` impls to stdlib
(noir-lang/noir#4470)
END_COMMIT_OVERRIDE

---------

Co-authored-by: sirasistant <[email protected]>
AztecBot added a commit that referenced this pull request Mar 18, 2024
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
feat: add as_slice builtin function, add execution test
(#4523)
chore: making docs build before cutting versions
(#4568)
chore: fix docker test workflows
(#4566)
feat: allow usage of noir `#[test]` syntax in stdlib
(#4553)
feat: Add more impls on Option
(#4549)
chore: fixing some broken links
(#4556)
chore: separate tests for execution failures from compilation failures
(#4559)
feat: remove curly braces with fmt
(#4529)
fix: Make `nargo` the default binary for cargo run
(#4554)
fix: Evaluate operators in globals in types
(#4537)
chore: Add more `Hash` impls to stdlib
(#4470)
END_COMMIT_OVERRIDE

---------

Co-authored-by: sirasistant <[email protected]>
sirasistant pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Mar 18, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.29.0](aztec-package-v0.28.1...aztec-package-v0.29.0)
(2024-03-18)


### Features

* Initial Earthly CI
([#5069](#5069))
([8e75fe5](8e75fe5))
</details>

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

##
[0.29.0](barretenberg.js-v0.28.1...barretenberg.js-v0.29.0)
(2024-03-18)


### Features

* Initial Earthly CI
([#5069](#5069))
([8e75fe5](8e75fe5))
</details>

<details><summary>aztec-cli: 0.29.0</summary>

##
[0.29.0](aztec-cli-v0.28.1...aztec-cli-v0.29.0)
(2024-03-18)


### Features

* Use deployer in address computation
([#5201](#5201))
([258ff4a](258ff4a))


### Miscellaneous

* Delete ContractData
([#5258](#5258))
([e516f9b](e516f9b))
* Delete ExtendedContractData struct
([#5248](#5248))
([8ae0c13](8ae0c13))
* Removing redundant receipts check
([#5271](#5271))
([5ab07fb](5ab07fb))
</details>

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

##
[0.29.0](aztec-packages-v0.28.1...aztec-packages-v0.29.0)
(2024-03-18)


### ⚠ BREAKING CHANGES

* Acir call opcode
([#4773](#4773))

### Features

* Acir call opcode
([#4773](#4773))
([0b15db2](0b15db2))
* Add as_slice builtin function, add execution test
(noir-lang/noir#4523)
([86e1a86](86e1a86))
* Add more impls on Option (noir-lang/noir#4549)
([86e1a86](86e1a86))
* Add RelWithAssert build
([#4997](#4997))
([4f337c7](4f337c7))
* Allow usage of noir `#[test]` syntax in stdlib
(noir-lang/noir#4553)
([86e1a86](86e1a86))
* **AuthWit:** Simplify create authwit syntax
([#5132](#5132))
([d0a5b19](d0a5b19))
* **avm:** Brillig CONST of size &gt; u128
([#5217](#5217))
([2e63479](2e63479))
* **avm:** Mov opcode with direct memory
([#5204](#5204))
([08f9038](08f9038)),
closes
[#5159](#5159)
* Brillig IR refactor
([#5233](#5233))
([9a73348](9a73348))
* Check initializer msg.sender matches deployer from address preimage
([#5222](#5222))
([438d16f](438d16f))
* Extended IPA tests and fuzzing
([#5140](#5140))
([0ae5ace](0ae5ace))
* Initial Earthly CI
([#5069](#5069))
([8e75fe5](8e75fe5))
* New Outbox Contract
[#4768](#4768)
([#5090](#5090))
([6421a3d](6421a3d))
* Remove curly braces with fmt
(noir-lang/noir#4529)
([86e1a86](86e1a86))
* Remove curly braces with fmt
(noir-lang/noir#4529)
([d8b8456](d8b8456))
* Remove unnecessary `mulmod`s from verifier contract
([#5269](#5269))
([20d9c0c](20d9c0c))
* Signed integer division and modulus in brillig gen
([#5279](#5279))
([82f8cf5](82f8cf5))
* Use deployer in address computation
([#5201](#5201))
([258ff4a](258ff4a))


### Bug Fixes

* **avm-transpiler:** RETURN is direct
([#5277](#5277))
([f90b2cf](f90b2cf))
* **bb:** Mac build
([#5253](#5253))
([ae021c0](ae021c0))
* CVC5 api update
([#5203](#5203))
([9cc32cb](9cc32cb))
* Evaluate operators in globals in types
(noir-lang/noir#4537)
([86e1a86](86e1a86))
* Evaluate operators in globals in types
(noir-lang/noir#4537)
([d8b8456](d8b8456))
* Make `nargo` the default binary for cargo run
(noir-lang/noir#4554)
([86e1a86](86e1a86))
* Make `nargo` the default binary for cargo run
(noir-lang/noir#4554)
([d8b8456](d8b8456))
* Revert "fix: noir mirror merge strat"
([#5250](#5250))
([7e8e8e5](7e8e8e5))
* Validation requests
([#5236](#5236))
([25ce33b](25ce33b))


### Miscellaneous

* Add avm team to codeowners for public context
([#5288](#5288))
([e146076](e146076))
* Add more `Hash` impls to stdlib
(noir-lang/noir#4470)
([86e1a86](86e1a86))
* Add more `Hash` impls to stdlib
(noir-lang/noir#4470)
([d8b8456](d8b8456))
* Add quick explanatory comment to outbox suggested by
[@benesjan](https://github.com/benesjan)
([#5247](#5247))
([56e8451](56e8451))
* **avm-simulator:** Update e2e test
([#5283](#5283))
([e9beeca](e9beeca))
* **avm-transpiler:** Return u8 in comparison ops
([#5280](#5280))
([1a5eb69](1a5eb69))
* **avm-transpiler:** Transpiler cleanup
([#5218](#5218))
([199e918](199e918))
* Delete ContractDao
([#5256](#5256))
([544e278](544e278))
* Delete ContractData
([#5258](#5258))
([e516f9b](e516f9b))
* Delete ExtendedContractData struct
([#5248](#5248))
([8ae0c13](8ae0c13))
* Delete isInternal and isConstructor fields from FunctionData
([#5232](#5232))
([dea3f87](dea3f87))
* Delete unused contract tree ts code
([#5229](#5229))
([b48dd23](b48dd23))
* Delete unused hash functions
([#5231](#5231))
([fed70a1](fed70a1))
* Fix docker test workflows
(noir-lang/noir#4566)
([86e1a86](86e1a86))
* Fixing some broken links (noir-lang/noir#4556)
([86e1a86](86e1a86))
* Making docs build before cutting versions
(noir-lang/noir#4568)
([86e1a86](86e1a86))
* Old inbox purge
([#5206](#5206))
([a26d968](a26d968))
* Removing redundant receipts check
([#5271](#5271))
([5ab07fb](5ab07fb))
* Separate tests for execution failures from compilation failures
(noir-lang/noir#4559)
([86e1a86](86e1a86))
* Separate tests for execution failures from compilation failures
(noir-lang/noir#4559)
([d8b8456](d8b8456))
* Template Zeromorph by PCS
([#5215](#5215))
([03feab2](03feab2))
* Use inotifywait to run generate in yarn-project
([#5168](#5168))
([137c13e](137c13e))


### Documentation

* **yp:** Remove contract tree and deploy data from circuits and state
([#5260](#5260))
([acffa7b](acffa7b))
</details>

<details><summary>barretenberg: 0.29.0</summary>

##
[0.29.0](barretenberg-v0.28.1...barretenberg-v0.29.0)
(2024-03-18)


### ⚠ BREAKING CHANGES

* Acir call opcode
([#4773](#4773))

### Features

* Acir call opcode
([#4773](#4773))
([0b15db2](0b15db2))
* Add RelWithAssert build
([#4997](#4997))
([4f337c7](4f337c7))
* **avm:** Mov opcode with direct memory
([#5204](#5204))
([08f9038](08f9038)),
closes
[#5159](#5159)
* Extended IPA tests and fuzzing
([#5140](#5140))
([0ae5ace](0ae5ace))
* Initial Earthly CI
([#5069](#5069))
([8e75fe5](8e75fe5))
* Remove unnecessary `mulmod`s from verifier contract
([#5269](#5269))
([20d9c0c](20d9c0c))
* Signed integer division and modulus in brillig gen
([#5279](#5279))
([82f8cf5](82f8cf5))


### Bug Fixes

* **bb:** Mac build
([#5253](#5253))
([ae021c0](ae021c0))
* CVC5 api update
([#5203](#5203))
([9cc32cb](9cc32cb))


### Miscellaneous

* Template Zeromorph by PCS
([#5215](#5215))
([03feab2](03feab2))
</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 Mar 19, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.29.0](AztecProtocol/aztec-packages@aztec-package-v0.28.1...aztec-package-v0.29.0)
(2024-03-18)


### Features

* Initial Earthly CI
([#5069](AztecProtocol/aztec-packages#5069))
([8e75fe5](AztecProtocol/aztec-packages@8e75fe5))
</details>

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

##
[0.29.0](AztecProtocol/aztec-packages@barretenberg.js-v0.28.1...barretenberg.js-v0.29.0)
(2024-03-18)


### Features

* Initial Earthly CI
([#5069](AztecProtocol/aztec-packages#5069))
([8e75fe5](AztecProtocol/aztec-packages@8e75fe5))
</details>

<details><summary>aztec-cli: 0.29.0</summary>

##
[0.29.0](AztecProtocol/aztec-packages@aztec-cli-v0.28.1...aztec-cli-v0.29.0)
(2024-03-18)


### Features

* Use deployer in address computation
([#5201](AztecProtocol/aztec-packages#5201))
([258ff4a](AztecProtocol/aztec-packages@258ff4a))


### Miscellaneous

* Delete ContractData
([#5258](AztecProtocol/aztec-packages#5258))
([e516f9b](AztecProtocol/aztec-packages@e516f9b))
* Delete ExtendedContractData struct
([#5248](AztecProtocol/aztec-packages#5248))
([8ae0c13](AztecProtocol/aztec-packages@8ae0c13))
* Removing redundant receipts check
([#5271](AztecProtocol/aztec-packages#5271))
([5ab07fb](AztecProtocol/aztec-packages@5ab07fb))
</details>

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

##
[0.29.0](AztecProtocol/aztec-packages@aztec-packages-v0.28.1...aztec-packages-v0.29.0)
(2024-03-18)


### ⚠ BREAKING CHANGES

* Acir call opcode
([#4773](AztecProtocol/aztec-packages#4773))

### Features

* Acir call opcode
([#4773](AztecProtocol/aztec-packages#4773))
([0b15db2](AztecProtocol/aztec-packages@0b15db2))
* Add as_slice builtin function, add execution test
(noir-lang/noir#4523)
([86e1a86](AztecProtocol/aztec-packages@86e1a86))
* Add more impls on Option (noir-lang/noir#4549)
([86e1a86](AztecProtocol/aztec-packages@86e1a86))
* Add RelWithAssert build
([#4997](AztecProtocol/aztec-packages#4997))
([4f337c7](AztecProtocol/aztec-packages@4f337c7))
* Allow usage of noir `#[test]` syntax in stdlib
(noir-lang/noir#4553)
([86e1a86](AztecProtocol/aztec-packages@86e1a86))
* **AuthWit:** Simplify create authwit syntax
([#5132](AztecProtocol/aztec-packages#5132))
([d0a5b19](AztecProtocol/aztec-packages@d0a5b19))
* **avm:** Brillig CONST of size &gt; u128
([#5217](AztecProtocol/aztec-packages#5217))
([2e63479](AztecProtocol/aztec-packages@2e63479))
* **avm:** Mov opcode with direct memory
([#5204](AztecProtocol/aztec-packages#5204))
([08f9038](AztecProtocol/aztec-packages@08f9038)),
closes
[#5159](AztecProtocol/aztec-packages#5159)
* Brillig IR refactor
([#5233](AztecProtocol/aztec-packages#5233))
([9a73348](AztecProtocol/aztec-packages@9a73348))
* Check initializer msg.sender matches deployer from address preimage
([#5222](AztecProtocol/aztec-packages#5222))
([438d16f](AztecProtocol/aztec-packages@438d16f))
* Extended IPA tests and fuzzing
([#5140](AztecProtocol/aztec-packages#5140))
([0ae5ace](AztecProtocol/aztec-packages@0ae5ace))
* Initial Earthly CI
([#5069](AztecProtocol/aztec-packages#5069))
([8e75fe5](AztecProtocol/aztec-packages@8e75fe5))
* New Outbox Contract
[#4768](AztecProtocol/aztec-packages#4768)
([#5090](AztecProtocol/aztec-packages#5090))
([6421a3d](AztecProtocol/aztec-packages@6421a3d))
* Remove curly braces with fmt
(noir-lang/noir#4529)
([86e1a86](AztecProtocol/aztec-packages@86e1a86))
* Remove curly braces with fmt
(noir-lang/noir#4529)
([d8b8456](AztecProtocol/aztec-packages@d8b8456))
* Remove unnecessary `mulmod`s from verifier contract
([#5269](AztecProtocol/aztec-packages#5269))
([20d9c0c](AztecProtocol/aztec-packages@20d9c0c))
* Signed integer division and modulus in brillig gen
([#5279](AztecProtocol/aztec-packages#5279))
([82f8cf5](AztecProtocol/aztec-packages@82f8cf5))
* Use deployer in address computation
([#5201](AztecProtocol/aztec-packages#5201))
([258ff4a](AztecProtocol/aztec-packages@258ff4a))


### Bug Fixes

* **avm-transpiler:** RETURN is direct
([#5277](AztecProtocol/aztec-packages#5277))
([f90b2cf](AztecProtocol/aztec-packages@f90b2cf))
* **bb:** Mac build
([#5253](AztecProtocol/aztec-packages#5253))
([ae021c0](AztecProtocol/aztec-packages@ae021c0))
* CVC5 api update
([#5203](AztecProtocol/aztec-packages#5203))
([9cc32cb](AztecProtocol/aztec-packages@9cc32cb))
* Evaluate operators in globals in types
(noir-lang/noir#4537)
([86e1a86](AztecProtocol/aztec-packages@86e1a86))
* Evaluate operators in globals in types
(noir-lang/noir#4537)
([d8b8456](AztecProtocol/aztec-packages@d8b8456))
* Make `nargo` the default binary for cargo run
(noir-lang/noir#4554)
([86e1a86](AztecProtocol/aztec-packages@86e1a86))
* Make `nargo` the default binary for cargo run
(noir-lang/noir#4554)
([d8b8456](AztecProtocol/aztec-packages@d8b8456))
* Revert "fix: noir mirror merge strat"
([#5250](AztecProtocol/aztec-packages#5250))
([7e8e8e5](AztecProtocol/aztec-packages@7e8e8e5))
* Validation requests
([#5236](AztecProtocol/aztec-packages#5236))
([25ce33b](AztecProtocol/aztec-packages@25ce33b))


### Miscellaneous

* Add avm team to codeowners for public context
([#5288](AztecProtocol/aztec-packages#5288))
([e146076](AztecProtocol/aztec-packages@e146076))
* Add more `Hash` impls to stdlib
(noir-lang/noir#4470)
([86e1a86](AztecProtocol/aztec-packages@86e1a86))
* Add more `Hash` impls to stdlib
(noir-lang/noir#4470)
([d8b8456](AztecProtocol/aztec-packages@d8b8456))
* Add quick explanatory comment to outbox suggested by
[@benesjan](https://github.com/benesjan)
([#5247](AztecProtocol/aztec-packages#5247))
([56e8451](AztecProtocol/aztec-packages@56e8451))
* **avm-simulator:** Update e2e test
([#5283](AztecProtocol/aztec-packages#5283))
([e9beeca](AztecProtocol/aztec-packages@e9beeca))
* **avm-transpiler:** Return u8 in comparison ops
([#5280](AztecProtocol/aztec-packages#5280))
([1a5eb69](AztecProtocol/aztec-packages@1a5eb69))
* **avm-transpiler:** Transpiler cleanup
([#5218](AztecProtocol/aztec-packages#5218))
([199e918](AztecProtocol/aztec-packages@199e918))
* Delete ContractDao
([#5256](AztecProtocol/aztec-packages#5256))
([544e278](AztecProtocol/aztec-packages@544e278))
* Delete ContractData
([#5258](AztecProtocol/aztec-packages#5258))
([e516f9b](AztecProtocol/aztec-packages@e516f9b))
* Delete ExtendedContractData struct
([#5248](AztecProtocol/aztec-packages#5248))
([8ae0c13](AztecProtocol/aztec-packages@8ae0c13))
* Delete isInternal and isConstructor fields from FunctionData
([#5232](AztecProtocol/aztec-packages#5232))
([dea3f87](AztecProtocol/aztec-packages@dea3f87))
* Delete unused contract tree ts code
([#5229](AztecProtocol/aztec-packages#5229))
([b48dd23](AztecProtocol/aztec-packages@b48dd23))
* Delete unused hash functions
([#5231](AztecProtocol/aztec-packages#5231))
([fed70a1](AztecProtocol/aztec-packages@fed70a1))
* Fix docker test workflows
(noir-lang/noir#4566)
([86e1a86](AztecProtocol/aztec-packages@86e1a86))
* Fixing some broken links (noir-lang/noir#4556)
([86e1a86](AztecProtocol/aztec-packages@86e1a86))
* Making docs build before cutting versions
(noir-lang/noir#4568)
([86e1a86](AztecProtocol/aztec-packages@86e1a86))
* Old inbox purge
([#5206](AztecProtocol/aztec-packages#5206))
([a26d968](AztecProtocol/aztec-packages@a26d968))
* Removing redundant receipts check
([#5271](AztecProtocol/aztec-packages#5271))
([5ab07fb](AztecProtocol/aztec-packages@5ab07fb))
* Separate tests for execution failures from compilation failures
(noir-lang/noir#4559)
([86e1a86](AztecProtocol/aztec-packages@86e1a86))
* Separate tests for execution failures from compilation failures
(noir-lang/noir#4559)
([d8b8456](AztecProtocol/aztec-packages@d8b8456))
* Template Zeromorph by PCS
([#5215](AztecProtocol/aztec-packages#5215))
([03feab2](AztecProtocol/aztec-packages@03feab2))
* Use inotifywait to run generate in yarn-project
([#5168](AztecProtocol/aztec-packages#5168))
([137c13e](AztecProtocol/aztec-packages@137c13e))


### Documentation

* **yp:** Remove contract tree and deploy data from circuits and state
([#5260](AztecProtocol/aztec-packages#5260))
([acffa7b](AztecProtocol/aztec-packages@acffa7b))
</details>

<details><summary>barretenberg: 0.29.0</summary>

##
[0.29.0](AztecProtocol/aztec-packages@barretenberg-v0.28.1...barretenberg-v0.29.0)
(2024-03-18)


### ⚠ BREAKING CHANGES

* Acir call opcode
([#4773](AztecProtocol/aztec-packages#4773))

### Features

* Acir call opcode
([#4773](AztecProtocol/aztec-packages#4773))
([0b15db2](AztecProtocol/aztec-packages@0b15db2))
* Add RelWithAssert build
([#4997](AztecProtocol/aztec-packages#4997))
([4f337c7](AztecProtocol/aztec-packages@4f337c7))
* **avm:** Mov opcode with direct memory
([#5204](AztecProtocol/aztec-packages#5204))
([08f9038](AztecProtocol/aztec-packages@08f9038)),
closes
[#5159](AztecProtocol/aztec-packages#5159)
* Extended IPA tests and fuzzing
([#5140](AztecProtocol/aztec-packages#5140))
([0ae5ace](AztecProtocol/aztec-packages@0ae5ace))
* Initial Earthly CI
([#5069](AztecProtocol/aztec-packages#5069))
([8e75fe5](AztecProtocol/aztec-packages@8e75fe5))
* Remove unnecessary `mulmod`s from verifier contract
([#5269](AztecProtocol/aztec-packages#5269))
([20d9c0c](AztecProtocol/aztec-packages@20d9c0c))
* Signed integer division and modulus in brillig gen
([#5279](AztecProtocol/aztec-packages#5279))
([82f8cf5](AztecProtocol/aztec-packages@82f8cf5))


### Bug Fixes

* **bb:** Mac build
([#5253](AztecProtocol/aztec-packages#5253))
([ae021c0](AztecProtocol/aztec-packages@ae021c0))
* CVC5 api update
([#5203](AztecProtocol/aztec-packages#5203))
([9cc32cb](AztecProtocol/aztec-packages@9cc32cb))


### Miscellaneous

* Template Zeromorph by PCS
([#5215](AztecProtocol/aztec-packages#5215))
([03feab2](AztecProtocol/aztec-packages@03feab2))
</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.

4 participants