Can I launch my DAO without a Timelock contract?

Hi all,

I'm trying to launch an ERC20 that can be used for voting in a DAO. For this I'm using the OpenZeppelin on-chain governance tutorial.

I have succesfully deployed the ERC20 token but I'm struggling with deploying the MyGovernor contract. At one point in the tutorial it says "Initially, we will build a Governor without a timelock" but then in the next code example it has included the GovernorTimelockControl module:

import "node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";

Also the MyGovernor contract won't deploy without the _timelock parameter.

How do I deploy the MyGovernor token without the Timelock contract? Or alternatively I would like to understand how to deploy the Timelock contract so that I can use its address for the _timelock parameter in the MyGovernor contract.

Thanks in advance,

Dog

I solved my issue by using the zero address (0x00..) for the _timelock parameter. Upon deploying the MyGovernment contract it is then optional to deploy the TimelockController contract with MyGovernment's address for PROPOSERS and the zero address for EXECUTORS.

2 Likes