The EngenGovernance contract is an implementation of a Governor contract for the Engen governance. It uses the GovernorVotes and GovernorVotesQuorumFraction modules from OpenZeppelin for voting and quorum functionality.
For example, if you want to check the quorum at a specific block number, you can call:
quorum(<BLOCK_NUMBER>)
Voting Parameters
These are the key parameters used in the contract.
Parameter
Value
Voting Delay
1 day
Voting Period
3 weeks
Proposal Threshold
5 ENG
Using the following call method, you can check the voting delay:
votingDelay()
State Functions
Anyone can call the following functions to get information about the governance parameters.
1. votingDelay
This function returns the delay period for voting.
Function Interface:
Parameter
Type
Explanation
Returns the voting delay in days
2. votingPeriod
This function returns the voting period.
Function Interface:
Parameter
Type
Explanation
Returns the voting period in weeks
3. proposalThreshold
This function returns the threshold needed to create a proposal.
Function Interface:
Parameter
Type
Explanation
Returns the proposal threshold in ENG
4. quorum
This function returns the quorum at a specific block number.
Function Interface:
Parameter
Type
Explanation
blockNumber
uint256
The block number to get the quorum at
View Functions
Anyone can call the following functions without a transaction to retrieve information from the contract.
1. votingDelay
This function returns the delay period for voting.
Function Interface:
Parameter
Type
Explanation
Returns the voting delay in days
2. votingPeriod
This function returns the voting period.
Function Interface:
Parameter
Type
Explanation
Returns the voting period in weeks
3. proposalThreshold
This function returns the threshold needed to create a proposal.
Function Interface:
Parameter
Type
Explanation
Returns the proposal threshold in ENG
4. quorum
This function returns the quorum at a specific block number.
function votingDelay() public pure returns (uint256);
function votingPeriod() public pure returns (uint256);
function proposalThreshold() public pure returns (uint256);
function quorum(uint256 blockNumber) public view returns (uint256);
function votingDelay() public pure override returns (uint256);
function votingPeriod() public pure override returns (uint256);
function proposalThreshold() public pure override returns (uint256);
function quorum(uint256 blockNumber) public view override(IGovernor, GovernorVotesQuorumFraction) returns (uint256);
function votingDelay() public pure returns (uint256);
function votingPeriod() public pure returns (uint256);
function proposalThreshold() public pure returns (uint256);
function quorum(uint256 blockNumber) public view returns (uint256);
function votingDelay() public pure override returns (uint256);
function votingPeriod() public pure override returns (uint256);
function proposalThreshold() public pure override returns (uint256);
function quorum(uint256 blockNumber) public view override(IGovernor, GovernorVotesQuorumFraction) returns (uint256);