Timelock
ProtocolTimelock is a standard OpenZeppelin TimelockController with explicit proposers and executors.
#What a timelock does
A timelock queues an administrative operation and prevents execution until its minimum delay has passed. This creates time for users and reviewers to inspect a planned configuration change before it takes effect.
#Proposers, executors, and admin
The constructor receives the minimum delay, proposer list, executor list, and a temporary administrator. Those values define who may schedule and execute operations. They must point to reviewed contract wallets and role-handoff procedures before launch.
#Intended scope
WeedChef default administration and pool management, plus emission scheduling, are designed to sit behind the timelock. Other component roles should be reviewed individually; a timelock name alone does not prove every privileged path is delayed.
#Limitations
- A malicious or compromised proposer can still schedule harmful actions within contract bounds.
- An open executor role can allow anyone to execute a ready operation, which may be intentional but needs review.
- A short minimum delay gives users little reaction time.
- Roles held outside the timelock are not protected by its delay.
- A correct timelock cannot fix vulnerable target-contract logic.
