The current Oracle feed lacks sufficient validation. It is essential to implement proper validation for the return values from the latestRoundData();
function. If the values are not correct, the system should revert the transaction.
Due to the absence of validation, the price data obtained from the Oracle can become stale, leading to incorrect return values.
The review process involved manual inspection and assessment.
To enhance the Oracle feed's reliability, it is crucial to incorporate validation mechanisms for the values returned by the latestRoundData();
function. The following validations should be considered:
Positive Value Check: Ensure that the values for answer
, answeredInRound
, startedAt
, and updatedAt
are greater than zero.
Cross-Validation: If possible, validate the returned values against data from alternative sources or historical data to detect any inconsistencies such as if(answeredInRound <= roundId ) revert InvalidRoundId();
.
By implementing these recommendations, the Oracle feed will be more robust and dependable, reducing the risk of providing incorrect price data and transaction results.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.