This function is called in all instances of querying prices from chainlink, issue is with the stale data check, it uses a hardcoded CHAINLINK_TIMEOUT
value which has been set to 4 hours as seen here https://github.com/Cyfrin/2024-02-Beanstalk-1/blob/a3658861af8f5126224718af494d02352fbb3ea5/protocol/contracts/libraries/Oracle/LibChainlinkOracle.sol#L22, now hints from this contract state that it's going to be attached to the ETH/USD feed, navigating to the feed we can see that the update time for this feed is just 1 hour
and not 4.
This leads to protocol to ingest heavily outdated/stale prices.
Reconsider the value for CHAINLINK_TIMEOUT
and have it to be like an hour
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.