Contract f1077e0b77da5e62d596e13aeae4160104cad99e7ef7f3183a6c9b6ec9e747cd

← Back to Index 📥 Download WASM

Meta

Description Stable Swap AMM for set of tokens
cliver 25.1.0#a048a57a75762458b487052e0021ea704a926bee
rssdkver 25.3.0#dcbea44513feb7734af6b6c4aced2c4a7a2715d0
rsver 1.95.0
source_repo github:AquaToken/soroban-amm

Instances

  • CA262ONRV6P2IZPFVCTQNIU5XZIPZE4RLZNSOVJUNFUWDQR6MBNKS3IB
  • CA27UTMXHLQPISZUBIDCSYLAVCCMDD2F2PQBPVTVZBYRTEHLSWLTYYU3
  • CA5DL7ZFP55STN35ONADCOUULUKKXP27IKTGJRAL6Q52KSIB5FX3HYQA
  • CA7JPXK5XK4DMGPTDUP4MA6YWYGRX7SWR6AJ2RLMDKUB6Q5RBNFJFSJP
  • CAC56QNJ2CX456TPC5S4MSOU3DBULG4TGN7AZ2SAYGBLD3GICFMZBIT2
  • CACIDXIZXZHD2KM27ETPAFHL4N4RB7MNQ6RHKLNACNFTQOMNZK3FE7ED
  • CACK3FAHXCB7QAJAXBPZ5SE4CN5KCW33AS5UUTRM2TGO2V4O4X4FZ4E6
  • CAIOFLKJ3DQGZR2C2OF2QA46ILIUT6ELTQIVO6GSQRTKUVL5B2EWMA4N
  • CAMXZXXBD7DFBLYLHUW24U4MY37X7SU5XXT5ZVVUBXRXWLAIM7INI7G2
  • CANNGX6237WS6E3VS5UVY6P547D2BTZ5PEX3XS2Y2F4MTB7EHHRJILQR
  • CAQXW3WZKODG7DXFDFQ2VRY4EVTBBJLJ4PEQW7DBSZHXEJC7542HIRQH
  • CASL4PYESGRCUJVCSS33DX52JBSRWSZJEADCMPNL5CK4UWJJ5WQPAUMP
  • CB2I6JGVCWBGXQ4WAJOQQEAKEXXPURL4E2BPEW4NKVTUYYK7VPTDDTMN
  • CB64A6FEWKK4YRWRBNWJDZ4EZ6RI74FB3MZWNECXIBL4IYC2USMF2ELV
  • CB664UQW7GDHDJE2JXN2QMGBJMO6MFEIXINX5FHPGOZTJLXLYZY7S5XG
  • CBG2QNHFV3DJTKHGABZ3ZRCDWXE6JB2FXTNVXPSOGZUDHTTH3TQ7CGRM
  • CBGSR4FCHGM5WXDIY6YD4T6SSS26HHGIJCXGVIQ2PFSO7EPLMKBZE3KW
  • CBKAMBR25ONQLTJO7NYMJUMAHRJOUR5NQZGQQ7R5UZALTBPPYWDRVIZ5
  • CBKENQ33KITYE4JKPAWALHU4KGWV5AXQLJFUNRNIDGCRLRDENX6PYVDE
  • CBL7MWLEZ4SU6YC5XL4T3WXKNKNO2UQVDVONOQSW5VVCYFWORROHY4AM
  • CBNLT7K2DUJ6U4HR7RABYQSDZ7AQYQIHBWO7SYCC4XEUOAF6OTOMHPRT
  • CBRGFMR6QBX7ASUBO534UDGOUB2SDGRL7AAFXFYBQ4DT4RJTWQG55W2T
  • CBRXOYKXPQI4EEA6KA35TUIYN5OJLNWMTIVDOMNOIL2BG5Y5LEDHUU7V
  • CBTUGNROCSTKKK2HUI3Y5Q4PNLCOXQGBT23S62FA6CMDZHJWY6F7KY6R
  • CBUTKQ3Z35FZLUKODPV7MS7NHWA3ED4IJZL5GOBQQQIHQIL4AFGJS45O
  • CBUUMFEAVUJBAV4UCTAOXYC4PNKR3M6LB7O7EDH5SKTHN4YYTC4JSR52
  • CBV5CUMDI6KI2D5BY4C4ROG5RJKEBOKATTYPWSRXIZE2WJHA7XEFALXL
  • CC2QQVENM4W4C6DW4WZGMZSW4WI6ZWFISHRWVXMTWPIAHMB77IOIP77C
  • CCE5SYJ4EJDVN2ZNB5A3DE7UOLLHI2I3J5FOFO6U6BFSXRGMYQ6GOTH7
  • CCFGZJTHQZGDZP5PK6WMLKHKJ72ACSVMJGCI2NFR7Q6EAVSKWLJB3ZH3
  • CCI5UGNCHE5PBINLZKSFFCMBUVJYWYDPKDZS54JD6TGJBA7MCG3YXNT5
  • CCJY3VRDZ55SQVD73RO3D6LPT33AMUYAQDDTGN7OHXAEDPQPRZ2PCDJT
  • CCLZQDL5LY2DBPNNFBRKPSROGFGTT7Y7AI2SM6QUI3SUTTKA672X4PDF
  • CCNXGPE4AQCSNEBZO3XJDKKDI3CRLYMVS6UWBBTVDLALLWMJEXBORQ2A
  • CCOZA42SRNHEMT7SBPAX5BG7BJXTTCHJ56FYCQRYB35CP5WUVEXM7B3F
  • CCPMQFGSSMTBLHO4SLDPRHWAHSWDQICXQPW5WM54KDPB7IRWEWLZJUQY
  • CCPQAGAPB6J4WSO4A3SBRROTMYPS4YNBRSNHVNLV4GBPSBL7IOBIQL4Y
  • CCQ6SUAEW4REXTXI5ZL7F2UNXTZTQAORQIPCCNWQWT3SGNYWZTTDLFTT
  • CCRULRY3VV6NVQHZ43KDKC75OHR6YEH7WCQBDTTU6JBIH75NC72VW6JJ
  • CCUKTEIWRW4Z55CBQIQEIZNKAF6NFHUQ6MSPSA7ETJHZQT5SD2T2OCZF
  • CCWNKTTMHZ4VRR3FYQT3G253MHOGRLUEVTO6YPENM7ZN65DGC345LHI6
  • CCYNRWTZBINZZ3CZ6FYAUKRGTRVZGCIB33CIGJHV7MFPWPNK56NTAXEW
  • CD2ZV2IM4AF25ZJJYLPSFVKMBXGTJF5ZEH7KV3Y5SI5SVTLYLS7G24GK
  • CD5WJYPFZZV4D5XCACS5T5GU6NDCA7Q67CPSDITK5PMR4W5P4QX3D67K
  • CD6VHCKSUPGQVQPEQUI6EAEO6Z4PXMFTPHW3UTAOF7W4UF7TH7ZSKZBG
  • CDCSXULBM55C5ZRP6L4E2T3NA4ALGVXNN73Y6HJXTHHCDAKUMIHGPELO
  • CDD3OQDUVL3ITL4ZJF27WVSO65PFEQQ5AOHEUPUHC7YNL7VUYM4QRLZ5
  • CDKVJYMN34ZIEXSLNFYHVAFF6M6FM5E2U6OHXOTBKH2WLBULXOE53YDP
  • CDMGXLUASLRCSMIFYTLNKGASA3DAU4UA6GWAJQ7WQIFL3HND3WXU6ZYU
  • CDMH535JSD224YXPET3B4SJOLXTQQ24GRSCWACGYBKSH2DKFJYWI7SUW
  • CDRAJL4B6PV3U22H4VBM3PGOEDG6AWCDBJHVUMQSL4LHH7RF4JZPTLV3
  • CDRRLXLBXYVENKIUCCTFUT5WW6BW43NJMAPEMGU6VIU74LV6526OLS35
  • CDS3WIIQZJJHIUPL6BP5K4TP5WD74LU4CKHDIYIHWZHJJRAKPHV42GRE
  • CDSVWH3J6C4FJO6C5CE5LF4VFPIV5WLMNQQKSNWJXNKLONXK5PAZ4KAG
  • CDU5EDRLORSCPHZDAEVHNOT7EMRLWSGHRA3WLCXFGUNVVY22PLEWNBBU

Interface

fn a(env: soroban_sdk::Env) -> 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 claim(env: soroban_sdk::Env, user: soroban_sdk::Address) -> u128
fn ramp_a(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    future_a: u128,
    future_time: u64,
)
fn deposit(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
    amounts: soroban_sdk::Vec,
    min_shares: u128,
) -> (soroban_sdk::Vec, u128)
fn version(env: soroban_sdk::Env) -> u32
fn get_info(
    env: soroban_sdk::Env,
) -> soroban_sdk::Map
fn share_id(env: soroban_sdk::Env) -> soroban_sdk::Address
fn withdraw(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
    share_amount: u128,
    min_amounts: soroban_sdk::Vec,
) -> soroban_sdk::Vec
fn gauge_add(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    gauge_address: soroban_sdk::Address,
)
fn kill_swap(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn pool_type(env: soroban_sdk::Env) -> soroban_sdk::Symbol
fn get_gauges(
    env: soroban_sdk::Env,
) -> soroban_sdk::Map
fn get_tokens(env: soroban_sdk::Env) -> soroban_sdk::Vec
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,
    token_wasm_hash: soroban_sdk::BytesN<32>,
    tokens: soroban_sdk::Vec,
    amp: u128,
    fees_config: (u32, u32),
)
fn kill_claim(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn stop_ramp_a(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn unkill_swap(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn gauge_remove(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    reward_token: soroban_sdk::Address,
)
fn gauges_claim(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
) -> soroban_sdk::Map
fn get_decimals(env: soroban_sdk::Env) -> soroban_sdk::Vec
fn get_reserves(env: soroban_sdk::Env) -> soroban_sdk::Vec
fn kill_deposit(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn unkill_claim(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn apply_new_fee(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn apply_upgrade(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
) -> (soroban_sdk::BytesN<32>, soroban_sdk::BytesN<32>)
fn contract_name(env: soroban_sdk::Env) -> soroban_sdk::Symbol
fn estimate_swap(
    env: soroban_sdk::Env,
    in_idx: u32,
    out_idx: u32,
    in_amount: u128,
) -> u128
fn commit_new_fee(env: soroban_sdk::Env, admin: soroban_sdk::Address, new_fee: u32)
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 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,
    token_wasm_hash: soroban_sdk::BytesN<32>,
    coins: soroban_sdk::Vec,
    amp: u128,
    fees_config: (u32, u32),
    reward_config: (soroban_sdk::Address, soroban_sdk::Address, soroban_sdk::Address),
    plane: soroban_sdk::Address,
    config_storage: soroban_sdk::Address,
)
fn revert_upgrade(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn unkill_deposit(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn get_pools_plane(env: soroban_sdk::Env) -> soroban_sdk::Address
fn get_user_reward(env: soroban_sdk::Env, user: soroban_sdk::Address) -> u128
fn get_user_shares(env: soroban_sdk::Env, user: soroban_sdk::Address) -> u128
fn set_pools_plane(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    plane: soroban_sdk::Address,
)
fn estimate_deposit(env: soroban_sdk::Env, amounts: soroban_sdk::Vec) -> u128
fn get_fee_fraction(env: soroban_sdk::Env) -> u32
fn get_rewards_info(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
) -> soroban_sdk::Map
fn get_total_shares(env: soroban_sdk::Env) -> u128
fn init_pools_plane(env: soroban_sdk::Env, plane: soroban_sdk::Address)
fn calc_token_amount(
    env: soroban_sdk::Env,
    amounts: soroban_sdk::Vec,
    deposit: bool,
) -> u128
fn checkpoint_reward(
    env: soroban_sdk::Env,
    token_contract: soroban_sdk::Address,
    user: soroban_sdk::Address,
    user_shares: u128,
)
fn get_protocol_fees(env: soroban_sdk::Env) -> soroban_sdk::Vec
fn get_rewards_state(env: soroban_sdk::Env, user: soroban_sdk::Address) -> bool
fn get_unused_reward(env: soroban_sdk::Env) -> u128
fn get_virtual_price(env: soroban_sdk::Env) -> u128
fn kill_gauges_claim(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn set_rewards_state(env: soroban_sdk::Env, user: soroban_sdk::Address, state: bool)
fn withdraw_one_coin(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
    share_amount: u128,
    i: u32,
    min_amount: u128,
) -> soroban_sdk::Vec
fn get_emergency_mode(env: soroban_sdk::Env) -> bool
fn get_future_address(
    env: soroban_sdk::Env,
    role_name: soroban_sdk::Symbol,
) -> soroban_sdk::Address
fn get_is_killed_swap(env: soroban_sdk::Env) -> bool
fn set_emergency_mode(
    env: soroban_sdk::Env,
    emergency_admin: soroban_sdk::Address,
    value: bool,
)
fn set_rewards_config(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    expired_at: u64,
    tps: u128,
)
fn backfill_plane_data(env: soroban_sdk::Env)
fn claim_protocol_fees(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    destination: soroban_sdk::Address,
) -> soroban_sdk::Vec
fn get_is_killed_claim(env: soroban_sdk::Env) -> bool
fn init_config_storage(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    config_storage: soroban_sdk::Address,
)
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 unkill_gauges_claim(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn get_privileged_addrs(
    env: soroban_sdk::Env,
) -> soroban_sdk::Map>
fn return_unused_reward(env: soroban_sdk::Env, admin: soroban_sdk::Address) -> u128
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 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 get_is_killed_deposit(env: soroban_sdk::Env) -> bool
fn revert_new_parameters(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn calc_withdraw_one_coin(env: soroban_sdk::Env, share_amount: u128, i: u32) -> u128
fn gauges_get_reward_info(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
) -> soroban_sdk::Map<
    soroban_sdk::Address,
    soroban_sdk::Map,
>
fn admin_set_rewards_state(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    user: soroban_sdk::Address,
    state: bool,
)
fn initialize_boost_config(
    env: soroban_sdk::Env,
    reward_boost_token: soroban_sdk::Address,
    reward_boost_feed: soroban_sdk::Address,
)
fn set_reward_boost_config(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    reward_boost_token: soroban_sdk::Address,
    reward_boost_feed: soroban_sdk::Address,
)
fn apply_transfer_ownership(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    role_name: soroban_sdk::Symbol,
)
fn estimate_working_balance(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
    new_user_shares: u128,
) -> (u128, u128)
fn get_total_claimed_reward(env: soroban_sdk::Env) -> u128
fn commit_transfer_ownership(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    role_name: soroban_sdk::Symbol,
    new_address: soroban_sdk::Address,
)
fn get_protocol_fee_fraction(env: soroban_sdk::Env) -> u32
fn get_total_excluded_shares(env: soroban_sdk::Env) -> u128
fn initialize_rewards_config(env: soroban_sdk::Env, reward_token: soroban_sdk::Address)
fn revert_transfer_ownership(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    role_name: soroban_sdk::Symbol,
)
fn set_protocol_fee_fraction(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    new_fraction: u32,
)
fn checkpoint_working_balance(
    env: soroban_sdk::Env,
    token_contract: soroban_sdk::Address,
    user: soroban_sdk::Address,
    user_shares: u128,
)
fn remove_liquidity_imbalance(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
    amounts: soroban_sdk::Vec,
    max_burn_amount: u128,
) -> u128
fn get_total_configured_reward(env: soroban_sdk::Env) -> u128
fn estimate_swap_strict_receive(
    env: soroban_sdk::Env,
    in_idx: u32,
    out_idx: u32,
    out_amount: u128,
) -> u128
fn get_total_accumulated_reward(env: soroban_sdk::Env) -> u128
fn adjust_total_accumulated_reward(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    diff: i128,
)

Imports

WebAssembly Text (WAT) ▶