The expel function in LevelOne.sol checks if (inSession == false) and uses a bare revert() if the condition is met. This provides no information to the caller about why the transaction failed.
When a transaction reverts with revert(), it doesn't include an error string or custom error, making debugging harder for users and off-chain systems.
Reduced diagnosability. Users or developers interacting with the contract will see a generic revert and will have to deduce the cause, rather than getting a clear error message indicating the session is not active.
Manual Review.
Use a require statement with a descriptive message or a custom error for better revert reasons.
Code Modification for LevelOne.sol::expel:
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.