Contract eef65cc0e640766c95d52f01a3c58671f87c07304b7762952c4dce02d81d0ab5

← Back to Index 📥 Download WASM

Meta

cliver 23.4.1#a152ec2488c25136808ad28277c24b3a0765ffd4
rssdkver 23.5.3#d3e1ab2424388b10893b796b0c8e405c5edd03d2
rsver 1.92.0

Instances

  • CCDW3KT6AMFBLPTQWRK7QR6T6537JQKPRHBPKCHORQDJEHQQNWINWI5M

Interface

fn pause(env: soroban_sdk::Env, paused: bool) -> Result<(), DikeError>
fn request(
    env: soroban_sdk::Env,
    request_id: u64,
) -> Result
fn upgrade(
    env: soroban_sdk::Env,
    new_wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), DikeError>
fn set_role(
    env: soroban_sdk::Env,
    role: soroban_sdk::Symbol,
    module: soroban_sdk::Address,
) -> Result<(), DikeError>
fn set_admin(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
) -> Result<(), DikeError>
fn __constructor(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn market_request(env: soroban_sdk::Env, market_id: u64) -> Result
fn dispute_outcome(
    env: soroban_sdk::Env,
    disputer: soroban_sdk::Address,
    request_id: u64,
    counter_outcome: Outcome,
    evidence_uri: soroban_sdk::String,
) -> Result<(), DikeError>
fn propose_outcome(
    env: soroban_sdk::Env,
    proposer: soroban_sdk::Address,
    request_id: u64,
    outcome: Outcome,
    evidence_uri: soroban_sdk::String,
) -> Result<(), DikeError>
fn request_resolution(
    env: soroban_sdk::Env,
    market_id: u64,
    question_hash: soroban_sdk::BytesN<32>,
    rules_uri: soroban_sdk::String,
    expiry: u64,
    bond_amount: i128,
    dispute_window: u64,
) -> Result
fn escalate_to_council(env: soroban_sdk::Env, request_id: u64) -> Result<(), DikeError>
fn finalize_undisputed(
    env: soroban_sdk::Env,
    request_id: u64,
) -> Result

Atomicity guarantee for the sequential bond distribution below:

vault_client.release_bond and vault_client.slash_bond are called via the generated non-Try client. Any Err or trap returned by a nested call propagates as a trap/panic, which causes Soroban to revert the entire top-level transaction write-set — including storage mutations and token transfers from all prior steps in this same invocation. Therefore bonds can never be partially distributed: either every slash/release in this function commits atomically, or none of them do.

fn report_council_outcome(
    env: soroban_sdk::Env,
    request_id: u64,
    outcome: Outcome,
) -> Result<(), DikeError>

Imports

WebAssembly Text (WAT) ▶