fn get_config(env: soroban_sdk::Env) -> Result
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
staking_contract: soroban_sdk::Address,
reward_token: soroban_sdk::Address,
treasury_address: soroban_sdk::Address,
min_claim_amount: i128,
max_claim_per_tx: i128,
claim_cooldown: u64,
treasury_fee_rate: i128,
) -> Result<(), RewardError>
fn claim_rewards(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
pool_type: RewardPoolType,
) -> Result
fn get_reward_pool(
env: soroban_sdk::Env,
pool_type: RewardPoolType,
) -> Option
fn fund_reward_pool(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
pool_type: RewardPoolType,
amount: i128,
) -> Result<(), RewardError>
fn get_global_stats(env: soroban_sdk::Env) -> Option
fn credit_user_reward(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
user: soroban_sdk::Address,
pool_type: RewardPoolType,
amount: i128,
) -> Result<(), RewardError>
fn get_daily_snapshot(env: soroban_sdk::Env, day: u64) -> Option
fn toggle_reward_pool(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
pool_type: RewardPoolType,
active: bool,
) -> Result<(), RewardError>
fn set_emergency_pause(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
paused: bool,
) -> Result<(), RewardError>
fn get_user_reward_info(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> Option
fn estimate_user_rewards(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
pool_type: RewardPoolType,
user_stake_amount: i128,
total_stake_amount: i128,
) -> Result
fn get_claimable_rewards(env: soroban_sdk::Env, user: soroban_sdk::Address) -> i128
fn process_batch_rewards(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
pool_type: RewardPoolType,
total_pool_amount: i128,
treasury_amount: i128,
) -> Result