You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After this PR #4719 we added handling for displaying multiple circuits infos to represent an entire program. This is similar to what was already done for contracts. It isn't entirely obvious how we should display things for a contract.
For example this is the output of nargo info
on simple_contract under the compile_success_contract tests.
We already list multiple function's for each entry point in the contract. With foldable calls being used from potentially outside of a contract, we will need to display more information as to make this distinction.
Happy Case
We should settle on how we want display contract circuit size info when working with non-inlined / foldable calls.
Project Impact
Nice-to-have
Impact Context
No response
Workaround
None
Workaround Description
No response
Additional Context
No response
Would you like to submit a PR for this Issue?
None
Support Needs
No response
The text was updated successfully, but these errors were encountered:
vezenovm
changed the title
Nargo: Handle non-inlined Acir circuit info when outside of a contract
Nargo: Handle non-inlined Acir circuit info for contract functions
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`:
<img width="847" alt="Screenshot 2024-04-04 at 3 54 46 PM"
src="https://github.com/noir-lang/noir/assets/43554004/95a827c4-766c-4d7d-b03e-fb9428cfdb2a">
## 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.
- [X] **[For Experimental Features]** Documentation to be submitted in a
separate PR.
# PR Checklist\*
- [X] I have tested the changes locally.
- [X] I have formatted the changes with [Prettier](https://prettier.io/)
and/or `cargo fmt` on default settings.
Problem
After this PR #4719 we added handling for displaying multiple circuits infos to represent an entire program. This is similar to what was already done for contracts. It isn't entirely obvious how we should display things for a contract.
For example this is the output of
nargo info
on
simple_contract
under thecompile_success_contract
tests.We already list multiple function's for each entry point in the contract. With foldable calls being used from potentially outside of a contract, we will need to display more information as to make this distinction.
Happy Case
We should settle on how we want display contract circuit size info when working with non-inlined / foldable calls.
Project Impact
Nice-to-have
Impact Context
No response
Workaround
None
Workaround Description
No response
Additional Context
No response
Would you like to submit a PR for this Issue?
None
Support Needs
No response
The text was updated successfully, but these errors were encountered: