Normal Behavior: The contract should only initiate Chainlink Functions requests when valid JavaScript source code is provided to fetch weather data.
Issue: The _sendFunctionsWeatherFetchRequest
function fails to verify if s_functionsConfig.source
is empty before initializing the request, despite Chainlink's documentation requiring non-empty source code.
Likelihood:
Whenever s_functionsConfig.source is empty due to a lack of validation in updateSource, this issue will manifest in functions like requestMintWeatherNFT
As no runtime checks enforce the non-emptiness of source, inadvertent or malicious updates can lead to failures.
Impact:
Failed NFT Minting: Users pay mint fees but receive NFTs with stale/default weather data.
Wasted Gas/LINK: Requests will revert or fail silently, consuming resources without completing the workflow.
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.