Omniscia Kyo Finance Audit
Elector Static Analysis Findings
Elector Static Analysis Findings
ERO-01S: Inexistent Sanitization of Input Address
Type | Severity | Location |
---|---|---|
Input Sanitization | ![]() | Elector.sol:L12-L16 |
Description:
The linked function accepts an address
argument yet does not properly sanitize it.
Impact:
The presence of zero-value addresses, especially in constructor
implementations, can cause the contract to be permanently inoperable. These checks are advised as zero-value inputs are a common side-effect of off-chain software related bugs.
Example:
contracts/voting/Elector.sol
12constructor(IVoter voter_, address gauge_) ERC4626TokenStreamSplitter(IERC20(voter_.ballot())) {13 IERC20(voter_.ballot()).approve(address(voter_), type(uint256).max);14 voter = voter_;15 gauge = gauge_;16}
Recommendation:
We advise some basic sanitization to be put in place by ensuring that the address
specified is non-zero.
Alleviation (17c8d4e59f398021156f6f9657ff278aae0462ae):
The Kyo Finance team evaluated this exhibit but opted to acknowledge it in the current iteration of the codebase.