fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
engine: soroban_sdk::Address,
vault: soroban_sdk::Address,
insurance: soroban_sdk::Address,
settlement_asset: soroban_sdk::Address,
max_reward_bps: u32,
) -> Result<(), CoreError>
fn nominate_admin(
env: soroban_sdk::Env,
next_admin: soroban_sdk::Address,
) -> Result<(), CoreError>
fn accept_admin(env: soroban_sdk::Env) -> Result<(), CoreError>
fn set_engine(
env: soroban_sdk::Env,
engine: soroban_sdk::Address,
) -> Result<(), CoreError>
fn set_vault(
env: soroban_sdk::Env,
vault: soroban_sdk::Address,
) -> Result<(), CoreError>
fn set_insurance(
env: soroban_sdk::Env,
insurance: soroban_sdk::Address,
) -> Result<(), CoreError>
fn liquidate(
env: soroban_sdk::Env,
liquidator: soroban_sdk::Address,
user: soroban_sdk::Address,
position_id: u64,
close_size: i128,
execution_price: i128,
) -> Result