5 关于solidity时间锁

使用openzeppelin 版本为 4.0.0 github 地址为https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/governance/TimelockController.sol

schedule函数中的Predecessor参数和 Salt应该传入什么?

/**
     * @dev Schedule an operation containing a single transaction.
     *
     * Emits a {CallScheduled} event.
     *
     * Requirements:
     *
     * - the caller must have the 'proposer' role.
     */
    function schedule(address target, uint256 value, bytes calldata data, bytes32 predecessor, bytes32 salt, uint256 delay) public virtual onlyRole(PROPOSER_ROLE) {
        bytes32 id = hashOperation(target, value, data, predecessor, salt);
        _schedule(id, delay);
        emit CallScheduled(id, 0, target, value, data, predecessor, delay);
    }

时间锁在初始化时设置的minDelay 如果想更改的话是否也必须经由schedule进入待执行队列,过了minDelay时间后才能更改?

请先 登录 后评论

最佳答案 2021-05-24 08:23

简单看了一下, predecessor 是前置任务的 ID, 没有可传 0

salt 一个随机串, 应该可以随意填。

没过 minDelay 可以取消。

请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 0 收藏,3456 浏览
  • ANYFC 提出于 2021-05-23 18:51