Contract 84eef80b90e1a53eb3af5e3114c6211ce736765506cda195bf6d753c9957ceea

← Back to Index 📥 Download WASM

Meta

rssdkver 22.0.11#34f7f53ae31e0fd02aab436a9872e79fa671ca02
rsver 1.85.0

Instances

  • CASU75CWWAA6MEE527YL4IFAABXJ2BILCLHJLBQIGAPNNFPMRUE3ELW6

Interface

Initialize the ZK verifier contract

fn initialize(env: soroban_sdk::Env, admin: soroban_sdk::Address)

Generate a commitment hash from two inputs (SHA-256 based) Combines two 32-byte inputs and hashes them together on-chain

fn poseidon_commit(
    env: soroban_sdk::Env,
    input_a: soroban_sdk::BytesN<32>,
    input_b: soroban_sdk::BytesN<32>,
) -> soroban_sdk::BytesN<32>

Verify a reserve attestation proof Proves: reserves >= circulating supply without revealing exact amounts

fn verify_reserve_proof(
    env: soroban_sdk::Env,
    reserve_commitment: soroban_sdk::BytesN<32>,
    circulating_commitment: soroban_sdk::BytesN<32>,
    proof_data: soroban_sdk::Vec>,
) -> bool

Verify KYC completion without exposing personal data Uses Association Set membership proof

fn verify_kyc_proof(
    env: soroban_sdk::Env,
    user_commitment: soroban_sdk::BytesN<32>,
    asp_name: soroban_sdk::Symbol,
    merkle_proof: soroban_sdk::Vec>,
    merkle_root: soroban_sdk::BytesN<32>,
) -> KYCProof

Verify OFAC/sanctions clearance without revealing identity Proves: address is NOT on sanctions list

fn verify_ofac_clearance(
    env: soroban_sdk::Env,
    address_commitment: soroban_sdk::BytesN<32>,
    cleared_pool_root: soroban_sdk::BytesN<32>,
    membership_proof: soroban_sdk::Vec>,
) -> bool

Verify T-bill backing for XQBUSD mint Proves: user's TreasuryDirect holdings >= requested mint amount

fn verify_tbill_backing(
    env: soroban_sdk::Env,
    user_commitment: soroban_sdk::BytesN<32>,
    mint_amount_commitment: soroban_sdk::BytesN<32>,
    holdings_proof: soroban_sdk::Vec>,
    plaid_attestation_hash: soroban_sdk::BytesN<32>,
) -> bool

Register a nullifier to prevent double-spending

fn register_nullifier(
    env: soroban_sdk::Env,
    nullifier: soroban_sdk::BytesN<32>,
) -> bool

Register an Association Set Provider (ASP)

fn register_asp(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    name: soroban_sdk::Symbol,
    merkle_root: soroban_sdk::BytesN<32>,
    member_count: u64,
    compliance_standard: soroban_sdk::Symbol,
)

Get the current reserve attestation

fn get_reserve_attestation(env: soroban_sdk::Env) -> Option

Get verification statistics

fn get_verification_stats(env: soroban_sdk::Env) -> (u64, u64)

Verify a complete privacy-preserving mint request Combines: KYC + OFAC + T-bill backing in one call

fn verify_compliant_mint(
    env: soroban_sdk::Env,
    user_commitment: soroban_sdk::BytesN<32>,
    mint_amount_commitment: soroban_sdk::BytesN<32>,
    kyc_proof: soroban_sdk::Vec>,
    kyc_asp_root: soroban_sdk::BytesN<32>,
    ofac_proof: soroban_sdk::Vec>,
    ofac_cleared_root: soroban_sdk::BytesN<32>,
    tbill_proof: soroban_sdk::Vec>,
    plaid_attestation: soroban_sdk::BytesN<32>,
) -> bool

Imports

WebAssembly Text (WAT) ▶