fn owner_of(
env: soroban_sdk::Env,
token_id: u32,
) -> Result
Soulbound: non-transferable
fn transfer(
env: soroban_sdk::Env,
from: soroban_sdk::Address,
to: soroban_sdk::Address,
token_id: u32,
) -> Result<(), soroban_sdk::Error>
fn has_badge(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
badge_type: BadgeType,
) -> bool
fn token_uri(
env: soroban_sdk::Env,
token_id: u32,
) -> Result
Admin-only: award any badge type to any user (for airdrops / rewarding early adopters)
fn admin_mint(
env: soroban_sdk::Env,
badge_type: BadgeType,
to: soroban_sdk::Address,
uri: soroban_sdk::String,
) -> Result
Mint a Nexus badge — requires Nexus subscription
fn mint_nexus(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> Result
Mint a Vector badge — requires Vector or Nexus subscription
fn mint_vector(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> Result
Mint a Genesis (entry-level) badge — FREE for all users, no tier required
fn mint_genesis(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> Result
fn total_supply(env: soroban_sdk::Env) -> u32
fn __constructor(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
saas_contract: soroban_sdk::Address,
)