fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
staking_contract: soroban_sdk::Address,
reward_token: soroban_sdk::Address,
max_complexity: u32,
min_reward: i128,
min_bond: i128,
)
fn add_multiple_users(
env: soroban_sdk::Env,
users: soroban_sdk::Vec,
)
fn add_user(env: soroban_sdk::Env, user: soroban_sdk::Address)
fn calculate_bond(env: soroban_sdk::Env, sender: soroban_sdk::Address)
fn calculate_unbond(env: soroban_sdk::Env, sender: soroban_sdk::Address)
fn distribute_rewards(env: soroban_sdk::Env)
fn withdraw_rewards(env: soroban_sdk::Env, sender: soroban_sdk::Address)
fn fund_distribution(
env: soroban_sdk::Env,
start_time: u64,
distribution_duration: u64,
token_amount: i128,
)
fn withdraw_leftover(env: soroban_sdk::Env, amount: i128)
fn query_config(env: soroban_sdk::Env) -> ConfigResponse
fn query_admin(env: soroban_sdk::Env) -> soroban_sdk::Address
fn query_annualized_reward(env: soroban_sdk::Env) -> AnnualizedRewardResponse
fn query_withdrawable_reward(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> WithdrawableRewardResponse
fn query_distributed_reward(env: soroban_sdk::Env, asset: soroban_sdk::Address) -> u128
fn query_undistributed_reward(
env: soroban_sdk::Env,
asset: soroban_sdk::Address,
) -> u128
fn update(env: soroban_sdk::Env, new_wasm_hash: soroban_sdk::BytesN<32>)