Omniscia 0xPhase Audit

ISystemClock Code Style Findings

ISystemClock Code Style Findings

ISC-01C: Multiple Top-Level Declarations

TypeSeverityLocation
Code StyleISystemClock.sol:L4, L18

Description:

The referenced file contains multiple top-level declarations that decrease the legibility of the codebase.

Example:

clock/ISystemClock.sol
4interface ISystemClock {
5 /// @notice Gets the time while updating it
6 /// @return The current time
7 function time() external returns (uint256);
8
9 /// @notice Gets the time without updating it
10 /// @return The current time
11 function getTime() external view returns (uint256);
12
13 /// @notice Gets the last updated time
14 /// @return The last updated time
15 function lastTime() external view returns (uint256);
16}
17
18abstract contract SystemClockStorageV1 is ISystemClock {

Recommendation:

We advise all highlighted top-level declarations to be split into their respective code files, avoiding unnecessary imports as well as increasing the legibility of the codebase.

Alleviation (3dd3d7bf0c2693b2f9c23bacedfa420393f7ea84):

The SystemClockStorageV1 implementation was split to its dedicated file, rendering this exhibit applied in full.