The storage slots in LevelTwo
contract are misaligned because of redeclaring storage variables from LevelOne
contract and missing to add schoolFees
, reviewCount
, and lastReviewTime
.
Storage slot misalignment can completly corrupt contract's state, potentially breaking core functionality or even locked funds.
Manual code review
(1)Either inherit LevelOne
contract so LevelTwo
extends LevelOne
storage layout or (2)manually re-declare all storage variables of LevelOne
in LevelTwo
contract in correct order.
Inherit LevelOne
contract and remove all redeclared state varaiables:
Redelaring all state variables in correct order:
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.