Verify a Groth16 proof against public inputs.
Verification equation (as pairing check): e(-pi_A, pi_B) * e(alpha, beta) * e(vk_x, gamma) * e(pi_C, delta) == 1
Where vk_x = IC[0] + sum(public_input[i] * IC[i+1])
fn verify(
env: soroban_sdk::Env,
proof: Groth16Proof,
public_inputs: soroban_sdk::Vec>,
) -> bool
Initialize the verifier with the verification key.
fn initialize(env: soroban_sdk::Env, admin: soroban_sdk::Address, vk: VerificationKey)
Get the number of public inputs expected.
fn num_public_inputs(env: soroban_sdk::Env) -> u32