fn owner(env: soroban_sdk::Env) -> soroban_sdk::Address
Drain stranded balances (incl. accumulated, not-yet-converted fees).
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 and transaction source (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.routes: the split — each Route.amount_in of asset_in through its
own path. sum(amount_in) must equal total_amount_in - fee.The fee_ppm skim is retained in the contract in the input asset and
swept/converted to the fee asset later by the owner (deferred — avoids a
second in-band swap in every user transaction). fee_ppm/fee_to are
read from 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,
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>