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>
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 is_whitelisted_oracle(env: soroban_sdk::Env, oracle: soroban_sdk::Address) -> bool
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_oracles(
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,
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>
fn remove_whitelisted_oracle(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
oracle: soroban_sdk::Address,
) -> Result<(), ProtocolError>