The requestMintWeatherNFT
function lacks input validation on critical parameters, which may lead to unintended behavior, broken downstream logic, or wasted user funds. Specifically:
heartbeat
is not validated for zero values. A 0
heartbeat may cause misconfigured keepers or faulty logic elsewhere.
_pincode
and _isoCode
are accepted without checks for emptiness or excessive length. Empty or malformed strings could lead to failed oracle requests or undefined behavior.
_initLinkDeposit
is not validated to be greater than zero when _registerKeeper == true
, which could result in no LINK being transferred, yet the contract assumes a valid deposit.
Likelihood:
Inputs are user-controlled and unguarded
Impact:
Could result in failed oracle requests, broken keeper setups, or waste of user funds
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.
This is informational. It is user's responsibility to provide correct input arguments. If the user provides incorrect arguments, it will lead to incorrect results, lost funds or failed transaction.
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.