Contract b5728b69ad1bc622cca8f090c2a19dcfb1b8820ebd0d2ef36541ad8592a680c9

← Back to Index 📥 Download WASM

Meta

rssdkver 21.7.7#5da789c50b18a4c2be53394138212fed56f0dfc4
rsver 1.91.1

Instances

  • CAVLX6CTTB2N2UE63WIKVIJGIWEDVEGDMXQ3VOMEK6ETVGVFA77CGT5M
  • CAXTM2ZWWYTBENXTNQGFW4PUZ2XMWTXJJWGQKUQC2HTHDOXKXMTQGBTS
  • CCABHBYMXO7WOVYH4DOD7UBKNM4RYXDSURALMQMJ53BNT7MFXJJXUEHI
  • CCF66K5RD4IKW2ZUVLXPD2WJ3RHV5RO3TJ3NEDPKO3M256IGUSLFA7JS

Interface

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

Imports

WebAssembly Text (WAT) ▶