fn config(env: soroban_sdk::Env) -> Config
fn paused(env: soroban_sdk::Env) -> bool
fn set_esm(env: soroban_sdk::Env, esm: soroban_sdk::Address)
Replace the engine's wasm (admin only); the address and storage are preserved.
fn upgrade(env: soroban_sdk::Env, new_wasm_hash: soroban_sdk::BytesN<32>)
fn bad_debt(env: soroban_sdk::Env, token: soroban_sdk::Address) -> i128
fn fee_pool(env: soroban_sdk::Env, token: soroban_sdk::Address) -> i128
fn set_vamm(env: soroban_sdk::Env, vamm: soroban_sdk::Address)
fn apply_adl(
env: soroban_sdk::Env,
account: Account,
pool: PoolKey,
tick_lower: i32,
tick_upper: i32,
min_cover: u128,
max_cover: u128,
) -> i128
fn set_admin(env: soroban_sdk::Env, new_admin: soroban_sdk::Address)
fn claim_fees(
env: soroban_sdk::Env,
account: Account,
token: soroban_sdk::Address,
cumulative_amount: i128,
proof: soroban_sdk::Vec>,
) -> i128
fn set_paused(env: soroban_sdk::Env, paused: bool)
fn adl_deficit(env: soroban_sdk::Env, pool_id: PoolId) -> i128
Storage/schema version, bumped by a post-upgrade migration when the layout changes.
fn get_version(env: soroban_sdk::Env) -> u32
fn pool_key_of(
env: soroban_sdk::Env,
pool_id: soroban_sdk::BytesN<32>,
) -> Option
fn deposit_fees(
env: soroban_sdk::Env,
from: soroban_sdk::Address,
token: soroban_sdk::Address,
amount: i128,
)
fn fees_claimed(
env: soroban_sdk::Env,
account: Account,
token: soroban_sdk::Address,
) -> i128
fn get_position(
env: soroban_sdk::Env,
account: Account,
pool: PoolKey,
tick_lower: i32,
tick_upper: i32,
) -> Option
Wire the engine. admin governs config; price_oracle (Reflector) values collateral;
apr_oracle supplies the variable factor / settlement.
fn __constructor(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
price_oracle: soroban_sdk::Address,
apr_oracle: soroban_sdk::Address,
)
fn max_positions(env: soroban_sdk::Env) -> u32
fn account_health(env: soroban_sdk::Env, account: Account) -> Wad
fn blacklist_pool(env: soroban_sdk::Env, pool_id: PoolId)
fn deposit_margin(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
account: Account,
token: soroban_sdk::Address,
amount: i128,
)
fn dust_threshold(env: soroban_sdk::Env) -> Wad
fn fee_merkle_root(env: soroban_sdk::Env) -> Option
fn initialize_pool(env: soroban_sdk::Env, pool: PoolKey, config: PoolRiskConfig)
fn is_liquidatable(env: soroban_sdk::Env, account: Account) -> bool
fn settle_position(
env: soroban_sdk::Env,
settler: soroban_sdk::Address,
account: Account,
pool: PoolKey,
debt_to_cover: u128,
collateral: soroban_sdk::Address,
) -> i128
fn withdraw_margin(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
account: Account,
token: soroban_sdk::Address,
amount: i128,
)
fn get_margin_assets(
env: soroban_sdk::Env,
account: Account,
) -> soroban_sdk::Vec
fn pool_notional_max(env: soroban_sdk::Env, pool: PoolKey) -> i128
fn protocol_fee_pool(env: soroban_sdk::Env, token: soroban_sdk::Address) -> i128
fn protocol_fee_rate(env: soroban_sdk::Env, pool: PoolKey) -> Wad
fn set_max_positions(env: soroban_sdk::Env, max: u32)
fn sweep_adl_deficit(env: soroban_sdk::Env, pool: PoolKey) -> i128
fn eliminate_bad_debt(
env: soroban_sdk::Env,
from: soroban_sdk::Address,
token: soroban_sdk::Address,
amount: i128,
)
fn liquidate_position(
env: soroban_sdk::Env,
liquidator: soroban_sdk::Address,
account: Account,
pool: PoolKey,
tick_lower: i32,
tick_upper: i32,
collateral: soroban_sdk::Address,
debt_to_cover: u128,
unwind_notional: u128,
) -> (u128, u128, u128)
fn pool_open_interest(env: soroban_sdk::Env, pool: PoolKey) -> OpenInterest
fn set_dust_threshold(env: soroban_sdk::Env, threshold: Wad)
fn set_liquidator_fee(env: soroban_sdk::Env, fee: Wad)
fn get_account_balance(
env: soroban_sdk::Env,
account: Account,
token: soroban_sdk::Address,
) -> i128
fn is_pool_blacklisted(env: soroban_sdk::Env, pool_id: PoolId) -> bool
fn set_fee_merkle_root(
env: soroban_sdk::Env,
root_seq: u64,
root: soroban_sdk::BytesN<32>,
)
fn eliminate_adl_deficit(
env: soroban_sdk::Env,
from: soroban_sdk::Address,
pool: PoolKey,
amount: i128,
)
fn get_account_positions(
env: soroban_sdk::Env,
account: Account,
) -> soroban_sdk::Vec
fn set_pool_notional_max(env: soroban_sdk::Env, pool: PoolKey, max: i128)
fn set_pool_notional_min(env: soroban_sdk::Env, pool: PoolKey, min: i128)
fn set_protocol_fee_rate(env: soroban_sdk::Env, pool: PoolKey, rate: Wad)
fn update_account_margin(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
account: Account,
token: soroban_sdk::Address,
delta: i128,
)
fn withdraw_protocol_fees(
env: soroban_sdk::Env,
token: soroban_sdk::Address,
to: soroban_sdk::Address,
amount: i128,
)
fn account_obligation_live(env: soroban_sdk::Env, account: Account) -> u128
fn get_margin_asset_config(
env: soroban_sdk::Env,
token: soroban_sdk::Address,
) -> Option
fn get_position_settlement(
env: soroban_sdk::Env,
account: Account,
pool: PoolKey,
tick_lower: i32,
tick_upper: i32,
) -> i128
fn set_margin_asset_config(
env: soroban_sdk::Env,
token: soroban_sdk::Address,
config: AssetConfig,
)
fn set_pool_closing_window(env: soroban_sdk::Env, pool: PoolKey, seconds: u64)
fn check_margin_requirement(env: soroban_sdk::Env, account: Account) -> u128
fn execute_early_settlement(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
account: Account,
pool_id: PoolId,
tick_lower: i32,
tick_upper: i32,
amount_delta: i128,
)
fn get_account_margin_values(env: soroban_sdk::Env, account: Account) -> (u128, u128)
fn preview_position_balances(
env: soroban_sdk::Env,
account: Account,
pool: PoolKey,
tick_lower: i32,
tick_upper: i32,
) -> (i128, i128)
fn calculate_account_obligation(env: soroban_sdk::Env, account: Account) -> u128
fn calculate_liquidation_amounts(
env: soroban_sdk::Env,
account: Account,
pool: PoolKey,
fixed_balance: i128,
collateral: soroban_sdk::Address,
debt_to_cover: u128,
collateral_user_balance: u128,
) -> (u128, u128, u128)
fn set_worst_case_variable_factor(
env: soroban_sdk::Env,
pool: PoolKey,
factor: WorstCaseVariableFactor,
)
fn update_position_post_vamm_action(
env: soroban_sdk::Env,
params: UpdatePositionParams,
is_liquidation: bool,
) -> (u128, i128)