Normal behavior: expiry is locked once a staker deposits, protecting reliance on the pool term.
Issue: contributeBonus() transfers economic value into the pool but does not set expiryLocked. The owner can still change expiry afterward, potentially delaying resolution and bonus distribution far beyond what the contributor saw on-chain.
Likelihood:
Occurs when bonus is contributed before any stake.
Impact:
Bonus funds can remain locked under a changed deadline.
The contributor has no withdrawal path and cannot enforce the originally observed expiry.
Consider modifying the `contributeBonus` function a bit. See in the below code snippet diff
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.