fn earn(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
student: soroban_sdk::Address,
amount_vnd: u32,
) -> u32
fn init(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn admin(env: soroban_sdk::Env) -> soroban_sdk::Address
fn level(env: soroban_sdk::Env, student: soroban_sdk::Address) -> u32
fn redeem(env: soroban_sdk::Env, student: soroban_sdk::Address, points: u32) -> u32
fn balance(env: soroban_sdk::Env, student: soroban_sdk::Address) -> u32
fn get_stats(env: soroban_sdk::Env) -> ProgramStats
fn is_paused(env: soroban_sdk::Env) -> bool
fn get_config(env: soroban_sdk::Env) -> RewardConfig
fn set_paused(env: soroban_sdk::Env, admin: soroban_sdk::Address, paused: bool) -> bool
fn get_student(env: soroban_sdk::Env, student: soroban_sdk::Address) -> StudentProfile
fn total_earned(env: soroban_sdk::Env, student: soroban_sdk::Address) -> u32
fn update_rules(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
vnd_per_point: u32,
level_2_points: u32,
level_3_points: u32,
) -> RewardConfig
fn is_initialized(env: soroban_sdk::Env) -> bool
fn purchase_count(env: soroban_sdk::Env, student: soroban_sdk::Address) -> u32
fn total_redeemed(env: soroban_sdk::Env, student: soroban_sdk::Address) -> u32
fn transfer_admin(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_admin: soroban_sdk::Address,
) -> soroban_sdk::Address
fn points_for_amount(env: soroban_sdk::Env, amount_vnd: u32) -> u32