fn burn(env: soroban_sdk::Env, from: soroban_sdk::Address, amount: i128)
Admin-only mint (called by the splitter during init / update_shares).
fn mint(env: soroban_sdk::Env, to: soroban_sdk::Address, amount: i128)
fn name(env: soroban_sdk::Env) -> soroban_sdk::String
fn admin(env: soroban_sdk::Env) -> soroban_sdk::Address
fn symbol(env: soroban_sdk::Env) -> soroban_sdk::String
fn approve(
env: soroban_sdk::Env,
from: soroban_sdk::Address,
spender: soroban_sdk::Address,
amount: i128,
expiration_ledger: u32,
)
fn balance(env: soroban_sdk::Env, id: soroban_sdk::Address) -> i128
Admin-only clawback (AUDIT 2026-08 / P-2). The V2 splitter's
update_shares needs to take shares back when a holder's share is
lowered; without this the whole re-allocation path panicked on a
non-existent function. Mirrors the Stellar Asset Contract semantics:
the token admin — which for a participation token IS the pool splitter
— may burn a holder's balance.
fn clawback(env: soroban_sdk::Env, from: soroban_sdk::Address, amount: i128)
fn decimals(env: soroban_sdk::Env) -> u32
fn transfer(
env: soroban_sdk::Env,
from: soroban_sdk::Address,
to: soroban_sdk::Address,
amount: i128,
)
fn allowance(
env: soroban_sdk::Env,
from: soroban_sdk::Address,
spender: soroban_sdk::Address,
) -> i128
fn burn_from(
env: soroban_sdk::Env,
spender: soroban_sdk::Address,
from: soroban_sdk::Address,
amount: i128,
)
Transfer admin (e.g. handing token control to the splitter).
fn set_admin(env: soroban_sdk::Env, new_admin: soroban_sdk::Address)
Initialize the token. admin is the splitter contract so it can mint.
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
decimal: u32,
name: soroban_sdk::String,
symbol: soroban_sdk::String,
)
Live circulating supply. The V2 splitter uses it to assert that the participation supply still matches the pool's configured total, which is the fixed denominator of every distribution.
fn total_supply(env: soroban_sdk::Env) -> i128
fn transfer_from(
env: soroban_sdk::Env,
spender: soroban_sdk::Address,
from: soroban_sdk::Address,
to: soroban_sdk::Address,
amount: i128,
)