DeFiHardhatFoundry
250,000 USDC
View results
Submission Details
Severity: medium
Invalid

Edition supportsInterface is not IERC165 compliant

Summary

according to The ERC-165 standard is designed to enable contracts to publish the interfaces they support. The supportsInterface function component of this standard, ensuring that contracts can be queried to determine which interfaces they implement. Specifically, the function must return true for the ERC-165 for any other interface IDs that the contract supports.

Vulnerability Details

The contract inherits from IDiamondLoupe and IERC165 . and the The supportsInterface() function of Edition returns the result of executing
super.supportsInterface()

// This implements ERC-165.
function supportsInterface(bytes4 _interfaceId) external view override returns (bool) {
LibDiamond.DiamondStorage storage ds = LibDiamond.diamondStorage();
return ds.supportedInterfaces[_interfaceId];
}
}

so the contracts is failed to implement the supportsInterface and leading to non-compliance with respective standards.

Impact

the contract is to be a strict implementation of IERC165 but it does not implement the mandatory ERC165.supportsInterface() function.
here is the documentaion
Link https://eips.ethereum.org/EIPS/eip-165

Tools Used

manual review

Recommendations

need to modify the function for check for the ERC-165 interface ID:

Updates

Lead Judging Commences

inallhonesty Lead Judge about 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.