This function returns the lowest timestamp from all the oracles, but the data are comming from the last one.
_getData function iterates over oracles and it returns data from the last one, and the oldest timestamp. Which might lead to situation where the last oracle has valid current price, but the timestamp is returned from the first oracle.
Example:
Oracle 1: timestamp 100_000, price: 1$
Oracle 2: timestamp <current>, price 0.5$
returns price => 0.5$, timestamp => 100_000
getData() might return new date with invalid timestamp. So it might give impression that the data are old.
Manual Review
That function should returns data from the highest timestamp, so the prices would be the most accurate.
Here we’re searching for the weakest element in the chain to know if we can trust the entire chain. That’s why we need the oldest timestamp to check if the all chain returns at least one staled data.
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.