Contract 3ea3cfc5c30efdc08dd505e9ab4df0d5f687f9a371e09dcfe1f00d74efaa4b53

← Back to Index 📥 Download WASM

Meta

Description Constant product AMM with configurable swap fee
rssdkver 22.0.6#0c47dcfa187069d241f11fb082730f667b55e802
rsver 1.87.0

Instances

  • CA4AU6O7V5HL5SPDRERKWRUG22KIPVOA3KOHCWZJJUYQ5NFKC7OAUIW6
  • CA6GS7YVJ3FF4LYCAZKNFF2MD473DFE4KOOKSXAKYHFMIZZON5HKYGCN
  • CAALB3YN5DGHR76IEUERNLVRCHILENPCZ6SSU7YY2F4MY5WTYCKSYTTU
  • CAECPXK6XOZT2TPEZ52C2VJOMOTSMYY475SFICTWXHDN74UXJDKMVKXD
  • CAGVJTI6LQNGHH56RZY7BHQ2S2PGPCO4HVVTJLJLRUZLCBEU76W7FXOY
  • CAI3PBFR572FUXEYCZSTJ4HYTL7KF4EYTKHJB7KJSNYTN43BDFPTG4TS
  • CAIJMR4AGDGHIDI44MCCVWTZECXSCUFVVF67RV5KMPTC4PQLYKTFFYUT
  • CALRUZQCHYNLXCXWBANOZGITWLYMDK7FPT44EDVHUTRWBQ67YU4N2Q7C
  • CASDAEULZPRO2GFVBOGEWZNNG2JR2JHH4ORBDC7MYOZLBKF4XB7SALYC
  • CAWRUZOOSKHS5AKN2PLRTCDLBCT2RPFKYL7DRAI5Q64HFIKUGK5YNZFV
  • CB7L2XGIQMJX2VO5BEDY7Y4BF5RNXBGA3N5QUEMYGIFHJOXRHDMF2C5F
  • CBC7VX5EKQJBYAMIWYFRQQG2K2GUYULXHO2Y665YHPFZLWEPXBNI6LR7
  • CBEJQ2XDYBIPHTKF6E3RZ54UDV3AOM6LFS7NPS4LOSHWDGX2AJOYVU3B
  • CBFNCIWG4HEMGSAAR4DEVS2DA7JWQYH5SQEZ6SR74HOZCSP3JNCSFZEA
  • CBHWO677JA72CGF2SPTWISMJP7PQTT7NQBIO6W5YQ62UJBF55IN34F26
  • CBPAHOIHE55EUKTQGSY23WEHXLIEBKYU6JUCH76WQ67T3WMTDEUBCX6U
  • CBQRTFL2DNYL3DQDFL4FYGY2RLX4QXIRE3MHRRHB7O5RF3GHPVCZYYBZ
  • CBSSJUU3QMZDSUYHL6K7Q5446LYWPTXRWJZFM2HBTATM4AUU5VNHA3RK
  • CBW3BURM3T75RJH2RHULQMTBOLPD42WW6DGB2CWEVT6ZHBAFNGWNRGWC
  • CC5E5HX5K5ERF6KIKGXCT3UPNBKI63YHHQRBB4C4CKEUWL4FA22VOJ7L
  • CCC2KUPDPTIBWB3GBTMJB6IKBNJKWT3WUDYXEWVDX2KB4WLSRL2WGNU3
  • CCF76DJMOL56MGFFKQ4U5BY3RSZC37R2F5F3NIW7MPUOKFRY4LOKN7EQ
  • CCHNAJ3OFBBWTAOI22DAR5ZDXUZ55DUSMCANMEJIHX7JBA67EZUI7FRV
  • CCMD6523ITIZX7WQEWCGDJE7FHD6AO6VSLWJ6VFLLFFPYENY6CFREMNK
  • CCO2HI5HGF6KVMA65DOIN52BWA4P6Z6T6HKO46KGLZXXIUB3KZ3K5W4E
  • CCWURHLMAE7M7KBB6JAEMHGZQVENXMF73VTDBBFPK52Q23JRFUVY4JLS
  • CCZ7COTQVZGHNPYCCZBGAQS3DZXNP665HCVT2EO4HWCDQGP3SP3Z6YA3
  • CCZIETBWABI4H7NONISQZKGI74FPUKNLCOIWQJ2RZIMCYIFOJAS56LTN
  • CDD5SQ7AQ755HGVNK4SOL5EWZ6PNPCZ7HR2XSF6WU2KDX6ZGTYAS3IKE
  • CDFVWNLPXHEARNK7RT6Q42TYOE5FC6N2VPXH5GVJ7N6H2PWRKKNPOENC
  • CDGAAOKSMARPIFB4N54BBAHXPZ7QMESGUUSLZ6QGSFFPFWDH35D72GFH
  • CDPKDMH5WQDVNN3TVOYAJLPQ27HVPPHWKD6C5APMZSRFAJAWZYSEA6PB
  • CDZJXJN3E7BGKAEAVTX2OZXW7QXIKTAK3UNU3R5MAFVBUHT3IRIKAYB2

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,
    lp_token_wasm_hash: soroban_sdk::BytesN<32>,
    tokens: soroban_sdk::Vec,
    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 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,
    lp_token_wasm_hash: soroban_sdk::BytesN<32>,
    tokens: soroban_sdk::Vec,
    fees_config: (u32, u32),
)
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 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 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 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 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 version(env: soroban_sdk::Env) -> 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 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 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 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 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,
    gauge_address: soroban_sdk::Address,
)
fn gauge_schedule_reward(
    env: soroban_sdk::Env,
    gauge_operator: 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::Vec
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) ▶