Approve multiple tokens at once, then perform round-trip transfer
First approves a wallet for all tokens in the list, then:
Parameters:
fn swap(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
tokens: soroban_sdk::Vec,
token_from_owner: soroban_sdk::Address,
amount_from_owner: i128,
token_to_owner: soroban_sdk::Address,
amount_to_owner: i128,
) -> Result<(), SwapError>