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.
View preliminary resultsAppeals are being carefully reviewed by our judges.
The contest is complete and the rewards are being distributed.