|
|
|
@ -51,6 +51,11 @@ contract TimelockController is AccessControl, IERC721Receiver, IERC1155Receiver |
|
|
|
|
*/ |
|
|
|
|
event CallExecuted(bytes32 indexed id, uint256 indexed index, address target, uint256 value, bytes data); |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @dev Emitted when new proposal is scheduled with non-zero salt. |
|
|
|
|
*/ |
|
|
|
|
event CallSalt(bytes32 indexed id, bytes32 salt); |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @dev Emitted when operation `id` is cancelled. |
|
|
|
|
*/ |
|
|
|
@ -206,7 +211,7 @@ contract TimelockController is AccessControl, IERC721Receiver, IERC1155Receiver |
|
|
|
|
/** |
|
|
|
|
* @dev Schedule an operation containing a single transaction. |
|
|
|
|
* |
|
|
|
|
* Emits a {CallScheduled} event. |
|
|
|
|
* Emits events {CallScheduled} and {CallSalt}. |
|
|
|
|
* |
|
|
|
|
* Requirements: |
|
|
|
|
* |
|
|
|
@ -223,12 +228,15 @@ contract TimelockController is AccessControl, IERC721Receiver, IERC1155Receiver |
|
|
|
|
bytes32 id = hashOperation(target, value, data, predecessor, salt); |
|
|
|
|
_schedule(id, delay); |
|
|
|
|
emit CallScheduled(id, 0, target, value, data, predecessor, delay); |
|
|
|
|
if (salt != bytes32(0)) { |
|
|
|
|
emit CallSalt(id, salt); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @dev Schedule an operation containing a batch of transactions. |
|
|
|
|
* |
|
|
|
|
* Emits one {CallScheduled} event per transaction in the batch. |
|
|
|
|
* Emits a {CallSalt} event and one {CallScheduled} event per transaction in the batch. |
|
|
|
|
* |
|
|
|
|
* Requirements: |
|
|
|
|
* |
|
|
|
@ -250,6 +258,9 @@ contract TimelockController is AccessControl, IERC721Receiver, IERC1155Receiver |
|
|
|
|
for (uint256 i = 0; i < targets.length; ++i) { |
|
|
|
|
emit CallScheduled(id, i, targets[i], values[i], payloads[i], predecessor, delay); |
|
|
|
|
} |
|
|
|
|
if (salt != bytes32(0)) { |
|
|
|
|
emit CallSalt(id, salt); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|