-
Notifications
You must be signed in to change notification settings - Fork 97
Description
Problem
When generating Groth16 proofs, there is currently no built-in support to translate those proofs into Starknet-compatible verifier calldata. This makes it difficult for developers to verify Groth16 proofs on Starknet without relying on external scripts or backend services, as described in the Garaga documentation (https://garaga.gitbook.io/garaga/smart-contract-generators/groth16/generating-calldata-from-a-proof-and-using-your-deployed-contract).
This adds friction for projects aiming to perform proof generation locally and verification on-chain on Starknet.
Details
The goal is to explore an integration that supports translating Groth16 proofs into the calldata format required by Starknet verifier contracts, following the approach described in the Garaga documentation (garaga_rs implementation get_groth16_calldata):
Ideally, this functionality could be exposed as a utility, enabling developers to generate proofs and corresponding verifier calldata without requiring a backend.
Acceptance criteria
A pull request addressing this issue should:
- Provide a mechanism to translate Groth16 proofs into Starknet-compatible verifier calldata
- Follow the calldata format and constraints defined by Garaga
- Include documentation or examples demonstrating how to use the integration