diff --git a/contracts/governance/Governor.sol b/contracts/governance/Governor.sol index 62bee7de3..f0ee9d8b4 100644 --- a/contracts/governance/Governor.sol +++ b/contracts/governance/Governor.sol @@ -635,10 +635,7 @@ abstract contract Governor is Context, ERC165, EIP712, Nonces, IGovernor, IERC72 string memory reason, bytes memory params ) internal virtual returns (uint256) { - ProposalState currentState = state(proposalId); - if (currentState != ProposalState.Active) { - revert GovernorUnexpectedProposalState(proposalId, currentState, _encodeStateBitmap(ProposalState.Active)); - } + _validateStateBitmap(proposalId, _encodeStateBitmap(ProposalState.Active)); uint256 weight = _getVotes(account, proposalSnapshot(proposalId), params); _countVote(proposalId, account, support, weight, params); diff --git a/contracts/utils/Nonces.sol b/contracts/utils/Nonces.sol index b4681371a..2a32142ea 100644 --- a/contracts/utils/Nonces.sol +++ b/contracts/utils/Nonces.sol @@ -36,11 +36,10 @@ abstract contract Nonces { /** * @dev Same as {_useNonce} but checking that `nonce` is the next valid for `owner`. */ - function _useCheckedNonce(address owner, uint256 nonce) internal virtual returns (uint256) { + function _useCheckedNonce(address owner, uint256 nonce) internal virtual { uint256 current = _useNonce(owner); if (nonce != current) { revert InvalidAccountNonce(owner, current); } - return current; } } diff --git a/test/utils/Nonces.test.js b/test/utils/Nonces.test.js index 361eeeeec..67a3087e3 100644 --- a/test/utils/Nonces.test.js +++ b/test/utils/Nonces.test.js @@ -42,8 +42,7 @@ contract('Nonces', function (accounts) { const currentNonce = await this.nonces.nonces(sender); expect(currentNonce).to.be.bignumber.equal('0'); - const { receipt } = await this.nonces.$_useCheckedNonce(sender, currentNonce); - expectEvent(receipt, 'return$_useCheckedNonce', [currentNonce]); + await this.nonces.$_useCheckedNonce(sender, currentNonce); expect(await this.nonces.nonces(sender)).to.be.bignumber.equal('1'); });