Error in Timelock using TimelockCrontroller

Hi guys I'm using the TimelockController with other Governor and Governance contracts, but the builder for some reason doesn't take the data I'm passing to it. When I add one more it tells me that it must be of type address and not uint256, however this way it does not let me deploy. Could someone help me?

This is my code:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;

import "@openzeppelin/contracts/governance/TimelockController.sol";

// minDelay - how long you have to wait until executing

contract TimeLock is TimelockController {
  constructor(
    uint256 minDelay,
    address[] memory proposers,
    address[] memory executors,
) TimelockController(minDelay, proposers, executors) {}
}

Here is the prototype of the TimelockController contract's constructor (on GitHub):

constructor(
    uint256 minDelay,
    address[] memory proposers,
    address[] memory executors,
    address admin
)

You should follow it rigorously.


Note to OZ dev team: you guys might wanna change that memory to calldata...

Yes in this case it seems like it could be calldata and some gas would be saved. Can you open an issue in the repo?

Great. Thanks! The error due to the data type is gone but now when I deploy, I get the following error:

Escrow deployed to: 0x7a2088a1bFc9d81c55368AE168C2C02570cB814F
Governance Token deployed to: 0x09635F643e140090A9A8Dcd712eD6285858ceBef
Error: missing argument:  in Contract constructor (count=3, expectedCount=4, code=MISSING_ARGUMENT, version=contracts/5.7.0)

It is not taking my complete parameters