Liquid Staking

Stakelink
DeFiHardhatOracle
50,000 USDC
View results
Submission Details
Severity: medium
Invalid

Missing gap to avoid storage collisions in `OperatorStakingPool.sol`

Summary

The OperatorStakingPool.sol contract is intended to be an upgradeable smart contract, but do not have a __gap variable. In upgradeable contracts, it's crucial to include a __gap to ensure that any additional storage variables added in future contract upgrades do not collide with existing storage variables. This is especially important when inheriting from multiple upgradeable contracts.

Impact

Can result in collision of sensitive variables, which could cause unintended effects.

Tools Used

  • Manual Code review

Recommendations

Include a __gap as the last storage variable to OperatorStakingPool.sol contract to reserve space for future storage variables and prevent storage collisions. This is a common practice to ensure compatibility and avoid issues when upgrading the contract in the future.

Updates

Lead Judging Commences

inallhonesty Lead Judge 7 months ago
Submission Judgement Published
Invalidated
Reason: Known issue

Support

FAQs

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