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 is_locked(env: soroban_sdk::Env, loan_id: u64) -> 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,
) -> Result<(), ProtocolError>
fn lock_collateral(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
loan_id: u64,
borrower: soroban_sdk::Address,
token: soroban_sdk::Address,
amount: i128,
) -> Result<(), CollateralVaultError>
fn claim_collateral(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
loan_id: u64,
recipient: soroban_sdk::Address,
) -> Result<(soroban_sdk::Address, i128), CollateralVaultError>
Lock collateral for an unfunded borrow request (request_id). Only settlement engine.
fn lock_for_request(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
request_id: u64,
borrower: soroban_sdk::Address,
token: soroban_sdk::Address,
amount: i128,
) -> Result<(), CollateralVaultError>
fn is_request_locked(env: soroban_sdk::Env, request_id: u64) -> bool
fn release_collateral(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
loan_id: u64,
recipient: soroban_sdk::Address,
) -> Result<(), CollateralVaultError>
Release request escrow back to borrower (cancel). Only settlement engine.
fn release_for_request(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
request_id: u64,
recipient: soroban_sdk::Address,
) -> Result<(), CollateralVaultError>
fn get_collateral_token(
env: soroban_sdk::Env,
loan_id: u64,
) -> Result
fn get_collateral_amount(
env: soroban_sdk::Env,
loan_id: u64,
) -> Result
fn get_request_collateral(
env: soroban_sdk::Env,
request_id: u64,
) -> Result<(soroban_sdk::Address, i128), CollateralVaultError>
Move request escrow to loan_id storage (no token movement). Only settlement engine.
fn migrate_request_to_loan(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
request_id: u64,
loan_id: u64,
) -> Result<(), CollateralVaultError>