Skip to content
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

feat(nargo): Cleanup Brillig foreign calls matching w/ an enum #1910

Closed
vezenovm opened this issue Jul 11, 2023 · 2 comments
Closed

feat(nargo): Cleanup Brillig foreign calls matching w/ an enum #1910

vezenovm opened this issue Jul 11, 2023 · 2 comments
Assignees
Labels
enhancement New feature or request nargo Noir's CLI development tool refactor

Comments

@vezenovm
Copy link
Contributor

vezenovm commented Jul 11, 2023

Problem

As we have moved to get Brillig generation up-to-date in the new SSA refactor we have been simply matching against raw strings when executing a circuit to verify whether foreign calls have been working. We should have a cleaner method of specifying which builtin oracle nargo truly does support out of the box.

Happy Case

The oracles nargo supports should have their own enumeration and silo'd implementations similar to intrinsics that live inside of the compiler. These will be intrinsics in the same sense but supported by nargo. Other callers of the Noir compiler (like acvm-simulator) would specify which oracle builtins they would like to support natively inside Rust on their own.

Alternatives Considered

Possibly in the future we can have one unified acvm-simulator, but this would have to be coordinated with the tooling team. For now though there is certain functionality that would be good to have immediately and thus is easiest to put inside nargo for the time being (such as logging and printlns). It would be good to brainstorm a strategy for unifying useful features across callers like logging. Nargo and acvm-simulator should be able to share the same logging implementation for example.

Additional Context

No response

Would you like to submit a PR for this Issue?

No

Support Needs

No response

@vezenovm vezenovm added enhancement New feature or request nargo Noir's CLI development tool refactor labels Jul 11, 2023
@github-project-automation github-project-automation bot moved this to 📋 Backlog in Noir Jul 11, 2023
@vezenovm vezenovm self-assigned this Jul 11, 2023
@vezenovm
Copy link
Contributor Author

I'm going to assign this to myself as I am going to be taking on a general logging refactor that uses Brillig foreign calls. Making an enumeration in nargo for Brillig foreign calls as part of that makes sense

@vezenovm vezenovm changed the title feat(nargo): Cleanup Brillig foreign calls supported natively feat(nargo): Cleanup Brillig foreign calls matching w/ an enum Jul 11, 2023
@vezenovm
Copy link
Contributor Author

vezenovm commented Jul 21, 2023

Closed by #1917

@github-project-automation github-project-automation bot moved this from 📋 Backlog to ✅ Done in Noir Jul 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request nargo Noir's CLI development tool refactor
Projects
Archived in project
Development

No branches or pull requests

1 participant