In the WeatherNft
contract, several inherited state variables from WeatherNftStore
(e.g. s_functionsConfig
, s_link
, s_keeperRegistry
) are initialized via constructor parameters, allowing flexible and transparent deployment configuration.
However, s_tokenCounter
, also declared in WeatherNftStore
, is hardcoded directly in the constructor body instead of being set via a constructor argument. This breaks the consistency of initialization and may lead to confusion or limited flexibility in future updates.
Likelihood:
Reason 1 // This will occur every time the contract is deployed, since s_tokenCounter
is not configurable.
Reason 2 // Developers modifying the deployment logic or porting the contract to another project may overlook that s_tokenCounter
is hardcoded and not part of the standard configuration.
Impact:
Impact 1 // Limits the flexibility to start token IDs from custom values like 0, 1000, etc.
Impact 2 // Reduces consistency across state variable initialization, which could impact maintainability or clarity during audits or upgrades.
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.