zkzkHeliosDocs

Program reference

Instructions, accounts, and error codes for the zkHelios Anchor verifier program.

Instructions

  • initialize(admin, treasury, proof_fee_lamports)
  • register_circuit(circuit_id, name, proof_type, verifying_key, public_input_count)
  • create_user_account()
  • verify_proof(circuit_id, proof_a, proof_b, proof_c, public_inputs)
  • revoke_proof()
  • update_config(new_fee?, new_paused?, new_treasury?)

verify_proof

rust
verify_proof(
    circuit_id: u32,
    proof_a: [u8; 64],
    proof_b: [u8; 128],
    proof_c: [u8; 64],
    public_inputs: Vec<[u8; 32]>, // max 8
)
// accounts: user (signer), proof_account (PDA), verifier_config (PDA), system_program

Error codes

text
6000 ProgramPaused          6007 Unauthorized
6001 CircuitNotFound        6008 InvalidAdmin
6002 CircuitDisabled        6010 NonceAlreadyUsed
6003 InvalidPublicInputCount 6011 InvalidVerifyingKey
6004 InvalidProofFormat     6012 ProofAlreadyExists
6005 ProofVerificationFailed
6006 InsufficientFunds