fn __constructor(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
router: soroban_sdk::Address,
)
fn approve_for_swap(
env: soroban_sdk::Env,
invoker_trader: soroban_sdk::Address,
token_to_approve: soroban_sdk::Address,
spender_contract: soroban_sdk::Address,
amount_to_approve: i128,
expiration_ledger_value: u32,
)
fn get_owner(env: soroban_sdk::Env) -> soroban_sdk::Address
fn change_owner(
env: soroban_sdk::Env,
current_owner: soroban_sdk::Address,
new_owner: soroban_sdk::Address,
)
fn get_trader(env: soroban_sdk::Env) -> Option
fn set_trader(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
trader: soroban_sdk::Address,
)
fn remove_trader(env: soroban_sdk::Env, owner: soroban_sdk::Address)
fn deposit(
env: soroban_sdk::Env,
depositor: soroban_sdk::Address,
token: soroban_sdk::Address,
amount: i128,
)
fn withdraw(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
token: soroban_sdk::Address,
to: soroban_sdk::Address,
amount: i128,
)
fn total_balance(env: soroban_sdk::Env, token: soroban_sdk::Address) -> i128
fn receive(
env: soroban_sdk::Env,
from: soroban_sdk::Address,
token: soroban_sdk::Address,
amount: i128,
)
fn get_router(env: soroban_sdk::Env) -> soroban_sdk::Address
fn handle_swap_exact_in(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
token_in: soroban_sdk::Address,
token_out: soroban_sdk::Address,
amount_in: i128,
amount_out_min: i128,
deadline: u64,
) -> i128
fn multi_swap_exact_in(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
amount_in: i128,
amount_out_min: i128,
path: soroban_sdk::Vec,
deadline: u64,
) -> soroban_sdk::Vec
fn handle_swap_exact_out(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
token_in: soroban_sdk::Address,
token_out: soroban_sdk::Address,
amount_out: i128,
amount_in_max: i128,
deadline: u64,
) -> i128
fn multi_swap_exact_out(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
amount_out: i128,
amount_in_max: i128,
path: soroban_sdk::Vec,
deadline: u64,
) -> soroban_sdk::Vec
Execute a swap for keeper order execution This is called by order_manager which must include this call in its authorization tree. The vault calls the router directly and pre-authorizes the token transfer.
fn execute_keeper_swap(
env: soroban_sdk::Env,
order_manager: soroban_sdk::Address,
token_in: soroban_sdk::Address,
token_out: soroban_sdk::Address,
amount_in: i128,
amount_out_min: i128,
deadline: u64,
) -> i128