Use standard ERC-20 reads (name, symbol, balanceOf, totalSupply) plus the pool fields on the token contract. Price and liquidity come from Uniswap's StateView, keyed by the token's pool id.
- poolId() — the token's Uniswap v4 pool id; pass it to StateView
- poolKey() — the full key (currencies, fee, tick spacing, hooks)
- tokenIsCurrency0() — which side of the pair the token sorts on
- quoteInPool() — USDG principal currently held by the position
- graduationTarget() — the threshold quoteInPool is measured against
- graduated() — true once the threshold has been reached
- tickLower() / tickUpper() / lpLiquidity() — the position's geometry
- FeeLocker.creatorPending(token, creator) — fees already booked to a creator