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
ACIR currently has no way to point to another circuit during execution. This restricts our ability to have function call stacks during execution and ultimately in proving.
Happy Case
Add a new Call opcode similar to below:
/// Calls to functions represented as a separate circuit. A call opcode allows us
/// to build a call stack when executing the outer-most circuit.
Call {
/// Id for the function being called to be used by the caller of execution
id: u32,
/// Inputs to the function
inputs: Vec<Witness>,
/// Outputs of the function call
outputs: Vec<Witness>,
}
We should also consider just making this opcode a blackbox function as it will be up to the backend to decide how it handles the call opcode. It may be clearer though to keep the opcode as its own call.
Project Impact
None
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:
Problem
ACIR currently has no way to point to another circuit during execution. This restricts our ability to have function call stacks during execution and ultimately in proving.
Happy Case
Add a new
Call
opcode similar to below:We should also consider just making this opcode a blackbox function as it will be up to the backend to decide how it handles the call opcode. It may be clearer though to keep the opcode as its own call.
Project Impact
None
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: