Four_hour_timeout and Four_DAY_TIMEOUT time is too long, outdated prices can still be returned
The Chainlink heartbeat indicates the expected frequency of updates from the oracle. The Chainlink heartbeat on Ethereum for ETH / USD is 3600 seconds (1 hour).
Please take a look:
https://data.chain.link/feeds/ethereum/mainnet/eth-usd
But CHAINLINK_TIMEOUT defined in LibChainlinkOracle.sol is 14400 seconds (4 hours) and 345600 (4 days)
Even if the price is outdated (more than the normal 1 hour), the outdated price will still be obtained
ETH fluctuates 10% within an hour (or two), which is common in the cryptocurrency space. The quotation at this time should be obtained within one hour (the official definition is one hour), but since the price within 2 to 4 hours is also within the 4-hour range (FOUR_HOUR_TIMEOUT), this will obtain an outdated price, causing the price to be very inaccuracy
Manual review
It should be consistent with the Heartbeat of ETH/USD
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.