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
{{ message }}
This repository has been archived by the owner on Apr 9, 2024. It is now read-only.
This has been causing growing pain at interoperation and identification of breaking ACIR changes with the continuous changes introduced at both Noir's and barretenberg's ends.
Happy Case
Introduce serde-reflection into the ACVM tech stack for automated codegen of ACIR in C++.
This should also serve useful down the road when there is the need to codegen ACIR in other languages for integrating Noir with other proving backends written in other languages.
Alternatives Considered
We can opt for a proper Interface Definition Language (IDL) for even more robust multilingual codegen, but that would require more explorations and engineering efforts.
For now serde-reflection should be sufficient for what is needed. We can revisit IDL down the road when the need arises.
Additional Context
No response
Would you like to submit a PR for this Issue?
No
Support Needs
No response
The text was updated successfully, but these errors were encountered:
The issue is minimally completed at the moment where the serde-reflection codegen is triggered manually when needed (i.e. when there is a change in the Noir <> backend interface).
We can revisit how best to integrate and automate the codegen at builds at a later date.
Problem
We have been utilizing largely manual bindings of ACIR --> C++ for interoperation between Noir and barretenberg (Aztec Lab's proving backend written in C++) with the use of e.g. acvm-backend-barretenberg, acir-to-bberg-circuit.
This has been causing growing pain at interoperation and identification of breaking ACIR changes with the continuous changes introduced at both Noir's and barretenberg's ends.
Happy Case
Introduce serde-reflection into the ACVM tech stack for automated codegen of ACIR in C++.
This should also serve useful down the road when there is the need to codegen ACIR in other languages for integrating Noir with other proving backends written in other languages.
Alternatives Considered
We can opt for a proper Interface Definition Language (IDL) for even more robust multilingual codegen, but that would require more explorations and engineering efforts.
For now serde-reflection should be sufficient for what is needed. We can revisit IDL down the road when the need arises.
Additional Context
No response
Would you like to submit a PR for this Issue?
No
Support Needs
No response
The text was updated successfully, but these errors were encountered: