The constructor of the WeatherNft contract initializes several critical state variables, including s_functionsConfig, s_currentMintPrice, s_stepIncreasePerMint, s_link, s_keeperRegistry, and s_keeperRegistrar. However, there is no zero address check for these parameters, which could lead to the contract being initialized with invalid addresses. This would result in the contract being unable to interact with external systems such as Chainlink Functions, Keeper Registry, or the LINK token contract.
Likelihood:
This issue will occur if the deployer of the contract provides a zero address for any of the critical parameters during deployment.
Impact:
If s_link is set to the zero address, the contract will fail to interact with the LINK token contract, breaking functionality such as transferring LINK tokens for Keeper registration.
If s_keeperRegistry or s_keeperRegistrar is set to the zero address, the contract will be unable to register or interact with Chainlink Keepers, rendering automated updates for NFTs non-functional.
Add zero address checks for critical parameters in the constructor to ensure valid addresses are provided during deployment.
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.