Execute a swap atomically (single-path or split-order).
sub_routes is always a list of legs; a simple swap is one entry with the full
amount_in and its hop steps. Split execution uses multiple entries.
Flow:
token_out)min_amount_outfn swap(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
token_in: soroban_sdk::Address,
token_out: soroban_sdk::Address,
sub_routes: soroban_sdk::Vec,
min_amount_out: i128,
) -> i128
Get the admin address.
fn admin(env: soroban_sdk::Env) -> soroban_sdk::Address
Upgrade the contract WASM code. Only admin can call.
fn upgrade(env: soroban_sdk::Env, new_wasm_hash: soroban_sdk::BytesN<32>)
Initialize the contract with an admin address. Must be called once after deployment.
fn initialize(env: soroban_sdk::Env, admin: soroban_sdk::Address)