When the moderator flags a good-faith CORRUPTED outcome and names a whitehat, flagOutcome records corruptedClaimDeadline = _firstGoodFaithCorruptedAt + CORRUPTED_CLAIM_WINDOW (180 days). Per DESIGN.md §12 (lines 302-307) the full pool (principal + bonus) is reserved for the named whitehat via claimAttackerBounty for that entire 180-day window, after which anyone may sweepUnclaimedCorrupted the remainder to recoveryAddress.
The deadline is narrowed to uint32 by a truncating cast. CORRUPTED_CLAIM_WINDOW = 180 days = 15_552_000 and type(uint32).max = 4_294_967_296. When the first good-faith CORRUPTED flag occurs at block.timestamp >= 4_279_415_296 (~2105-08-11) — within 180 days of the uint32 timestamp ceiling — the sum exceeds type(uint32).max and the cast silently wraps modulo 2^32 to a small value near the Unix epoch. That past deadline simultaneously inverts both CORRUPTED-path gates: the whitehat's window is closed the instant it opens, and the permissionless sweep-to-recovery path is open from that same instant.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.
The contest is complete and the rewards are being distributed.