L-03·
Missing `IERC165` support in `supportsInterface()`
TL;DR
The supportsInterface function in the ERC721WithURIBuilderUpgradeable contract overrides the IERC165 interface but fails to provide support for the necessary interface IDs(IERC165).
Severity
LOW
Method
MManual review
CAT.
The supportsInterface function in the ERC721WithURIBuilderUpgradeable contract overrides the IERC165 interface but fails to provide support for the necessary interface IDs(IERC165). This is not a good practice and may return incorrect results.
solidity
function supportsInterface(bytes4 interfaceId)publicviewvirtualoverride(IERC165, ERC721EnumerableUpgradeable)returns (bool){return ERC721EnumerableUpgradeable.supportsInterface(interfaceId);}
To mitigate this issue, change it to:
solidity
function supportsInterface(bytes4 interfaceId)publicviewvirtualoverride(IERC165, ERC721EnumerableUpgradeable)returns (bool){return ERC721EnumerableUpgradeable.supportsInterface(interfaceId) || super.supportsInterface(interfaceId);}
02Section · Report provenance
Report provenance
Published by Pashov Audit Group, with Carlos (Bloqarl) participating as a contractor. The source report states that its fixes review was not fully completed; no final remediation disposition is recorded for this finding. Read the full report.