#
IGovernor
Matt Stam (@mattstam)
IGovernor
The standard Governor that uses an ERC20 token for voting on proposals.
OpenZepplin IGovernor but with initialize(), since using clones + minimal-clones for cheapest possible token deployment. There is nothing Git Consensus specific about this governor. A typical use-case for governor's in the Etheruem ecosystem is to set it to the "owner of a contract, and then protect some of the contract's functions with the onlyOwner()
modifier (see: https://docs.openzeppelin.com/contracts/2.x/access-control and https://docs.openzeppelin.com/contracts/2.x/api/ownership#Ownable). What is novel is that Git Consensus effectively makes addRelease()
dynamically ownable, such that the only one calling it can be the one in the git tag message.
#
Methods
#
initialize
function initialize(address tokenAddr, string name, uint256 votingDelay, uint256 votingPeriod, uint256 proposalThreshold, uint256 quorumNumerator) external nonpayable
Initializes the Governor contract.