Contract 80353b9199a71211139dbef2a8cbb4ec144a1c33051a69dd0a7c67ff7783d526

← Back to Index 📥 Download WASM

Meta

cliver 23.2.0#8c559e832fd969aa469784b66e70891fadf94f0a
rssdkver 22.0.10#9a1b75b509a5053b676b09fdbd224fe8c5f2fcd5
rsver 1.94.0

Instances

  • CBD6JNOTJLWJA3MT5MHVNV3RMNWLNXEJ3CDK2VZUVQHKBDZU6DVCQT4V

Interface

L-04: upgrade contract Wasm (admin).

fn upgrade(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    new_wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), ProtocolError>

M-04: refresh TTL on core persistent keys.

fn bump_ttl(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
) -> Result<(), ProtocolError>
fn is_paused(env: soroban_sdk::Env) -> bool
fn set_admin(
    env: soroban_sdk::Env,
    current_admin: soroban_sdk::Address,
    new_admin: soroban_sdk::Address,
) -> Result<(), ProtocolError>
fn initialize(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    settlement_engine: soroban_sdk::Address,
    vault_factory: soroban_sdk::Address,
) -> Result<(), ProtocolError>
fn set_oracle(
    env: soroban_sdk::Env,
    creator: soroban_sdk::Address,
    request_id: u64,
    oracle_address: soroban_sdk::Address,
) -> Result<(), OfferBookError>
fn set_paused(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    paused: bool,
) -> Result<(), ProtocolError>
fn get_request(
    env: soroban_sdk::Env,
    request_id: u64,
) -> Result

Set LTV in basis points (e.g. 6000 = 60%). Used for liquidator buyout anchor when the loan has no oracle.

fn set_ltv_bps(
    env: soroban_sdk::Env,
    creator: soroban_sdk::Address,
    request_id: u64,
    ltv_bps: u32,
) -> Result<(), OfferBookError>
fn mark_matched(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    request_id: u64,
) -> Result<(), OfferBookError>

10 params (Soroban limit).

fn create_request(
    env: soroban_sdk::Env,
    creator: soroban_sdk::Address,
    principal_token: soroban_sdk::Address,
    principal_amount: i128,
    collateral_token: soroban_sdk::Address,
    collateral_amount: i128,
    interest_rate_schedule: soroban_sdk::Vec,
    duration_seconds: u64,
    funding_window_seconds: u64,
    collateral_policy: CollateralPolicy,
    liquidation_price: Option,
) -> Result

Only settlement_engine may call (after penalty / collateral release orchestration).

fn mark_cancelled(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    request_id: u64,
) -> Result<(), OfferBookError>
fn get_match_whitelist(
    env: soroban_sdk::Env,
    request_id: u64,
) -> soroban_sdk::Vec
fn get_next_request_id(env: soroban_sdk::Env) -> u64

Optional matchers for match_request. Empty vector = anyone may match (see settlement_engine). Call after create_request (10-arg Soroban limit).

fn set_match_whitelist(
    env: soroban_sdk::Env,
    creator: soroban_sdk::Address,
    request_id: u64,
    matchers: soroban_sdk::Vec,
) -> Result<(), OfferBookError>
fn is_whitelisted_token(env: soroban_sdk::Env, token: soroban_sdk::Address) -> bool
fn add_whitelisted_token(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    token: soroban_sdk::Address,
) -> Result<(), ProtocolError>
fn get_whitelisted_tokens(
    env: soroban_sdk::Env,
) -> soroban_sdk::Vec
fn set_liquidation_trigger(
    env: soroban_sdk::Env,
    creator: soroban_sdk::Address,
    request_id: u64,
    trigger: LiquidationTrigger,
) -> Result<(), OfferBookError>

Deploy the per-request lending vault (optional). Call after create_request when the borrower wants pooled deposits.

fn deploy_vault_for_request(
    env: soroban_sdk::Env,
    creator: soroban_sdk::Address,
    request_id: u64,
) -> Result
fn remove_whitelisted_token(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    token: soroban_sdk::Address,
) -> Result<(), ProtocolError>

Imports

WebAssembly Text (WAT) ▶