A timelock is a contract implemented for the safety of users. The function of this contract is to delay modifications to MasterChef parameters by a certain amount of time. As an example: project xyz has launched with 2% withdrawal fees with 100% withdrawal fees possible, but is currently under a 24 hour timelock. If the developer attempted to change the withdrawal fee from 2% to 100% (in order to steal funds), they would first have to submit this change to the timelock, and would only be able to execute it 24 hours later. In this instance users would have 24 hours before withdrawal fees are set to 100% and are able to withdraw normally before the change is executed.
Verify Ownership #
- Open up Rugdoc.io
- and navigate to the project in mind
- Click on ‘MasterChef’. This will take you to the MasterChef contract on BscScan
- Once on BSCscan, navigate to ‘Contract’, then ‘Read Contract’
- Under ‘Read Contract’, scroll down until you reach the ‘owner’ field and click the address listed
- On this new page, navigate to ‘Contract’ again
- Under the ‘Code’ tab, you will see the type of contract presented. If it is a Timelock contract, then the MasterChef is owned by a Timelock
Verify Delay Parameter #
- Now that you have verified Timelock ownership, it is also recommended to find the Timelock delay. To do this, first navigate to ‘Read Contract’ on the Timelock page on BSCscan
- Scroll down until you see a field called ‘delay’. This is the number you are looking for, given in seconds. To convert to hours, just divide by 3600. In this example (Pancakeswap’s Timelock), the delay is set to 21700 which is just over 6 hours
Now you can verify the timelock ownership and delay parameter in order to check for potential rugs such as 100% withdrawal fees.