EngenGovernance

Deployment Address:

Mainnet: 0x27926a991BB0193Bf5b679bdb6Cb3d3B6581084E

Interface: IGovernor.sol


Basics

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.


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);

1. votingDelay

This function returns the delay period for voting.

Function Interface:

function votingDelay() public pure override returns (uint256);
Parameter
Type
Explanation

Returns the voting delay in days


2. votingPeriod

This function returns the voting period.

Function Interface:

function votingPeriod() public pure override returns (uint256);
Parameter
Type
Explanation

Returns the voting period in weeks


3. proposalThreshold

This function returns the threshold needed to create a proposal.

Function Interface:

function proposalThreshold() public pure override returns (uint256);
Parameter
Type
Explanation

Returns the proposal threshold in ENG


4. quorum

This function returns the quorum at a specific block number.

Function Interface:

function quorum(uint256 blockNumber) public view override(IGovernor, GovernorVotesQuorumFraction) returns (uint256);
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.

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);

1. votingDelay

This function returns the delay period for voting.

Function Interface:

function votingDelay() public pure override returns (uint256);
Parameter
Type
Explanation

Returns the voting delay in days

2. votingPeriod

This function returns the voting period.

Function Interface:

function votingPeriod() public pure override returns (uint256);
Parameter
Type
Explanation

Returns the voting period in weeks


3. proposalThreshold

This function returns the threshold needed to create a proposal.

Function Interface:

function proposalThreshold() public pure override returns (uint256);
Parameter
Type
Explanation

Returns the proposal threshold in ENG


4. quorum

This function returns the quorum at a specific block number.

Function Interface:

function quorum(uint256 blockNumber) public view override(IGovernor, GovernorVotesQuorumFraction) returns (uint256);
Parameter
Type
Explanation

blockNumber

uint256

The block number to get the quorum at

Last updated