Smooth Ultraviolet Turkey
High
As per ChainLink docs, We should use latestRound()
which provides more information. We should check if the roundID
is valid and if the updatedAt
is not too old.
https://docs.chain.link/data-feeds/api-reference
In https://github.com/sherlock-audit/2024-11-oku/blob/main/oku-custom-order-types/contracts/oracle/External/OracleRelay.sol#L19 the code relies on latestAnswer()
method. Which can provide stale data and doesn't ensure the latest data.
No response
No response
No response
Stale prices lead to monitory loss. As it creates an opportunity for people to drain liquidity and profit from the price difference.
No response
Integrate latestRoundData()
method. Check if the roundID
is valid and updatedAt
is not older than a certain threshold. Otherwise revert and wait for the price updates.