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.
View preliminary resultsAppeals are being carefully reviewed by our judges.
The contest is complete and the rewards are being distributed.