Contract 37e982560066d77568f636e192cfef93135b7eaeada42863c229835936913eed

← Back to Index 📥 Download WASM

Meta

cliver 25.2.0#
rssdkver 23.4.1#e671b396f8bacf1370925f722df158b31c0baae5
rsver 1.94.0

Instances

  • CBWWJCZNPEHESHIZ3IRVL5NN4NYIRSK7D6E3DEVZZU5AMIO5KM3EU4CM

Interface

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.

Arguments

  • user - User address
  • period - Streak period type

Returns

Streak 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.

Arguments

  • admin - Address that will have admin privileges
  • reputation_contract - Address of the reputation contract for rewards

Errors

  • Error::AlreadyInitialized - If the contract has already been initialized
fn __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.

Arguments

  • caller - Address initiating the record (must have recorder role)
  • user - User address
  • period - Streak period type
  • donation_timestamp - Timestamp of the donation

Returns

The 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.

Arguments

  • caller - Admin address
  • reputation_contract - Reputation contract address
fn set_reputation_contract_address(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    reputation_contract: soroban_sdk::Address,
)

Imports

WebAssembly Text (WAT) ▶