-
Notifications
You must be signed in to change notification settings - Fork 249
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(cli): Forward nargo execute
to noir_artifact_cli
#7406
Conversation
… 7381-use-artifact-fs
* master: chore!: bump rust edition to 2024 (#7533)
2f3f53e
to
cefcd25
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A little concerned that we're building up a number of redundant versions of ProgramArtifact
but we can deal with that later.
Which one do you mean? Getting rid of redundancy was my motivation for getting rid of the |
Sorry, my comment isn't specific to this PR. Just something I'm thinking about related to the CLI in general recently, I think we're on the same page. |
…r-lang/noir#7477) fix(frontend)!: Restrict capturing mutable variable in lambdas (noir-lang/noir#7488) feat: perform constant sha256 compressions at compile-time (noir-lang/noir#7566) chore: bump external pinned commits (noir-lang/noir#7565) chore(ssa): Turn the Brillig constraints check back on by default (noir-lang/noir#7404) chore: bump external pinned commits (noir-lang/noir#7561) chore: address some frontend tests TODOs (noir-lang/noir#7554) fix: shift right overflow in ACIR with unknown var now returns zero (noir-lang/noir#7509) chore(cli): Forward `nargo execute` to `noir_artifact_cli` (noir-lang/noir#7406) feat: Support `<Type as Trait>::method` in expressions (noir-lang/noir#7551) chore: remove FileDiagnostic (noir-lang/noir#7546) chore: add some extra tests (noir-lang/noir#7544) fix: fix a few cases where safety comment wasn't correctly identified (noir-lang/noir#7548) chore!: remove U128 struct from stdlib (noir-lang/noir#7529) feat: simplify simple conditionals for brillig (noir-lang/noir#7205) chore: put RcTracker as part of the DIE context (noir-lang/noir#7309)
chore!: remove deprecated hash functions from stdlib (noir-lang/noir#7477) fix(frontend)!: Restrict capturing mutable variable in lambdas (noir-lang/noir#7488) feat: perform constant sha256 compressions at compile-time (noir-lang/noir#7566) chore: bump external pinned commits (noir-lang/noir#7565) chore(ssa): Turn the Brillig constraints check back on by default (noir-lang/noir#7404) chore: bump external pinned commits (noir-lang/noir#7561) chore: address some frontend tests TODOs (noir-lang/noir#7554) fix: shift right overflow in ACIR with unknown var now returns zero (noir-lang/noir#7509) chore(cli): Forward `nargo execute` to `noir_artifact_cli` (noir-lang/noir#7406) feat: Support `<Type as Trait>::method` in expressions (noir-lang/noir#7551) chore: remove FileDiagnostic (noir-lang/noir#7546) chore: add some extra tests (noir-lang/noir#7544) fix: fix a few cases where safety comment wasn't correctly identified (noir-lang/noir#7548) chore!: remove U128 struct from stdlib (noir-lang/noir#7529) feat: simplify simple conditionals for brillig (noir-lang/noir#7205) chore: put RcTracker as part of the DIE context (noir-lang/noir#7309)
chore!: remove deprecated hash functions from stdlib (noir-lang/noir#7477) fix(frontend)!: Restrict capturing mutable variable in lambdas (noir-lang/noir#7488) feat: perform constant sha256 compressions at compile-time (noir-lang/noir#7566) chore: bump external pinned commits (noir-lang/noir#7565) chore(ssa): Turn the Brillig constraints check back on by default (noir-lang/noir#7404) chore: bump external pinned commits (noir-lang/noir#7561) chore: address some frontend tests TODOs (noir-lang/noir#7554) fix: shift right overflow in ACIR with unknown var now returns zero (noir-lang/noir#7509) chore(cli): Forward `nargo execute` to `noir_artifact_cli` (noir-lang/noir#7406) feat: Support `<Type as Trait>::method` in expressions (noir-lang/noir#7551) chore: remove FileDiagnostic (noir-lang/noir#7546) chore: add some extra tests (noir-lang/noir#7544) fix: fix a few cases where safety comment wasn't correctly identified (noir-lang/noir#7548) chore!: remove U128 struct from stdlib (noir-lang/noir#7529) feat: simplify simple conditionals for brillig (noir-lang/noir#7205) chore: put RcTracker as part of the DIE context (noir-lang/noir#7309)
chore!: bump bb version to v0.77.0 (noir-lang/noir#7599) chore: bump external pinned commits (noir-lang/noir#7601) feat(cli): Log and replay oracle transcript (noir-lang/noir#7417) chore: some SSA improvements (noir-lang/noir#7588) chore(profiler): Add option to only get the total sample count for the `execution-opcodes` command (noir-lang/noir#7578) feat(experimental): Issue errors for unreachable match branches (noir-lang/noir#7556) fix: Log to `stderr` (noir-lang/noir#7585) chore!: remove merkle module from stdlib (noir-lang/noir#7582) fix: Display causes but not stack trace in CLI error report (noir-lang/noir#7584) chore: bump `light-poseidon` (noir-lang/noir#7568) chore: bump external pinned commits (noir-lang/noir#7581) chore!: remove deprecated hash functions from stdlib (noir-lang/noir#7477) fix(frontend)!: Restrict capturing mutable variable in lambdas (noir-lang/noir#7488) feat: perform constant sha256 compressions at compile-time (noir-lang/noir#7566) chore: bump external pinned commits (noir-lang/noir#7565) chore(ssa): Turn the Brillig constraints check back on by default (noir-lang/noir#7404) chore: bump external pinned commits (noir-lang/noir#7561) chore: address some frontend tests TODOs (noir-lang/noir#7554) fix: shift right overflow in ACIR with unknown var now returns zero (noir-lang/noir#7509) chore(cli): Forward `nargo execute` to `noir_artifact_cli` (noir-lang/noir#7406) feat: Support `<Type as Trait>::method` in expressions (noir-lang/noir#7551) chore: remove FileDiagnostic (noir-lang/noir#7546) chore: add some extra tests (noir-lang/noir#7544) fix: fix a few cases where safety comment wasn't correctly identified (noir-lang/noir#7548) chore!: remove U128 struct from stdlib (noir-lang/noir#7529) feat: simplify simple conditionals for brillig (noir-lang/noir#7205) chore: put RcTracker as part of the DIE context (noir-lang/noir#7309)
chore!: bump bb version to v0.77.0 (noir-lang/noir#7599) chore: bump external pinned commits (noir-lang/noir#7601) feat(cli): Log and replay oracle transcript (noir-lang/noir#7417) chore: some SSA improvements (noir-lang/noir#7588) chore(profiler): Add option to only get the total sample count for the `execution-opcodes` command (noir-lang/noir#7578) feat(experimental): Issue errors for unreachable match branches (noir-lang/noir#7556) fix: Log to `stderr` (noir-lang/noir#7585) chore!: remove merkle module from stdlib (noir-lang/noir#7582) fix: Display causes but not stack trace in CLI error report (noir-lang/noir#7584) chore: bump `light-poseidon` (noir-lang/noir#7568) chore: bump external pinned commits (noir-lang/noir#7581) chore!: remove deprecated hash functions from stdlib (noir-lang/noir#7477) fix(frontend)!: Restrict capturing mutable variable in lambdas (noir-lang/noir#7488) feat: perform constant sha256 compressions at compile-time (noir-lang/noir#7566) chore: bump external pinned commits (noir-lang/noir#7565) chore(ssa): Turn the Brillig constraints check back on by default (noir-lang/noir#7404) chore: bump external pinned commits (noir-lang/noir#7561) chore: address some frontend tests TODOs (noir-lang/noir#7554) fix: shift right overflow in ACIR with unknown var now returns zero (noir-lang/noir#7509) chore(cli): Forward `nargo execute` to `noir_artifact_cli` (noir-lang/noir#7406) feat: Support `<Type as Trait>::method` in expressions (noir-lang/noir#7551) chore: remove FileDiagnostic (noir-lang/noir#7546) chore: add some extra tests (noir-lang/noir#7544) fix: fix a few cases where safety comment wasn't correctly identified (noir-lang/noir#7548) chore!: remove U128 struct from stdlib (noir-lang/noir#7529) feat: simplify simple conditionals for brillig (noir-lang/noir#7205) chore: put RcTracker as part of the DIE context (noir-lang/noir#7309)
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE chore!: remove deprecated hash functions from stdlib (noir-lang/noir#7477) fix(frontend)!: Restrict capturing mutable variable in lambdas (noir-lang/noir#7488) feat: perform constant sha256 compressions at compile-time (noir-lang/noir#7566) chore: bump external pinned commits (noir-lang/noir#7565) chore(ssa): Turn the Brillig constraints check back on by default (noir-lang/noir#7404) chore: bump external pinned commits (noir-lang/noir#7561) chore: address some frontend tests TODOs (noir-lang/noir#7554) fix: shift right overflow in ACIR with unknown var now returns zero (noir-lang/noir#7509) chore(cli): Forward `nargo execute` to `noir_artifact_cli` (noir-lang/noir#7406) feat: Support `<Type as Trait>::method` in expressions (noir-lang/noir#7551) chore: remove FileDiagnostic (noir-lang/noir#7546) chore: add some extra tests (noir-lang/noir#7544) fix: fix a few cases where safety comment wasn't correctly identified (noir-lang/noir#7548) chore!: remove U128 struct from stdlib (noir-lang/noir#7529) feat: simplify simple conditionals for brillig (noir-lang/noir#7205) chore: put RcTracker as part of the DIE context (noir-lang/noir#7309) END_COMMIT_OVERRIDE --------- Co-authored-by: Tom French <tom@tomfren.ch>
🤖 I have created a new Aztec Packages release --- ## [0.78.0](v0.77.1...v0.78.0) (2025-03-07) ### ⚠ BREAKING CHANGES * convert `TraitMethodNotInScope` to error (noir-lang/noir#7427) * bump bb version to v0.77.0 (noir-lang/noir#7599) * remove merkle module from stdlib (noir-lang/noir#7582) * remove deprecated hash functions from stdlib (noir-lang/noir#7477) * **frontend:** Restrict capturing mutable variable in lambdas (noir-lang/noir#7488) * remove U128 struct from stdlib (noir-lang/noir#7529) ### Features * **barretenberg:** Graph methods for circuit analysis (part 2) ([#12130](#12130)) ([ec4c0c4](ec4c0c4)) * **cli:** Log and replay oracle transcript (noir-lang/noir#7417) ([f13b729](f13b729)) * Compare bincode to CBOR, FlexBuffers and Protobuf - implement best (noir-lang/noir#7513) ([8eb727c](8eb727c)) * **experimental:** Enable ownership syntax (noir-lang/noir#7603) ([1a3c112](1a3c112)) * **experimental:** Issue errors for unreachable match branches (noir-lang/noir#7556) ([f13b729](f13b729)) * nullify just-added notes ([#12552](#12552)) ([dcba7a4](dcba7a4)) * perform constant sha256 compressions at compile-time (noir-lang/noir#7566) ([f13b729](f13b729)) * relate errors to macro built-ins errors (noir-lang/noir#7609) ([fbaa634](fbaa634)) * simplify simple conditionals for brillig (noir-lang/noir#7205) ([f13b729](f13b729)) * Support `<Type as Trait>::method` in expressions (noir-lang/noir#7551) ([f13b729](f13b729)) * Sync from aztec-packages (noir-lang/noir#7606) ([8eb727c](8eb727c)) * teardown in call interface ([#12499](#12499)) ([062df02](062df02)) * translation evaluations with zk ([#12222](#12222)) ([568982d](568982d)) ### Bug Fixes * **avm:** use the correct number of rows in check_interaction ([#12519](#12519)) ([b1284ef](b1284ef)) * aztec-up ([#12509](#12509)) ([3ddb6de](3ddb6de)) * bbup ([#12555](#12555)) ([e7b5353](e7b5353)) * Bitwise lookup ([#12471](#12471)) ([a38f353](a38f353)) * **ci:** remove regex - transfer explicitly ([#12525](#12525)) ([352bb1d](352bb1d)) * Cl/fix arm anvil ([#12565](#12565)) ([e4bfbd1](e4bfbd1)) * compare Quoted by expanding interned values (noir-lang/noir#7602) ([1a3c112](1a3c112)) * Display causes but not stack trace in CLI error report (noir-lang/noir#7584) ([f13b729](f13b729)) * **experimental:** Fix execution of match expressions with multiple branches (noir-lang/noir#7570) ([1a3c112](1a3c112)) * fix a few cases where safety comment wasn't correctly identified (noir-lang/noir#7548) ([f13b729](f13b729)) * fix bbup and add CI ([#12541](#12541)) ([1b2604c](1b2604c)) * Fix the config ([#12513](#12513)) ([fb9fac6](fb9fac6)) * **frontend:** Restrict capturing mutable variable in lambdas (noir-lang/noir#7488) ([f13b729](f13b729)) * FunctionDefinition::as_typed_expr didn't work well for trait imp… (noir-lang/noir#7611) ([1a3c112](1a3c112)) * Log to `stderr` (noir-lang/noir#7585) ([f13b729](f13b729)) * **LSP:** references/rename only when underlying span has the correct… (noir-lang/noir#7598) ([8eb727c](8eb727c)) * make vk metadata actual witnesses ([#12459](#12459)) ([dada06f](dada06f)) * no fast deployments when the boot node needs to restart. ([#12557](#12557)) ([866582e](866582e)) * **node:** drop log level of handler not registered ([#12523](#12523)) ([cb7e42d](cb7e42d)) * override bb path in cli-wallet PXE config ([#12511](#12511)) ([0c3024e](0c3024e)) * publish-bb-mac.yml version replace ([#12554](#12554)) ([7e89dfb](7e89dfb)) * release bb-mac ([fac5fb5](fac5fb5)) * Revert "make vk metadata actual witnesses" ([#12534](#12534)) ([ed46a3c](ed46a3c)) * shift right overflow in ACIR with unknown var now returns zero (noir-lang/noir#7509) ([f13b729](f13b729)) * TokensPrettyPrinter was missing some spaces between tokens (noir-lang/noir#7607) ([1a3c112](1a3c112)) * yarn-project e2e bench ([#12547](#12547)) ([b40b904](b40b904)) ### Miscellaneous * add some extra tests (noir-lang/noir#7544) ([f13b729](f13b729)) * add underscore parameter documentation (noir-lang/noir#7562) ([1a3c112](1a3c112)) * add yaml aliases in .test_patterns.yml ([#12516](#12516)) ([3ee8d51](3ee8d51)) * address some frontend tests TODOs (noir-lang/noir#7554) ([f13b729](f13b729)) * addressing remaining feedback in PR 12182 ([#12494](#12494)) ([f733879](f733879)), closes [#12193](#12193) * bump `light-poseidon` (noir-lang/noir#7568) ([f13b729](f13b729)) * bump bb version to v0.77.0 (noir-lang/noir#7599) ([f13b729](f13b729)) * bump external pinned commits (noir-lang/noir#7561) ([f13b729](f13b729)) * bump external pinned commits (noir-lang/noir#7565) ([f13b729](f13b729)) * bump external pinned commits (noir-lang/noir#7581) ([f13b729](f13b729)) * bump external pinned commits (noir-lang/noir#7601) ([f13b729](f13b729)) * bump external pinned commits (noir-lang/noir#7618) ([fbaa634](fbaa634)) * bump ring to address advisory (noir-lang/noir#7619) ([fbaa634](fbaa634)) * Cleaner PXE ([#12515](#12515)) ([a69f416](a69f416)) * cleanup committing and masking utility ([#12514](#12514)) ([9f57048](9f57048)) * **cli:** exclude kind smoke test from flake list ([#12518](#12518)) ([778bfa6](778bfa6)) * **cli:** Forward `nargo execute` to `noir_artifact_cli` (noir-lang/noir#7406) ([f13b729](f13b729)) * convert `TraitMethodNotInScope` to error (noir-lang/noir#7427) ([fbaa634](fbaa634)) * explode aliases when looking up owners in `.test_patterns.yml` ([#12526](#12526)) ([2e0d791](2e0d791)) * fix trait import issues ([#12500](#12500)) ([fd9f145](fd9f145)) * Fix yarn install immutable issues ([#12539](#12539)) ([fb9ada3](fb9ada3)), closes [#12538](#12538) * More config defaults and forward p2p ports ([#12529](#12529)) ([2c45fb9](2c45fb9)) * **node:** return correct node version ([#12520](#12520)) ([5502901](5502901)) * **profiler:** Add option to only get the total sample count for the `execution-opcodes` command (noir-lang/noir#7578) ([f13b729](f13b729)) * put RcTracker as part of the DIE context (noir-lang/noir#7309) ([f13b729](f13b729)) * remove deprecated hash functions from stdlib (noir-lang/noir#7477) ([f13b729](f13b729)) * remove FileDiagnostic (noir-lang/noir#7546) ([f13b729](f13b729)) * remove merkle module from stdlib (noir-lang/noir#7582) ([f13b729](f13b729)) * Remove scope interpolation from env vars ([#12522](#12522)) ([70942e9](70942e9)) * remove U128 struct from stdlib (noir-lang/noir#7529) ([f13b729](f13b729)) * replace relative paths to noir-protocol-circuits ([f20c0dd](f20c0dd)) * replace relative paths to noir-protocol-circuits ([4365064](4365064)) * restore bb --version ([#12542](#12542)) ([ab13d43](ab13d43)) * restore method syntax on `get_storage_slot` calls ([#12532](#12532)) ([8e9f594](8e9f594)) * rm unused methods ([#12544](#12544)) ([ed1dbdc](ed1dbdc)) * some SSA improvements (noir-lang/noir#7588) ([f13b729](f13b729)) * **spartan:** kind test speedup ([#12478](#12478)) ([8ede7b1](8ede7b1)) * **ssa:** Turn the Brillig constraints check back on by default (noir-lang/noir#7404) ([f13b729](f13b729)) * track more critical libraries (noir-lang/noir#7604) ([f13b729](f13b729)) * update and lock AVM's lockfile ([#12533](#12533)) ([2babc50](2babc50)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Description
Problem*
Resolves #7380
Builds on #7391
Summary*
Changed
nargo_cli::execute_cmd::run
to create and run an instance ofnoir_artifact_cli::commands::execute_cmd::ExecuteCommand
to completely outsource program execution tonoir_artifact_cli
.Additional Context
Up to now the
ExecuteCommand
innoir_artifact_cli
was part of the binary package; now it's exposed as part of the library through thecommands
module, so we can forward calls fromnargo
by using it as a dependency and just mapping command parameters.Other options would be to:
noir-artifact execute
as a sub-processnoir_artifact_cli::executions
The reason I thought creating and running
ExecuteCommand
would be good are:nargo
aware of wherenoir-execute
can be found, which requires changing a bunch of scripts that currently usenargo
noir-execute
expects, which is a bit more error pronenargo execute
to work with them as well, and there wouldn't be a need to differentiate.nargo
has to span the compilation and the execution phase; if they are in one process there cannot be any clashes, although at the momentnoir-execute
doesn't do any lockingexecution
functions option there is still some duplication of the workflow, and we're a bit more removed from the conceptual "shelling out"I mainly wanted to leave aztec-packages untouched for now, but with this change at least it would be simpler as
nargo
does very little on its own.Documentation*
Check one:
PR Checklist*
cargo aartifact
on default settings.