feat!: Rename noir-execute
to noir-executor
#7605
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Problem*
I want to add more commands related to the execution of artefacts without increasing the number of binaries.
Summary*
Renames
noir-execute <args>
tonoir-executor execute <args>
, so that we can add new commands related to artifact execution in the future.noir-execute
is not installed yet withnoirup
so this shouldn't break anything at the moment.Additional Context
AztecProtocol/aztec-packages#12148 shows what a "dump" from TypeScript will look like. Notably the inputs to the circuit are encoded similar to how the ACVM CLI takes them: as a witness map, as opposed to the human readable ABI encoded data structure we use in
Prover.toml
withnargo execute
andnoir-execute
.We can have another command to deal with this input format as it is, e.g. replay, which we could invoke as
noir-replay
, but I also thought we might want to take the witness map from the recording and write it into aProver.toml
file which we could use in integration tests.This is something I did during debugging by logging the TypeScript DTOs to the console in JSON format, however that is not easy to capture in the dump due to where it happens: it's just a transient value in a conversion function.
We could call such a command e.g.
noir-abi decode
for example, with a potentialnoir-abi encode
to do the opposite. So that's already two more executables to install alongnoir-execute
,noir-profiler
,noir-inspector
, etc.Originally I proposed to have a
noir-artifact
command to bundle artifact related commands. This PR is an alternative to that where we could group execution related commands:noir-executor execute
,noir-executor replay
,noir-executor abi decode
for example.An alternative is to introduce an umbrella
noir
command at some point, that would transparently forwardnoir <cmd>
tonoir-<cmd>
, which what @asterite suggestedgit
does.Even then, I think having a separate
execute
andreplay
might be better thanexecute
taking either a dump or separate args for inputs and the oracle transcript (which is in itself optional, it could come from RPC, or nowhere). We can keep them as separate binaries, this is just an idea, feel free to close if having separate ones is considered better.Documentation*
Check one:
PR Checklist*
cargo fmt
on default settings.