The RankedChoice
contract is missing Event emmision for Critical parameters changes, which might affects its integration with other contract or off-chain entity.
Vulnerability Details
No events are emmited in the RankedChoice::rankCandidates, RankedChoice::rankCandidatesbySig
, and RankedChoice::selectPresident
which are all functions that modifies critical state variables , but no events broadcast the changes.
Reduced transparency
Difficulty in tracking changes
Innefficient or impossible integration with other contracts and offchain services.
manual Analysis
Add event declaration and emit them when critical changes are made
In the RankedChoice::rankCandidates
event CandidateRanked(address[] rankedAddresses, address rankedBy)
should be emitted
and in the RankedChoice::rankCandidatesbySig
event emit CandidateRankedBySignature(orderedCandidates, signer)
should be emitted
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.