This bug report highlights the absence of event emissions and the lack of indexed event address arguments in the events' parameters.
In the constructor, it is important to emit appropriate events for any non-immutable variable set that emits an event when mutated elsewhere, such as feeAddress.
The selectWinner function lacks events for critical state changes, including actions like delete player, setting raffleStartTime = block.timestamp, and updating previousWinner to the new winner.
The FeeAddressChanged event emitted in the changeFeeAddress function should include indexing of event parameters of type address to facilitate off-chain tracking.
Poor Developer Experience: The absence of events or poorly designed events makes it challenging for blockchain applications and tools that monitor blockchain activities to keep track of the actions performed within the PuppyRaffle contract.
It is strongly recommended to emit events after every state change and to index event parameters of type address to improve transparency and off-chain tracking.
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.