fn upgrade(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), ProtocolError>
fn bump_ttl(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
) -> Result<(), ProtocolError>
fn get_loan(env: soroban_sdk::Env, loan_id: u64) -> Result
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,
) -> Result<(), ProtocolError>
fn is_matured(env: soroban_sdk::Env, loan_id: u64) -> Result
fn create_loan(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
request_id: u64,
borrower: soroban_sdk::Address,
lender: soroban_sdk::Address,
principal_amount: i128,
collateral_amount: i128,
interest_rate_schedule: soroban_sdk::Vec,
maturity_time: u64,
collateral_policy: CollateralPolicy,
oracle_liquidation: Option,
) -> Result
fn mark_repaid(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
loan_id: u64,
interest_amount: i128,
) -> Result<(), LoanError>
fn mark_defaulted(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
loan_id: u64,
) -> Result<(), LoanError>
fn mark_bought_out(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
loan_id: u64,
) -> Result<(), LoanError>
fn mark_liquidated(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
loan_id: u64,
) -> Result<(), LoanError>
fn get_next_loan_id(env: soroban_sdk::Env) -> u64
fn set_liquidation_trigger(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
loan_id: u64,
trigger: LiquidationTrigger,
) -> Result<(), LoanError>