fn pause(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn unpause(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn extend_ttl(env: soroban_sdk::Env)
fn get_config(env: soroban_sdk::Env) -> Config
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
protected_balance_vault: soroban_sdk::Address,
reserve_vault: soroban_sdk::Address,
oracle_adapter: soroban_sdk::Address,
zk_verifier: soroban_sdk::Address,
protected_asset: soroban_sdk::Address,
payout_asset: soroban_sdk::Address,
premium_asset: soroban_sdk::Address,
max_payout_bps: u32,
max_oracle_age_seconds: u64,
high_value_threshold: i128,
)
fn accept_admin(env: soroban_sdk::Env, pending: soroban_sdk::Address)
fn claim_payout(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
position_id: u64,
) -> i128
fn get_position(env: soroban_sdk::Env, position_id: u64) -> Position
fn propose_admin(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
pending: soroban_sdk::Address,
)
fn quote_position(
env: soroban_sdk::Env,
protected_asset: soroban_sdk::Address,
payout_asset: soroban_sdk::Address,
protected_amount: i128,
duration_seconds: u64,
) -> ProtectionQuote
fn create_position(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
protected_asset: soroban_sdk::Address,
payout_asset: soroban_sdk::Address,
protected_amount: i128,
duration_seconds: u64,
partner: Option,
) -> u64
fn settle_position(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
position_id: u64,
) -> Settlement
fn get_user_positions(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> soroban_sdk::Vec
fn withdraw_principal(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
position_id: u64,
) -> i128