The content manager smart contract is designed to have two initial admin interactions:
First, the admin creates the contest (pot.sol).
Second, the admin funds the contest.
However, a user can potentially claim the reward before the contest is funded.
After creating the contest, a user can execute the claimCut function directly without any restriction, and it will obviously fail.
The user will waste gas, and the transaction will fail without achieving any result.
Manual analysis.
To avoid this, one method is to create a state variable to indicate the status of the pot. Alternatively, we can use the already created but unused error:
error Pot__InsufficientFunds();
and check the status before allowing a claim:
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.