Contract ab3941461656a7681370104483aa524cbf442730550b0585d112587998033cba

← Back to Index 📥 Download WASM

Meta

cliver 23.2.0#8c559e832fd969aa469784b66e70891fadf94f0a
rssdkver 23.5.3#d3e1ab2424388b10893b796b0c8e405c5edd03d2
rsver 1.94.0

Instances

  • CDXJQX4OX4CK4POPRSCZPL7HXFHXGMNAJFRWTEQWLDTG4LCL4BZQY5D5

Interface

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>

Cancel a pending upgrade proposal.

fn cancel_upgrade(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
) -> Result<(), ProtocolError>

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>

Execute a previously proposed upgrade once the timelock has elapsed.

fn execute_upgrade(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
) -> Result<(), ProtocolError>

Stage an upgrade to be executed after the timelock period (48 h).

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

Returns true when the lender whitelist is disabled, or when address is on the list. lending_vault.do_deposit calls this on every deposit.

fn is_lender_allowed(env: soroban_sdk::Env, address: soroban_sdk::Address) -> bool
fn get_match_whitelist(
    env: soroban_sdk::Env,
    request_id: u64,
) -> soroban_sdk::Vec
fn get_next_request_id(env: soroban_sdk::Env) -> u64

Returns true when the borrower whitelist is disabled, or when address is on the list.

fn is_borrower_allowed(env: soroban_sdk::Env, address: soroban_sdk::Address) -> bool

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 is_whitelisted_lender(env: soroban_sdk::Env, lender: soroban_sdk::Address) -> bool
fn is_whitelisted_oracle(env: soroban_sdk::Env, oracle: soroban_sdk::Address) -> bool
fn add_whitelisted_lender(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    lender: soroban_sdk::Address,
) -> Result<(), ProtocolError>
fn add_whitelisted_oracle(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    oracle: soroban_sdk::Address,
) -> Result<(), ProtocolError>
fn get_whitelisted_tokens(
    env: soroban_sdk::Env,
) -> soroban_sdk::Vec
fn get_whitelisted_lenders(
    env: soroban_sdk::Env,
) -> soroban_sdk::Vec
fn get_whitelisted_oracles(
    env: soroban_sdk::Env,
) -> soroban_sdk::Vec
fn is_whitelisted_borrower(
    env: soroban_sdk::Env,
    borrower: soroban_sdk::Address,
) -> bool
fn set_liquidation_trigger(
    env: soroban_sdk::Env,
    creator: soroban_sdk::Address,
    request_id: u64,
    trigger: LiquidationTrigger,
) -> Result<(), OfferBookError>
fn add_whitelisted_borrower(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    borrower: soroban_sdk::Address,
) -> Result<(), ProtocolError>

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,
    share_name: soroban_sdk::String,
    share_symbol: soroban_sdk::String,
) -> Result
fn remove_whitelisted_token(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    token: soroban_sdk::Address,
) -> Result<(), ProtocolError>

Lower the soft cap (min_principal_amount) below principal_amount. Default at create_request is min == principal_amount (full-fund-only). Once set below the hard cap, lending_vault::execute_match opens a borrower-only match path between min_principal_amount and principal_amount.

Must be called before deploy_vault_for_request. The per-vault min_capacity is snapshotted at vault initialize; later changes here do not propagate. Once a vault exists, this setter rejects with VaultAlreadyDeployed.

fn set_min_principal_amount(
    env: soroban_sdk::Env,
    creator: soroban_sdk::Address,
    request_id: u64,
    new_min: i128,
) -> Result<(), OfferBookError>
fn get_whitelisted_borrowers(
    env: soroban_sdk::Env,
) -> soroban_sdk::Vec
fn remove_whitelisted_lender(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    lender: soroban_sdk::Address,
) -> Result<(), ProtocolError>
fn remove_whitelisted_oracle(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    oracle: soroban_sdk::Address,
) -> Result<(), ProtocolError>
fn is_lender_whitelist_enabled(env: soroban_sdk::Env) -> bool
fn remove_whitelisted_borrower(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    borrower: soroban_sdk::Address,
) -> Result<(), ProtocolError>
fn set_lender_whitelist_enabled(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    enabled: bool,
) -> Result<(), ProtocolError>
fn is_borrower_whitelist_enabled(env: soroban_sdk::Env) -> bool
fn set_borrower_whitelist_enabled(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    enabled: bool,
) -> Result<(), ProtocolError>

Imports

WebAssembly Text (WAT) ▶