Initialize factory with config
fn init(
env: soroban_sdk::Env,
adm: soroban_sdk::Address,
wasm: soroban_sdk::BytesN<32>,
ovrl: soroban_sdk::Address,
xlm: soroban_sdk::Address,
fee: i128,
set: i128,
disc: u32,
) -> Result<(), Err>
Get pool by address
fn pool(env: soroban_sdk::Env, adr: soroban_sdk::Address) -> Result
Sync TVL/staker count from pool
fn sync(
env: soroban_sdk::Env,
pool: soroban_sdk::Address,
tvl: i128,
cnt: u32,
) -> Result<(), Err>
List pools with pagination
fn pools(env: soroban_sdk::Env, from: u32, lim: u32) -> soroban_sdk::Vec
Get platform stats (pools, total stakers, total tvl)
fn stats(env: soroban_sdk::Env) -> (u32, u32, i128)
Get config
fn config(env: soroban_sdk::Env) -> Result
Deploy new staking pool
fn deploy(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
token: soroban_sdk::Address,
rate: u32,
lock: u64,
min: i128,
max: i128,
cap: i128,
max_s: u32,
) -> Result
Get fee config for staking contracts
fn fee_cfg(env: soroban_sdk::Env) -> Result<(soroban_sdk::Address, i128, u32), Err>
Get pools by owner
fn by_owner(env: soroban_sdk::Env, own: soroban_sdk::Address) -> soroban_sdk::Vec
Update discount threshold
fn set_disc(env: soroban_sdk::Env, disc: u32) -> Result<(), Err>
Update fees
fn set_fees(env: soroban_sdk::Env, fee: i128, set: i128) -> Result<(), Err>
Update WASM hash
fn set_wasm(env: soroban_sdk::Env, wasm: soroban_sdk::BytesN<32>) -> Result<(), Err>
Get OVRL token address for discount check
fn ovrl_addr(env: soroban_sdk::Env) -> Result
Update admin
fn set_admin(env: soroban_sdk::Env, new: soroban_sdk::Address) -> Result<(), Err>