fn has_role(
env: soroban_sdk::Env,
account: soroban_sdk::Address,
role: soroban_sdk::Symbol,
) -> Option
fn get_admin(env: soroban_sdk::Env) -> Option
Get user's streak information.
user - User addressperiod - Streak period typeStreak info if found
fn get_streak(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
period: StreakPeriod,
) -> Option
fn grant_role(
env: soroban_sdk::Env,
account: soroban_sdk::Address,
role: soroban_sdk::Symbol,
caller: soroban_sdk::Address,
)
fn revoke_role(
env: soroban_sdk::Env,
account: soroban_sdk::Address,
role: soroban_sdk::Symbol,
caller: soroban_sdk::Address,
)
Initialize the Streak contract.
admin - Address that will have admin privilegesreputation_contract - Address of the reputation contract for rewardsError::AlreadyInitialized - If the contract has already been initializedfn __constructor(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
reputation_contract: soroban_sdk::Address,
)
fn renounce_role(
env: soroban_sdk::Env,
role: soroban_sdk::Symbol,
caller: soroban_sdk::Address,
)
fn get_role_admin(
env: soroban_sdk::Env,
role: soroban_sdk::Symbol,
) -> Option
fn renounce_admin(env: soroban_sdk::Env)
fn set_role_admin(
env: soroban_sdk::Env,
role: soroban_sdk::Symbol,
admin_role: soroban_sdk::Symbol,
)
fn get_role_member(
env: soroban_sdk::Env,
role: soroban_sdk::Symbol,
index: u32,
) -> soroban_sdk::Address
Record a donation and update streak.
Requires recorder role.
caller - Address initiating the record (must have recorder role)user - User addressperiod - Streak period typedonation_timestamp - Timestamp of the donationThe user's new streak count
fn record_donation(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
user: soroban_sdk::Address,
period: StreakPeriod,
donation_timestamp: u64,
) -> u32
fn transfer_admin_role(
env: soroban_sdk::Env,
new_admin: soroban_sdk::Address,
live_until_ledger: u32,
)
fn accept_admin_transfer(env: soroban_sdk::Env)
fn get_role_member_count(env: soroban_sdk::Env, role: soroban_sdk::Symbol) -> u32
Set reputation contract address.
Requires admin role.
caller - Admin addressreputation_contract - Reputation contract addressfn set_reputation_contract_address(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
reputation_contract: soroban_sdk::Address,
)