From 3b8263087547b78d7345d7fe3a3194b062af70ea Mon Sep 17 00:00:00 2001 From: wayne-o Date: Tue, 24 Jun 2025 16:46:08 +0200 Subject: [PATCH] docs: Clarify that both PLONK and Groth16 proofs are supported The README incorrectly stated that only PLONK proofs are supported, but the repository includes both PLONK and Groth16 verifiers for each version. - Update main README to mention both proof systems - Update contracts README with clearer structure showing both verifier types - List the actual contract files available in each version directory --- README.md | 2 +- contracts/README.md | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 3de4456..6970e3d 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,7 @@ Change `v3.0.0` to the desired version to freeze. ## For Developers: Integrate SP1 Contracts -This repository contains the EVM contracts for verifying SP1 PLONK EVM proofs. +This repository contains the EVM contracts for verifying SP1 proofs, supporting both PLONK and Groth16 proof systems. You can find more details on the contracts in the [`contracts`](./contracts/README.md) directory. diff --git a/contracts/README.md b/contracts/README.md index d4a4ca9..db7fa8a 100644 --- a/contracts/README.md +++ b/contracts/README.md @@ -3,7 +3,17 @@ This repository contains the smart contracts for verifying [SP1](https://github.com/succinctlabs/sp1) EVM proofs. ## Overview -- [`SP1Verifier`](./src/SP1Verifier.sol): The main contract for verifying SP1 EVM proofs. -- [`SP1MockVerifier`](./src/SP1MockVerifier.sol): A mock contract for testing SP1 EVM proofs. -- [`ISP1Verifier`](./src/ISP1Verifier.sol): Interface for SP1Verifier. -- [`PlonkVerifier`](./src/PlonkVerifier.sol): Core logic for verifying Plonk EVM proofs. +The repository supports both PLONK and Groth16 proof systems: + +### Core Contracts +- [`ISP1Verifier`](./src/ISP1Verifier.sol): Interface for SP1 verifiers +- [`ISP1VerifierGateway`](./src/ISP1VerifierGateway.sol): Interface for the verifier gateway +- [`SP1VerifierGateway`](./src/SP1VerifierGateway.sol): Gateway contract that routes to appropriate verifier versions +- [`SP1MockVerifier`](./src/SP1MockVerifier.sol): Mock contract for testing + +### Verifier Implementations by Version +Each version directory (e.g., `v5.0.0/`) contains: +- `SP1VerifierPlonk.sol`: PLONK proof verifier +- `SP1VerifierGroth16.sol`: Groth16 proof verifier +- `PlonkVerifier.sol`: Core PLONK verification logic +- `Groth16Verifier.sol`: Core Groth16 verification logic