Contract 637df77d12c8e666032990e94158ccf133369fc1f04569a87d252622e1accf33

← Back to Index 📥 Download WASM

Meta

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

Instances

  • CAHC6CC5I44IWKWEUUUJFTRSRACSGXLQVXUFOCOP4XIAVJBIQFO53GXO

Interface

Borrower repays principal + interest before maturity. Releases collateral back to borrower, sends repayment to vault, marks loan REPAID and vault SETTLED.

fn repay(
    env: soroban_sdk::Env,
    borrower: soroban_sdk::Address,
    loan_id: u64,
) -> Result<(), SettlementError>
fn is_paused(env: soroban_sdk::Env) -> bool

One-time setup. Registers all sibling contract addresses.

fn initialize(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    offer_book: soroban_sdk::Address,
    loan_position: soroban_sdk::Address,
    collateral_vault: soroban_sdk::Address,
    lending_vault_factory: soroban_sdk::Address,
) -> Result<(), ProtocolError>
fn set_paused(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    paused: bool,
) -> Result<(), ProtocolError>

DirectClaim default path: after maturity, collateral is transferred from escrow directly to the lending vault for lender redemption. For LiquidatorBuyout, marks loan defaulted and waits for liquidator.

fn claim_default(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    loan_id: u64,
) -> Result<(), SettlementError>
fn is_liquidator(env: soroban_sdk::Env, address: soroban_sdk::Address) -> bool

Match a funded borrow request to a loan. Transfers collateral into escrow, disburses principal to borrower, creates a Loan record, and transitions vault to ACTIVE.

fn match_request(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    request_id: u64,
) -> Result
fn add_liquidator(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    liquidator: soroban_sdk::Address,
) -> Result<(), ProtocolError>

LiquidatorBuyout default path: whitelisted liquidator pays USDC into the vault and receives the collateral from escrow.

fn liquidator_buyout(
    env: soroban_sdk::Env,
    liquidator: soroban_sdk::Address,
    loan_id: u64,
    usdc_amount: i128,
) -> Result<(), SettlementError>
fn remove_liquidator(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    liquidator: soroban_sdk::Address,
) -> Result<(), ProtocolError>

Imports

WebAssembly Text (WAT) ▶