When the registry is CORRUPTED with an observed risk window, claimExpired reverts for the entire 180-day grace period and every other staker exit is also blocked, freezing all principal — even in the case where stakers are eventually owed a full refund.
src/ConfidencePool.sol:532-542:
During expiry ≤ now < expiry + 180 days every staker path reverts:
withdraw() → WithdrawsDisabled (disabled once riskWindowStart != 0)
claimExpired() → AgreementCorruptedAwaitingModerator
claimSurvived() / claimCorrupted() → OutcomeNotSet (outcome still UNRESOLVED)
Likelihood: Medium — occurs whenever the registry is CORRUPTED with an observed risk window and the moderator is slow.
Impact: Medium — all staker principal is frozen for up to 180 days with no partial or emergency exit, including the eventual full-refund (out-of-scope) case.
test/poc/ManualReviewPoC.t.sol::testPoC_graceWindowLocksPrincipal:
Result: [PASS] — all three exits revert, Alice's balance stays 0.
Document the maximum lock for stakers, and shorten the grace period (the backstop only needs to defend against a permanently absent moderator) or add an outcome-neutral partial-principal escape.
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.