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

fix: master conflicts #7303

Merged
merged 87 commits into from
Jul 3, 2024
Merged

fix: master conflicts #7303

merged 87 commits into from
Jul 3, 2024

Conversation

spypsy
Copy link
Member

@spypsy spypsy commented Jul 3, 2024

Please read contributing guidelines and remove this line.

fcarreiro and others added 30 commits June 26, 2024 16:26
Note that I'm removing eventselector from the deserialization, because
Esau has a PR open where he's removing it on the TS side.

Note also that the constraints/witgen for this opcode are still broken.
🤖 I have created a release *beep* *boop*
---


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

##
[0.44.0](aztec-package-v0.43.0...aztec-package-v0.44.0)
(2024-06-26)


### Features

* Add OpenTelemetry to node
([#7102](#7102))
([6bf2b72](6bf2b72))
* Devnet deployments
([#7024](#7024))
([fa70876](fa70876))
* Track spans
([#7129](#7129))
([924c3f8](924c3f8))
</details>

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

##
[0.44.0](barretenberg.js-v0.43.0...barretenberg.js-v0.44.0)
(2024-06-26)


### Bug Fixes

* False decryption fix
([#7066](#7066))
([48d9df4](48d9df4))
</details>

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

##
[0.44.0](aztec-packages-v0.43.0...aztec-packages-v0.44.0)
(2024-06-26)


### ⚠ BREAKING CHANGES

* make note_getter return BoundedVec instead of an Option array
([#7050](#7050))
* TXE
([#6985](#6985))

### Features

* Add macro impls for events
([#7081](#7081))
([c13dd9f](c13dd9f))
* Add OpenTelemetry to node
([#7102](#7102))
([6bf2b72](6bf2b72))
* Added prove_output_all flow for honk
([#6869](#6869))
([7bd7c66](7bd7c66))
* **avm:** Add ECC ops to avm_proving_test
([#7058](#7058))
([7f62a90](7f62a90))
* **avm:** Cpp msm changes
([#7056](#7056))
([f9c8f20](f9c8f20))
* **avm:** Include bb-pilcom in monorepo
([#7098](#7098))
([0442158](0442158))
* Constrain event encryption and unify note and event emit api
([#7171](#7171))
([5c3772f](5c3772f)),
closes
[#7160](#7160)
* Conventional lookups using log-deriv
([#7020](#7020))
([6f1212f](6f1212f))
* Devnet deployments
([#7024](#7024))
([fa70876](fa70876))
* Do not discard logs on revert since the kernel has pruned revertible
logs.
([#7076](#7076))
([366fb21](366fb21)),
closes
[#4712](#4712)
* **docs:** Publish PDF of protocol specs + remove links to pages in
item lists in protocol specs
([#6684](#6684))
([367e3cf](367e3cf))
* Enable merge recursive verifier in Goblin recursive verifier
([#7182](#7182))
([9b4f56c](9b4f56c))
* Flamegraph helper script
([#7077](#7077))
([8630c8f](8630c8f))
* Full test skips public simulation
([#7186](#7186))
([4c1997f](4c1997f))
* Make note_getter return BoundedVec instead of an Option array
([#7050](#7050))
([f9ac0fc](f9ac0fc))
* **p2p:** More comprehensive peer management, dial retries, persistence
fix
([#6953](#6953))
([cdd1cbd](cdd1cbd))
* Private authwit with static call
([#7073](#7073))
([9c52d47](9c52d47))
* Several updates in SMT verification module
([#7105](#7105))
([41b21f1](41b21f1))
* Shplonk revival in ECCVM
([#7164](#7164))
([34eb5a0](34eb5a0))
* Throwing errors in `BufferReader` when out of bounds
([#7149](#7149))
([bf4a986](bf4a986))
* Track spans
([#7129](#7129))
([924c3f8](924c3f8))
* TXE
([#6985](#6985))
([109624f](109624f))
* TXE 2: Electric boogaloo
([#7154](#7154))
([bb38246](bb38246))


### Bug Fixes

* **avm:** Fix unencryptedlog c++ deser
([#7194](#7194))
([89a99af](89a99af))
* **avm:** Re-enable ext call test
([#7147](#7147))
([33ccf1b](33ccf1b))
* **avm:** Reenable tag error sload
([#7153](#7153))
([fd92d46](fd92d46))
* **avm:** Update codegen
([#7178](#7178))
([1d29708](1d29708))
* Bug fixing bench prover test
([#7135](#7135))
([13678be](13678be)),
closes
[#7080](#7080)
* **ci:** Don't run npm_deploy l1-contracts
([#7187](#7187))
([80d26d8](80d26d8))
* **ci:** Move osxcross from build image
([#7151](#7151))
([7746363](7746363))
* Enable log filtering with the DEBUG variable
([#7150](#7150))
([33798b6](33798b6))
* Export event selector and replace function selector with event
selector where appropriate
([#7095](#7095))
([fcc15fa](fcc15fa)),
closes
[#7089](#7089)
* False decryption fix
([#7066](#7066))
([48d9df4](48d9df4))
* Fix bug for a unit test in full proving mode repated to MSM
([#7104](#7104))
([e37809b](e37809b))


### Miscellaneous

* `destroy_note(...)` optimization
([#7103](#7103))
([0770011](0770011))
* Add avm team as codeowners to more repo files
([#7196](#7196))
([9be0ad6](9be0ad6))
* **avm:** Remove avm prefix from pil and executor
([#7099](#7099))
([b502fcd](b502fcd))
* **avm:** Renamings and comments
([#7128](#7128))
([ed2f98e](ed2f98e))
* **avm:** Separate some fixed tables
([#7163](#7163))
([1d4a9a2](1d4a9a2))
* **ci:** Add new e2e base target
([#7179](#7179))
([26fc599](26fc599))
* Create workflow for full AVM tests
([#7051](#7051))
([a0b9c4b](a0b9c4b)),
closes
[#6643](#6643)
* **docs:** Fix migration notes
([#7195](#7195))
([88efda0](88efda0))
* **docs:** Moving tutorials and quick starts around, spinning off
codespaces page
([#6777](#6777))
([1542fa6](1542fa6))
* Fix migration notes
([#7133](#7133))
([14917d3](14917d3))
* Fix noir-projects dockerfile for CircleCI
([#7093](#7093))
([52ce25d](52ce25d))
* Increase the timeout of the runner for full AVM workflow to 70 minutes
([#7183](#7183))
([9aabc32](9aabc32))
* Indirects and read/write slices
([#7082](#7082))
([d5e80ee](d5e80ee))
* Note hashes cleanup + optimization
([#7132](#7132))
([edd6d3f](edd6d3f))
* Note hashing gate optimizations
([#7130](#7130))
([81a2580](81a2580))
* **powdr:** Update to latest and add logging
([#7152](#7152))
([f500f2e](f500f2e))
* Reads the return data
([#6669](#6669))
([ef85542](ef85542))
* Refactor AVM simulator's side-effect tracing
([#7091](#7091))
([9495413](9495413))
* Remove stray files
([#7158](#7158))
([29398de](29398de))
* Remove unneeded public input folding
([#7094](#7094))
([c30dc38](c30dc38))
* Replace relative paths to noir-protocol-circuits
([f7e4392](f7e4392))
* Replace relative paths to noir-protocol-circuits
([886f7b1](886f7b1))
* Replace relative paths to noir-protocol-circuits
([b1081f8](b1081f8))
* Replace relative paths to noir-protocol-circuits
([c0989eb](c0989eb))
* Replace relative paths to noir-protocol-circuits
([525bbe7](525bbe7))
* Replace relative paths to noir-protocol-circuits
([67bcd82](67bcd82))
* Take the PCS out of Zeromorph and refactor tests
([#7078](#7078))
([e192678](e192678))
* Track avm proving time
([#7084](#7084))
([59df722](59df722))
* Ultra flavor cleanup
([#7070](#7070))
([77761c6](77761c6))
</details>

<details><summary>barretenberg: 0.44.0</summary>

##
[0.44.0](barretenberg-v0.43.0...barretenberg-v0.44.0)
(2024-06-26)


### Features

* Added prove_output_all flow for honk
([#6869](#6869))
([7bd7c66](7bd7c66))
* **avm:** Add ECC ops to avm_proving_test
([#7058](#7058))
([7f62a90](7f62a90))
* **avm:** Cpp msm changes
([#7056](#7056))
([f9c8f20](f9c8f20))
* **avm:** Include bb-pilcom in monorepo
([#7098](#7098))
([0442158](0442158))
* Conventional lookups using log-deriv
([#7020](#7020))
([6f1212f](6f1212f))
* Enable merge recursive verifier in Goblin recursive verifier
([#7182](#7182))
([9b4f56c](9b4f56c))
* Several updates in SMT verification module
([#7105](#7105))
([41b21f1](41b21f1))
* Shplonk revival in ECCVM
([#7164](#7164))
([34eb5a0](34eb5a0))


### Bug Fixes

* **avm:** Fix unencryptedlog c++ deser
([#7194](#7194))
([89a99af](89a99af))
* **avm:** Re-enable ext call test
([#7147](#7147))
([33ccf1b](33ccf1b))
* **avm:** Reenable tag error sload
([#7153](#7153))
([fd92d46](fd92d46))
* **avm:** Update codegen
([#7178](#7178))
([1d29708](1d29708))
* Bug fixing bench prover test
([#7135](#7135))
([13678be](13678be)),
closes
[#7080](#7080)
* Fix bug for a unit test in full proving mode repated to MSM
([#7104](#7104))
([e37809b](e37809b))


### Miscellaneous

* **avm:** Remove avm prefix from pil and executor
([#7099](#7099))
([b502fcd](b502fcd))
* **avm:** Renamings and comments
([#7128](#7128))
([ed2f98e](ed2f98e))
* **avm:** Separate some fixed tables
([#7163](#7163))
([1d4a9a2](1d4a9a2))
* Create workflow for full AVM tests
([#7051](#7051))
([a0b9c4b](a0b9c4b)),
closes
[#6643](#6643)
* Indirects and read/write slices
([#7082](#7082))
([d5e80ee](d5e80ee))
* Reads the return data
([#6669](#6669))
([ef85542](ef85542))
* Remove unneeded public input folding
([#7094](#7094))
([c30dc38](c30dc38))
* Take the PCS out of Zeromorph and refactor tests
([#7078](#7078))
([e192678](e192678))
* Ultra flavor cleanup
([#7070](#7070))
([77761c6](77761c6))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Extending comments related to the authwit sections of the code to make
it more clear what is going on, and hopefully making it understandable
without leaving the code.

Alters the function names slightly to get rid of the `outer_hash` since
it is only a name we really need internally and can then use
`message_hash` for the actual value.

---------

Co-authored-by: Rahul Kothari <rahul.kothari.201@gmail.com>
Resolves #7143

---------

Co-authored-by: fcarreiro <facundo@aztecprotocol.com>
Please read [contributing guidelines](CONTRIBUTING.md) and remove this
line.
#7180 broke aztec-nr
as it's renamed a function without updating all references to it
This PR pulls out the `dep::` change from the sync PR so we can remove a
lot of the diff.
This PR pulls out a bunch of changes from #7170 which are just muddying
the diff with noise.
subrepo:
  subdir:   "barretenberg"
  merged:   "44c9c7e368"
upstream:
  origin:   "https://github.com/AztecProtocol/barretenberg"
  branch:   "master"
  commit:   "44c9c7e368"
git-subrepo:
  version:  "0.4.6"
  origin:   "???"
  commit:   "???" [skip ci]
subrepo:
  subdir:   "noir-projects/aztec-nr"
  merged:   "03b6171663"
upstream:
  origin:   "https://github.com/AztecProtocol/aztec-nr"
  branch:   "master"
  commit:   "03b6171663"
git-subrepo:
  version:  "0.4.6"
  origin:   "???"
  commit:   "???" [skip ci]
This PR pulls out some more useful changes from the sync PR notably a
bug fix which is blocking @nventuro
…7208)

This PR splits off a lot of the peripheral changes from the sync PR,
namely the fuzzer, pushing ABI gen into `noirc_driver`, splitting
`noirc_artifacts` out.
Please read [contributing guidelines](CONTRIBUTING.md) and remove this
line.
This PR pulls out the changes related to implementing the pedersen
generator builtin from the sync PR to reduce the diff.
This PR pulls out the changes related to returning nested arrays from
foreign calls.
Pulls out changes related to splitting expressions to fit in a single bb
gate.
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
chore: add back Pedersen blackbox functions (revert PR 5221)
(noir-lang/noir#5318)
fix: skip emission of brillig calls which will never be executed
(noir-lang/noir#5314)
feat: Make macros operate on token streams instead of AST nodes
(noir-lang/noir#5301)
chore: Bundle SSA Evaluator Options
(noir-lang/noir#5317)
fix: Replace panic in monomorphization with an error
(noir-lang/noir#5305)
fix(nargo_fmt): Account for spaces before the generic list of a function
(noir-lang/noir#5303)
fix: update `in_contract` flag before handling function metadata in
elaborator (noir-lang/noir#5292)
fix: fix incorrect return type being applied to stdlib functions
`modulus_be_bytes()`, `modulus_be_bits()`, etc.
(noir-lang/noir#5278)
chore: refactor test case generation in build.rs
(noir-lang/noir#5280)
fix: handle struct with nested arrays in oracle return values
(noir-lang/noir#5244)
feat: build simple dictionary from inspecting ACIR program
(noir-lang/noir#5264)
fix: Add more thorough check for whether a type is valid when passing it
from constrained code to unconstrained code
(noir-lang/noir#5009)
chore: Pedersen commitment in Noir
(noir-lang/noir#5221)
chore: pedersen hash in Noir
(noir-lang/noir#5217)
fix: Don't lazily elaborate functions
(noir-lang/noir#5282)
fix: avoid unnecessarily splitting expressions with multiplication terms
with a shared term (noir-lang/noir#5291)
fix: avoid duplicating constant arrays
(noir-lang/noir#5287)
feat: add fuzzer for Noir programs
(noir-lang/noir#5251)
feat: Run `comptime` code from annotations on a type definition
(noir-lang/noir#5256)
feat: implement comptime support for `as_slice` builtin
(noir-lang/noir#5276)
chore: create separate crate just for noir artifacts
(noir-lang/noir#5162)
feat: add support for wildcard types
(noir-lang/noir#5275)
chore: replace logical operators with bitwise in `DebugToString`
(noir-lang/noir#5236)
fix: use proper serialization in `AbiValue`
(noir-lang/noir#5270)
chore: simplify compilation flow to write to file immediately
(noir-lang/noir#5265)
feat: implement comptime support for `array_len` builtin
(noir-lang/noir#5272)
chore: Use the elaborator by default
(noir-lang/noir#5246)
chore: Release Noir(0.31.0)
(noir-lang/noir#5166)
feat!: remove `dep::` prefix
(noir-lang/noir#4946)
feat: Sync from aztec-packages
(noir-lang/noir#5242)
chore: replace `is_bn254` implementation to not rely on truncation of
literals (noir-lang/noir#5247)
chore: add no-predicate to hash implementations
(noir-lang/noir#5253)
feat(experimental): Implement macro calls & splicing into `Expr` values
(noir-lang/noir#5203)
feat: add BoundedVec::map (noir-lang/noir#5250)
chore: add no predicate to poseidon2
(noir-lang/noir#5252)
feat: add `set` and `set_unchecked` methods to `Vec` and `BoundedVec`
(noir-lang/noir#5241)
fix: Disable `if` optimization
(noir-lang/noir#5240)
chore: redo typo PR by dropbigfish
(noir-lang/noir#5234)
chore: add property tests for ABI encoding
(noir-lang/noir#5216)
chore: thread generics through ACIR/brillig gen
(noir-lang/noir#5120)
chore: copy across typo PR script from aztec-packages
(noir-lang/noir#5235)
chore(docs): fixing trailing slash issue
(noir-lang/noir#5233)
fix: add support for nested arrays returned by oracles
(noir-lang/noir#5132)
chore: Parse macros (noir-lang/noir#5229)
chore: Optimize the elaborator
(noir-lang/noir#5230)
fix(elaborator): Fix regression introduced by lazy-global changes
(noir-lang/noir#5223)
fix(elaborator): Fix duplicate methods error
(noir-lang/noir#5225)
chore: fixing all relative paths
(noir-lang/noir#5220)
chore: push code related to ABI gen into `noirc_driver`
(noir-lang/noir#5218)
END_COMMIT_OVERRIDE

---------

Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
Co-authored-by: TomAFrench <tom@tomfren.ch>
Potential fix for Typescript LSP being slow.

Based on
microsoft/TypeScript#42761 (comment)
and microsoft/TypeScript#52994

---------

Co-authored-by: Santiago Palladino <santiago@aztecprotocol.com>
Even though noir-lang/noir#4633 is now closed,
we no longer need this function due to how
github.com//pull/7169 (the sole user of the
API) does historical proofs (i.e. it reads a single slot).
subrepo:
  subdir:   "barretenberg"
  merged:   "696e195e46"
upstream:
  origin:   "https://github.com/AztecProtocol/barretenberg"
  branch:   "master"
  commit:   "696e195e46"
git-subrepo:
  version:  "0.4.6"
  origin:   "???"
  commit:   "???" [skip ci]
subrepo:
  subdir:   "noir-projects/aztec-nr"
  merged:   "497d868c8a"
upstream:
  origin:   "https://github.com/AztecProtocol/aztec-nr"
  branch:   "master"
  commit:   "497d868c8a"
git-subrepo:
  version:  "0.4.6"
  origin:   "???"
  commit:   "???" [skip ci]
catmcgee and others added 22 commits July 2, 2024 09:32
I had already written a lot of this before so just adding to the other
macros since then

Closes AztecProtocol/dev-rel#200

---------

Co-authored-by: James Zaki <james.zaki@proton.me>
Verifying output (public inputs) of private_kernel_tail_to_public
instead of constructing it in the circuit.
Constructing hints in a noir unconstrained function instead of in ts.
Co-authored-by: Maddiaa <47148561+Maddiaa0@users.noreply.github.com>
Co-authored-by: Jean M <132435771+jeanmon@users.noreply.github.com>
This PR creates a new token contract and fee payment contract that
support private refunds.

I.e. Alice pays Bob in private notes, and receives refunds in private
notes within the same transaction.

This is a massive improvement over the existing PrivateFeePaymentMethod
which uses an un/shield flow, which puts Alice in a never-ending loop of
refunding refunds.

*Note* I suspect we will want to:
1. consolidate this token/fpc, and the other token/fpc
2. and/or create a more general pattern for this type of homomorphic
operation

but the exact way forward there is not clear to me yet.

This PR also shows off some of the ugly things we need to do to get this
working, like:
- storing notes as a set to avoid mixing in the owner's address when
computing the note hash
- storing raw npk hashes in the contracts
- needing to use to_unconstrained to get private balances

This PR also fixes two bugs:
- supporting transactions that only have public teardown
- validation of complete addresses that did not have public keys
associated with their deployment

This PR also has the TXE charge nominal TX fees, and basic support for a
teardown function.

Side note, see https://hackmd.io/NUfIc2LJRlqL0-myhij3KQ for a cost
analysis (in terms of TXEffects byte size) for different fee payment
methods.

### In conclusion

I vote to merge the PR roughly as is and start the discussion on how to
clean the stuff up that we hate, but if someone has strong negative
reactions, I'm definitely open to hearing which parts we want to tease
out into individual PRs.
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
feat: Sync from aztec-packages
(noir-lang/noir#5377)
feat: `mod.nr` entrypoint (noir-lang/noir#5039)
feat!: error on too large integer value
(noir-lang/noir#5371)
fix: Runtime brillig bigint id assignment
(noir-lang/noir#5369)
feat!: rename struct-specific TypeDefinition -> StructDefinition
(noir-lang/noir#5356)
END_COMMIT_OVERRIDE

---------

Co-authored-by: Tom French <tom@tomfren.ch>
…#7252)

Makes CI fail in case TXE test fail. Noticed they were broken, but
master was still green and removed some unnecessary commands in the
docker build.

Also reverted some of the changes from
#7237 since we need
the length of the data we're about to read in `avmOpcodeStorageRead`
(the oracle cannot obtain this information from the assigned output
variable.
…ge tutorial (#7234)

Adds a bit of code to check if the accounts are already publicly
deployed, and if so, skip.
This PR refactors `noir-projects` to use the fact that `mod foo` can now
resolve to a `./foo/mod.nr` file rather than just a `./foo.nr` file.
Reduces the `MAX_NOTE_HASH_READ_REQUESTS_PER_CALL`,
`MAX_NULLIFIER_READ_REQUESTS_PER_CALL`,
`MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL` to `16` to align
better what is possible, e.g., we should not allow doing more read
requests than what you would be able to "read" and check is up to date.
Also updating the TX versions.

Note, there might be a slight edge case, namely that if doing
`MAX_NOTE_HASH_READ_REQUESTS_PER_TX` you might not be able to really
emit MAX nulliifier because one of them was used for the tx hash.
Adds another command to the noir profiler binary, opcodes-flamegraph,
with the following usage:
```
noir-profiler opcodes-flamegraph -a PATH_TO_THE_ARTIFACT  -o OUTPUT_PATH
```
for example:

```
~/aztec-packages/noir/noir-repo/target/release/noir-profiler opcodes-flamegraph -a ~/aztec-packages/noir-projects/noir-protocol-circuits/target/private_kernel_inner.json  -o .
```
Results in a flamegraph that counts the opcodes (not the gates) for all
the call stacks, like the following:

![inner_opcodes](https://github.com/AztecProtocol/aztec-packages/assets/5372114/d3de9c63-79c1-43de-afd6-a9cf6fee42bd)

This PR also refactors the gates-flamegraph and adds as the last call
stack item the opcode type generated, to have more complete profiling
information:

![image](https://github.com/AztecProtocol/aztec-packages/assets/5372114/df8d1615-5d74-445a-866a-05f9c9d18754)
Reconciles TXE with new note reading limits.
🤖 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).
For protocol specs, Katex macros used to revert a colour change to
black. This was okay for pdf (white background), but didn't work for
light/dark mode of the browser.
Now colour change only affects changed text, not text that follows.
subrepo:
  subdir:   "barretenberg"
  merged:   "6c5e3b6b91"
upstream:
  origin:   "https://github.com/AztecProtocol/barretenberg"
  branch:   "master"
  commit:   "6c5e3b6b91"
git-subrepo:
  version:  "0.4.6"
  origin:   "???"
  commit:   "???" [skip ci]
subrepo:
  subdir:   "noir-projects/aztec-nr"
  merged:   "727b4a0a68"
upstream:
  origin:   "https://github.com/AztecProtocol/aztec-nr"
  branch:   "master"
  commit:   "727b4a0a68"
git-subrepo:
  version:  "0.4.6"
  origin:   "???"
  commit:   "???" [skip ci]
@spypsy spypsy marked this pull request as ready for review July 3, 2024 10:37
@spypsy spypsy merged commit dbdb71e into devnet Jul 3, 2024
2 checks passed
@spypsy spypsy deleted the devnet-merge branch July 3, 2024 10:38
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.