Get swap quote from Soroswap (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 Soroswap router address
fn get_router(
env: soroban_sdk::Env,
) -> Result
Initialize adapter with Soroswap router and factory addresses
admin - Admin address (can update router/factory)router - Soroswap router contract addressfactory - Soroswap factory contract address (optional, for direct swaps)fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
router: soroban_sdk::Address,
factory: Option,
) -> Result<(), soroban_sdk::Error>
Update Soroswap router address (admin only)
fn set_router(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
router: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
Update Soroswap factory address (admin only)
fn set_factory(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
factory: Option,
) -> Result<(), soroban_sdk::Error>
Execute swap via Soroswap (K2 standard interface)
This is called by K2 contracts. It swaps via Soroswap router or direct pair.
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
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>