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