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

ACIR: Call opcode #4427

Closed
Tracked by #4426
vezenovm opened this issue Feb 26, 2024 · 0 comments · Fixed by AztecProtocol/aztec-packages#4773
Closed
Tracked by #4426

ACIR: Call opcode #4427

vezenovm opened this issue Feb 26, 2024 · 0 comments · Fixed by AztecProtocol/aztec-packages#4773
Assignees
Labels
ACIR/ACVM enhancement New feature or request

Comments

@vezenovm
Copy link
Contributor

vezenovm commented Feb 26, 2024

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:

/// 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

@vezenovm vezenovm added enhancement New feature or request ACIR/ACVM labels Feb 26, 2024
@github-project-automation github-project-automation bot moved this to 📋 Backlog in Noir Feb 26, 2024
@vezenovm vezenovm self-assigned this Mar 8, 2024
@vezenovm vezenovm moved this from 📋 Backlog to 🏗 In progress in Noir Mar 8, 2024
@github-project-automation github-project-automation bot moved this from 🏗 In progress to ✅ Done in Noir Mar 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ACIR/ACVM enhancement New feature or request
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant