Omniscia Pareto Audit
VeVotesAdapter Static Analysis Findings
VeVotesAdapter Static Analysis Findings
VVA-01S: Multiple Top-Level Declarations
| Type | Severity | Location |
|---|---|---|
| Code Style | ![]() | VeVotesAdapter.sol:L9, L20 |
Description:
The referenced file contains multiple top-level declarations that decrease the legibility of the codebase.
Example:
src/governance/VeVotesAdapter.sol
9interface IVeLocker {10 function balanceOf(address account, uint256 timestamp) external view returns (uint256);11 function totalSupply(uint256 timestamp) external view returns (uint256);12}13
14error VeVotesAdapterLockerZero();15error VeVotesAdapterDelegationDisabled();16
17/// @title VeVotesAdapter18/// @notice Wraps the ve8020 voting escrow to expose an {IVotes}-compatible API19/// @dev The adapter projects voting power on timestamps (EIP-6372 timestamp clock)20contract VeVotesAdapter is IERC5805 {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:
The IVeLocker interface was relocated to its dedicated IVeLocker file, addressing this exhibit.
