After the pool is resolved (outcome != UNRESOLVED), pokeRiskWindow() silently returns without reverting or emitting any event. Callers invoking this function to eagerly seal risk markers receive no indication their call had no effect. The function checks resolution state and returns early at line 652 before reaching the _observePoolState() call that would normally seal markers or emit events.
Likelihood: Low — only affects callers who invoke pokeRiskWindow() after the pool is already resolved. By that point, the risk window markers are irrelevant.
Impact: Low — no funds at risk. Callers receive no feedback that their transaction was a no-op, which could cause off-chain systems to incorrectly assume risk markers were modified.
File: L6-PokeRiskWindow-SilentNoop.poc.t.sol
Run: forge test --match-path 'L6-PokeRiskWindow-SilentNoop.poc.t.sol' -vv
Either revert with a descriptive error, or document the silent return behavior more prominently in NatSpec:
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.