Rock Paper Scissors

First Flight #38
Beginner FriendlySolidity
100 EXP
View results
Submission Details
Severity: low
Invalid

Unused GameState.Revealed enum value

Summary

The GameState.Revealed enum value is defined but never used throughout the contract. All state transitions go directly from Committed to Finished or Cancelled, bypassing any intermediate Revealed state.

Vulnerability Details

Including unused enum values can cause confusion for auditors, developers, and maintainers. It implies a possible missing logic branch or incomplete feature, even if no functional issue exists today.

Impact

  • Reduces code clarity

  • May mislead future maintainers into assuming intermediate logic exists

Tools Used

  • Manual code review

Recommendations

Remove the Revealed enum value from GameState if it's not part of the intended logic:

enum GameState {
Created,
Committed,
- Revealed,
Finished,
Cancelled
}

If a reveal-specific state is planned, consider implementing the missing state transition clearly to match this intent.

Updates

Appeal created

m3dython Lead Judge 4 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

Informational

Code suggestions or observations that do not pose a direct security risk.

m3dython Lead Judge 4 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

Informational

Code suggestions or observations that do not pose a direct security risk.

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.