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

Add recursion into acir format #357

Closed
Tracked by #1098
kevaundray opened this issue Apr 14, 2023 · 2 comments
Closed
Tracked by #1098

Add recursion into acir format #357

kevaundray opened this issue Apr 14, 2023 · 2 comments
Assignees
Labels

Comments

@kevaundray
Copy link
Contributor

Problem

Once acvm adds the recursion opcode it will need to be supported by the backend.

Solution

We add a recursion field to the acir_format and implement the code to handle it.

This task should be considered complete when we add the relevant code to process a recursion opcode and when we add a test in the test folder to ensure that this works on the cpp side.

@zac-williamson
Copy link
Contributor

zac-williamson commented Apr 15, 2023

Working on this in zw/noir-recursion

Currently I'm implementing recursion where the requirement is the circuit has a single public input. Is this too strict? (if multiple inputs are required, the outer circuit hashes them together).

Doing this makes the UltraPlonk proof data constant-sized, which could help.

I have implemented a Recursion type into acir_format with some passing tests, one missing thing is serialisation functions that will be needed by barretenberg_sys to turn inner proofs/verification keys into a format that is required by the Recursion constraint.

@Savio-Sou
Copy link
Member

Closed with #485.

@github-project-automation github-project-automation bot moved this from 📋 Backlog to ✅ Done in Noir Jun 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants