Contracts
ShrimpSwap's Contracts
Our contracts are publicly accessible in the following repo github.com/shrimpswap/shrimp-contracts
MasterShrimp: 0xABEE2aaF12E92384274D61d0dbd31bD7Fc35f38c
Timelock: 0xa6835d6b0e3760e32458d3a8c0e59c96c921fbb9 (delay: 12h)
V2
MasterWhale: 0x709Fb31315ce6DE514C7991CCAAeF8B63ABBb77e
How are our contracts safe?
We have based our implementation in Goose Finance's EGG token and have the following features:
12h 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
// Set the migrator contract. Can only be called by the owner.
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;
}
Diff EGG's MasterChef vs SHRIMP's MasterShrimp
Please refer to the following diffchecker: diffchecker.com/TODO
Last updated
Was this helpful?