In upgradeable contracts, it's crucial to include a storage gap to allow for future storage variable additions without causing `storage collision` issues in upgraded versions. The absence of a storage gap in this contract is indeed a potential issue.
Starklane contract is an upgradeable contract which inherits from multiple other contracts (UUPSOwnableProxied, StarklaneState, StarklaneEscrow, StarklaneMessaging, CollectionManager), each of which may introduce their own storage variables.
This complex inheritance structure emphasizes the need for a storage gap to ensure safe future upgrades.
Future upgrades that add new storage variables could potentially overwrite existing storage, leading to data corruption.
Consider appending a __gap variable as the last storage variable to the Starklane contract:
Known issue: Lightchaser
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.