Expand description
This crate provides verifiers for SP1 Groth16 and Plonk BN254 proofs in a no-std environment. It is patched for efficient verification within the SP1 zkVM context.
Modules§
Structs§
- GROT
H16_ VK_ BYTES - The Groth16 verifying key for this SP1 version.
- Groth16
Bn254 Proof - Groth16
Verifier - A verifier for Groth16 zero-knowledge proofs.
- PLONK_
VK_ BYTES - The PLONK verifying key for this SP1 version.
- Plonk
Bn254 Proof - Plonk
Verifier - A verifier for Plonk zero-knowledge proofs.
- Proof
From Network - The proof generated by the prover network.
- VK_
ROOT_ BYTES - The VK merkle tree root as 32 bytes (big-endian bn254 representation). Derived from the recursion verifying key data.
- Verifier
Recursion Vks
Enums§
- Groth16
Error - Plonk
Error - Proof
Bn254 - SP1Proof
- A proof generated by the SP1 RISC-V zkVM.
- SP1Proof
Mode
Functions§
- blake3_
hash - Hash the input using
Blake3. - decode_
sp1_ vkey_ hash - Decodes the sp1 vkey hash from the string from a call to
vk.bytes32. - hash_
public_ inputs - Hashes the public inputs in the same format as the Plonk and Groth16 verifiers.
Uses
Sha256. - hash_
public_ inputs_ with_ fn - Hashes the public inputs in the same format as the Plonk and Groth16 verifiers, using the provided hash function.
- sha256_
hash - Hashes the public input using
Sha256.