fn tvl(env: soroban_sdk::Env) -> Result
Emergency exit (forfeit rewards + pay penalty)
fn exit(env: soroban_sdk::Env, user: soroban_sdk::Address, id: u32) -> Result
Initialize - called by factory during deploy
fn init(
env: soroban_sdk::Env,
factory: soroban_sdk::Address,
token: soroban_sdk::Address,
xlm: soroban_sdk::Address,
min: i128,
max: i128,
) -> Result<(), E>
fn avail(env: soroban_sdk::Env) -> Result
Claim mature stake
fn claim(env: soroban_sdk::Env, user: soroban_sdk::Address, id: u32) -> Result
Pause/unpause
fn pause(env: soroban_sdk::Env, p: bool) -> Result<(), E>
Stake tokens
fn stake(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
amt: i128,
period: u64,
) -> Result
fn config(env: soroban_sdk::Env) -> Result
fn staked(env: soroban_sdk::Env, u: soroban_sdk::Address) -> i128
fn stakes(
env: soroban_sdk::Env,
u: soroban_sdk::Address,
) -> soroban_sdk::Vec<(u32, Stk)>
fn periods(env: soroban_sdk::Env) -> (u64, u64, u64)
fn preview(env: soroban_sdk::Env, amt: i128, period: u64) -> Result
fn stakers(env: soroban_sdk::Env) -> Result
Upgrade contract
fn upgrade(env: soroban_sdk::Env, wasm: soroban_sdk::BytesN<32>) -> Result<(), E>
Withdraw treasury - called via factory by owner
fn withdraw(
env: soroban_sdk::Env,
to: soroban_sdk::Address,
amt: i128,
) -> Result<(), E>
Claim all mature stakes
fn claim_all(env: soroban_sdk::Env, user: soroban_sdk::Address) -> Result
fn get_stake(env: soroban_sdk::Env, u: soroban_sdk::Address, id: u32) -> Result
fn get_state(env: soroban_sdk::Env) -> Result
Set rates - owner pays fee directly here
fn set_rates(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
fee: i128,
r7: u32,
r14: u32,
r30: u32,
) -> Result<(), E>
fn user_info(env: soroban_sdk::Env, u: soroban_sdk::Address) -> Usr
fn mature_cnt(env: soroban_sdk::Env, u: soroban_sdk::Address) -> u32
Set limits - owner pays fee directly here
fn set_limits(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
fee: i128,
min: i128,
max: i128,
) -> Result<(), E>
Set early exit penalty (bps, max 2000 = 20%)
fn set_penalty(env: soroban_sdk::Env, pen: u32) -> Result<(), E>
Preview exit penalty for a stake
fn exit_penalty(
env: soroban_sdk::Env,
u: soroban_sdk::Address,
id: u32,
) -> Result