Initialize the token contract MUST be called once before any other functions
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
tax_wallet: soroban_sdk::Address,
) -> Result<(), ContractError>
Get full metadata (custom extended info)
fn metadata(env: soroban_sdk::Env) -> Result
Standard name() function for wallet compatibility
fn name(env: soroban_sdk::Env) -> Result
Standard symbol() function for wallet compatibility
fn symbol(env: soroban_sdk::Env) -> Result
Standard decimals() function for wallet compatibility
fn decimals(env: soroban_sdk::Env) -> Result
Standard balance() function - wallet compatible
fn balance(
env: soroban_sdk::Env,
id: soroban_sdk::Address,
) -> Result
Transfer tokens with automatic tax deduction
fn transfer(
env: soroban_sdk::Env,
from: soroban_sdk::Address,
to: soroban_sdk::Address,
amount: i128,
) -> Result<(), ContractError>
Burn tokens (owner only)
fn burn(
env: soroban_sdk::Env,
from: soroban_sdk::Address,
amount: i128,
) -> Result<(), ContractError>
Pause all transfers (owner only)
fn pause(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
) -> Result<(), ContractError>
Resume transfers (owner only)
fn unpause(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
) -> Result<(), ContractError>
Check if contract is paused
fn is_paused(env: soroban_sdk::Env) -> Result
fn transfer_ownership(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
new_owner: soroban_sdk::Address,
) -> Result<(), ContractError>
Get current owner
fn owner(env: soroban_sdk::Env) -> Result
Get tax wallet address
fn tax_wallet(env: soroban_sdk::Env) -> Result
Update tax wallet (owner only)
fn set_tax_wallet(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
new_tax_wallet: soroban_sdk::Address,
) -> Result<(), ContractError>
Get total supply (tracks burns)
fn total_supply(env: soroban_sdk::Env) -> Result