Skip to main content

Timelock

Git Source

Inherits: ITimelock

State Variables

GRACE_PERIOD

uint256 public constant GRACE_PERIOD = 1 days;

MINIMUM_DELAY

uint256 public constant MINIMUM_DELAY = 1 days;

MAXIMUM_DELAY

uint256 public constant MAXIMUM_DELAY = 3 days;

admin

address public admin;

pendingAdmin

address public pendingAdmin;

delay

uint256 public delay;

initialized

bool public initialized;

queuedTransactions

mapping(bytes32 => bool) public queuedTransactions;

Functions

constructor

constructor(address admin_, uint256 delay_);

setFirstAdmin

function setFirstAdmin(address admin_) public;

fallback

fallback() external payable;

setDelay

function setDelay(uint256 delay_) public;

acceptAdmin

function acceptAdmin() public;

setPendingAdmin

function setPendingAdmin(address pendingAdmin_) public;

queueTransaction

function queueTransaction(
uint256 proposalId,
address target,
uint256 value,
string memory signature,
bytes memory data,
uint256 eta
) public returns (bytes32);

cancelTransaction

function cancelTransaction(
uint256 proposalId,
address target,
uint256 value,
string memory signature,
bytes memory data,
uint256 eta
) public;

executeTransaction

function executeTransaction(
uint256 proposalId,
address target,
uint256 value,
string memory signature,
bytes memory data,
bytes32 codehash,
uint256 eta
) public payable returns (bytes memory);

Events

NewAdmin

event NewAdmin(address indexed newAdmin);

NewPendingAdmin

event NewPendingAdmin(address indexed newPendingAdmin);

NewDelay

event NewDelay(uint256 indexed newDelay);

CancelTransaction

event CancelTransaction(
uint256 indexed proposalId,
bytes32 indexed txHash,
address indexed target,
uint256 value,
string signature,
bytes data,
uint256 eta
);

ExecuteTransaction

event ExecuteTransaction(
uint256 indexed proposalId,
bytes32 indexed txHash,
address indexed target,
uint256 value,
string signature,
bytes data,
uint256 eta
);

QueueTransaction

event QueueTransaction(
uint256 indexed proposalId,
bytes32 indexed txHash,
address indexed target,
uint256 value,
string signature,
bytes data,
uint256 eta
);

Errors

Timelock_OnlyOnce

error Timelock_OnlyOnce();

Timelock_OnlyAdmin

error Timelock_OnlyAdmin();

Timelock_OnlyPendingAdmin

error Timelock_OnlyPendingAdmin();

Timelock_OnlyInternalCall

error Timelock_OnlyInternalCall();

Timelock_InvalidDelay

error Timelock_InvalidDelay();

Timelock_InvalidExecutionTime

error Timelock_InvalidExecutionTime();

Timelock_InvalidTx_Stale

error Timelock_InvalidTx_Stale();

Timelock_InvalidTx_Locked

error Timelock_InvalidTx_Locked();

Timelock_InvalidTx_NotQueued

error Timelock_InvalidTx_NotQueued();

Timelock_InvalidTx_CodeHashChanged

error Timelock_InvalidTx_CodeHashChanged();

Timelock_InvalidTx_ExecReverted

error Timelock_InvalidTx_ExecReverted();