Contract 173c30d93cd8d1a2ca60f89498993764f416aaa0a8aa1d06a229e0400dc829c8

← Back to Index 📥 Download WASM

Meta

rssdkver 25.3.0#dcbea44513feb7734af6b6c4aced2c4a7a2715d0
rsver 1.89.0

Instances

  • CBACYPW6DSQDKW6SGZ3XG4OMSK5POWM5HWRWA2PHDJ3OYQU5DOMZWHLB

Interface

Returns the verifier's selector

fn selector(env: soroban_sdk::Env) -> soroban_sdk::BytesN<4>

Returns the RISC Zero verifier version

fn version(env: soroban_sdk::Env) -> soroban_sdk::String

Verifies a Groth16 proof with the given public signals.

This function implements the core Groth16 verification algorithm using the BN254 pairing-friendly elliptic curve. The verification checks the pairing equation:

e(-A, B) * e(alpha, beta) * e(vk_x, gamma) * e(C, delta) == 1

where vk_x is computed as a linear combination of the verification key's IC points weighted by the public signals.

Parameters

  • proof: The Groth16 proof containing points A, B, and C
  • pub_signals: Vector of public input signals (scalar field elements)
fn verify_proof(
    env: soroban_sdk::Env,
    proof: Groth16Proof,
    pub_signals: soroban_sdk::Vec,
) -> Result
fn verify(
    env: soroban_sdk::Env,
    seal: soroban_sdk::Bytes,
    image_id: soroban_sdk::BytesN<32>,
    journal: soroban_sdk::BytesN<32>,
) -> Result<(), VerifierError>
fn verify_integrity(
    env: soroban_sdk::Env,
    receipt: Receipt,
) -> Result<(), VerifierError>

Imports

WebAssembly Text (WAT) ▶