Contract 9937086f1222a6306f32b30f2a273dd3dd50d1b4cbe8f2c39735e61c48b84172

← Back to Index 📥 Download WASM

Meta

rssdkver 21.7.7#5da789c50b18a4c2be53394138212fed56f0dfc4
rsver 1.92.0-nightly

Instances

  • CDQYUVZAI6BFYTHBIBZQDNA6SN7AS5Z3W4N5T7PVRF4JTA6TDEFC5IZ5

Interface

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

Imports

WebAssembly Text (WAT) ▶