The RAACHousePrices contract uses a single global lastUpdateTimestamp for all token price updates, rather than tracking timestamps individually per token. This prevents accurate staleness checks for individual token prices.
In RAACHousePrices, the lastUpdateTimestamp is stored as a single state variable:
When prices are updated via setHousePrice(), it updates this global timestamp:
This is problematic because:
If house A's price is updated at t=100 and house B's price at t=200, house A will show lastUpdateTimestamp=200
This makes it impossible to determine when a specific token's price was last updated
Price staleness checks become unreliable as newer updates to any token mask the age of other token prices
The contract comment in setHousePrice explicitly states "Updates timestamp for each token individually" which is violated
Inability to properly implement price staleness checks per token
Misleading timestamp information for token price updates
Potential acceptance of stale prices in the protocol and other dependent protocols.
Manual Review
Modify the contract to track 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.