fn upgrade(
env: soroban_sdk::Env,
wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), soroban_sdk::Error>
fn get_pool(
env: soroban_sdk::Env,
asset: soroban_sdk::Address,
) -> Result
fn get_risk(env: soroban_sdk::Env, id: u64) -> Result
fn open_long(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
asset: soroban_sdk::Address,
collateral_usdc: i128,
leverage_bps: u32,
) -> Result
fn add_margin(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
position_id: u64,
amount_usdc: i128,
) -> Result
fn get_market(
env: soroban_sdk::Env,
asset: soroban_sdk::Address,
) -> Result
fn open_short(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
asset: soroban_sdk::Address,
collateral_usdc: i128,
leverage_bps: u32,
) -> Result
Adds or updates a USDC/asset market. USDC remains the universal base.
fn set_market(
env: soroban_sdk::Env,
market: MarketConfig,
) -> Result<(), soroban_sdk::Error>
fn set_paused(env: soroban_sdk::Env, paused: bool) -> Result<(), soroban_sdk::Error>
fn get_position(env: soroban_sdk::Env, id: u64) -> Result
fn __constructor(
env: soroban_sdk::Env,
config: GlobalConfig,
) -> Result<(), soroban_sdk::Error>
fn get_lp_shares(
env: soroban_sdk::Env,
lp: soroban_sdk::Address,
asset: soroban_sdk::Address,
) -> Result
fn close_position(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
position_id: u64,
close_bps: Option,
) -> Result
fn get_borrow_rate(
env: soroban_sdk::Env,
asset: soroban_sdk::Address,
side: Side,
) -> Result
fn get_lp_position(
env: soroban_sdk::Env,
lp: soroban_sdk::Address,
asset: soroban_sdk::Address,
) -> Result
fn preview_position(
env: soroban_sdk::Env,
id: u64,
) -> Result
fn deposit_liquidity(
env: soroban_sdk::Env,
lp: soroban_sdk::Address,
asset: soroban_sdk::Address,
amount: i128,
) -> Result
fn get_global_config(env: soroban_sdk::Env) -> Result
fn get_open_position(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
asset: soroban_sdk::Address,
side: Side,
) -> Result
fn preview_add_margin(
env: soroban_sdk::Env,
position_id: u64,
amount_usdc: i128,
) -> Result
fn set_market_enabled(
env: soroban_sdk::Env,
asset: soroban_sdk::Address,
enabled: bool,
) -> Result<(), soroban_sdk::Error>
fn withdraw_liquidity(
env: soroban_sdk::Env,
lp: soroban_sdk::Address,
asset: soroban_sdk::Address,
shares: i128,
) -> Result
fn execute_liquidation(
env: soroban_sdk::Env,
keeper: soroban_sdk::Address,
) -> Result
fn get_position_states(
env: soroban_sdk::Env,
) -> Result
fn get_interest_rate_config(
env: soroban_sdk::Env,
asset: soroban_sdk::Address,
) -> Result
fn set_interest_rate_config(
env: soroban_sdk::Env,
asset: soroban_sdk::Address,
rate: InterestRateConfig,
) -> Result<(), soroban_sdk::Error>