Contract e34228198b65f5e595eaf5573d7f86899f4f8577a0ed01e3650fe659954f9250

← Back to Index 📥 Download WASM

Meta

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

Instances

  • CAE4HZMRN3DU3WN37N2P455MLJ25QFIXKLI57GZQOF2544NLVQSN3GMJ
  • CAQZ4OODV5P7C5XCIGMH72ACY77W4RYMZJJCHPCQFUGJKKIJLUQFUL6F
  • CATTMI4RGRNOEIBCMYW4KQP6F4MPJAR2YPNRV4SIAS2QMQE5ZVZNEWHB
  • CAYGOEKYXXPJ6KVZENC7MHRHYNHOVFLD3OA5T45HUF5QQA3QMS34XX3U
  • CBJ2DR4HRFA62T6ET7NID4WV3U7X6SUCQT2JXDFVKEFHJL6COPYD5IAB
  • CCCTO433VLALX4XAD4NZZBXST3DFJH2UDNJRIDC4PY7IPDS3SCIGFGR5
  • CCHHMWL5BB53G6AYMV3XNJTLZF62X22MPJ6SM3MOPQEVTZNDS6QZ6HRS
  • CCSTMX76MYUIRBNDI7KM7UOJSVKOB4TWDCCNSMYVY646YNXCSUMCESBV
  • CDZSNHZRYOILJ5FD6RS7QTJ2ATOP7BSF3RAE23PRWVEXKB6LQIDBEYKH

Interface

Lender redeems vault shares for underlying assets. Available after vault reaches SETTLED, DEFAULTED, or CLOSED status, or after deposit_deadline if still COLLECTING (cancelled request).

fn redeem(
    env: soroban_sdk::Env,
    redeemer: soroban_sdk::Address,
    shares: i128,
) -> Result

Returns the share balance for a given owner.

fn balance(env: soroban_sdk::Env, owner: soroban_sdk::Address) -> i128

Lender deposits USDC. Mints vault shares proportionally. Only while vault is in COLLECTING status and before deposit_deadline.

fn deposit(
    env: soroban_sdk::Env,
    depositor: soroban_sdk::Address,
    amount: i128,
) -> Result

Transfer vault shares between addresses.

fn transfer(
    env: soroban_sdk::Env,
    from: soroban_sdk::Address,
    to: soroban_sdk::Address,
    amount: i128,
) -> Result<(), LendingVaultError>

True when the vault has collected enough deposits to fill the request.

fn is_funded(env: soroban_sdk::Env) -> bool
fn get_status(env: soroban_sdk::Env) -> VaultStatus

Called by factory on deployment. Configures vault for a specific borrow request.

fn initialize(
    env: soroban_sdk::Env,
    vault_id: u64,
    request_id: u64,
    asset_token: soroban_sdk::Address,
    max_capacity: i128,
    deposit_deadline: u64,
    settlement_engine: soroban_sdk::Address,
) -> Result<(), ProtocolError>

Transition vault to ACTIVE when loan is matched. Transfers all deposited USDC to the settlement engine for disbursement.

fn mark_active(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    loan_id: u64,
) -> Result<(), LendingVaultError>

Transition vault to CLOSED (request cancelled before match). Callable by any authenticated address while vault is COLLECTING.

fn mark_closed(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> Result<(), LendingVaultError>
fn get_vault_id(env: soroban_sdk::Env) -> u64

Transition vault to SETTLED after successful repayment.

fn mark_settled(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> Result<(), LendingVaultError>

Total USDC (or primary asset) available for redemption.

fn total_assets(env: soroban_sdk::Env) -> i128
fn total_shares(env: soroban_sdk::Env) -> i128

Returns the total supply of vault shares.

fn total_supply(env: soroban_sdk::Env) -> i128
fn get_request_id(env: soroban_sdk::Env) -> u64

Transition vault to DEFAULTED after maturity without repayment.

fn mark_defaulted(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> Result<(), LendingVaultError>

Receive repayment (principal + interest) from settlement engine. The SE transfers USDC to this vault before calling this method.

fn receive_repayment(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    amount: i128,
) -> Result<(), LendingVaultError>

Receive USDC proceeds from liquidator buyout. The SE transfers USDC to this vault before calling this method.

fn receive_liquidation_proceeds(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    amount: i128,
) -> Result<(), LendingVaultError>

Imports

WebAssembly Text (WAT) ▶