Contract ddd4f340b1c512faf718b6d2634c3d43369dcd3dea1e4c9427d9c6597bca24d6

← Back to Index 📥 Download WASM

Meta

cliver 27.0.0#5a7c5fe76530bf4248477ac812fc757146b98cc4
rssdkver 26.1.0#175aa41306f383057a8cdfc84b68d931664fc34e
rsver 1.96.0

Instances

  • CD7KVBGNJO4YTJT6JUXNXPXLKEDQQAJYIV7YKICK3IF54LDCLWBBJCCL

Interface

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)

Imports

WebAssembly Text (WAT) ▶