Source: data-quality audit of deployment 8fcf9a8 (2026-07-07). Full findings: Notion audit.
What to build
Subscribe to two emission event types that currently credit emissions outside the indexed Voter path, causing Pool.totalEmissions to undercount on Base. The Voter distribution path is wei-exact (confirmed against raw events for all 10 checkable gauges). What is missing:
- Direct gauge top-ups. 31 Base pools show claimed greater than emissions plus redistributed minus forfeited, a residual of 2.41M AERO (~$1.62M) growing at roughly 7,000 AERO per day. The three largest gaps are exactly +1,000,000, +750,000, and +150,000 AERO, the round-number
notifyRewardAmount top-ups the configuration never subscribes to.
- One Redistributor event. A single
NotifyRewardWithoutClaim for 130,000 AERO (CL-100 WETH/USDC, 2026-03-12) is unindexed. A full-Base HyperSync sweep confirms it is the only such event, so the impact is bounded.
Optimism and all leaf chains are clean.
Root cause: the config.yaml Gauge and CLGauge blocks omit NotifyReward, and the Redistributor block omits NotifyRewardWithoutClaim (present in abis/Redistributor.json).
Acceptance criteria
Blocked by
None — can start immediately.
Source: data-quality audit of deployment
8fcf9a8(2026-07-07). Full findings: Notion audit.What to build
Subscribe to two emission event types that currently credit emissions outside the indexed Voter path, causing
Pool.totalEmissionsto undercount on Base. The Voter distribution path is wei-exact (confirmed against raw events for all 10 checkable gauges). What is missing:notifyRewardAmounttop-ups the configuration never subscribes to.NotifyRewardWithoutClaimfor 130,000 AERO (CL-100 WETH/USDC, 2026-03-12) is unindexed. A full-Base HyperSync sweep confirms it is the only such event, so the impact is bounded.Optimism and all leaf chains are clean.
Root cause: the
config.yamlGauge and CLGauge blocks omitNotifyReward, and the Redistributor block omitsNotifyRewardWithoutClaim(present inabis/Redistributor.json).Acceptance criteria
NotifyReward(Gauge and CLGauge) andNotifyRewardWithoutClaim(Redistributor), with handlers creditingtotalEmissions.pnpm envio codegenand the config-parity CI check pass.Blocked by
None — can start immediately.