Omniscia Moby Audit
SettlePriceFeed Manual Review Findings
SettlePriceFeed Manual Review Findings
SPD-01M: Improper Omission of Code
Type | Severity | Location |
---|---|---|
Logical Fault | SettlePriceFeed.sol:L27 |
Description:
The referenced require
check is meant to be active in a production environment and has been commented out for development purposes.
Impact:
All TODO
related adjustments will be marked as informational given that they present "known-issues".
Example:
contracts/oracles/SettlePriceFeed.sol
24function feedSettlePrices(address[] memory _tokens, uint256[] memory _settlePrices, uint256 _expiry) external override onlyKeeper {25 for (uint256 i = 0; i < _tokens.length; i++) {26 // @TODO: get rid of expiry requirement for test27 // require(_expiry < block.timestamp, "SettlePriceFeed: EXPIRY_NOT_PASSED");28 require(_settlePrices[i] > 0, "SettlePriceFeed: INVALID_PRICE");29 settlePrices[_tokens[i]][_expiry] = _settlePrices[i];30
31 emit FeedSettlePrice(_tokens[i], _settlePrices[i], _expiry, msg.sender);32 }33}
Recommendation:
We advise it to be re-introduced, ensuring that the code adheres to its operational requirements.
Alleviation (b02fae335f62cc1f5f4236fb4d982ad16a32bd26):
The expiry check has been properly uncommented, ensuring that fed price settlements by the keeper have not expired.