Omniscia Kyo Finance Audit

Elector Static Analysis Findings

Elector Static Analysis Findings

ERO-01S: Inexistent Sanitization of Input Address

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.