Beginner FriendlyFoundryNFT
100 EXP
View results
Submission Details
Severity: low
Invalid

Different function visibility in interface and implementation

Summary

In the interface IOneShot, the functions IOneShot::mintRapper, and IOneShot::updateRapperStats are marked as external functions. IOneShot::getRapperStats is marked as an external view function. However, in the OneShot contract, OneShot::mintRapper and OneShot::updateRapperStats have public visibility and OneShot::getRapperStats is a public view function.

Impact

The implementation doesn't comply with the interface in terms of the function visibility. Inconsistencies in function visibility in the interface and the actual implementation should be avoided.

Tools Used

Foundry, VSCodium.

Recommendations

In the OneShot contract, change the visibility of OneShot::mintRapper and OneShot::updateRapperStats functions to external. Also, change the visibility of OneShot::getRapperStats to external view.

Updates

Lead Judging Commences

inallhonesty Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

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