Get swap quote from Aquarius (for view functions)
from_token - Token to swap fromto_token - Token to swap toamount_in - Amount to get quote forfn get_quote(
env: soroban_sdk::Env,
from_token: soroban_sdk::Address,
to_token: soroban_sdk::Address,
amount_in: u128,
) -> Result
Get current Aquarius router address
fn get_router(
env: soroban_sdk::Env,
) -> Result
Initialize adapter with Aquarius router address
admin - Admin address (can update router)aquarius_router - Aquarius router contract addressfn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
aquarius_router: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
Update Aquarius router address (admin only)
fn set_router(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
aquarius_router: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
Execute swap via Aquarius (K2 standard interface)
This is called by K2 contracts. It translates K2's simple interface to Aquarius's specific requirements (sorted tokens, pool_index, etc.)
from_token - Token to swap fromto_token - Token to swap toamount_in - Amount to swapmin_amount_out - Minimum acceptable output (slippage protection)recipient - Address to receive output tokensfn execute_swap(
env: soroban_sdk::Env,
from_token: soroban_sdk::Address,
to_token: soroban_sdk::Address,
amount_in: u128,
min_amount_out: u128,
recipient: soroban_sdk::Address,
) -> Result
Register a pool for a token pair (admin only)
caller - Must be admintoken_a - First tokentoken_b - Second tokenpool_address - Pool contract address from Aquariusfn register_pool(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
token_a: soroban_sdk::Address,
token_b: soroban_sdk::Address,
pool_address: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
Get the contract address allowed to execute swaps.
fn get_trusted_caller(
env: soroban_sdk::Env,
) -> Result
Update the contract address allowed to execute swaps (admin only).
fn set_trusted_caller(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
trusted_caller: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>