Insufficient LINK deposit Validation in WeatherNft::requestMintWeatherNFT
function and fullFillMintRequest
impact: Medium Severity - The Automation fails if the LINK deposit is too low, Leaving the NFT's Outdated.
The WeatherNft::requestMintWeatherNFT
function allows users to specify an _initLinkDeposit
for Chainlink Automation when _registerKeeper
is true. This LINK funds the upkeep registered in fullfillMintRequest
. However, there's no validation to ensure _initLinkDeposit
meets Chainlink's minimum requirements, risking automation failure if the deposit is insufficient.
Likelihood:
Users set _initLinkDeposit
to a very low value (e.g., 0 or 1 wei), which passes the transfer but is insufficient for Chainlink Automation.
Chainlink Automation rejects the upkeep due to insufficient funds, halting updates.
Impact:
NFTs fail to update, displaying outdated weather data, degrading user experience.
Users may need to manually update NFTs, incurring additional costs or abandoning automation.
User sets low LINK deposit
User calls requestMintWeatherNFT
with _initLinkDeposit = 1 wei
Chainlink Automation fails to register or run due to insufficient LINK
Include a new state variable constant with the minimum LINK required to deposit and then add the require in the function.
This is informational/invalid. If the LINK deposit is not enough, the function `registerUpkeep` will revert and it is responsibility of the user to provide the correct amount of `_initLinkDeposit`, if the user wants automated weather updates.
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.