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>