# Contracts

Our contracts are publicly accessible in the following ​​

* **CORN:**  0x11172cfc4332754d19820a65105c16d9201805c3​

* **MasterChef:** ​0x5ce71724170cf84505a590015403bcacf79d5f54

* **Timelock:** (delay: 24h) 0x45f2e32a4521c7c011144bd54b66abead035625e

* **Chain:** BSC&#x20;

* **CORN:**  0x8b6e74ee16132e9fd1693e1be5a5eb148e4b0720​

* **MasterChef:** ​0xdb2d66b220f5B998aBd00f8fe9687535Ac17a86C

* **Timelock:** (delay: 24h) 0x45f2e32a4521c7c011144bd54b66abead035625e

* **Chain:** AVAX&#x20;

**How are our contracts safe?**

We have based our implementation in Goose Finance's EGG token and have the following features:

* **24h** timelock added to contract at launch;
* No migrator code, it was totally removed;
* Contract audit in the pipeline.

**Removed migratator code**

Removed from PancakeSwap's [MasterChef.sol](https://github.com/pancakeswap/pancake-farm/blob/master/contracts/MasterChef.sol)​

​// Set the migrator contract. Can only be called by the owner.

```javascript
function setMigrator(IMigratorChef _migrator) public onlyOwner {
    migrator = _migrator;
}

// Migrate lp token to another lp contract. Can be called by anyone. We trust that migrator contract is good.
function migrate(uint256 _pid) public {
    require(address(migrator) != address(0), "migrate: no migrator");
    PoolInfo storage pool = poolInfo[_pid];
    IBEP20 lpToken = pool.lpToken;
    uint256 bal = lpToken.balanceOf(address(this));
    lpToken.safeApprove(address(migrator), bal);
    IBEP20 newLpToken = migrator.migrate(lpToken);
    require(bal == newLpToken.balanceOf(address(this)), "migrate: bad");
    pool.lpToken = newLpToken;
}
```
