fn initialize(
env: soroban_sdk::Env,
router: soroban_sdk::Address,
factory: soroban_sdk::Address,
admin: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn get_expected_amount(
env: soroban_sdk::Env,
amount_in: i128,
input_token: soroban_sdk::Address,
output_token: soroban_sdk::Address,
) -> Result
fn swap(
env: soroban_sdk::Env,
customer: soroban_sdk::Address,
merchant: soroban_sdk::Address,
amount_in: i128,
input_token: soroban_sdk::Address,
output_token: soroban_sdk::Address,
) -> Result
fn get_config(env: soroban_sdk::Env) -> Result
fn version(env: soroban_sdk::Env) -> u32
fn upgrade(env: soroban_sdk::Env, new_wasm_hash: soroban_sdk::BytesN<32>)