Description
The BatchGovernor contract supports castVoteWithReason to be compatible with certain governors.
Because the VoteCast event has a reason parameter, whoever uses this external function is expecting an event being emitted with the provided reason.
Instead, the reason parameter is always empty in the event being emitted by _castVote:
function _castVote(address voter_, uint256 weight_, uint256 proposalId_, uint8 support_) internal virtual {
// ... emit VoteCast(voter_, proposalId_, support_, weight_, "");
}Recommendation
Make sure that the reason input of castVoteWithReason is passed through to the VoteCast event.
Status
Addressed in #b97b196.