sweepUnclaimedBonus moves the full bonus to recoveryAddress without latching claimsStarted. If the moderator later corrects a SURVIVED flag to good-faith CORRUPTED, the re-snapshot uses the reduced totalBonus, so the whitehat's bounty permanently excludes the swept bonus — breaking the DESIGN §4 promise that the pre-claim correction window is lossless.
Under a moderator SURVIVED flag with riskWindowStart == 0, the bonus is unreserved and swept to recoveryAddress, zeroing totalBonus, but claimsStarted is intentionally left false (src/ConfidencePool.sol:499-506):
Because the window stays open, a correction to good-faith CORRUPTED re-snapshots the reduced bonus:
This window opens only via a moderator flagOutcome(SURVIVED) — the claimExpired auto-resolve paths latch claimsStarted (L549, L575) and are immune.
Likelihood: Low — requires a moderator SURVIVED → CORRUPTED correction with a permissionless sweep interleaved.
Impact: Medium — the bonus portion of a good-faith bounty is permanently diverted from the whitehat to the sponsor-controlled recoveryAddress.
test/poc/ManualReviewPoC.t.sol::testPoC_preClaimBonusSweepShrinksCorrectedBounty:
Result (-vvvv):
Latch claimsStarted when the sweep decrements accounted totalBonus (value-movement finality). A pure donation/dust sweep still does not latch, so a 1-wei donation cannot foreclose the re-flag window.
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.