The requestMintWeatherNFT function increases s_currentMintPrice by s_stepIncreasePerMint immediately after the require(msg.value == s_currentMintPrice) check. However, the actual mint request may still fail later (e.g., due to incorrect parameters or failed LINK transfer), meaning the user won't receive an NFT but the price still increases for the next user.
This leads to inconsistent pricing and allows accidental or malicious calls to cause artificial mint price inflation, harming fairness and usability.
Likelihood:
Easy to trigger by sending incorrect inputs.
Impact:
Can cause unjustified price increases, user frustration, and potential DoS (e.g., pricing out legitimate users).
Add the price increase at fulfillMintRequest after validation
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.