Contract 6fe2a2db82f1057b73f4de744cc360465abe59567ce67a80a58aa0ccaf215197

← Back to Index 📥 Download WASM

Meta

cliver 25.1.0#a048a57a75762458b487052e0021ea704a926bee
rssdkver 25.1.0#86c50a1ea4f87b40add3064ff9df95c7553565c5
rsver 1.91.1

Instances

  • CDUY5C5XOP7KY2VSB4HRC2OBFFDJFKFSKA3S4B5P3SPFTH7NLBQR4WTI

Interface

fn verify(
    env: soroban_sdk::Env,
    seal: soroban_sdk::Bytes,
    image_id: soroban_sdk::BytesN<32>,
    journal: soroban_sdk::BytesN<32>,
) -> Result<(), VerifierError>

Returns the RISC Zero verifier version

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

Returns the verifier's selector

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

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_integrity(
    env: soroban_sdk::Env,
    receipt: Receipt,
) -> Result<(), VerifierError>

Imports

WebAssembly Text (WAT) ▶