⬅️ Contracts

FeiDAOTimelock

Fei DAO Timelock

Timelock with veto admin roles

DEV NOTE: this timelock has the ability for the Guardian to pause queing or executing proposals, as well as being able to veto specific transactions. The timelock itself could not unpause the timelock while in paused state.

Mainnet implementations

Name Address
feiDAOTimelock 0xd51dbA7a94e1adEa403553A8235C302cEbF41a3c

Core, FeiDAO, Fei, ProxyAdmin, ERC20PCVDepositWrapper, IAaveIncentivesController, TribeMinter, PCVGuardian, PegExchanger

Events

CancelTransaction

event CancelTransaction(bytes32,address,uint256,string,bytes,uint256)
Params
Param Type Notes
txHash bytes32 indexed
target address indexed
value uint256
signature string
data bytes
eta uint256

ContractAdminRoleUpdate

event ContractAdminRoleUpdate(bytes32,bytes32)
Params
Param Type Notes
oldContractAdminRole bytes32 indexed
newContractAdminRole bytes32 indexed

CoreUpdate

event CoreUpdate(address,address)
Params
Param Type Notes
oldCore address indexed
newCore address indexed

ExecuteTransaction

event ExecuteTransaction(bytes32,address,uint256,string,bytes,uint256)
Params
Param Type Notes
txHash bytes32 indexed
target address indexed
value uint256
signature string
data bytes
eta uint256

NewAdmin

event NewAdmin(address)
Params
Param Type Notes
newAdmin address indexed

NewDelay

event NewDelay(uint256)
Params
Param Type Notes
newDelay uint256 indexed

NewPendingAdmin

event NewPendingAdmin(address)
Params
Param Type Notes
newPendingAdmin address indexed

Paused

event Paused(address)
Params
Param Type Notes
account address

QueueTransaction

event QueueTransaction(bytes32,address,uint256,string,bytes,uint256)
Params
Param Type Notes
txHash bytes32 indexed
target address indexed
value uint256
signature string
data bytes
eta uint256

Unpaused

event Unpaused(address)
Params
Param Type Notes
account address

Methods

CONTRACT_ADMIN_ROLE

function CONTRACT_ADMIN_ROLE() view returns(bytes32)

a role used with a subset of governor permissions for this contract only

Returns
Param Type Notes
bytes32

GRACE_PERIOD

function GRACE_PERIOD() view returns(uint256)
Returns
Param Type Notes
uint256

MAXIMUM_DELAY

function MAXIMUM_DELAY() view returns(uint256)
Returns
Param Type Notes
uint256

MINIMUM_DELAY

function MINIMUM_DELAY() view returns(uint256)
Returns
Param Type Notes
uint256

OLD_TIMELOCK

function OLD_TIMELOCK() view returns(address)
Returns
Param Type Notes
address

ROLLBACK_DEADLINE

function ROLLBACK_DEADLINE() view returns(uint256)
Returns
Param Type Notes
uint256

acceptAdmin

function acceptAdmin() nonpayable

admin

function admin() view returns(address)
Returns
Param Type Notes
address

cancelTransaction

function cancelTransaction(address,uint256,string,bytes,uint256) nonpayable
Params
Param Type Notes
target address
value uint256
signature string
data bytes
eta uint256

core

function core() view returns(address)

address of the Core contract referenced

Returns
Param Type Notes
address ICore implementation address

delay

function delay() view returns(uint256)
Returns
Param Type Notes
uint256

executeTransaction

function executeTransaction(address,uint256,string,bytes,uint256) payable returns(bytes)

execute a transaction, with pausability

Params
Param Type Notes
target address
value uint256
signature string
data bytes
eta uint256
Returns
Param Type Notes
bytes

fei

function fei() view returns(address)

address of the Fei contract referenced by Core

Returns
Param Type Notes
address IFei implementation address

feiBalance

function feiBalance() view returns(uint256)

fei balance of contract

Returns
Param Type Notes
uint256 fei amount held

getTxHash

function getTxHash(address,uint256,string,bytes,uint256) pure returns(bytes32)
Params
Param Type Notes
target address
value uint256
signature string
data bytes
eta uint256
Returns
Param Type Notes
bytes32

governorSetPendingAdmin

function governorSetPendingAdmin(address) nonpayable

allow a governor to set a new pending timelock admin

Params
Param Type Notes
newAdmin address

isContractAdmin

function isContractAdmin(address) view returns(bool)

returns whether a given address has the admin role for this contract

Params
Param Type Notes
_admin address
Returns
Param Type Notes
bool

pause

function pause() nonpayable

set pausable methods to paused

paused

function paused() view returns(bool)

Returns true if the contract is paused, and false otherwise.

Returns
Param Type Notes
bool

pendingAdmin

function pendingAdmin() view returns(address)
Returns
Param Type Notes
address

queueTransaction

function queueTransaction(address,uint256,string,bytes,uint256) nonpayable returns(bytes32)

queue a transaction, with pausability

Params
Param Type Notes
target address
value uint256
signature string
data bytes
eta uint256
Returns
Param Type Notes
bytes32

queuedTransactions

function queuedTransactions(bytes32) view returns(bool)
Params
Param Type Notes
bytes32
Returns
Param Type Notes
bool

rollback

function rollback() nonpayable

one-time option to roll back the Timelock to old timelock

guardian-only, and expires after the deadline. This function is here as a fallback in case something goes wrong.

setContractAdminRole

function setContractAdminRole(bytes32) nonpayable

sets a new admin role for this contract

Params
Param Type Notes
newContractAdminRole bytes32

setCore

function setCore(address) nonpayable

set new Core reference address

Params
Param Type Notes
newCore address the new core address

setDelay

function setDelay(uint256) nonpayable
Params
Param Type Notes
delay_ uint256

setPendingAdmin

function setPendingAdmin(address) nonpayable
Params
Param Type Notes
pendingAdmin_ address

tribe

function tribe() view returns(address)

address of the Tribe contract referenced by Core

Returns
Param Type Notes
address IERC20 implementation address

tribeBalance

function tribeBalance() view returns(uint256)

tribe balance of contract

Returns
Param Type Notes
uint256 tribe amount held

unpause

function unpause() nonpayable

set pausable methods to unpaused

vetoTransactions

function vetoTransactions(address[],uint256[],string[],bytes[],uint256[]) nonpayable

veto a group of transactions

Params
Param Type Notes
targets address[]
values uint256[]
signatures string[]
datas bytes[]
etas uint256[]

⬅️ Contracts