MorpheusAI

MorpheusAI
Foundry
22,500 USDC
View results
Submission Details
Severity: medium
Invalid

`L1Sender` uses `ERC165` instead of `ERC165Upgradeable` in upgradable contract

Summary

https://github.com/Cyfrin/2024-01-Morpheus/blob/main/contracts/L1Sender.sol#L9

L1Sender is an upgradable contract and inherits ERC165 instead of ERC165Upgradeable which can results into potential clashes in upgradabilty and storage slots

Impact

  1. Not using ERC165Upgradeable could give potential crash risk during upgrading the contract - Medium

  2. Also in Distributor.sol it uses SafeERC20 for IERC20 instead of SafeERC20Upgradeable. It doesn't any impact but OpenZeppelin recommned to use SafeERC20Upgradeable - Low

check here

Tools Used

Manual

Recommendations

Make use of OpenZeppelins upgradeable version i.e ERC165Upgradeable and SafeERC20Upgradeable instead of ERC165 and SafeERC20

Updates

Lead Judging Commences

inallhonesty Lead Judge
over 1 year ago
inallhonesty Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Known issue

Support

FAQs

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