GovernorVotesQuorumFractionUpgradeable
Inherits: Initializable, GovernorVotesUpgradeable
Extension of {Governor} for voting weight extraction from an {ERC20Votes} token and a quorum expressed as a fraction of the total supply.
State Variables
GovernorVotesQuorumFractionStorageLocation
bytes32 private constant GovernorVotesQuorumFractionStorageLocation =
0xe770710421fd2cad75ad828c61aa98f2d77d423a440b67872d0f65554148e000;
Functions
_getGovernorVotesQuorumFractionStorage
function _getGovernorVotesQuorumFractionStorage() private pure returns (GovernorVotesQuorumFractionStorage storage $);
__GovernorVotesQuorumFraction_init
Initialize quorum as a fraction of the token's total supply.
The fraction is specified as numerator / denominator
. By default the denominator is 100, so quorum is
specified as a percent: a numerator of 10 corresponds to quorum being 10% of total supply. The denominator can be
customized by overriding quorumDenominator.
function __GovernorVotesQuorumFraction_init(uint256 quorumNumeratorValue) internal onlyInitializing;
__GovernorVotesQuorumFraction_init_unchained
function __GovernorVotesQuorumFraction_init_unchained(uint256 quorumNumeratorValue) internal onlyInitializing;
quorumNumerator
Returns the current quorum numerator. See quorumDenominator.
function quorumNumerator() public view virtual returns (uint256);
quorumNumerator
Returns the quorum numerator at a specific timepoint. See quorumDenominator.
function quorumNumerator(uint256 timepoint) public view virtual returns (uint256);
quorumDenominator
Returns the quorum denominator. Defaults to 100, but may be overridden.
function quorumDenominator() public view virtual returns (uint256);
quorum
Returns the quorum for a timepoint, in terms of number of votes: supply * numerator / denominator
.
function quorum(uint256 timepoint) public view virtual override returns (uint256);
updateQuorumNumerator
*Changes the quorum numerator. Emits a QuorumNumeratorUpdated event. Requirements:
- Must be called through a governance proposal.
- New numerator must be smaller or equal to the denominator.*
function updateQuorumNumerator(uint256 newQuorumNumerator) external virtual onlyGovernance;
_updateQuorumNumerator
*Changes the quorum numerator. Emits a QuorumNumeratorUpdated event. Requirements:
- New numerator must be smaller or equal to the denominator.*
function _updateQuorumNumerator(uint256 newQuorumNumerator) internal virtual;
_optimisticUpperLookupRecent
Returns the numerator at a specific timepoint.
function _optimisticUpperLookupRecent(Checkpoints.Trace208 storage ckpts, uint256 timepoint)
internal
view
returns (uint256);
Events
QuorumNumeratorUpdated
event QuorumNumeratorUpdated(uint256 oldQuorumNumerator, uint256 newQuorumNumerator);
Errors
GovernorInvalidQuorumFraction
The quorum set is not a valid fraction.
error GovernorInvalidQuorumFraction(uint256 quorumNumerator, uint256 quorumDenominator);
Structs
GovernorVotesQuorumFractionStorage
Note: storage-location: erc7201:openzeppelin.storage.GovernorVotesQuorumFraction
struct GovernorVotesQuorumFractionStorage {
Checkpoints.Trace208 _quorumNumeratorHistory;
}