Skip to content

PoolLauncherPool: isEmerging captures only 25% of the on-chain emerging set #913

Description

@FonsSicca

Source: data-quality audit of deployment 8fcf9a8 (2026-07-07). Full findings: Notion audit.

What to build

Raise PoolLauncherPool.isEmerging recall to match the on-chain emerging set. A full event replay at the pinned head finds 134 pools flagged emerging on-chain, of which the database holds 34, with zero false positives. The missing TVL grew to $104.7M (from $93.2M on 07-03) and includes the USDC/AERO pool at $35.2M. The gap now reproduces on Optimism as well, its first non-Base instance.

Root-cause split: adding the unindexed flagger contract to config fixes only 12 of the 100 missing pools. The dominant cause is the handler's warn-and-skip branch for pools flagged emerging without a prior Launch through an indexed launcher. Row population itself is exact (all 1,447 Launch events present), and migration lineage is vacuously correct because no Migrate event has ever fired on-chain.

Root cause: the EmergingFlagged else-branch in src/EventHandlers/PoolLauncher/CLPoolLauncher.ts, and the absent flagger 0x3c890c74... in config.yaml.

Acceptance criteria

  • Pools flagged emerging on-chain without a prior indexed Launch are captured (the EmergingFlagged else-branch flags rather than warn-and-skips).
  • The flagger contract is added to config.
  • After reindex, isEmerging recall approaches the on-chain set (134) with zero false positives.

Blocked by

None — can start immediately.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified, ready for an AFK agent

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions