Repays assets to a market.
fn repay(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
market_id: soroban_sdk::Symbol,
amount: i128,
) -> Result<(), soroban_sdk::Error>
Borrows assets from a market.
fn borrow(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
market_id: soroban_sdk::Symbol,
amount: i128,
) -> Result<(), soroban_sdk::Error>
Supplies assets to a market.
fn supply(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
market_id: soroban_sdk::Symbol,
amount: i128,
) -> Result<(), soroban_sdk::Error>
Withdraws assets from a market.
fn withdraw(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
market_id: soroban_sdk::Symbol,
amount: i128,
) -> Result<(), soroban_sdk::Error>
Executes a flash loan.
fn flash_loan(
env: soroban_sdk::Env,
_user: soroban_sdk::Address,
_market_id: soroban_sdk::Symbol,
_amount: i128,
) -> Result<(), soroban_sdk::Error>
Initializes core pool admin and dependency addresses.
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
Returns the position state for a user in a market.
fn get_position(
env: soroban_sdk::Env,
market_id: soroban_sdk::Symbol,
user: soroban_sdk::Address,
) -> Result
Pauses a market.
fn pause_market(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
market_id: soroban_sdk::Symbol,
) -> Result<(), soroban_sdk::Error>
Creates a market configuration.
fn create_market(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
market_id: soroban_sdk::Symbol,
pool_type: u32,
asset: soroban_sdk::Address,
collateral_factor: u32,
liquidation_threshold: u32,
emode_category: u32,
debt_ceiling: i128,
) -> Result<(), soroban_sdk::Error>
Resumes a market.
fn resume_market(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
market_id: soroban_sdk::Symbol,
) -> Result<(), soroban_sdk::Error>
Gets dependency address.
fn get_dependency(
env: soroban_sdk::Env,
name: soroban_sdk::Symbol,
) -> Result
fn get_irm_params(
env: soroban_sdk::Env,
market_id: soroban_sdk::Symbol,
) -> Result
Sets dependency address.
fn set_dependency(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
name: soroban_sdk::Symbol,
address: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn simulate_repay(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
market_id: soroban_sdk::Symbol,
amount: i128,
) -> Result
Delegates credit.
fn delegate_credit(
env: soroban_sdk::Env,
_delegator: soroban_sdk::Address,
_delegatee: soroban_sdk::Address,
_market_id: soroban_sdk::Symbol,
_allowance: i128,
) -> Result<(), soroban_sdk::Error>
fn get_all_markets(
env: soroban_sdk::Env,
) -> Result, soroban_sdk::Error>
fn simulate_borrow(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
market_id: soroban_sdk::Symbol,
amount: i128,
) -> Result
fn simulate_supply(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
market_id: soroban_sdk::Symbol,
amount: i128,
) -> Result
fn get_market_stats(
env: soroban_sdk::Env,
market_id: soroban_sdk::Symbol,
) -> Result
Pure helper returning health factor represented in basis points where 10_000 equals 1.0.
fn get_health_factor(
env: soroban_sdk::Env,
collateral_value: i128,
debt_value: i128,
) -> Result
fn get_user_position(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> Result
fn simulate_withdraw(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
market_id: soroban_sdk::Symbol,
amount: i128,
) -> Result
Settles a liquidated position. Callable only by the Liquidation Engine.
fn liquidate_position(
env: soroban_sdk::Env,
liquidator: soroban_sdk::Address,
borrower: soroban_sdk::Address,
debt_market: soroban_sdk::Symbol,
collateral_market: soroban_sdk::Symbol,
repay_amount: i128,
collateral_reward: i128,
) -> Result<(), soroban_sdk::Error>
Claws back a position under compliance directive.
fn compliance_clawback(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
user: soroban_sdk::Address,
market_id: soroban_sdk::Symbol,
amount: i128,
) -> Result<(), soroban_sdk::Error>
Returns delegated allowance limit.
fn get_credit_allowance(
env: soroban_sdk::Env,
_market_id: soroban_sdk::Symbol,
_delegator: soroban_sdk::Address,
_delegatee: soroban_sdk::Address,
) -> Result
Returns the active health factor for an account position based on oracle prices.
fn get_user_health_factor(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
use_liquidation_threshold: bool,
) -> Result
fn get_current_utilization(
env: soroban_sdk::Env,
market_id: soroban_sdk::Symbol,
) -> Result
fn get_user_debt_with_interest(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
market_id: soroban_sdk::Symbol,
) -> Result