Contract 76132a548c90760f746437d39ae327501d857ae8809c5b6a43b97ca0823f2069

← Back to Index 📥 Download WASM

Meta

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

Instances

  • CBYQX7ZKDWX67HMH2CI2RFSEUN6P2FSN5EOZB3WQBMW2TSGWK6HR4BFZ
  • CCOGQEKY3SY2ESNBZ2N2B4ZLBWMD7GVS4DVGHX5N55X3VGFJI372JEBE
  • CD73FM7L4BYYXGDU5JXRHIZ5GRCCBKUV5FLLLGKYMSDD5IQC6E4SBBY2

Interface

fn get_loan(env: soroban_sdk::Env, loan_id: u64) -> Result

One-time setup. Only settlement engine may create/update loans.

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

Check whether a loan has passed its maturity timestamp.

fn is_matured(env: soroban_sdk::Env, loan_id: u64) -> Result

Create a new loan record. Called by settlement engine on match.

fn create_loan(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    request_id: u64,
    vault_id: u64,
    borrower: soroban_sdk::Address,
    principal_amount: i128,
    collateral_amount: i128,
    interest_rate_bps: u32,
    maturity_time: u64,
    collateral_policy: CollateralPolicy,
) -> Result

Mark loan as REPAID. Called by settlement engine.

fn mark_repaid(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    loan_id: u64,
    interest_amount: i128,
) -> Result<(), LoanError>

Mark loan as DEFAULTED. Called by settlement engine.

fn mark_defaulted(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    loan_id: u64,
) -> Result<(), LoanError>
fn get_next_loan_id(env: soroban_sdk::Env) -> u64

Imports

WebAssembly Text (WAT) ▶