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>