Get tier level for wallet
fn get_tier(env: soroban_sdk::Env, wallet: soroban_sdk::Address) -> u32
Check if membership is active
fn is_active(env: soroban_sdk::Env, wallet: soroban_sdk::Address) -> bool
Subscribe or renew membership
fn subscribe(
env: soroban_sdk::Env,
subscriber: soroban_sdk::Address,
tier: u32,
auto_renew: bool,
)
Initialize the contract with owner and XLM token address
fn initialize(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
xlm_token: soroban_sdk::Address,
treasury: soroban_sdk::Address,
)
Update treasury address (owner only)
fn set_treasury(env: soroban_sdk::Env, new_treasury: soroban_sdk::Address)
Get all accessible categories for wallet
fn get_categories(
env: soroban_sdk::Env,
wallet: soroban_sdk::Address,
) -> soroban_sdk::Vec
Get membership details
fn get_membership(
env: soroban_sdk::Env,
wallet: soroban_sdk::Address,
) -> Option
Get tier configuration
fn get_tier_config(env: soroban_sdk::Env, tier: u32) -> Option
Set tier configuration (owner only)
fn set_tier_config(
env: soroban_sdk::Env,
tier: u32,
price: i128,
duration: u64,
categories: soroban_sdk::Vec,
)
Cancel auto-renewal
fn cancel_auto_renew(env: soroban_sdk::Env, wallet: soroban_sdk::Address)
Check if wallet has access to specific category
fn has_category_access(
env: soroban_sdk::Env,
wallet: soroban_sdk::Address,
category: soroban_sdk::Symbol,
) -> bool
Get time until expiration (in seconds)
fn time_until_expiration(env: soroban_sdk::Env, wallet: soroban_sdk::Address) -> i64