Contract 8efd5b82f10f0ba88d2983821d56587837479e7e1a6b47bd79dec7b133781fd6

← Back to Index 📥 Download WASM

Meta

rssdkver 26.0.0#e1bf74ba6c3ddb591593f5eb5dfb85458ff714c1
rsver 1.93.1

Instances

  • CCX5NZZZY7VWY4D7NYIP537FP5XYUBJBTJGYYY4MNXME73RWAGYLK4NI

Interface

Initializes the contract with required dependencies.

fn init(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    lbx_token: soroban_sdk::Address,
    distributor: soroban_sdk::Address,
    fee_amount: i128,
    vk: soroban_sdk::Bytes,
)

Admin-only function to update the contract WASM.

fn upgrade(env: soroban_sdk::Env, new_wasm_hash: soroban_sdk::BytesN<32>)

Admin-only function to update the VK if the circuit changes.

fn update_vk(env: soroban_sdk::Env, new_vk: soroban_sdk::Bytes)

Admin-only function to set the stealth_signal verification key.

fn set_stealth_vk(env: soroban_sdk::Env, stealth_vk: soroban_sdk::Bytes)

Admin-only migration hook for the legacy distributor key.

fn migrate_distributor(env: soroban_sdk::Env, distributor: soroban_sdk::Address)

Read-only accessor for ecosystem attestation metadata.

fn get_ecosystem_binding(
    env: soroban_sdk::Env,
) -> (
    soroban_sdk::Bytes,
    soroban_sdk::Address,
    soroban_sdk::Address,
    soroban_sdk::Address,
    u32,
)

Admin-only ecosystem binding metadata update.

The ecosystem binding authenticates the deployment identity and LBX token provenance. ZK proof binding covers sha256(epk) and request_type only. Ciphertext semantic validity and hostname-to-proof binding are enforced at the application layer.

fn set_ecosystem_binding(
    env: soroban_sdk::Env,
    hostname: soroban_sdk::Bytes,
    lbx_issuer: soroban_sdk::Address,
    lbx_distributor: soroban_sdk::Address,
    lbx_sac: soroban_sdk::Address,
    expires_at_ledger: u32,
)

Read-only accessor for the distributor storage value.

fn get_distributor_address(env: soroban_sdk::Env) -> soroban_sdk::Address
fn set_verify_diag_enabled(env: soroban_sdk::Env, enabled: bool)

Admin-only identity signaling configuration.

fn set_identity_config(
    env: soroban_sdk::Env,
    identity_vk: soroban_sdk::Bytes,
    identity_fee_amount: i128,
)

Submit an opaque identity signal with replay protection.

ABI arguments: (relayer, identity_proof, encrypted_payload, action_type, nullifier, expires_at_ledger, satellite, hostname).

primary is not a caller-provided argument. It is derived from stored Distributor during fee routing and then emitted in event payloads.

fn request_identity_signal(
    env: soroban_sdk::Env,
    relayer: soroban_sdk::Address,
    identity_proof: soroban_sdk::Bytes,
    encrypted_payload: soroban_sdk::Bytes,
    action_type: u32,
    nullifier: soroban_sdk::BytesN<32>,
    expires_at_ledger: u32,
    satellite: soroban_sdk::Address,
    hostname: soroban_sdk::Bytes,
)

Submits a tracking request.

ABI arguments: (caller, zk_proof, ephemeral_pubkey, ciphertext, satellite, request_type, hostname).

primary is not a caller-provided argument. It is derived from stored Distributor during fee routing and then emitted in event payloads.

Fee collection occurs before verification. Invalid proofs do not revert after payment; a failure event is emitted and the call returns.

fn request_tracking(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    zk_proof: soroban_sdk::Bytes,
    epk: soroban_sdk::BytesN<64>,
    ciphertext: soroban_sdk::BytesN<64>,
    satellite: soroban_sdk::Address,
    request_type: u32,
    hostname: soroban_sdk::Bytes,
)

Submits a stealth tracking request where the satellite is the caller.

In this mode the satellite is the authenticated party, fee payer, and on-chain caller. The user's G-address never appears on-chain. Verification always uses the stealth VK. The on-chain request_type is the generic stealth type (7); the actual operation type is encrypted inside the ciphertext field.

ABI arguments: (satellite, zk_proof, ephemeral_pubkey, ciphertext, request_type, hostname).

fn request_stealth_tracking(
    env: soroban_sdk::Env,
    satellite: soroban_sdk::Address,
    zk_proof: soroban_sdk::Bytes,
    epk: soroban_sdk::BytesN<64>,
    ciphertext: soroban_sdk::BytesN<64>,
    request_type: u32,
    hostname: soroban_sdk::Bytes,
)

Imports

WebAssembly Text (WAT) ▶