Omniscia Vendor Finance Audit

VendorOracle Static Analysis Findings

VendorOracle Static Analysis Findings

VOE-01S: Inexistent Sanitization of Input Addresses

Description:

The linked function(s) accept address arguments yet do not properly sanitize them.

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/VendorOracle.sol
31constructor(
32 address _registry,
33 address _NativeAddress,
34 address _wNativeAddress
35) {
36 registry = FeedRegistryInterface(_registry);
37 NATIVE = _NativeAddress;
38 pegs[_wNativeAddress] = _NativeAddress;
39}

Recommendation:

We advise some basic sanitization to be put in place by ensuring that each address specified is non-zero.

Alleviation:

The first two input addresses are now validated as non-zero and the two new _natives and _wraps data entries are properly sanitized as being composed of non-zero members thus alleviating this exhibit in full.