Get pool information
fn get_pool(
env: soroban_sdk::Env,
pool_id: soroban_sdk::Bytes,
) -> Option
Get configuration
fn get_config(env: soroban_sdk::Env) -> Result
Initialize the liquidity pool contract
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
min_liquidity: i128,
default_fee_rate: i128,
max_pools: u32,
) -> Result<(), soroban_sdk::Error>
Pause/unpause contract
fn set_paused(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
paused: bool,
) -> Result<(), soroban_sdk::Error>
Toggle pool active status
fn toggle_pool(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
pool_id: soroban_sdk::Bytes,
active: bool,
) -> Result<(), soroban_sdk::Error>
Record liquidity addition
fn add_liquidity(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
user: soroban_sdk::Address,
pool_id: soroban_sdk::Bytes,
amount_a: i128,
amount_b: i128,
lp_tokens_minted: i128,
) -> Result<(), soroban_sdk::Error>
Register a new liquidity pool
fn register_pool(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
pool_id: soroban_sdk::Bytes,
token_a: soroban_sdk::Address,
token_b: soroban_sdk::Address,
initial_a: i128,
initial_b: i128,
fee_rate: Option,
) -> Result<(), soroban_sdk::Error>
Get pool count
fn get_pool_count(env: soroban_sdk::Env) -> u32
Get user's pool list
fn get_user_pools(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> soroban_sdk::Vec
Update default fee rate
fn update_fee_rate(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_rate: i128,
) -> Result<(), soroban_sdk::Error>
Get global liquidity stats
fn get_global_stats(env: soroban_sdk::Env) -> Option
Remove liquidity
fn remove_liquidity(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
user: soroban_sdk::Address,
pool_id: soroban_sdk::Bytes,
lp_tokens_burned: i128,
amount_a_returned: i128,
amount_b_returned: i128,
) -> Result<(), soroban_sdk::Error>
Get user LP position
fn get_user_position(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
pool_id: soroban_sdk::Bytes,
) -> Option