VoteMachine - Cancelling vote does not increase the nonce
A vote can be cancelled by calling `cancelVoteByRelayer` with the proposal ID, nonce, voter's address, signature and a hash of the sent params.\\nThe parameters are hashed and checked against the signature correctly.\\nThe nonce is part of these parameters and it is checked to be valid.\\n```\\nrequire(\\_proposal.voters[\\_voter].nonce < \\_relayerNonce, "INVALID\\_NONCE");\\n```\\n\\nOnce the vote is cancelled, the data is cleared but the nonce is not increased.\\n```\\nif (\\_cachedVoter.balance > 0) {\\n    \\_proposal.votes[\\_cachedVoter.vote] = \\_proposal.votes[\\_cachedVoter.vote].sub(\\_cachedVoter.balance.mul(\\_cachedVoter.weight));\\n    \\_proposal.totalVotes = \\_proposal.totalVotes.sub(1);\\n    voter.weight = 0;\\n    voter.balance = 0;\\n    voter.vote = 0;\\n    voter.asset = address(0);\\n    emit VoteCancelled(\\n        \\_proposalId,\\n        \\_voter,\\n        \\_cachedVoter.vote,\\n        \\_cachedVoter.asset,\\n        \\_cachedVoter.weight,\\n        \\_cachedVoter.balance,\\n        uint256(\\_proposal.proposalStatus)\\n    );\\n}\\n```\\n\\nThis means that in the future, the same signature can be used as long as the nonce is still higher than the current one.
Considering the recommendation from issue https://github.com/ConsenSys/aave-governance-dao-audit-2020-01/issues/4 is implemented, the nonce should also increase when the vote is cancelled. Otherwise the same signature can be replayed again.
```\\nrequire(\\_proposal.voters[\\_voter].nonce < \\_relayerNonce, "INVALID\\_NONCE");\\n```\\n