Query whether an applicant is KYC-verified for a given credential type. Returns true if the proof was previously confirmed on this contract.
fn is_kyc_verified(
env: soroban_sdk::Env,
applicant_hash: soroban_sdk::BytesN<32>,
) -> bool
Verify a ZK KYC credential proof off-chain and register the result on ledger.
Arguments:
applicant_hash: SHA-256(applicant_id), 32 bytes. The actual identity stays private.credential_type: one of "accredited", "kyc_aml", "age_18plus"proof_hash: SHA-256 of the RISC Zero receipt bytes — proves the computationpublic_inputs: serialized public journal from the ZK receipt (compact, no private data)fn verify_kyc_proof(
env: soroban_sdk::Env,
applicant_hash: soroban_sdk::BytesN<32>,
credential_type: soroban_sdk::Symbol,
proof_hash: soroban_sdk::BytesN<32>,
public_inputs: soroban_sdk::Bytes,
) -> Result
Stats
fn total_kyc_verified(env: soroban_sdk::Env) -> u32
Verify a ZK block-header proof and register the confirmed state root on ledger.
Arguments:
chain: "eth" or "btc"block_number: block height provenstate_root: 32-byte Merkle state root from the proven blockproof_hash: SHA-256 of the RISC Zero receiptpublic_inputs: serialized public journalfn verify_bridge_header(
env: soroban_sdk::Env,
chain: soroban_sdk::Symbol,
block_number: u64,
state_root: soroban_sdk::BytesN<32>,
proof_hash: soroban_sdk::BytesN<32>,
public_inputs: soroban_sdk::Bytes,
) -> Result
Query the confirmed state root for a given (chain, block_number). Returns None if not yet verified.
fn get_bridge_state_root(
env: soroban_sdk::Env,
chain: soroban_sdk::Symbol,
block_number: u64,
) -> Option
fn total_bridge_verified(env: soroban_sdk::Env) -> u32