fn config(env: soroban_sdk::Env) -> Config
fn set_vamm(env: soroban_sdk::Env, vamm: soroban_sdk::Address)
fn pool_key_of(
env: soroban_sdk::Env,
pool_id: soroban_sdk::BytesN<32>,
) -> Option
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 deposit_margin(
env: soroban_sdk::Env,
account: Account,
token: soroban_sdk::Address,
amount: i128,
)
fn fee_merkle_root(env: soroban_sdk::Env) -> Option>
fn is_liquidatable(env: soroban_sdk::Env, account: Account) -> bool
fn settle_position(
env: soroban_sdk::Env,
account: Account,
pool: PoolKey,
tick_lower: i32,
tick_upper: i32,
) -> i128
fn withdraw_margin(
env: soroban_sdk::Env,
account: Account,
token: soroban_sdk::Address,
amount: i128,
)
fn get_margin_assets(
env: soroban_sdk::Env,
account: Account,
) -> soroban_sdk::Vec
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,
) -> (u128, u128, u128)
fn set_dust_threshold(env: soroban_sdk::Env, threshold: Wad)
fn get_account_balance(
env: soroban_sdk::Env,
account: Account,
token: soroban_sdk::Address,
) -> i128
fn is_account_operator(
env: soroban_sdk::Env,
account_owner: soroban_sdk::Address,
operator: soroban_sdk::Address,
) -> bool
fn set_fee_merkle_root(env: soroban_sdk::Env, root: soroban_sdk::BytesN<32>)
fn set_account_operator(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
operator: soroban_sdk::Address,
approved: bool,
)
fn get_account_positions(
env: soroban_sdk::Env,
account: Account,
) -> soroban_sdk::Vec
fn update_account_margin(
env: soroban_sdk::Env,
account: Account,
token: soroban_sdk::Address,
delta: i128,
)
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 check_margin_requirement(env: soroban_sdk::Env, account: Account) -> u128
fn get_account_margin_values(env: soroban_sdk::Env, account: Account) -> (u128, u128)
fn calculate_account_obligation(env: soroban_sdk::Env, account: Account) -> u128
fn calculate_liquidation_amounts(
env: soroban_sdk::Env,
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,
) -> i128