message: deploy-dao.js - call queueTransaction() with setPendingAdmin() with
  output to copy and paste to executeTransaction() a few days later
diff: // Runtime Environment's members available in the global scope.
  const hre = require("hardhat");
  +// helper functions
  +hoursToSeconds = function (hours) {
  + return (hours * 60 * 60);
  +}
  +encodeParameters = function (types, values) {
  + let abi = new ethers.utils.AbiCoder();
  + return abi.encode(types, values);
  +}
  +
  async function main() {
  // Hardhat always runs the compile task when running scripts with its command
  // line interface.
  @@ -35,6 +44,41 @@ async function main() {
  const governor = await Governor.deploy(timelock.address, daoToken.address, deployer.address);
  await governor.deployed();
  console.log("Governor deployed to:", governor.address);
  +
  + // format transactions for Timelock to change admin to Governor
  + let currentTime = Math.floor(Date.now() / 1000);
  + let timelockNewAdmin = {
  + //address target, uint value, string memory signature, bytes memory data, uint eta
  + target: timelock.address,
  + value: 0,
  + signature: "setPendingAdmin(address)",
  + data: encodeParameters(
  + ['address'],[governor.address]
  + ),
  + eta: (currentTime + hoursToSeconds(50))
  + }
  + const queueTimelockAdminToGovernor = await timelock.connect(deployer).queueTransaction(
  + timelockNewAdmin.target,
  + timelockNewAdmin.value,
  + timelockNewAdmin.signature,
  + timelockNewAdmin.data,
  + timelockNewAdmin.eta
  + );
  + console.log("Queued setPendingAdmin() on Timelock.");
  +
  + console.log("---");
  + console.log("Please copy these values and call executeTransaction() on Timelock");
  + console.log("when the ETA is reached from the deployer address with these args:");
  + console.log("");
  + console.log(`target : ${timelockNewAdmin.target}`);
  + console.log(`value : ${timelockNewAdmin.value}`);
  + console.log(`signature : ${timelockNewAdmin.signature}`);
  + console.log(`data : ${timelockNewAdmin.data}`);
  + console.log(`eta : ${timelockNewAdmin.eta}`);
  + console.log("");
  + console.log("Afterwards, do not forget to call __acceptAdmin() on Governor to");
  + console.log("complete the admin switch.");
  +
  }
  // We recommend this pattern to be able to use async/await everywhere
  