fn stake(env: soroban_sdk::Env, user: soroban_sdk::Address, amount: i128)
Migrate contract storage after an upgrade. Only the admin can call this function. Call this after upgrade() if storage migration is needed.
fn migrate(env: soroban_sdk::Env)
fn unstake(env: soroban_sdk::Env, user: soroban_sdk::Address)
Upgrade the contract to a new WASM binary. Only the admin can call this function.
new_wasm_hash - The hash of the new WASM binary to upgrade tofn upgrade(env: soroban_sdk::Env, new_wasm_hash: soroban_sdk::BytesN<32>)
fn is_paused(env: soroban_sdk::Env) -> bool
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
stake_wal: soroban_sdk::Address,
rewardwal: soroban_sdk::Address,
token: soroban_sdk::Address,
token_decimals: u32,
min_stake: Option,
tier_configs: Option>,
)
fn get_version(env: soroban_sdk::Env) -> u32
Check if migration has already been completed. Returns true if sync_from_old_contract has been called.
fn is_migrated(env: soroban_sdk::Env) -> bool
fn update_admin(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_admin: soroban_sdk::Address,
)
fn claim_rewards(env: soroban_sdk::Env, user: soroban_sdk::Address)
fn get_all_tiers(env: soroban_sdk::Env) -> soroban_sdk::Vec
fn replace_tiers(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
tiers: soroban_sdk::Vec,
)
fn pause_contract(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn simulate_stake(env: soroban_sdk::Env, amount: i128) -> StakeSimulation
fn update_wallets(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
stake_wal: Option,
rewardwal: Option,
)
fn unstake_partial(env: soroban_sdk::Env, user: soroban_sdk::Address, amount: i128)
fn get_staking_info(env: soroban_sdk::Env, user: soroban_sdk::Address) -> StakingRecord
fn get_tier_details(env: soroban_sdk::Env, tier: u32) -> Tier
fn unpause_contract(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn get_contract_stats(env: soroban_sdk::Env) -> ContractStats
fn update_tier_config(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
tier: u32,
min_amount: Option,
max_amount: Option,
daily_rate: Option,
)
fn get_contract_config(env: soroban_sdk::Env) -> ContractConfig
fn get_pending_rewards(env: soroban_sdk::Env, user: soroban_sdk::Address) -> i128
fn get_tier_for_amount(env: soroban_sdk::Env, amount: i128) -> (u32, i128)
fn update_token_config(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
token: Option,
token_decimals: Option,
min_stake: Option,
)
fn admin_register_stakers(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
count_to_add: u32,
)
fn get_distribution_stats(env: soroban_sdk::Env) -> DistributionStats
fn get_total_value_locked(env: soroban_sdk::Env) -> i128
One-time function to sync full state from an old contract. This function can only be called once and will be permanently locked after. Only the admin can call this function.
admin - The admin address (must match stored admin)data - MigrationData containing all state to importfn sync_from_old_contract(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
data: MigrationData,
)
fn get_active_staker_count(env: soroban_sdk::Env) -> u32
fn admin_distribute_rewards(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
users: soroban_sdk::Vec,
min_reward_threshold: Option,
) -> soroban_sdk::Vec
fn preview_batch_distribution(
env: soroban_sdk::Env,
users: soroban_sdk::Vec,
min_reward_threshold: Option,
) -> soroban_sdk::Vec