Reading token state
Getting supply, holders and balances without a database.
Every coin is a plain ERC-20. name, symbol, decimals, totalSupply,
balanceOf, transfer, approve, transferFrom, and the standard
Transfer and Approval events.
What is not there
No mint, no burn, no pause, no blacklist, no owner, no upgrade path. totalSupply
is immutable: it is fixed at deployment and no code can change it.
transfer rejects the zero address. Anything expecting the usual
burn-to-zero behaviour will revert.
Enumerating coins
const total = await factory.read.totalLaunches()
const token = await factory.read.allTokens([n]) // 0 .. total-1
const meta = await factory.read.launches([token])
// meta -> creator, agentWallet, tokenId, pool, createdAt
Read every factory, not only the current one, or coins launched under the previous one will be missing.
Circulating and burnt
Circulating supply is not a separate figure: it is the fixed billion. What varies
is where it sits. The pool holds most of it at launch; burnt tokens sit at dead
addresses and remain in totalSupply.
To compute burnt, read balanceOf for
0x000000000000000000000000000000000000dEaD.