Skip to content

feat: recording circuit inputs + oracles#12148

Merged
benesjan merged 21 commits intomasterfrom
02-20-feat_recording_circuit_inputs_oracles
Mar 20, 2025
Merged

feat: recording circuit inputs + oracles#12148
benesjan merged 21 commits intomasterfrom
02-20-feat_recording_circuit_inputs_oracles

Conversation

@benesjan
Copy link
Contributor

@benesjan benesjan commented Feb 20, 2025

Fixes #11855

This is an example of a (shortened) recoding:

{
  "circuitName": "AMM",
  "functionName": "add_liquidity",
  "bytecodeMd5Hash": "b46c640ed38f20eac5f61a5e41d8dd1e",
  "timestamp": 1740691464360,
  "inputs": {
    "0": "0x1e89de1f0ad5204263733b7ddf65bec45b8f44714a4da85a46474dad677679ef",
    "1": "0x00f4d59c0ff773427bb0fed5b422557ca4dc5655abe53d31fa9408cb3c5a672f",
    "5": "0x000000000000000000000000000000000000000000000000000000000000000f"
  },
  "oracleCalls": [
    {
      "name": "loadCapsule",
      "inputs": [
        [
          "0x102422483bad6abd385948435667e144ac4c272576e325e7563608876cd446fd"
        ],
        [
          "0x000000000000000000000000000000000000000000000000000000000000004d"
        ],
        [
          "0x0000000000000000000000000000000000000000000000000000000000000001"
        ]
      ],
      "outputs": [
        "0x0000000000000000000000000000000000000000000000000000000000000000",
        [
          "0x0000000000000000000000000000000000000000000000000000000000000000"
        ]
      ]
    },
    {
      "name": "syncNotes",
      "inputs": []
    }
  ]
}

Copy link
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@benesjan benesjan force-pushed the 02-20-feat_recording_circuit_inputs_oracles branch 4 times, most recently from 7066df6 to 9704d8c Compare February 27, 2025 19:22
@benesjan benesjan marked this pull request as ready for review February 27, 2025 19:23
@benesjan benesjan marked this pull request as draft February 27, 2025 19:54
@benesjan benesjan marked this pull request as ready for review February 27, 2025 19:55
@benesjan benesjan force-pushed the 02-20-feat_recording_circuit_inputs_oracles branch from 8ff3a09 to d4d63fe Compare February 27, 2025 21:52
getClientCircuitArtifactByName(artifact: ClientProtocolArtifact): Promise<NoirCompiledCircuit> {
return Promise.resolve(ClientCircuitArtifacts[artifact]);
getClientCircuitArtifactByName(artifact: ClientProtocolArtifact): Promise<NoirCompiledCircuitWithName> {
return Promise.resolve({ ...ClientCircuitArtifacts[artifact], name: artifact.replace('Artifact', '') });
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I introduced NoirCompiledCircuitWithName which as the name implies is just NoirCompiledCircuit type with the name. This was necessary as I needed the name in the circuit recorder.


/**
* The compilation result of an Aztec.nr contract.
* The compilation result of a protocol (non-contract) circuit.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This was incorrect as it doesn't seem to ever be used with contracts. There is a lot of tech debt around.

"@noir-lang/noirc_abi": "npm:1.0.0-beta.3"
"@noir-lang/types": "npm:1.0.0-beta.3"
checksum: 10/4e756f69e5c8fcfe4f1243f026e37d68584852ad18887414ccc74de928ff2c019ea785ae06e48c523744676ccff2993b4d3ed8b971d6478e431af38574b4e924
checksum: 10/e544b07c369f63eb6513f11b3e4f203a2c4fd8cfca4965cecd576affc06ceee8c4ec817d220dcd24f8e31c896fc86eb3343f2a49744082c81808336567ac4882
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Not sure why this change got triggered here - I just bootstrapped and it happened

@benesjan benesjan marked this pull request as draft February 28, 2025 12:51
@benesjan benesjan force-pushed the 02-20-feat_recording_circuit_inputs_oracles branch 3 times, most recently from cd417dc to e328450 Compare February 28, 2025 14:26
@benesjan benesjan added the ci-full Run all master checks. label Feb 28, 2025
@benesjan benesjan marked this pull request as ready for review February 28, 2025 14:27
opts: Partial<PXEServiceConfig> = {},
logger = getLogger(),
useLogSuffix = false,
proofCreator?: BBNativePrivateKernelProver,
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This param was never used so I nuked it.

@benesjan benesjan force-pushed the 02-20-feat_recording_circuit_inputs_oracles branch 2 times, most recently from b236395 to 1457278 Compare February 28, 2025 18:39
@benesjan benesjan requested a review from nventuro February 28, 2025 19:44
@benesjan benesjan requested a review from Thunkar March 3, 2025 13:43
convertPrivateKernelTailInputsToWitnessMapWithAbi,
convertPrivateKernelTailOutputsFromWitnessMapWithAbi,
convertPrivateKernelTailToPublicInputsToWitnessMapWithAbi,
foreignCallHandler,
Copy link
Contributor

Choose a reason for hiding this comment

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

This is very bad, can we try not to propagate the foreignCallHandler to all the call sites? It's actually the reason why we need a package split (the /server one pulls from the blobs package) and besides not being very clean (why have different providers if you're feeding the only difference they have externally?), I fear we are going to end up with a /server autoimport somewhere we shouldn't

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The server foreign_call_handler is injected only in the tets_circuit_prover.ts so I don't see how is this a problem.
image

The SimulationProvider already accepted the callback for user circuits before my changes:
image

(why have different providers if you're feeding the only difference they have externally?),

It's not the only difference. WASMSimulator.executeProtocolCircuit runs the ACVM in WASM, NativeACVMSimulator runs it in NativeACVM.

But I see that WASMSimulatorWithBlobs became pointless. I would argue that this means we can just nuke it and not that my change is bad.

WDYT?

Copy link
Contributor

Choose a reason for hiding this comment

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

It's just that previously all the functionality was contained inside the simulation provider, as externally no one should have to be concerned with the foreign calls...every provider used the appropriate one and that was the argument that you gave PXE/the provers. Now that abstraction is leaking and you could end up in a situation in which you have a wasm browser provider being fed a server foreign call.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I see. If we nuke the WASMSimulatorWithBlobs then essentially the dev should not make a mistake in the choice of the foreign call handler but he could no longer make a mistake in the choice of the simulator provider as there would only be 1 (WASMSimulator).

Given that I don't really see how better to approach this (because I need to hijack both the circuit inputs and the foreign call handler and for that the SimulationProvider recording wrapper seems to be the best tradeoff to me) I would just nuke the WASMSimulatorWithBlobs and rename the 2 functions called foreignCallHandler to be more descriptive.

WDYT?

Copy link
Contributor

Choose a reason for hiding this comment

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

Not super stoked, but go for it

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Will wait for Nico's review as well before doing that

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm afraid I don't understand enough about the simulators to comment on this. We can talk about it.

@benesjan benesjan force-pushed the 02-20-feat_recording_circuit_inputs_oracles branch from 1457278 to 922a320 Compare March 4, 2025 15:07
@benesjan benesjan added the ci-full Run all master checks. label Mar 20, 2025
@benesjan benesjan force-pushed the 02-20-feat_recording_circuit_inputs_oracles branch from b38f8c3 to b4b2a92 Compare March 20, 2025 17:59
@benesjan benesjan enabled auto-merge (squash) March 20, 2025 17:59
@benesjan benesjan removed the ci-full Run all master checks. label Mar 20, 2025
@benesjan benesjan merged commit 5436627 into master Mar 20, 2025
8 checks passed
@benesjan benesjan deleted the 02-20-feat_recording_circuit_inputs_oracles branch March 20, 2025 19:45
benesjan added a commit that referenced this pull request Mar 20, 2025
charlielye added a commit that referenced this pull request Mar 20, 2025
benesjan added a commit that referenced this pull request Mar 20, 2025
benesjan added a commit that referenced this pull request Mar 21, 2025
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 `-&gt; ()`
(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
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 `-&gt; ()`
(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
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 `-&gt; ()`
(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.

Record circuit inputs and oracle calls

3 participants