-
Notifications
You must be signed in to change notification settings - Fork 248
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): Use noir_artifact_cli::fs
to read artifacts
#7391
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
noir_artifact_cli::fs
to read artefacts
5 tasks
TomAFrench
reviewed
Feb 19, 2025
TomAFrench
reviewed
Feb 25, 2025
TomAFrench
reviewed
Feb 25, 2025
TomAFrench
reviewed
Feb 25, 2025
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.
Some nits, generally looks good.
TomAFrench
approved these changes
Feb 26, 2025
AztecBot
added a commit
to AztecProtocol/aztec-packages
that referenced
this pull request
Feb 26, 2025
chore: revert bump of base64ct to `v1.6.0` after `v1.7.0` yanked (noir-lang/noir#7541) feat(performance): Avoid extra Brillig array offsetting for constant indices (noir-lang/noir#7522) feat: test error spans and messages (noir-lang/noir#7526) chore: bump wasm-bindgen (noir-lang/noir#7535) chore: parallelize `test_transform_program_is_idempotent` (noir-lang/noir#7539) chore(cli): Use `noir_artifact_cli::fs` to read artifacts (noir-lang/noir#7391) fix(experimental): Replace most remaining match panics with errors (noir-lang/noir#7536) chore: bump external pinned commits (noir-lang/noir#7537)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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*
Resolves #7381
Builds on #7384
Summary*
Changes other CLI tools to use the
noir_artifact_cli::fs
functions to read artifacts.inspector
(now handles contracts as well)profiler
(still only expects programs)nargo
(only executes/infos programs)criterion
benchesAdditional Context
The PR contains some fixes that came out trying to get a more uniform handling of programs vs contracts:
ContractFunctionArtifact
hadbrillig_names
, but notnames
; that seems to be the only missing piece to be able to showinspector info
about contract functions, so I added it.hash
toContractFunctionArtifact
so that we can map it back into aCompiledProgram
without the loss of informationhash: u64
to be asString
, so that the last digits don't get truncated in the TypeScript typeshash
tonumber | string
for backwards compatibility (although old TS would not read new format)hash
calculated bynargo
andnoir-wasm
for the contract functions. Unfortunately I didn't notice that for programs they are explicitly deleted by the test until after I debugged the issue to find out that it is down to theFileId
s being different, which I was able to fix by changingHashMap
toBTreeMap
in the wasmcompile
module. This worked for the test contract, but not the test programs, those still needed the field deleted. Later I understood thatnargo
adds sources to theFileManager
as it visits dependencies, whereas in TypeScript we resolve all dependencies, then add them to the source, and then feed them to theFileManager
, so the order is going to be different. Nevertheless I thinkBTreeMap
should at least ensure that TypeScript should agree between different browsers for example, or anything else that could affect the hashes in aHashMap
.Documentation*
Check one:
PR Checklist*
cargo fmt
on default settings.