Trade history comes from PoolManager, not from the token: the token emits no per-trade event. Filter Swap by the indexed pool id — every pool shares one emitting address in v4.
- Swap(id, sender, amount0, amount1, sqrtPriceX96, liquidity, tick, fee) — PoolManager, filtered by pool id
- TokenLaunched(token, creator, poolId, name, symbol, initialBuyQuote, guardEndsAt) — factory
- Graduated(quoteInPool) — token contract
- FeesCollected(token, quoteToProtocol, quoteToCreator, tokenToCreator) — fee locker
- CreatorWithdrew(token, creator, quoteAmount, tokenAmount) — fee locker