fn run(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
aqua_contract: soroban_sdk::Address,
fxdao_data: (soroban_sdk::Address, soroban_sdk::Symbol, OptionalVaultKey),
asset_contracts: (soroban_sdk::Address, soroban_sdk::Address, soroban_sdk::Address),
pools: (
(soroban_sdk::Address, soroban_sdk::BytesN<32>),
(soroban_sdk::Address, soroban_sdk::BytesN<32>),
),
amount_in: i128,
)