Execute one Soroswap swap along path on behalf of user.
Flow:
amount_in of token_in from user into this contracttoken_in from this
contract into the Soroswap pool, then call the routeramount_out_min on the outputuserpool is the Soroswap pair contract for (token_in, token_out).
It is an explicit argument only for the S1 single-hop case; the
S4 multi-stage executor derives the auth subtree from the plan.
Returns the amount of token_out delivered.
fn swap_soroswap(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
soroswap_router: soroban_sdk::Address,
pool: soroban_sdk::Address,
token_in: soroban_sdk::Address,
token_out: soroban_sdk::Address,
amount_in: i128,
amount_out_min: i128,
path: soroban_sdk::Vec,
deadline: u64,
) -> i128