fn deposit(
env: soroban_sdk::Env,
from: soroban_sdk::Address,
lp_token: soroban_sdk::Address,
amount: i128,
) -> i128
fn harvest(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
lp_token: soroban_sdk::Address,
reward_amount: i128,
)
fn version(env: soroban_sdk::Env) -> u32
fn get_mode(env: soroban_sdk::Env) -> VaultMode
fn withdraw(
env: soroban_sdk::Env,
from: soroban_sdk::Address,
lp_token: soroban_sdk::Address,
df_token_amount: i128,
) -> i128
fn get_keeper(env: soroban_sdk::Env) -> soroban_sdk::Address
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
keeper: soroban_sdk::Address,
mode: VaultMode,
)
fn get_balance(env: soroban_sdk::Env, user: soroban_sdk::Address) -> (i128, i128)
Get the RAW$ AMM contract address.
fn get_amm_address(env: soroban_sdk::Env) -> soroban_sdk::Address
Set the RAW$ AMM contract address. Admin-only, immutable after first set.
fn set_amm_address(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
amm: soroban_sdk::Address,
)
fn get_total_supply(env: soroban_sdk::Env) -> i128
Safe Mode deposit: routes single-token deposit into RAW$ AMM via C2C.
Atomic flow:
If any step fails, the entire transaction reverts — user keeps their tokens.
fn deposit_safe_mode(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
token_in: soroban_sdk::Address,
amount_in: i128,
min_shares: i128,
) -> i128
fn get_soroswap_router(env: soroban_sdk::Env) -> soroban_sdk::Address
Set the Soroswap router address. Admin-only, immutable after first set.
fn set_soroswap_router(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
router: soroban_sdk::Address,
)
Single-asset deposit into a Soroswap LP pool.
Atomic flow:
If any step fails, the entire transaction reverts — user keeps their tokens.
fn deposit_single_asset(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
token_in: soroban_sdk::Address,
amount_in: i128,
target_pool: soroban_sdk::Address,
min_lp_out: i128,
) -> i128