Closed sherlock-admin closed 6 months ago
1 comment(s) were left on this issue during the judging contest.
takarez commented:
invalid because { more like a feature request ; invalid}
Invalid, this is at most a gas optimization finding not valid based on sherlock rules
BAICE
medium
SafeGuard
contract is not inherited from pre-writtenIGuard
interface,Summary
The
SafeGuard
contract is not inherited fromIGuard
contract .Vulnerability Detail
The
SafeGuard
contract is inherited fromBaseGuard
andOwnable
contract, and theBaseGuard
is inherited fromIERC165
contract , soSafeGuard
contract is no relation toIGuard
contract .contract SafeGuard is BaseGuard, Ownable {
abstract contract BaseGuard is IERC165 {
Impact
IGuard
contract is useless , butBaseGuard
write twoIGuard
methods .function checkTransaction(
function checkAfterExecution(bytes32, bool) external view override {}
but
checkAfterExecution
function is not used here .Code Snippet
https://github.com/sherlock-audit/2024-01-telcoin/blob/main/telcoin-audit/contracts/zodiac/core/SafeGuard.sol#L77-L78
Tool used
Manual Review, VSCode
Recommendation
The
BaseGuard
contract should implementIGuard
interface, or , bothSafeGuard
andBaseGuard
should delete unusedcheckAfterExecution
function .