fn pause(env: soroban_sdk::Env, paused: bool) -> Result<(), DikeError>
fn backing(env: soroban_sdk::Env, market_id: u64) -> i128
fn balance(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
market_id: u64,
outcome: Outcome,
) -> i128
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 burn_losing(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
market_id: u64,
outcome: Outcome,
amount: i128,
) -> Result<(), DikeError>
fn __constructor(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn split_position(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
market_id: u64,
amount: i128,
) -> Result<(), DikeError>
fn burn_for_redeem(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
market_id: u64,
outcome: Outcome,
amount: i128,
) -> Result<(), DikeError>
fn merge_positions(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
market_id: u64,
amount: i128,
) -> Result<(), DikeError>
fn mint_complete_set(
env: soroban_sdk::Env,
to: soroban_sdk::Address,
market_id: u64,
amount: i128,
) -> Result<(), DikeError>
fn transfer_position(
env: soroban_sdk::Env,
from: soroban_sdk::Address,
to: soroban_sdk::Address,
market_id: u64,
outcome: Outcome,
amount: i128,
) -> Result<(), DikeError>
Privileged variant of transfer_position for forced liquidation: skips
from.require_auth() and the vault's assert_position_transfer_allowed
callback (that guard exists specifically to block voluntary transfer
of an encumbered position — forced liquidation is the sanctioned
exception to it). Gated on the "amm" role since only the AMM's
liquidation entrypoints call this.
fn transfer_position_forced(
env: soroban_sdk::Env,
from: soroban_sdk::Address,
to: soroban_sdk::Address,
market_id: u64,
outcome: Outcome,
amount: i128,
) -> Result<(), DikeError>