Skip to content
This repository has been archived by the owner on Apr 9, 2024. It is now read-only.

feat(acir)!: BlackBoxFunc::VerifyProof #234

Closed
wants to merge 5 commits into from
Closed

Conversation

vezenovm
Copy link
Contributor

Related issue(s)

Resolves #198

Description

Add VerifyProof variant to BlackBoxFunc enum

Summary of changes

This will be used by backends looking to integrate recursion. As per the issue discussion, this requires enabling the OutputSize of FuncDefinition's to be Variable. I left the InputSize and OutputSize enums distinct for now and left a comment under what scenarios OutputSize can be Variable. The OutputSize is NOT dependent upon the user inputs (like the input size to sha256 for example), but rather dependent upon the proving system that is integrating with ACVM. This distinction is important as this change to variable output size does imply support for dynamic circuits.

I will make an issue to consider how we can best differentiate whether the variable OutputSize can be dependent upon a gadget's input. It might need to be in this PR though where we have a function in the ProofSystemCompiler similar to black_box_function_supported that can output a BlackBoxFunc's proof system dependent OutputSize. Opening this PR as part of the discussion.

Dependency additions / changes

(If applicable.)

Test additions / changes

(If applicable.)

Checklist

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt with default settings.
  • I have linked this PR to the issue(s) that it resolves.
  • I have reviewed the changes on GitHub, line by line.
  • I have ensured all changes are covered in the description.

Additional context

(If applicable.)

@vezenovm vezenovm marked this pull request as draft April 26, 2023 14:56
@vezenovm
Copy link
Contributor Author

Converting to draft for now as this is not ready

@vezenovm
Copy link
Contributor Author

Closing in favor of #291. There were many breaking changes and it was simpler to cherry-pick against the new PR removing manual serialization that uses serde

@vezenovm vezenovm closed this May 17, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add recursion opcode
1 participant