Omniscia Moby Audit

SettlePriceFeed Manual Review Findings

SettlePriceFeed Manual Review Findings

SPD-01M: Improper Omission of Code

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 test
27 // 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.