Contract 0c2c741dfca2fd9fda5656c5b65ed95f1268c200e1beffd5c670c3b52a53e9f1

← Back to Index 📥 Download WASM

Meta

rssdkver 22.0.9#3890521426d71bb4d892b21f5a283a1e836cfa38
rsver 1.87.0

Instances

  • CDLBUXLWQDRVVDYECDUVUOS3UG2YHZ4ZPDM3PKY5XSSX6DLMSNJOBPTY

Interface

User commits to a hash and provides their BLS pubkey

fn commit(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
    commitment: soroban_sdk::BytesN<32>,
    pubkey: soroban_sdk::BytesN<96>,
)

User reveals their seed, salt, and BLS signature. Contract verifies all.

fn reveal(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
    seed: soroban_sdk::Bytes,
    salt: soroban_sdk::Bytes,
    signature: soroban_sdk::BytesN<192>,
) -> Result, VRFError>

Deterministically derive a random u64 from the verified randomness and context.

fn derive_random(
    env: soroban_sdk::Env,
    randomness: soroban_sdk::BytesN<32>,
    context: soroban_sdk::Bytes,
) -> u64

Utility: returns the stored commitment for a user

fn get_commitment(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
) -> Option>

Utility: returns the stored pubkey for a user

fn get_pubkey(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
) -> Option>

Imports

WebAssembly Text (WAT) ▶