In functions HorseStore::feedhorse and HorseStore::isHappyHorse, it is not checked whether the horseId provided to these functions as an input parameter actually exists (i.e. whether a horse with that horseId has been minted yet or not).
Consider the following series of steps:
horseId=X does not exist yet, but the HorseStore::feedhorse is called on it,
Horse with horseId=X is minted immediately after step 1.
Happyness of horseId=X is queired with HorseStore::isHappyHorse, and the query will return true` even though the horse has never been actually fed.
The information about fed status provided by the protocol becomes unreliable.
Manual review.
Implement a check in the very beginning of both the HorseStore::feedhorseand theHorseStore::isHappyHorse` functions.
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.