The RAACNFT::mint function allows users to mint House NFTs using ERC20 tokens, but it fails to verify if the house prices are current before accepting payment. While the RAACHousePrices contract maintains a lastUpdateTimestamp that updates when prices are refreshed, the mint function doesn't check this timestamp. This oversight could lead to users minting NFTs at potentially outdated prices, as there's no mechanism to ensure price freshness before accepting payment.
Price Verification Flow:
Retrieves price from RAACHousePrices contract
Checks for zero price and sufficient funds
Transfers tokens without price freshness verification
No timestamp validation before accepting payment
Current Implementation:
Missing Price Freshness Check:
No validation of RAACHousePrices.lastUpdateTimestamp
No consideration of price update intervals
No mechanism to prevent minting with stale prices
The lack of price staleness checking creates several critical issues:
Economic Security Risks:
Users may mint NFTs at outdated prices
Potential for significant financial losses
Market manipulation opportunities
Inconsistent pricing across transactions
User Protection Issues:
No way to verify price freshness
Users may unknowingly overpay
No mechanism to prevent stale price usage
Inadequate protection against price manipulation
System Integrity Problems:
Inconsistent pricing mechanism
Potential for price arbitrage
Lack of price validation
Incomplete security measures
Market Impact:
Could lead to market inefficiencies
May affect NFT pricing dynamics
Could create unfair market advantages
Potentially destabilizes the market
Manual Review
Implement Price Freshness Validation:
Implement Price Freshness Configuration:
Add Price Freshness View Function:
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.