The price oracle contract allows storing and retrieving the latest price of tokens (e.g., NFTs or assets). However, the lastUpdateTimestamp
is stored globally instead of per token.
This means that when any token’s price is updated, all tokens appear to have been updated at the same time, even if their prices remain unchanged.
The lastUpdateTimestamp
should reflect when each individual token’s price was last updated.
Currently, if any token price is updated, the timestamp changes for all tokens, even if they were never updated.
getLatestPrice will always return incorrect lastUpdateTimestamp, which will allow stale data to be perceived as updated data.
Manual Review
Store Individual Timestamps Per Token
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.