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(noir sync): Calculate noir hash based on just noir-repo-ref and noir-repo.patch #12861

Merged
merged 8 commits into from
Mar 18, 2025

Conversation

aakoshh
Copy link
Contributor

@aakoshh aakoshh commented Mar 18, 2025

Alternative to #12858

Changes noir/bootstrap.sh to use cache_content_hash .rebuild_patterns if

  • we have specified an AZTEC_COMMIT_HASH, looking for historical values
  • there are no commits in noir-repo that could be added to a patch file, indicating changes that aren't captured by the .rebuild_patterns and the noir-repo-ref file, and
  • noir-repo isn't on a branch which could evolve all the time; if it's on a branch then use the .noir-repo.rebuild_patterns in noir-repo itself to figure out the hash

The exception for feature branches should not affect normal aztec workflow, which is based on tags, it's only there to support temporary work noir developers do across both repos at the same time, and it's not something that will be merged into the master branch of aztec-packages (it would defeat repeatable builds).

With this change it should be possible to use AZTEC_COMMIT_HASH to query historical queries, as seen in the 2nd example below.

Example 1

This shows that if we're on a tag, then adding a new commit to the noir-repo will disable caching. This is the normal case in aztec-packages. Otherwise the hash is based on just noir. But if we switch to a feature branch, caching is back on to support faster builds, incorporating the latest commits into the hash.

# We are on a tag
% ./noir/scripts/sync.sh info                                                                                                                                                                        
Repo exists:              yes
Fixup commit:             9dcbd3fbf47f886821ac71a647d4f9712ab1eb1d
Checkout commit:          45ad637273cef317eba42feaf2be0e59d34065ed
Wanted:                   nightly-2025-03-18
Needs switch:             no
Needs patch:              no
Detached:                 yes
On branch:                no
Branch name:              n/a
Has wanted tag:           yes
Has tag commit:           yes
Has patch commit:         yes
Last commit is patch:     yes
Has fixup and patch:      yes
Has uncommitted changes:  no
Latest nightly:           nightly-2025-03-18
Cache mode:               noir
% ./noir/scripts/sync.sh cache-mode                                                                                                                                                                  
noir
% ./noir/bootstrap.sh hash                                                                                                                                                                           
eb08d2624603de97

# Make a change in the noir-repo
% cd noir/noir-repo                                                                                                                                                                                  
% echo "Foo" > compiler/foo.txt && git add compiler/foo.txt && git commit -m "Foo"                                                                                                              
[detached HEAD 23d1d2ac6b] Foo
 1 file changed, 1 insertion(+)
 create mode 100644 compiler/foo.txt
% cd ../..        

# The extra commit disables the cache
% ./noir/scripts/sync.sh cache-mode                                                                                                                                                                  
disabled-cache
% ./noir/bootstrap.sh hash                                                                                                                                                                           
disabled-cache

# Now switch to a feature branch
% echo af/msgpack-codegen > noir/noir-repo-ref                                                                                                                                                       
% ./noir/bootstrap.sh hash                                                                                                                                                                          
Error: noir-repo is on a detached HEAD and the last commit is not the patch marker commit;
switching to af/msgpack-codegen could mean losing those commits.
Please use the 'make-patch' command to create a noir-repo.patch file and commit it in aztec-packages, 
so that it is re-applied after each checkout. Make sure to commit the patch on the branch where it should be.

# Get rid of the foo commit, so we can switch away
% cd noir/noir-repo                                                                                                                                                                                 
% git reset --hard HEAD~1                                                                                                                                                                       
HEAD is now at 8b88883d58 Noir local patch commit.
% cd ../..                   

# Hashing still involves syncing; we need the noir-repo to decide how to hash
% ./noir/bootstrap.sh hash                                                                                                                                                                          
remote: Enumerating objects: 187, done.
...
Switched to branch 'af/msgpack-codegen'
Your branch is up to date with 'upstream/af/msgpack-codegen'.
...
[af/msgpack-codegen 98f9a3cc43] Noir local fixup commit.
 4 files changed, 108 insertions(+), 2 deletions(-)
 create mode 100755 acvm-repo/acvm_js/build.sh.bak
 create mode 100755 tooling/noirc_abi_wasm/build.sh.bak
Applying: patch: delete honk example programs
Applying: chore: turn on `skipLibCheck`
Applying: chore: delete leftover file
Applying: Ignore package.tgz
[af/msgpack-codegen 182331696a] Noir local patch commit.
disabled-cache

# ^ The cache is disabled becase we have a pending change in `noir/noir-repo-ref`, 
# but `cache-mode` indicates we need to cache based on the `noir-repo` contents.
% ./noir/scripts/sync.sh cache-mode                                                                                                                                                                 
noir-repo

# Commit the noir-repo-ref file, so we have a clean state in aztec-packages                                                                                                                                                                              
% git add noir/noir-repo-ref && git commit -m "Switched to a feature branch"                                                                                                                        
Formatting barretenberg staged files...
[af/noir-repo-ref-hash 62fc17a03b] Switched to a feature branch
 1 file changed, 1 insertion(+), 1 deletion(-)

# Now we hash based on the code in `noir-repo`, *and* the contents of `noir`
% ./noir/bootstrap.sh hash                                                                                                                                                                          
798ec85262e6133a

Example 2

This one shows that even after switching to a different tag, we can use the AZTEC_CACHE_COMMIT feature to go back in the commit log to get a historical hash.

# We're on a tag
% git rev-parse HEAD                                                                                                                                                                                
517f2463281beb3d528662d1fd3d6e5346fdb523
% cat noir/noir-repo-ref                                                                                                                                                                            
nightly-2025-03-18
% ./noir/bootstrap.sh hash                                                                                                                                                                          
bf9bcc2b4f6046c7

# Want to roll back to a previous nightly tag
% echo nightly-2025-03-11 > noir/noir-repo-ref                                                                                                                                                      
% git add noir                                                                                                                                                                                      
% git commit -m "Roll back nightly"                                                                                                                                                                 
Formatting barretenberg staged files...
[af/noir-repo-ref-hash 858d98f42b] Roll back nightly
 1 file changed, 1 insertion(+), 1 deletion(-)

# Recalculating the hash will sync the repo, but the hash will be based on the ref, not the content
% ./noir/bootstrap.sh hash                                                                                                                                                                          
remote: Enumerating objects: 66481, done.
remote: Counting objects: 100% (61479/61479), done.
remote: Compressing objects: 100% (36681/36681), done.
remote: Total 57993 (delta 21540), reused 52084 (delta 16927), pack-reused 0 (from 0)
Receiving objects: 100% (57993/57993), 158.39 MiB | 33.13 MiB/s, done.
Resolving deltas: 100% (21540/21540), completed with 557 local objects.
remote: Enumerating objects: 23, done.
remote: Counting objects: 100% (16/16), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 1 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 1.66 KiB | 1.66 MiB/s, done.
From https://github.com/noir-lang/noir
 * tag                     nightly-2025-03-11 -> FETCH_HEAD
Warning: you are leaving 6 commits behind, not connected to
any of your branches:

  ba0ad9e5f2 Noir local patch commit.
  41425e3e82 Ignore package.tgz
  e5942f5295 chore: delete leftover file
  b98e22d860 chore: turn on `skipLibCheck`
 ... and 2 more.

HEAD is now at 1fa0dd95a9 chore: bump external pinned commits (#7640)
[detached HEAD 96b25f1022] Noir local fixup commit.
 4 files changed, 108 insertions(+), 2 deletions(-)
 create mode 100755 acvm-repo/acvm_js/build.sh.bak
 create mode 100755 tooling/noirc_abi_wasm/build.sh.bak
Applying: patch: delete honk example programs
Applying: chore: turn on `skipLibCheck`
Applying: chore: delete leftover file
Applying: Ignore package.tgz
[detached HEAD 2e591ecb7c] Noir local patch commit.
cb3599adbc8ee588

# We can still query the hash as it was before
% AZTEC_CACHE_COMMIT=HEAD~1 ./noir/bootstrap.sh hash                                                                                                                                            13s 
bf9bcc2b4f6046c7

@aakoshh aakoshh requested a review from charlielye as a code owner March 18, 2025 20:24
@aakoshh aakoshh requested a review from TomAFrench March 18, 2025 20:40
@aakoshh aakoshh force-pushed the af/noir-repo-ref-hash branch from 0c19a69 to 5016c5a Compare March 18, 2025 20:44
@aakoshh aakoshh changed the title feat(DRAFT): Calculate noir hash based on just noir-repo-ref and noir-repo.patch feat(noir sync): Calculate noir hash based on just noir-repo-ref and noir-repo.patch Mar 18, 2025
@ludamad ludamad merged commit fa5991f into master Mar 18, 2025
13 checks passed
@ludamad ludamad deleted the af/noir-repo-ref-hash branch March 18, 2025 22:18
TomAFrench pushed a commit that referenced this pull request Mar 21, 2025
🤖 I have created a new Aztec Packages release
---


##
[0.82.0](v0.81.0...v0.82.0)
(2025-03-21)


### ⚠ BREAKING CHANGES

* `AztecNode.findLeavesIndexes` returning block info
([#12890](#12890))
* make `ResolverError::UnnecessaryPub` a hard error
(noir-lang/noir#7664)

### Features

* `AztecNode.findLeavesIndexes` returning block info
([#12890](#12890))
([9770e15](9770e15))
* add `EmbeddedCurvePoint::generator()` to return generator point
(noir-lang/noir#7754)
([ce84b2d](ce84b2d))
* add AMM support to transaction bot
([#12897](#12897))
([b2c35cc](b2c35cc))
* add minter role to TestERC20
([#12889](#12889))
([716ab4f](716ab4f)),
closes
[#12887](#12887)
[#12882](#12882)
* allow `fn` returning `()` without having to write `-> ()`
(noir-lang/noir#7717)
([e9526cf](e9526cf))
* avm merkle gadget in vm2
([#12726](#12726))
([898d50e](898d50e))
* **avm:** instruction fetching parsing error
([#12804](#12804))
([09a09d5](09a09d5))
* **bb:** Introduce chunks for univariate computation for the AVM
([#12707](#12707))
([c912bd6](c912bd6))
* can associate error regex with entry in flake file
([#12785](#12785))
([da48e38](da48e38))
* capture app stacks for bb usage
([#12383](#12383))
([293eb9d](293eb9d))
* **docs:** Docs on shared mutable, contract classes, and injecting data
([#12043](#12043))
([94beffe](94beffe))
* Fallback to blobscan API on blob miss
([#12857](#12857))
([f2f0d72](f2f0d72)),
closes
[#12856](#12856)
* Fast node_modules caching in CI.
([#12371](#12371))
([09f50d7](09f50d7))
* generate subrelation-label comment in generated relation hpp
([#12914](#12914))
([fa2bf95](fa2bf95))
* lets try grinding
([4342491](4342491))
* Montgomery optimisation (partial)
([#12822](#12822))
([c524339](c524339))
* **noir sync:** Calculate noir hash based on just `noir-repo-ref` and
`noir-repo.patch`
([#12861](#12861))
([fa5991f](fa5991f))
* observe L1 and init proposal counter
([#12681](#12681))
([1e3d71e](1e3d71e))
* precomputed ClientIVC VKs
([#12126](#12126))
([65bd276](65bd276))
* reapplying reverted circuits recorder with a fix
([#12919](#12919))
([bf9a034](bf9a034))
* recording circuit inputs + oracles
([#12148](#12148))
([5436627](5436627))
* rotate over instances on request fail
([#12270](#12270))
([7ee2e24](7ee2e24))
* Separate Aztec Node Admin API
([#12790](#12790))
([ccac9ff](ccac9ff)),
closes
[#12789](#12789)
* slim wallet
([#12803](#12803))
([3f9f30a](3f9f30a))
* **sol:** setup epoch - sampling without replacement
([#12753](#12753))
([096f739](096f739))
* **ssa:** Basic control dependent LICM
(noir-lang/noir#7660)
([ce84b2d](ce84b2d))
* **ssa:** Dominance frontiers
(noir-lang/noir#7692)
([e9526cf](e9526cf))
* **ssa:** Post dominator tree
(noir-lang/noir#7595)
([e9526cf](e9526cf))


### Bug Fixes

* add missing inputs to `BlackBoxFuncCall::get_inputs_vec` for EcAdd
(noir-lang/noir#7752)
([ce84b2d](ce84b2d))
* add random deployment salt to sandbox
([#12869](#12869))
([49acd71](49acd71))
* agent reporting jobs completion correctly
([#12835](#12835))
([18d68f0](18d68f0))
* allow method call after block, if and match
(noir-lang/noir#7655)
([e9526cf](e9526cf))
* allow omitting ';' after last block statement if it's an assignment
(noir-lang/noir#7718)
([e9526cf](e9526cf))
* allow referring to comptime locals at runtime
(noir-lang/noir#7681)
([e9526cf](e9526cf))
* allow renaming a trait when importing it
(noir-lang/noir#7688)
([e9526cf](e9526cf))
* avm merkle cpp broke darwin
([#12917](#12917))
([75c9098](75c9098))
* **bb.js:** remove size metadata from UH proof
([#12775](#12775))
([5b064bc](5b064bc))
* bench upload logic
([#12800](#12800))
([52575d8](52575d8))
* bring back matrix on grind. try several things to resolve txe port in
use.
([79af7a3](79af7a3))
* CI Tweaks
([#12908](#12908))
([326767c](326767c))
* ci.sh gh-bench logic
([#12776](#12776))
([8080f47](8080f47))
* **ci:** Exclude inliner specific reference count tests from Brillig
trace report (noir-lang/noir#7761)
([ce84b2d](ce84b2d))
* **ci:** Fail the CI job on a Brillig report failure
(noir-lang/noir#7762)
([ce84b2d](ce84b2d))
* clientivc capture benchmarks include authwits
([#12873](#12873))
([5df2aea](5df2aea))
* config ordering
([#12893](#12893))
([44af76e](44af76e))
* consensus URL as CLI config
([#12796](#12796))
([66e8028](66e8028))
* correctly format let followed by comment before unsafe
(noir-lang/noir#7659)
([e9526cf](e9526cf))
* cpp ivc bench
([#12815](#12815))
([95a0ec1](95a0ec1))
* disable gpg signing for noir bootstrap
([#12840](#12840))
([2a76c8c](2a76c8c))
* Disallow registration of contract classes with no public bytecode
([#12910](#12910))
([41bf13e](41bf13e))
* doc comments on functions warn unexpectedly
(noir-lang/noir#7721)
([e9526cf](e9526cf))
* don't gpg sign the noir patch
([#12912](#12912))
([43191e0](43191e0))
* Don't log config
([#12876](#12876))
([545b4e0](545b4e0))
* Experiment with `DecrementRc`
(noir-lang/noir#7629)
([66a62d0](66a62d0))
* Fix prover node publisher for multi-proofs
([#12924](#12924))
([42733a6](42733a6))
* Fix stdout testing when running test programs
(noir-lang/noir#7741)
([66a62d0](66a62d0))
* Fixes regressed LSP and adds a test to sanity check.
([#12915](#12915))
([30f9087](30f9087))
* generate ivc benchmarks
([#12811](#12811))
([3ee32a9](3ee32a9))
* handle predicate value reduction in array get also for the databus
(noir-lang/noir#7730)
([66a62d0](66a62d0))
* hotfix git user config
([d58efbb](d58efbb))
* kind on sepolia + balance consolidation + sepolia values service
indices
([#12473](#12473))
([000d515](000d515))
* misleading test
([#12877](#12877))
([dc8ab31](dc8ab31))
* nightly versioning
([#12872](#12872))
([7586192](7586192))
* oracles handlers
([#12864](#12864))
([4bae397](4bae397))
* pass bot salt
([#12923](#12923))
([7aa0b87](7aa0b87))
* post-checkout hook installation to include `$@`
([#12781](#12781))
([323c958](323c958))
* redact sensitive fields in logs
([#12913](#12913))
([31feb0b](31feb0b))
* redo "fix: make vk metadata actual witnesses"
([#12535](#12535))
([392abc2](392abc2))
* **redo:** "fix: Switch to `noir-repo` context for cache content
hashing"
([#12825](#12825))
([5a98d20](5a98d20))
* Remove hack to register contract class directly on node
([#12795](#12795))
([eff2501](eff2501)),
closes
[#10007](#10007)
* Removed logged config object in L1 Tx Utils
([#12901](#12901))
([5d871f8](5d871f8))
* Restart proving job if epoch content changes
([#12655](#12655))
([613994f](613994f))
* retries starting txe
([3fcc601](3fcc601))
* revert "Switch to `noir-repo` context for cache content hashing"
([#12824](#12824))
([37ccc38](37ccc38))
* Run aztec-up tests as ubuntu not root.
([#12875](#12875))
([41cf5a4](41cf5a4))
* run nightly as bot
([#12833](#12833))
([3799330](3799330))
* Some basic re-org handling
([#12812](#12812))
([558e315](558e315))
* source_refname
([#12827](#12827))
([b4a0b71](b4a0b71))
* **ssa:** don't check Brillig calls for coverage if they don't return
anything (e.g. println) (noir-lang/noir#7644)
([e9526cf](e9526cf))
* Stop blockstream on world-state sync error
([#12854](#12854))
([810ee2d](810ee2d))
* Switch to `noir-repo` context for cache content hashing
([#12784](#12784))
([6214c8c](6214c8c))
* update join split test hash
([#12798](#12798))
([2fd47f6](2fd47f6))
* Use schnorr lib with reduced sig.e
([#12844](#12844))
([d03d61c](d03d61c))
* validators verify tx proofs
([#12939](#12939))
([c02132d](c02132d))
* wrong printing of line comment in quoted
(noir-lang/noir#7694)
([e9526cf](e9526cf))
* yolo annotated tag on nightlies. only run kind smoke test.
([8cdfb9a](8cdfb9a))
* yolo debug info
([6681c8f](6681c8f))
* yolo fix
([aec93df](aec93df))
* yolo mark flakey discv5 timeout test
([b45a994](b45a994))
* yolo trying to fix txe port
([ea553d2](ea553d2))
* yolo wait for docker to be up on aztec-up tests.
([8dcc1b5](8dcc1b5))


### Miscellaneous

* add `mapi`/`for_eachi` functions
(noir-lang/noir#7705)
([66a62d0](66a62d0))
* add `shared` module within `noirc_frontend`
(noir-lang/noir#7746)
([ce84b2d](ce84b2d))
* add acir_test for bb.js classes
([#12892](#12892))
([ffe1f4f](ffe1f4f))
* add cargo deny advisory (noir-lang/noir#7691)
([e9526cf](e9526cf))
* Add comment on verifyHistoricBlock
([#12933](#12933))
([cb978b5](cb978b5))
* add extra docs lint (noir-lang/noir#7742)
([66a62d0](66a62d0))
* Add GITHUB_TOKEN for downloading prost_prebuilt to acvm.js build
(noir-lang/noir#7745)
([ce84b2d](ce84b2d))
* add kind diagnostics during startup
([#12805](#12805))
([450f9bb](450f9bb))
* add lambda calculus test (noir-lang/noir#7646)
([e9526cf](e9526cf))
* add more test suites to CI
(noir-lang/noir#7757)
([ce84b2d](ce84b2d))
* add regression tests for PR
[#7570](#7570)
from lambda interpreter test
(noir-lang/noir#7638)
([e9526cf](e9526cf))
* add support for caching `node_modules` within a nested repository
([#12862](#12862))
([16232c8](16232c8))
* add tests for trait renaming in imports
(noir-lang/noir#7631)
([e9526cf](e9526cf))
* add timeouts to CI (noir-lang/noir#7725)
([e9526cf](e9526cf))
* add trailing slash to link on docs homepage
(noir-lang/noir#7682)
([e9526cf](e9526cf))
* add workflow to publish rustdoc to github pages
(noir-lang/noir#7687)
([e9526cf](e9526cf))
* address recurring typo in docs
(noir-lang/noir#7656)
([e9526cf](e9526cf))
* allow individual service data map size configuration
([#12853](#12853))
([b9e6a19](b9e6a19)),
closes
[#12831](#12831)
* **artifact_cli:** Print circuit output to stdout
(noir-lang/noir#7696)
([e9526cf](e9526cf))
* **avm:** Constrain pc_size_in_bits column and rename
([#12899](#12899))
([d69901f](d69901f))
* **avm:** make contract db returns optional
([#12867](#12867))
([cf2beb2](cf2beb2))
* **avm:** vm2 lazy bytecode loading
([#12847](#12847))
([233ca3e](233ca3e))
* **avm:** vm2 recursive execution
([#12842](#12842))
([04981e2](04981e2))
* avoid syncing recursive proofs between repositories
([#12769](#12769))
([7259b92](7259b92))
* begin splitting out note discovery
([#12819](#12819))
([75d545a](75d545a))
* begin the introduction of log type id and standard log layouts
([#12823](#12823))
([e86a258](e86a258))
* bump bb (noir-lang/noir#7726)
([66a62d0](66a62d0))
* bump external pinned commits
(noir-lang/noir#7667)
([e9526cf](e9526cf))
* bump external pinned commits
(noir-lang/noir#7728)
([e9526cf](e9526cf))
* bump JS dependencies (noir-lang/noir#7669)
([e9526cf](e9526cf))
* bump node to v22.18.3 (noir-lang/noir#7668)
([e9526cf](e9526cf))
* bump wasm-pack to 0.13.1 (noir-lang/noir#7675)
([e9526cf](e9526cf))
* check test program execution success output
(noir-lang/noir#7713)
([e9526cf](e9526cf))
* **ci:** enforce rustdoc lints
(noir-lang/noir#7738)
([66a62d0](66a62d0))
* **ci:** Exclude enum tests from Brillig reports
(noir-lang/noir#7661)
([e9526cf](e9526cf))
* **ci:** private-kernel-inner timeout bump
(noir-lang/noir#7732)
([66a62d0](66a62d0))
* Cleanup and re-specify sequencer config in RC1
([#12898](#12898))
([13aa4f5](13aa4f5))
* comment out kind tests
([#12793](#12793))
([39986e5](39986e5))
* delete honk programs from `test_programs`
(noir-lang/noir#7727)
([66a62d0](66a62d0))
* **docs:** Avoid colliding filenames
(noir-lang/noir#7771)
([ce84b2d](ce84b2d))
* **docs:** Brillig opcodes
(noir-lang/noir#7722)
([e9526cf](e9526cf))
* **docs:** Document BlackBoxFuncCall enum
(noir-lang/noir#7702)
([e9526cf](e9526cf))
* **docs:** Extend stable documentation versions to build to cover
multiple `beta.n` releases (noir-lang/noir#7685)
([e9526cf](e9526cf))
* **docs:** Landing page jargonless intro
(noir-lang/noir#7649)
([66a62d0](66a62d0))
* **docs:** Minor fixes on local documentation development workflows
(noir-lang/noir#7684)
([e9526cf](e9526cf))
* **docs:** More acir docs (noir-lang/noir#7731)
([66a62d0](66a62d0))
* **docs:** update bb commands to match the new version
(noir-lang/noir#7677)
([e9526cf](e9526cf))
* **docs:** update profiler usage docs
([#12782](#12782))
([3b2fccb](3b2fccb))
* don't switch out bb.js install in noir repo
([#12771](#12771))
([79c3c62](79c3c62))
* easier way to test monormophization errors
(noir-lang/noir#7679)
([e9526cf](e9526cf))
* enable wtr debug logging
([#12848](#12848))
([0fc5528](0fc5528))
* encapsulate `Index` within `LocalModuleId`
(noir-lang/noir#7719)
([e9526cf](e9526cf))
* Faster tx production on masternet
([#12878](#12878))
([17d0301](17d0301))
* fix archiver.test.ts
([#12907](#12907))
([fd7adb1](fd7adb1))
* fix gemini
([#12602](#12602))
([3eb9e9a](3eb9e9a))
* fix rustdoc issues (noir-lang/noir#7712)
([e9526cf](e9526cf))
* Fix rustdocs error (noir-lang/noir#7750)
([ce84b2d](ce84b2d))
* fixing timeouts (noir-lang/noir#7666)
([e9526cf](e9526cf))
* **frontend:** Regression test for creating a mutable reference to an
array element (noir-lang/noir#7699)
([e9526cf](e9526cf))
* hide Ident fields (noir-lang/noir#7709)
([e9526cf](e9526cf))
* Increase bracket_depth to 2048
([#12801](#12801))
([2e9a7a3](2e9a7a3))
* make `ResolverError::UnnecessaryPub` a hard error
(noir-lang/noir#7664)
([e9526cf](e9526cf))
* migrate to use new flat eslint config file
(noir-lang/noir#7676)
([e9526cf](e9526cf))
* minor `CommitmentsDB` cleanup
([#12817](#12817))
([ff8a199](ff8a199))
* more descriptive SSA tests
(noir-lang/noir#7697)
([e9526cf](e9526cf))
* more logging in kind setup
([#12852](#12852))
([9824336](9824336))
* note getter internals
([#12809](#12809))
([3a89a24](3a89a24))
* nuking MemoryArchiveStore
([#12826](#12826))
([c5405d8](c5405d8))
* once again skip the uniswap tests
([#12859](#12859))
([4f37dec](4f37dec))
* **p2p:** add tx queue to prevent ddos attacks
([#12603](#12603))
([a96a908](a96a908))
* pr linking job for merge queue
([#12546](#12546))
([a0cee9f](a0cee9f))
* pull most logic from `get_all_contracts` up out of the `CrateDefMap`
(noir-lang/noir#7715)
([e9526cf](e9526cf))
* pull out pure functions from interpreter
(noir-lang/noir#7755)
([ce84b2d](ce84b2d))
* push users towards nargo in tutorial
(noir-lang/noir#7736)
([ce84b2d](ce84b2d))
* re-enable nightly tests
([#12673](#12673))
([d2f8f18](d2f8f18)),
closes
[#12107](#12107)
* Refactor entrypoints
([#12868](#12868))
([5f48055](5f48055))
* **refactor:** Move resolved error structures out of acir crate
(noir-lang/noir#7734)
([66a62d0](66a62d0))
* remove `examples` from testing of noir
([#12768](#12768))
([cd6a3af](cd6a3af))
* remove `noir-lang/ec` dependency
([#12507](#12507))
([181d6e0](181d6e0))
* remove bun from docs in favour of yarn
(noir-lang/noir#7756)
([ce84b2d](ce84b2d))
* Remove magic number from AVM bytecode
([#12900](#12900))
([4d96fc0](4d96fc0))
* Remove seemingly unused compose files
([#12794](#12794))
([1a75797](1a75797))
* remove some unnecessary mod.nr files
([#12797](#12797))
([99fc705](99fc705))
* remove some unused HIR code
(noir-lang/noir#7643)
([e9526cf](e9526cf))
* remove ultraplonk tests (noir-lang/noir#7680)
([e9526cf](e9526cf))
* remove unconditional sleep
([#12814](#12814))
([e61c376](e61c376))
* remove whyle, use native while
([#12820](#12820))
([889bc48](889bc48))
* rename note discovery to message discovery
([#12755](#12755))
([ae4f935](ae4f935))
* replace relative paths to noir-protocol-circuits
([070ad0a](070ad0a))
* replace relative paths to noir-protocol-circuits
([f62614d](f62614d))
* replace relative paths to noir-protocol-circuits
([742162c](742162c))
* replace relative paths to noir-protocol-circuits
([801244c](801244c))
* replace relative paths to noir-protocol-circuits
([c39d88b](c39d88b))
* replace relative paths to noir-protocol-circuits
([2cb1a37](2cb1a37))
* replace relative paths to noir-protocol-circuits
([a42309b](a42309b))
* Resolve various rustdoc warnings
(noir-lang/noir#7724)
([e9526cf](e9526cf))
* run `noir_wasm` over `test_programs`
(noir-lang/noir#7765)
([ce84b2d](ce84b2d))
* separated multi map and fixed indexeddb map
([#12896](#12896))
([05af647](05af647))
* Set max txs per block
([#12837](#12837))
([74476ff](74476ff))
* simplify note getter oracle
([#12807](#12807))
([2fc01a3](2fc01a3))
* **ssa:** Do not print entire functions in underconstrained values
check trace (noir-lang/noir#7665)
([e9526cf](e9526cf))
* update docusaurus config to correct trailing slash issue
(noir-lang/noir#7720)
([e9526cf](e9526cf))
* update examples to use UltraHonk
(noir-lang/noir#7653)
([e9526cf](e9526cf))
* Update README.md to add trailing docs `/`
(noir-lang/noir#7689)
([e9526cf](e9526cf))
* Update references to GH issues to reflect recent changes
([#12722](#12722))
([100d31f](100d31f))
* update yarn version to 4.5.2
(noir-lang/noir#7678)
([e9526cf](e9526cf))
* use rollup.ts more consistenty
([#12863](#12863))
([bd9f3ce](bd9f3ce))
* vars for --network ignition-testnet
([#12886](#12886))
([6efc8ce](6efc8ce))


### Documentation

* Add sponsoredFPC
([#12485](#12485))
([87bb6da](87bb6da))
* additions
([#12551](#12551))
([c9ea1cd](c9ea1cd))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
DanielKotov pushed a commit that referenced this pull request Mar 27, 2025
🤖 I have created a new Aztec Packages release
---


##
[0.82.0](v0.81.0...v0.82.0)
(2025-03-21)


### ⚠ BREAKING CHANGES

* `AztecNode.findLeavesIndexes` returning block info
([#12890](#12890))
* make `ResolverError::UnnecessaryPub` a hard error
(noir-lang/noir#7664)

### Features

* `AztecNode.findLeavesIndexes` returning block info
([#12890](#12890))
([9770e15](9770e15))
* add `EmbeddedCurvePoint::generator()` to return generator point
(noir-lang/noir#7754)
([ce84b2d](ce84b2d))
* add AMM support to transaction bot
([#12897](#12897))
([b2c35cc](b2c35cc))
* add minter role to TestERC20
([#12889](#12889))
([716ab4f](716ab4f)),
closes
[#12887](#12887)
[#12882](#12882)
* allow `fn` returning `()` without having to write `-> ()`
(noir-lang/noir#7717)
([e9526cf](e9526cf))
* avm merkle gadget in vm2
([#12726](#12726))
([898d50e](898d50e))
* **avm:** instruction fetching parsing error
([#12804](#12804))
([09a09d5](09a09d5))
* **bb:** Introduce chunks for univariate computation for the AVM
([#12707](#12707))
([c912bd6](c912bd6))
* can associate error regex with entry in flake file
([#12785](#12785))
([da48e38](da48e38))
* capture app stacks for bb usage
([#12383](#12383))
([293eb9d](293eb9d))
* **docs:** Docs on shared mutable, contract classes, and injecting data
([#12043](#12043))
([94beffe](94beffe))
* Fallback to blobscan API on blob miss
([#12857](#12857))
([f2f0d72](f2f0d72)),
closes
[#12856](#12856)
* Fast node_modules caching in CI.
([#12371](#12371))
([09f50d7](09f50d7))
* generate subrelation-label comment in generated relation hpp
([#12914](#12914))
([fa2bf95](fa2bf95))
* lets try grinding
([4342491](4342491))
* Montgomery optimisation (partial)
([#12822](#12822))
([c524339](c524339))
* **noir sync:** Calculate noir hash based on just `noir-repo-ref` and
`noir-repo.patch`
([#12861](#12861))
([fa5991f](fa5991f))
* observe L1 and init proposal counter
([#12681](#12681))
([1e3d71e](1e3d71e))
* precomputed ClientIVC VKs
([#12126](#12126))
([65bd276](65bd276))
* reapplying reverted circuits recorder with a fix
([#12919](#12919))
([bf9a034](bf9a034))
* recording circuit inputs + oracles
([#12148](#12148))
([5436627](5436627))
* rotate over instances on request fail
([#12270](#12270))
([7ee2e24](7ee2e24))
* Separate Aztec Node Admin API
([#12790](#12790))
([ccac9ff](ccac9ff)),
closes
[#12789](#12789)
* slim wallet
([#12803](#12803))
([3f9f30a](3f9f30a))
* **sol:** setup epoch - sampling without replacement
([#12753](#12753))
([096f739](096f739))
* **ssa:** Basic control dependent LICM
(noir-lang/noir#7660)
([ce84b2d](ce84b2d))
* **ssa:** Dominance frontiers
(noir-lang/noir#7692)
([e9526cf](e9526cf))
* **ssa:** Post dominator tree
(noir-lang/noir#7595)
([e9526cf](e9526cf))


### Bug Fixes

* add missing inputs to `BlackBoxFuncCall::get_inputs_vec` for EcAdd
(noir-lang/noir#7752)
([ce84b2d](ce84b2d))
* add random deployment salt to sandbox
([#12869](#12869))
([49acd71](49acd71))
* agent reporting jobs completion correctly
([#12835](#12835))
([18d68f0](18d68f0))
* allow method call after block, if and match
(noir-lang/noir#7655)
([e9526cf](e9526cf))
* allow omitting ';' after last block statement if it's an assignment
(noir-lang/noir#7718)
([e9526cf](e9526cf))
* allow referring to comptime locals at runtime
(noir-lang/noir#7681)
([e9526cf](e9526cf))
* allow renaming a trait when importing it
(noir-lang/noir#7688)
([e9526cf](e9526cf))
* avm merkle cpp broke darwin
([#12917](#12917))
([75c9098](75c9098))
* **bb.js:** remove size metadata from UH proof
([#12775](#12775))
([5b064bc](5b064bc))
* bench upload logic
([#12800](#12800))
([52575d8](52575d8))
* bring back matrix on grind. try several things to resolve txe port in
use.
([79af7a3](79af7a3))
* CI Tweaks
([#12908](#12908))
([326767c](326767c))
* ci.sh gh-bench logic
([#12776](#12776))
([8080f47](8080f47))
* **ci:** Exclude inliner specific reference count tests from Brillig
trace report (noir-lang/noir#7761)
([ce84b2d](ce84b2d))
* **ci:** Fail the CI job on a Brillig report failure
(noir-lang/noir#7762)
([ce84b2d](ce84b2d))
* clientivc capture benchmarks include authwits
([#12873](#12873))
([5df2aea](5df2aea))
* config ordering
([#12893](#12893))
([44af76e](44af76e))
* consensus URL as CLI config
([#12796](#12796))
([66e8028](66e8028))
* correctly format let followed by comment before unsafe
(noir-lang/noir#7659)
([e9526cf](e9526cf))
* cpp ivc bench
([#12815](#12815))
([95a0ec1](95a0ec1))
* disable gpg signing for noir bootstrap
([#12840](#12840))
([2a76c8c](2a76c8c))
* Disallow registration of contract classes with no public bytecode
([#12910](#12910))
([41bf13e](41bf13e))
* doc comments on functions warn unexpectedly
(noir-lang/noir#7721)
([e9526cf](e9526cf))
* don't gpg sign the noir patch
([#12912](#12912))
([43191e0](43191e0))
* Don't log config
([#12876](#12876))
([545b4e0](545b4e0))
* Experiment with `DecrementRc`
(noir-lang/noir#7629)
([66a62d0](66a62d0))
* Fix prover node publisher for multi-proofs
([#12924](#12924))
([42733a6](42733a6))
* Fix stdout testing when running test programs
(noir-lang/noir#7741)
([66a62d0](66a62d0))
* Fixes regressed LSP and adds a test to sanity check.
([#12915](#12915))
([30f9087](30f9087))
* generate ivc benchmarks
([#12811](#12811))
([3ee32a9](3ee32a9))
* handle predicate value reduction in array get also for the databus
(noir-lang/noir#7730)
([66a62d0](66a62d0))
* hotfix git user config
([d58efbb](d58efbb))
* kind on sepolia + balance consolidation + sepolia values service
indices
([#12473](#12473))
([000d515](000d515))
* misleading test
([#12877](#12877))
([dc8ab31](dc8ab31))
* nightly versioning
([#12872](#12872))
([7586192](7586192))
* oracles handlers
([#12864](#12864))
([4bae397](4bae397))
* pass bot salt
([#12923](#12923))
([7aa0b87](7aa0b87))
* post-checkout hook installation to include `$@`
([#12781](#12781))
([323c958](323c958))
* redact sensitive fields in logs
([#12913](#12913))
([31feb0b](31feb0b))
* redo "fix: make vk metadata actual witnesses"
([#12535](#12535))
([392abc2](392abc2))
* **redo:** "fix: Switch to `noir-repo` context for cache content
hashing"
([#12825](#12825))
([5a98d20](5a98d20))
* Remove hack to register contract class directly on node
([#12795](#12795))
([eff2501](eff2501)),
closes
[#10007](#10007)
* Removed logged config object in L1 Tx Utils
([#12901](#12901))
([5d871f8](5d871f8))
* Restart proving job if epoch content changes
([#12655](#12655))
([613994f](613994f))
* retries starting txe
([3fcc601](3fcc601))
* revert "Switch to `noir-repo` context for cache content hashing"
([#12824](#12824))
([37ccc38](37ccc38))
* Run aztec-up tests as ubuntu not root.
([#12875](#12875))
([41cf5a4](41cf5a4))
* run nightly as bot
([#12833](#12833))
([3799330](3799330))
* Some basic re-org handling
([#12812](#12812))
([558e315](558e315))
* source_refname
([#12827](#12827))
([b4a0b71](b4a0b71))
* **ssa:** don't check Brillig calls for coverage if they don't return
anything (e.g. println) (noir-lang/noir#7644)
([e9526cf](e9526cf))
* Stop blockstream on world-state sync error
([#12854](#12854))
([810ee2d](810ee2d))
* Switch to `noir-repo` context for cache content hashing
([#12784](#12784))
([6214c8c](6214c8c))
* update join split test hash
([#12798](#12798))
([2fd47f6](2fd47f6))
* Use schnorr lib with reduced sig.e
([#12844](#12844))
([d03d61c](d03d61c))
* validators verify tx proofs
([#12939](#12939))
([c02132d](c02132d))
* wrong printing of line comment in quoted
(noir-lang/noir#7694)
([e9526cf](e9526cf))
* yolo annotated tag on nightlies. only run kind smoke test.
([8cdfb9a](8cdfb9a))
* yolo debug info
([6681c8f](6681c8f))
* yolo fix
([aec93df](aec93df))
* yolo mark flakey discv5 timeout test
([b45a994](b45a994))
* yolo trying to fix txe port
([ea553d2](ea553d2))
* yolo wait for docker to be up on aztec-up tests.
([8dcc1b5](8dcc1b5))


### Miscellaneous

* add `mapi`/`for_eachi` functions
(noir-lang/noir#7705)
([66a62d0](66a62d0))
* add `shared` module within `noirc_frontend`
(noir-lang/noir#7746)
([ce84b2d](ce84b2d))
* add acir_test for bb.js classes
([#12892](#12892))
([ffe1f4f](ffe1f4f))
* add cargo deny advisory (noir-lang/noir#7691)
([e9526cf](e9526cf))
* Add comment on verifyHistoricBlock
([#12933](#12933))
([cb978b5](cb978b5))
* add extra docs lint (noir-lang/noir#7742)
([66a62d0](66a62d0))
* Add GITHUB_TOKEN for downloading prost_prebuilt to acvm.js build
(noir-lang/noir#7745)
([ce84b2d](ce84b2d))
* add kind diagnostics during startup
([#12805](#12805))
([450f9bb](450f9bb))
* add lambda calculus test (noir-lang/noir#7646)
([e9526cf](e9526cf))
* add more test suites to CI
(noir-lang/noir#7757)
([ce84b2d](ce84b2d))
* add regression tests for PR
[#7570](#7570)
from lambda interpreter test
(noir-lang/noir#7638)
([e9526cf](e9526cf))
* add support for caching `node_modules` within a nested repository
([#12862](#12862))
([16232c8](16232c8))
* add tests for trait renaming in imports
(noir-lang/noir#7631)
([e9526cf](e9526cf))
* add timeouts to CI (noir-lang/noir#7725)
([e9526cf](e9526cf))
* add trailing slash to link on docs homepage
(noir-lang/noir#7682)
([e9526cf](e9526cf))
* add workflow to publish rustdoc to github pages
(noir-lang/noir#7687)
([e9526cf](e9526cf))
* address recurring typo in docs
(noir-lang/noir#7656)
([e9526cf](e9526cf))
* allow individual service data map size configuration
([#12853](#12853))
([b9e6a19](b9e6a19)),
closes
[#12831](#12831)
* **artifact_cli:** Print circuit output to stdout
(noir-lang/noir#7696)
([e9526cf](e9526cf))
* **avm:** Constrain pc_size_in_bits column and rename
([#12899](#12899))
([d69901f](d69901f))
* **avm:** make contract db returns optional
([#12867](#12867))
([cf2beb2](cf2beb2))
* **avm:** vm2 lazy bytecode loading
([#12847](#12847))
([233ca3e](233ca3e))
* **avm:** vm2 recursive execution
([#12842](#12842))
([04981e2](04981e2))
* avoid syncing recursive proofs between repositories
([#12769](#12769))
([7259b92](7259b92))
* begin splitting out note discovery
([#12819](#12819))
([75d545a](75d545a))
* begin the introduction of log type id and standard log layouts
([#12823](#12823))
([e86a258](e86a258))
* bump bb (noir-lang/noir#7726)
([66a62d0](66a62d0))
* bump external pinned commits
(noir-lang/noir#7667)
([e9526cf](e9526cf))
* bump external pinned commits
(noir-lang/noir#7728)
([e9526cf](e9526cf))
* bump JS dependencies (noir-lang/noir#7669)
([e9526cf](e9526cf))
* bump node to v22.18.3 (noir-lang/noir#7668)
([e9526cf](e9526cf))
* bump wasm-pack to 0.13.1 (noir-lang/noir#7675)
([e9526cf](e9526cf))
* check test program execution success output
(noir-lang/noir#7713)
([e9526cf](e9526cf))
* **ci:** enforce rustdoc lints
(noir-lang/noir#7738)
([66a62d0](66a62d0))
* **ci:** Exclude enum tests from Brillig reports
(noir-lang/noir#7661)
([e9526cf](e9526cf))
* **ci:** private-kernel-inner timeout bump
(noir-lang/noir#7732)
([66a62d0](66a62d0))
* Cleanup and re-specify sequencer config in RC1
([#12898](#12898))
([13aa4f5](13aa4f5))
* comment out kind tests
([#12793](#12793))
([39986e5](39986e5))
* delete honk programs from `test_programs`
(noir-lang/noir#7727)
([66a62d0](66a62d0))
* **docs:** Avoid colliding filenames
(noir-lang/noir#7771)
([ce84b2d](ce84b2d))
* **docs:** Brillig opcodes
(noir-lang/noir#7722)
([e9526cf](e9526cf))
* **docs:** Document BlackBoxFuncCall enum
(noir-lang/noir#7702)
([e9526cf](e9526cf))
* **docs:** Extend stable documentation versions to build to cover
multiple `beta.n` releases (noir-lang/noir#7685)
([e9526cf](e9526cf))
* **docs:** Landing page jargonless intro
(noir-lang/noir#7649)
([66a62d0](66a62d0))
* **docs:** Minor fixes on local documentation development workflows
(noir-lang/noir#7684)
([e9526cf](e9526cf))
* **docs:** More acir docs (noir-lang/noir#7731)
([66a62d0](66a62d0))
* **docs:** update bb commands to match the new version
(noir-lang/noir#7677)
([e9526cf](e9526cf))
* **docs:** update profiler usage docs
([#12782](#12782))
([3b2fccb](3b2fccb))
* don't switch out bb.js install in noir repo
([#12771](#12771))
([79c3c62](79c3c62))
* easier way to test monormophization errors
(noir-lang/noir#7679)
([e9526cf](e9526cf))
* enable wtr debug logging
([#12848](#12848))
([0fc5528](0fc5528))
* encapsulate `Index` within `LocalModuleId`
(noir-lang/noir#7719)
([e9526cf](e9526cf))
* Faster tx production on masternet
([#12878](#12878))
([17d0301](17d0301))
* fix archiver.test.ts
([#12907](#12907))
([fd7adb1](fd7adb1))
* fix gemini
([#12602](#12602))
([3eb9e9a](3eb9e9a))
* fix rustdoc issues (noir-lang/noir#7712)
([e9526cf](e9526cf))
* Fix rustdocs error (noir-lang/noir#7750)
([ce84b2d](ce84b2d))
* fixing timeouts (noir-lang/noir#7666)
([e9526cf](e9526cf))
* **frontend:** Regression test for creating a mutable reference to an
array element (noir-lang/noir#7699)
([e9526cf](e9526cf))
* hide Ident fields (noir-lang/noir#7709)
([e9526cf](e9526cf))
* Increase bracket_depth to 2048
([#12801](#12801))
([2e9a7a3](2e9a7a3))
* make `ResolverError::UnnecessaryPub` a hard error
(noir-lang/noir#7664)
([e9526cf](e9526cf))
* migrate to use new flat eslint config file
(noir-lang/noir#7676)
([e9526cf](e9526cf))
* minor `CommitmentsDB` cleanup
([#12817](#12817))
([ff8a199](ff8a199))
* more descriptive SSA tests
(noir-lang/noir#7697)
([e9526cf](e9526cf))
* more logging in kind setup
([#12852](#12852))
([9824336](9824336))
* note getter internals
([#12809](#12809))
([3a89a24](3a89a24))
* nuking MemoryArchiveStore
([#12826](#12826))
([c5405d8](c5405d8))
* once again skip the uniswap tests
([#12859](#12859))
([4f37dec](4f37dec))
* **p2p:** add tx queue to prevent ddos attacks
([#12603](#12603))
([a96a908](a96a908))
* pr linking job for merge queue
([#12546](#12546))
([a0cee9f](a0cee9f))
* pull most logic from `get_all_contracts` up out of the `CrateDefMap`
(noir-lang/noir#7715)
([e9526cf](e9526cf))
* pull out pure functions from interpreter
(noir-lang/noir#7755)
([ce84b2d](ce84b2d))
* push users towards nargo in tutorial
(noir-lang/noir#7736)
([ce84b2d](ce84b2d))
* re-enable nightly tests
([#12673](#12673))
([d2f8f18](d2f8f18)),
closes
[#12107](#12107)
* Refactor entrypoints
([#12868](#12868))
([5f48055](5f48055))
* **refactor:** Move resolved error structures out of acir crate
(noir-lang/noir#7734)
([66a62d0](66a62d0))
* remove `examples` from testing of noir
([#12768](#12768))
([cd6a3af](cd6a3af))
* remove `noir-lang/ec` dependency
([#12507](#12507))
([181d6e0](181d6e0))
* remove bun from docs in favour of yarn
(noir-lang/noir#7756)
([ce84b2d](ce84b2d))
* Remove magic number from AVM bytecode
([#12900](#12900))
([4d96fc0](4d96fc0))
* Remove seemingly unused compose files
([#12794](#12794))
([1a75797](1a75797))
* remove some unnecessary mod.nr files
([#12797](#12797))
([99fc705](99fc705))
* remove some unused HIR code
(noir-lang/noir#7643)
([e9526cf](e9526cf))
* remove ultraplonk tests (noir-lang/noir#7680)
([e9526cf](e9526cf))
* remove unconditional sleep
([#12814](#12814))
([e61c376](e61c376))
* remove whyle, use native while
([#12820](#12820))
([889bc48](889bc48))
* rename note discovery to message discovery
([#12755](#12755))
([ae4f935](ae4f935))
* replace relative paths to noir-protocol-circuits
([070ad0a](070ad0a))
* replace relative paths to noir-protocol-circuits
([f62614d](f62614d))
* replace relative paths to noir-protocol-circuits
([742162c](742162c))
* replace relative paths to noir-protocol-circuits
([801244c](801244c))
* replace relative paths to noir-protocol-circuits
([c39d88b](c39d88b))
* replace relative paths to noir-protocol-circuits
([2cb1a37](2cb1a37))
* replace relative paths to noir-protocol-circuits
([a42309b](a42309b))
* Resolve various rustdoc warnings
(noir-lang/noir#7724)
([e9526cf](e9526cf))
* run `noir_wasm` over `test_programs`
(noir-lang/noir#7765)
([ce84b2d](ce84b2d))
* separated multi map and fixed indexeddb map
([#12896](#12896))
([05af647](05af647))
* Set max txs per block
([#12837](#12837))
([74476ff](74476ff))
* simplify note getter oracle
([#12807](#12807))
([2fc01a3](2fc01a3))
* **ssa:** Do not print entire functions in underconstrained values
check trace (noir-lang/noir#7665)
([e9526cf](e9526cf))
* update docusaurus config to correct trailing slash issue
(noir-lang/noir#7720)
([e9526cf](e9526cf))
* update examples to use UltraHonk
(noir-lang/noir#7653)
([e9526cf](e9526cf))
* Update README.md to add trailing docs `/`
(noir-lang/noir#7689)
([e9526cf](e9526cf))
* Update references to GH issues to reflect recent changes
([#12722](#12722))
([100d31f](100d31f))
* update yarn version to 4.5.2
(noir-lang/noir#7678)
([e9526cf](e9526cf))
* use rollup.ts more consistenty
([#12863](#12863))
([bd9f3ce](bd9f3ce))
* vars for --network ignition-testnet
([#12886](#12886))
([6efc8ce](6efc8ce))


### Documentation

* Add sponsoredFPC
([#12485](#12485))
([87bb6da](87bb6da))
* additions
([#12551](#12551))
([c9ea1cd](c9ea1cd))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
DanielKotov pushed a commit that referenced this pull request Mar 27, 2025
🤖 I have created a new Aztec Packages release
---


##
[0.82.0](v0.81.0...v0.82.0)
(2025-03-21)


### ⚠ BREAKING CHANGES

* `AztecNode.findLeavesIndexes` returning block info
([#12890](#12890))
* make `ResolverError::UnnecessaryPub` a hard error
(noir-lang/noir#7664)

### Features

* `AztecNode.findLeavesIndexes` returning block info
([#12890](#12890))
([9770e15](9770e15))
* add `EmbeddedCurvePoint::generator()` to return generator point
(noir-lang/noir#7754)
([ce84b2d](ce84b2d))
* add AMM support to transaction bot
([#12897](#12897))
([b2c35cc](b2c35cc))
* add minter role to TestERC20
([#12889](#12889))
([716ab4f](716ab4f)),
closes
[#12887](#12887)
[#12882](#12882)
* allow `fn` returning `()` without having to write `-> ()`
(noir-lang/noir#7717)
([e9526cf](e9526cf))
* avm merkle gadget in vm2
([#12726](#12726))
([898d50e](898d50e))
* **avm:** instruction fetching parsing error
([#12804](#12804))
([09a09d5](09a09d5))
* **bb:** Introduce chunks for univariate computation for the AVM
([#12707](#12707))
([c912bd6](c912bd6))
* can associate error regex with entry in flake file
([#12785](#12785))
([da48e38](da48e38))
* capture app stacks for bb usage
([#12383](#12383))
([293eb9d](293eb9d))
* **docs:** Docs on shared mutable, contract classes, and injecting data
([#12043](#12043))
([94beffe](94beffe))
* Fallback to blobscan API on blob miss
([#12857](#12857))
([f2f0d72](f2f0d72)),
closes
[#12856](#12856)
* Fast node_modules caching in CI.
([#12371](#12371))
([09f50d7](09f50d7))
* generate subrelation-label comment in generated relation hpp
([#12914](#12914))
([fa2bf95](fa2bf95))
* lets try grinding
([4342491](4342491))
* Montgomery optimisation (partial)
([#12822](#12822))
([c524339](c524339))
* **noir sync:** Calculate noir hash based on just `noir-repo-ref` and
`noir-repo.patch`
([#12861](#12861))
([fa5991f](fa5991f))
* observe L1 and init proposal counter
([#12681](#12681))
([1e3d71e](1e3d71e))
* precomputed ClientIVC VKs
([#12126](#12126))
([65bd276](65bd276))
* reapplying reverted circuits recorder with a fix
([#12919](#12919))
([bf9a034](bf9a034))
* recording circuit inputs + oracles
([#12148](#12148))
([5436627](5436627))
* rotate over instances on request fail
([#12270](#12270))
([7ee2e24](7ee2e24))
* Separate Aztec Node Admin API
([#12790](#12790))
([ccac9ff](ccac9ff)),
closes
[#12789](#12789)
* slim wallet
([#12803](#12803))
([3f9f30a](3f9f30a))
* **sol:** setup epoch - sampling without replacement
([#12753](#12753))
([096f739](096f739))
* **ssa:** Basic control dependent LICM
(noir-lang/noir#7660)
([ce84b2d](ce84b2d))
* **ssa:** Dominance frontiers
(noir-lang/noir#7692)
([e9526cf](e9526cf))
* **ssa:** Post dominator tree
(noir-lang/noir#7595)
([e9526cf](e9526cf))


### Bug Fixes

* add missing inputs to `BlackBoxFuncCall::get_inputs_vec` for EcAdd
(noir-lang/noir#7752)
([ce84b2d](ce84b2d))
* add random deployment salt to sandbox
([#12869](#12869))
([49acd71](49acd71))
* agent reporting jobs completion correctly
([#12835](#12835))
([18d68f0](18d68f0))
* allow method call after block, if and match
(noir-lang/noir#7655)
([e9526cf](e9526cf))
* allow omitting ';' after last block statement if it's an assignment
(noir-lang/noir#7718)
([e9526cf](e9526cf))
* allow referring to comptime locals at runtime
(noir-lang/noir#7681)
([e9526cf](e9526cf))
* allow renaming a trait when importing it
(noir-lang/noir#7688)
([e9526cf](e9526cf))
* avm merkle cpp broke darwin
([#12917](#12917))
([75c9098](75c9098))
* **bb.js:** remove size metadata from UH proof
([#12775](#12775))
([5b064bc](5b064bc))
* bench upload logic
([#12800](#12800))
([52575d8](52575d8))
* bring back matrix on grind. try several things to resolve txe port in
use.
([79af7a3](79af7a3))
* CI Tweaks
([#12908](#12908))
([326767c](326767c))
* ci.sh gh-bench logic
([#12776](#12776))
([8080f47](8080f47))
* **ci:** Exclude inliner specific reference count tests from Brillig
trace report (noir-lang/noir#7761)
([ce84b2d](ce84b2d))
* **ci:** Fail the CI job on a Brillig report failure
(noir-lang/noir#7762)
([ce84b2d](ce84b2d))
* clientivc capture benchmarks include authwits
([#12873](#12873))
([5df2aea](5df2aea))
* config ordering
([#12893](#12893))
([44af76e](44af76e))
* consensus URL as CLI config
([#12796](#12796))
([66e8028](66e8028))
* correctly format let followed by comment before unsafe
(noir-lang/noir#7659)
([e9526cf](e9526cf))
* cpp ivc bench
([#12815](#12815))
([95a0ec1](95a0ec1))
* disable gpg signing for noir bootstrap
([#12840](#12840))
([2a76c8c](2a76c8c))
* Disallow registration of contract classes with no public bytecode
([#12910](#12910))
([41bf13e](41bf13e))
* doc comments on functions warn unexpectedly
(noir-lang/noir#7721)
([e9526cf](e9526cf))
* don't gpg sign the noir patch
([#12912](#12912))
([43191e0](43191e0))
* Don't log config
([#12876](#12876))
([545b4e0](545b4e0))
* Experiment with `DecrementRc`
(noir-lang/noir#7629)
([66a62d0](66a62d0))
* Fix prover node publisher for multi-proofs
([#12924](#12924))
([42733a6](42733a6))
* Fix stdout testing when running test programs
(noir-lang/noir#7741)
([66a62d0](66a62d0))
* Fixes regressed LSP and adds a test to sanity check.
([#12915](#12915))
([30f9087](30f9087))
* generate ivc benchmarks
([#12811](#12811))
([3ee32a9](3ee32a9))
* handle predicate value reduction in array get also for the databus
(noir-lang/noir#7730)
([66a62d0](66a62d0))
* hotfix git user config
([d58efbb](d58efbb))
* kind on sepolia + balance consolidation + sepolia values service
indices
([#12473](#12473))
([000d515](000d515))
* misleading test
([#12877](#12877))
([dc8ab31](dc8ab31))
* nightly versioning
([#12872](#12872))
([7586192](7586192))
* oracles handlers
([#12864](#12864))
([4bae397](4bae397))
* pass bot salt
([#12923](#12923))
([7aa0b87](7aa0b87))
* post-checkout hook installation to include `$@`
([#12781](#12781))
([323c958](323c958))
* redact sensitive fields in logs
([#12913](#12913))
([31feb0b](31feb0b))
* redo "fix: make vk metadata actual witnesses"
([#12535](#12535))
([392abc2](392abc2))
* **redo:** "fix: Switch to `noir-repo` context for cache content
hashing"
([#12825](#12825))
([5a98d20](5a98d20))
* Remove hack to register contract class directly on node
([#12795](#12795))
([eff2501](eff2501)),
closes
[#10007](#10007)
* Removed logged config object in L1 Tx Utils
([#12901](#12901))
([5d871f8](5d871f8))
* Restart proving job if epoch content changes
([#12655](#12655))
([613994f](613994f))
* retries starting txe
([3fcc601](3fcc601))
* revert "Switch to `noir-repo` context for cache content hashing"
([#12824](#12824))
([37ccc38](37ccc38))
* Run aztec-up tests as ubuntu not root.
([#12875](#12875))
([41cf5a4](41cf5a4))
* run nightly as bot
([#12833](#12833))
([3799330](3799330))
* Some basic re-org handling
([#12812](#12812))
([558e315](558e315))
* source_refname
([#12827](#12827))
([b4a0b71](b4a0b71))
* **ssa:** don't check Brillig calls for coverage if they don't return
anything (e.g. println) (noir-lang/noir#7644)
([e9526cf](e9526cf))
* Stop blockstream on world-state sync error
([#12854](#12854))
([810ee2d](810ee2d))
* Switch to `noir-repo` context for cache content hashing
([#12784](#12784))
([6214c8c](6214c8c))
* update join split test hash
([#12798](#12798))
([2fd47f6](2fd47f6))
* Use schnorr lib with reduced sig.e
([#12844](#12844))
([d03d61c](d03d61c))
* validators verify tx proofs
([#12939](#12939))
([c02132d](c02132d))
* wrong printing of line comment in quoted
(noir-lang/noir#7694)
([e9526cf](e9526cf))
* yolo annotated tag on nightlies. only run kind smoke test.
([8cdfb9a](8cdfb9a))
* yolo debug info
([6681c8f](6681c8f))
* yolo fix
([aec93df](aec93df))
* yolo mark flakey discv5 timeout test
([b45a994](b45a994))
* yolo trying to fix txe port
([ea553d2](ea553d2))
* yolo wait for docker to be up on aztec-up tests.
([8dcc1b5](8dcc1b5))


### Miscellaneous

* add `mapi`/`for_eachi` functions
(noir-lang/noir#7705)
([66a62d0](66a62d0))
* add `shared` module within `noirc_frontend`
(noir-lang/noir#7746)
([ce84b2d](ce84b2d))
* add acir_test for bb.js classes
([#12892](#12892))
([ffe1f4f](ffe1f4f))
* add cargo deny advisory (noir-lang/noir#7691)
([e9526cf](e9526cf))
* Add comment on verifyHistoricBlock
([#12933](#12933))
([cb978b5](cb978b5))
* add extra docs lint (noir-lang/noir#7742)
([66a62d0](66a62d0))
* Add GITHUB_TOKEN for downloading prost_prebuilt to acvm.js build
(noir-lang/noir#7745)
([ce84b2d](ce84b2d))
* add kind diagnostics during startup
([#12805](#12805))
([450f9bb](450f9bb))
* add lambda calculus test (noir-lang/noir#7646)
([e9526cf](e9526cf))
* add more test suites to CI
(noir-lang/noir#7757)
([ce84b2d](ce84b2d))
* add regression tests for PR
[#7570](#7570)
from lambda interpreter test
(noir-lang/noir#7638)
([e9526cf](e9526cf))
* add support for caching `node_modules` within a nested repository
([#12862](#12862))
([16232c8](16232c8))
* add tests for trait renaming in imports
(noir-lang/noir#7631)
([e9526cf](e9526cf))
* add timeouts to CI (noir-lang/noir#7725)
([e9526cf](e9526cf))
* add trailing slash to link on docs homepage
(noir-lang/noir#7682)
([e9526cf](e9526cf))
* add workflow to publish rustdoc to github pages
(noir-lang/noir#7687)
([e9526cf](e9526cf))
* address recurring typo in docs
(noir-lang/noir#7656)
([e9526cf](e9526cf))
* allow individual service data map size configuration
([#12853](#12853))
([b9e6a19](b9e6a19)),
closes
[#12831](#12831)
* **artifact_cli:** Print circuit output to stdout
(noir-lang/noir#7696)
([e9526cf](e9526cf))
* **avm:** Constrain pc_size_in_bits column and rename
([#12899](#12899))
([d69901f](d69901f))
* **avm:** make contract db returns optional
([#12867](#12867))
([cf2beb2](cf2beb2))
* **avm:** vm2 lazy bytecode loading
([#12847](#12847))
([233ca3e](233ca3e))
* **avm:** vm2 recursive execution
([#12842](#12842))
([04981e2](04981e2))
* avoid syncing recursive proofs between repositories
([#12769](#12769))
([7259b92](7259b92))
* begin splitting out note discovery
([#12819](#12819))
([75d545a](75d545a))
* begin the introduction of log type id and standard log layouts
([#12823](#12823))
([e86a258](e86a258))
* bump bb (noir-lang/noir#7726)
([66a62d0](66a62d0))
* bump external pinned commits
(noir-lang/noir#7667)
([e9526cf](e9526cf))
* bump external pinned commits
(noir-lang/noir#7728)
([e9526cf](e9526cf))
* bump JS dependencies (noir-lang/noir#7669)
([e9526cf](e9526cf))
* bump node to v22.18.3 (noir-lang/noir#7668)
([e9526cf](e9526cf))
* bump wasm-pack to 0.13.1 (noir-lang/noir#7675)
([e9526cf](e9526cf))
* check test program execution success output
(noir-lang/noir#7713)
([e9526cf](e9526cf))
* **ci:** enforce rustdoc lints
(noir-lang/noir#7738)
([66a62d0](66a62d0))
* **ci:** Exclude enum tests from Brillig reports
(noir-lang/noir#7661)
([e9526cf](e9526cf))
* **ci:** private-kernel-inner timeout bump
(noir-lang/noir#7732)
([66a62d0](66a62d0))
* Cleanup and re-specify sequencer config in RC1
([#12898](#12898))
([13aa4f5](13aa4f5))
* comment out kind tests
([#12793](#12793))
([39986e5](39986e5))
* delete honk programs from `test_programs`
(noir-lang/noir#7727)
([66a62d0](66a62d0))
* **docs:** Avoid colliding filenames
(noir-lang/noir#7771)
([ce84b2d](ce84b2d))
* **docs:** Brillig opcodes
(noir-lang/noir#7722)
([e9526cf](e9526cf))
* **docs:** Document BlackBoxFuncCall enum
(noir-lang/noir#7702)
([e9526cf](e9526cf))
* **docs:** Extend stable documentation versions to build to cover
multiple `beta.n` releases (noir-lang/noir#7685)
([e9526cf](e9526cf))
* **docs:** Landing page jargonless intro
(noir-lang/noir#7649)
([66a62d0](66a62d0))
* **docs:** Minor fixes on local documentation development workflows
(noir-lang/noir#7684)
([e9526cf](e9526cf))
* **docs:** More acir docs (noir-lang/noir#7731)
([66a62d0](66a62d0))
* **docs:** update bb commands to match the new version
(noir-lang/noir#7677)
([e9526cf](e9526cf))
* **docs:** update profiler usage docs
([#12782](#12782))
([3b2fccb](3b2fccb))
* don't switch out bb.js install in noir repo
([#12771](#12771))
([79c3c62](79c3c62))
* easier way to test monormophization errors
(noir-lang/noir#7679)
([e9526cf](e9526cf))
* enable wtr debug logging
([#12848](#12848))
([0fc5528](0fc5528))
* encapsulate `Index` within `LocalModuleId`
(noir-lang/noir#7719)
([e9526cf](e9526cf))
* Faster tx production on masternet
([#12878](#12878))
([17d0301](17d0301))
* fix archiver.test.ts
([#12907](#12907))
([fd7adb1](fd7adb1))
* fix gemini
([#12602](#12602))
([3eb9e9a](3eb9e9a))
* fix rustdoc issues (noir-lang/noir#7712)
([e9526cf](e9526cf))
* Fix rustdocs error (noir-lang/noir#7750)
([ce84b2d](ce84b2d))
* fixing timeouts (noir-lang/noir#7666)
([e9526cf](e9526cf))
* **frontend:** Regression test for creating a mutable reference to an
array element (noir-lang/noir#7699)
([e9526cf](e9526cf))
* hide Ident fields (noir-lang/noir#7709)
([e9526cf](e9526cf))
* Increase bracket_depth to 2048
([#12801](#12801))
([2e9a7a3](2e9a7a3))
* make `ResolverError::UnnecessaryPub` a hard error
(noir-lang/noir#7664)
([e9526cf](e9526cf))
* migrate to use new flat eslint config file
(noir-lang/noir#7676)
([e9526cf](e9526cf))
* minor `CommitmentsDB` cleanup
([#12817](#12817))
([ff8a199](ff8a199))
* more descriptive SSA tests
(noir-lang/noir#7697)
([e9526cf](e9526cf))
* more logging in kind setup
([#12852](#12852))
([9824336](9824336))
* note getter internals
([#12809](#12809))
([3a89a24](3a89a24))
* nuking MemoryArchiveStore
([#12826](#12826))
([c5405d8](c5405d8))
* once again skip the uniswap tests
([#12859](#12859))
([4f37dec](4f37dec))
* **p2p:** add tx queue to prevent ddos attacks
([#12603](#12603))
([a96a908](a96a908))
* pr linking job for merge queue
([#12546](#12546))
([a0cee9f](a0cee9f))
* pull most logic from `get_all_contracts` up out of the `CrateDefMap`
(noir-lang/noir#7715)
([e9526cf](e9526cf))
* pull out pure functions from interpreter
(noir-lang/noir#7755)
([ce84b2d](ce84b2d))
* push users towards nargo in tutorial
(noir-lang/noir#7736)
([ce84b2d](ce84b2d))
* re-enable nightly tests
([#12673](#12673))
([d2f8f18](d2f8f18)),
closes
[#12107](#12107)
* Refactor entrypoints
([#12868](#12868))
([5f48055](5f48055))
* **refactor:** Move resolved error structures out of acir crate
(noir-lang/noir#7734)
([66a62d0](66a62d0))
* remove `examples` from testing of noir
([#12768](#12768))
([cd6a3af](cd6a3af))
* remove `noir-lang/ec` dependency
([#12507](#12507))
([181d6e0](181d6e0))
* remove bun from docs in favour of yarn
(noir-lang/noir#7756)
([ce84b2d](ce84b2d))
* Remove magic number from AVM bytecode
([#12900](#12900))
([4d96fc0](4d96fc0))
* Remove seemingly unused compose files
([#12794](#12794))
([1a75797](1a75797))
* remove some unnecessary mod.nr files
([#12797](#12797))
([99fc705](99fc705))
* remove some unused HIR code
(noir-lang/noir#7643)
([e9526cf](e9526cf))
* remove ultraplonk tests (noir-lang/noir#7680)
([e9526cf](e9526cf))
* remove unconditional sleep
([#12814](#12814))
([e61c376](e61c376))
* remove whyle, use native while
([#12820](#12820))
([889bc48](889bc48))
* rename note discovery to message discovery
([#12755](#12755))
([ae4f935](ae4f935))
* replace relative paths to noir-protocol-circuits
([070ad0a](070ad0a))
* replace relative paths to noir-protocol-circuits
([f62614d](f62614d))
* replace relative paths to noir-protocol-circuits
([742162c](742162c))
* replace relative paths to noir-protocol-circuits
([801244c](801244c))
* replace relative paths to noir-protocol-circuits
([c39d88b](c39d88b))
* replace relative paths to noir-protocol-circuits
([2cb1a37](2cb1a37))
* replace relative paths to noir-protocol-circuits
([a42309b](a42309b))
* Resolve various rustdoc warnings
(noir-lang/noir#7724)
([e9526cf](e9526cf))
* run `noir_wasm` over `test_programs`
(noir-lang/noir#7765)
([ce84b2d](ce84b2d))
* separated multi map and fixed indexeddb map
([#12896](#12896))
([05af647](05af647))
* Set max txs per block
([#12837](#12837))
([74476ff](74476ff))
* simplify note getter oracle
([#12807](#12807))
([2fc01a3](2fc01a3))
* **ssa:** Do not print entire functions in underconstrained values
check trace (noir-lang/noir#7665)
([e9526cf](e9526cf))
* update docusaurus config to correct trailing slash issue
(noir-lang/noir#7720)
([e9526cf](e9526cf))
* update examples to use UltraHonk
(noir-lang/noir#7653)
([e9526cf](e9526cf))
* Update README.md to add trailing docs `/`
(noir-lang/noir#7689)
([e9526cf](e9526cf))
* Update references to GH issues to reflect recent changes
([#12722](#12722))
([100d31f](100d31f))
* update yarn version to 4.5.2
(noir-lang/noir#7678)
([e9526cf](e9526cf))
* use rollup.ts more consistenty
([#12863](#12863))
([bd9f3ce](bd9f3ce))
* vars for --network ignition-testnet
([#12886](#12886))
([6efc8ce](6efc8ce))


### Documentation

* Add sponsoredFPC
([#12485](#12485))
([87bb6da](87bb6da))
* additions
([#12551](#12551))
([c9ea1cd](c9ea1cd))

---
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