Contract 8e06ddce5078661808355f630d47b65772dc2fda4ac1af3c901aa41c9291ba04

← Back to Index 📥 Download WASM

Meta

Description Constant product AMM with configurable swap fee
rssdkver 22.0.7#211569aa49c8d896877dfca1f2eb4fe9071121c8
rsver 1.86.0

Instances

  • CAXNH52WQ7XUCFND2S7WVXRMRUXKFRKCMM6FWX475ZLZZCHETNL6ME6X
  • CDJBLDSLEHEZ2TDADBBO3QQPAC2HKCU3LBOGOK237YLWHROGGSM7XPHN

Interface

fn initialize_all(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    privileged_addrs: (
        soroban_sdk::Address,
        soroban_sdk::Address,
        soroban_sdk::Address,
        soroban_sdk::Address,
        soroban_sdk::Vec,
        soroban_sdk::Address,
    ),
    router: soroban_sdk::Address,
    oracle: soroban_sdk::Address,
    lp_token_wasm_hash: soroban_sdk::BytesN<32>,
    tokens: soroban_sdk::Vec,
    fees_config: (u32, u32),
    assets_config: (soroban_sdk::Symbol, soroban_sdk::Symbol),
    extra_addrs: (soroban_sdk::Address, soroban_sdk::Address, soroban_sdk::Address),
)
fn pool_type(env: soroban_sdk::Env) -> soroban_sdk::Symbol
fn initialize(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    privileged_addrs: (
        soroban_sdk::Address,
        soroban_sdk::Address,
        soroban_sdk::Address,
        soroban_sdk::Address,
        soroban_sdk::Vec,
        soroban_sdk::Address,
    ),
    router: soroban_sdk::Address,
    oracle: soroban_sdk::Address,
    lp_token_wasm_hash: soroban_sdk::BytesN<32>,
    tokens: soroban_sdk::Vec,
    fees_config: (u32, u32),
    assets_config: (soroban_sdk::Symbol, soroban_sdk::Symbol),
)
fn share_id(env: soroban_sdk::Env) -> soroban_sdk::Address
fn get_total_shares(env: soroban_sdk::Env) -> u128
fn get_tokens(env: soroban_sdk::Env) -> soroban_sdk::Vec
fn deposit(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
    desired_amounts: soroban_sdk::Vec,
    min_shares: u128,
) -> (soroban_sdk::Vec, u128)
fn swap(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
    in_idx: u32,
    out_idx: u32,
    in_amount: u128,
    out_min: u128,
) -> u128
fn estimate_swap(
    env: soroban_sdk::Env,
    in_idx: u32,
    out_idx: u32,
    in_amount: u128,
) -> u128
fn swap_strict_receive(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
    in_idx: u32,
    out_idx: u32,
    out_amount: u128,
    in_max: u128,
) -> u128
fn estimate_swap_strict_receive(
    env: soroban_sdk::Env,
    in_idx: u32,
    out_idx: u32,
    out_amount: u128,
) -> u128
fn withdraw(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
    share_amount: u128,
    min_amounts: soroban_sdk::Vec,
) -> soroban_sdk::Vec
fn get_reserves(env: soroban_sdk::Env) -> soroban_sdk::Vec
fn get_fee_fraction(env: soroban_sdk::Env) -> u32
fn get_protocol_fee_fraction(env: soroban_sdk::Env) -> u32
fn get_info(
    env: soroban_sdk::Env,
) -> soroban_sdk::Map
fn set_privileged_addrs(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    rewards_admin: soroban_sdk::Address,
    operations_admin: soroban_sdk::Address,
    pause_admin: soroban_sdk::Address,
    emergency_pause_admins: soroban_sdk::Vec,
    system_fee_admin: soroban_sdk::Address,
)
fn get_privileged_addrs(
    env: soroban_sdk::Env,
) -> soroban_sdk::Map>
fn set_oracle_guard_rails(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    twap_divergence: u64,
    stale_limit: u64,
    too_volatile_ratio: u64,
)
fn get_oracle_guard_rails(env: soroban_sdk::Env) -> OracleGuardRails
fn kill_deposit(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn kill_swap(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn kill_claim(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn kill_tax(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn kill_bonus(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn unkill_deposit(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn unkill_swap(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn unkill_claim(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn unkill_tax(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn unkill_bonus(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn get_is_killed_deposit(env: soroban_sdk::Env) -> bool
fn get_is_killed_swap(env: soroban_sdk::Env) -> bool
fn get_is_killed_claim(env: soroban_sdk::Env) -> bool
fn get_is_killed_tax(env: soroban_sdk::Env) -> bool
fn get_is_killed_bonus(env: soroban_sdk::Env) -> bool
fn set_protocol_fee_fraction(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    new_fraction: u32,
)
fn get_protocol_fees(env: soroban_sdk::Env) -> soroban_sdk::Vec
fn claim_protocol_fees(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    destination: soroban_sdk::Address,
) -> soroban_sdk::Vec
fn set_fee_rebate_fraction(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    new_fraction: u32,
)
fn set_base_tax_fraction(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    tax_fraction: u32,
)
fn set_tax_incline(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    tax_incline: u32,
)
fn set_max_tax_fraction(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    max_tax_fraction: u32,
)
fn get_tax_config(env: soroban_sdk::Env) -> (u32, u32, u32)
fn claim_protocol_tax(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    destination: soroban_sdk::Address,
) -> u128
fn version(env: soroban_sdk::Env) -> u32
fn contract_name(env: soroban_sdk::Env) -> soroban_sdk::Symbol
fn commit_upgrade(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    new_wasm_hash: soroban_sdk::BytesN<32>,
    token_new_wasm_hash: soroban_sdk::BytesN<32>,
    gauges_new_wasm_hash: soroban_sdk::BytesN<32>,
)
fn apply_upgrade(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
) -> (soroban_sdk::BytesN<32>, soroban_sdk::BytesN<32>)
fn revert_upgrade(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn set_emergency_mode(
    env: soroban_sdk::Env,
    emergency_admin: soroban_sdk::Address,
    value: bool,
)
fn get_emergency_mode(env: soroban_sdk::Env) -> bool
fn initialize_rewards_config(env: soroban_sdk::Env, reward_token: soroban_sdk::Address)
fn set_rewards_config(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    expired_at: u64,
    tps: u128,
)
fn get_unused_reward(env: soroban_sdk::Env) -> u128
fn return_unused_reward(env: soroban_sdk::Env, admin: soroban_sdk::Address) -> u128
fn get_rewards_info(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
) -> soroban_sdk::Map
fn get_user_reward(env: soroban_sdk::Env, user: soroban_sdk::Address) -> u128
fn checkpoint_reward(
    env: soroban_sdk::Env,
    token_contract: soroban_sdk::Address,
    user: soroban_sdk::Address,
    user_shares: u128,
)
fn checkpoint_working_balance(
    env: soroban_sdk::Env,
    token_contract: soroban_sdk::Address,
    user: soroban_sdk::Address,
    user_shares: u128,
)
fn get_total_accumulated_reward(env: soroban_sdk::Env) -> u128
fn get_total_configured_reward(env: soroban_sdk::Env) -> u128
fn adjust_total_accumulated_reward(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    diff: i128,
)
fn get_total_claimed_reward(env: soroban_sdk::Env) -> u128
fn claim(env: soroban_sdk::Env, user: soroban_sdk::Address) -> u128
fn gauge_add(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    gauge_address: soroban_sdk::Address,
)
fn gauge_remove(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    reward_token: soroban_sdk::Address,
)
fn gauge_schedule_reward(
    env: soroban_sdk::Env,
    router: soroban_sdk::Address,
    distributor: soroban_sdk::Address,
    gauge: soroban_sdk::Address,
    start_at: Option,
    duration: u64,
    tps: u128,
)
fn kill_gauges_claim(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn unkill_gauges_claim(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn get_gauges(
    env: soroban_sdk::Env,
) -> soroban_sdk::Map
fn gauges_claim(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
) -> soroban_sdk::Map
fn gauges_get_reward_info(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
) -> soroban_sdk::Map<
    soroban_sdk::Address,
    soroban_sdk::Map,
>
fn init_pools_plane(env: soroban_sdk::Env, plane: soroban_sdk::Address)
fn set_pools_plane(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    plane: soroban_sdk::Address,
)
fn get_pools_plane(env: soroban_sdk::Env) -> soroban_sdk::Address
fn backfill_plane_data(env: soroban_sdk::Env)
fn commit_transfer_ownership(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    role_name: soroban_sdk::Symbol,
    new_address: soroban_sdk::Address,
)
fn apply_transfer_ownership(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    role_name: soroban_sdk::Symbol,
)
fn revert_transfer_ownership(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    role_name: soroban_sdk::Symbol,
)
fn get_future_address(
    env: soroban_sdk::Env,
    role_name: soroban_sdk::Symbol,
) -> soroban_sdk::Address
fn init_config_storage(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    config_storage: soroban_sdk::Address,
)

Imports

WebAssembly Text (WAT) ▶