Contract e33e3095d02b480278641ce7abc377029da71c8a2b5f2b2a7d58df6978ab53d8

← Back to Index 📥 Download WASM

Meta

cliver 26.0.0#60f7458e7ecffddf2f2d91dc6d0d2db4fab03ecc
rssdkver 26.0.0#e1bf74ba6c3ddb591593f5eb5dfb85458ff714c1
rsver 1.92.0

Instances

  • CAVDUEGLKNHTKDOBNOKRH3C4T75OBYGOBJO2GGG3MSLTOS4SO7SQ5ETT

Interface

fn owner(env: soroban_sdk::Env) -> soroban_sdk::Address

Drain stranded dust. amount = 0 sweeps the full balance.

fn sweep(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    asset: soroban_sdk::Address,
    to: soroban_sdk::Address,
    amount: i128,
) -> Result
fn fee_to(env: soroban_sdk::Env) -> Option
fn fee_ppm(env: soroban_sdk::Env) -> u32
fn set_fee(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    fee_ppm: u32,
) -> Result<(), SwapError>
fn upgrade(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    new_wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), SwapError>
fn version(env: soroban_sdk::Env) -> u32

Allow/deny a swap target and a set of function names in one call (the discovery job uses this to register newly-qualified pools).

fn allow_pool(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    target: soroban_sdk::Address,
    fns: soroban_sdk::Vec,
    allowed: bool,
) -> Result<(), SwapError>

Aggregated, atomic swap with a platform fee skim.

  • user: the trader; the transaction source account (single signature).
  • asset_in / total_amount_in: pulled from user into the contract.
  • asset_out / min_total_out: revert unless the contract nets at least min_total_out of asset_out across all routes.
  • fee_route: swaps the skimmed fee (in asset_in) into the fee asset (XLM). Empty when asset_in already is the fee asset.
  • fee_min_out: lax floor for the fee conversion (should never revert).
  • routes: the split — each Route.amount_in of asset_in through its own path. sum(amount_in) must equal total_amount_in - fee.

fee_ppm and fee_to are read from contract storage, never the caller.

fn swap_split(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
    asset_in: soroban_sdk::Address,
    total_amount_in: i128,
    asset_out: soroban_sdk::Address,
    min_total_out: i128,
    fee_route: soroban_sdk::Vec,
    fee_min_out: i128,
    routes: soroban_sdk::Vec,
) -> Result
fn update_owner(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    new_owner: soroban_sdk::Address,
) -> Result<(), SwapError>
fn __constructor(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    fee_ppm: u32,
    fee_to: soroban_sdk::Address,
    fee_asset: soroban_sdk::Address,
)
fn is_fn_allowed(
    env: soroban_sdk::Env,
    target: soroban_sdk::Address,
    fn_name: soroban_sdk::Symbol,
) -> bool
fn set_fee_token(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    fee_asset: soroban_sdk::Address,
) -> Result<(), SwapError>
fn is_target_allowed(env: soroban_sdk::Env, target: soroban_sdk::Address) -> bool
fn set_fee_recipient(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    fee_to: soroban_sdk::Address,
) -> Result<(), SwapError>

Imports

WebAssembly Text (WAT) ▶