Skip to content

feat(nargo): Multiple circuits info for binary programs#4719

Merged
vezenovm merged 23 commits intomasterfrom
mv/multiple-circuits-info
Apr 8, 2024
Merged

feat(nargo): Multiple circuits info for binary programs#4719
vezenovm merged 23 commits intomasterfrom
mv/multiple-circuits-info

Conversation

@vezenovm
Copy link
Contributor

@vezenovm vezenovm commented Apr 4, 2024

Description

Problem*

Resolves #4697

Summary*

The nargo info command previously assumed that we only had a single circuit. In order to display accurate circuits sizes we should display the circuit size of each individual circuit entry part which is part of an entire Program.

For improved debugging I also had to exposed names in the GeneratedAcir. This prompted also refactoring the context that we pass around in ssa.rs when creating a circuit and a program. Two new structs,SsaProgramArtifact and SsaCircuitArtifact, have been created to clean this up.

Example output from nargo info on fold_basic_nested_call:
Screenshot 2024-04-04 at 3 54 46 PM

Additional Context

It isn't necessarily obvious how we should display foldable circuits for contracts which already have multiple entry points. I have left this for follow-up work: #4720

Documentation*

Check one:

  • No documentation needed.
  • Documentation included in this PR.
  • [For Experimental Features] Documentation to be submitted in a separate PR.

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

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

Nargo: Expand info cmd to support multiple circuits

4 participants