On Liquidity Lock and Rug Pulls.
Probably one of the most taboo phrases to see in DeFi is “rug pull”. This sends shivers down anyone’s spines, and no one wants to be caught in a rug pull. Neither do we.
The most frequent two questions we get asked constantly are important factors in helping understanding the safety of any DeFi platform.
- Is liquidity locked?
- How do you mitigate rug pulls?
Let us address them now.
Is Liquidity Locked?
The answer as of now is no. But within a week of launch, it will be locked for a period of six months. Instead of burning the LP tokens, we decided to take the approach of utilizing a timelock contract to lock the LP tokens for a period of six months. The reason behind this is actually quite rudimentary — PrivacySwap was created as a way for us as CyberSec professionals to propagate privacy and security in the blockchain and DeFi space. This is important to us as we deal with CyberSec outside of blockchain and crypto and we know exactly why it is important to everyone regardless of how we use the Internet. As such, this project is funded by ourselves with our own hard earned money. We find it very painful to burn our money, never to see it again. As such, we had a choice between six months or a year of locking the LP tokens in a timelock smart contract and we felt that between six months and a year, six months is a very realistic timeframe to build PrivacySwap and have it standing on its own. So the conclusion we arrived at is that we will timelock our initial LP tokens for a period of six months, and after the six months are up, if we need to remove the liquidity for extra funds or for other reasons, that we will do so only in a careful manner so as not to cause too huge of a movement in price and/or liquidity.
How Do You Mitigate Rug Pulls?
As a base when building PrivacySwap, we did take a fork of PancakeSwap (which is a fork of SushiSwap). That being said, the one piece of code that was in SushiSwap’s MasterChef that was potentially dangerous was the Migrator function. This function allowed SushiSwap to autonomously migrate liquidity pools. In the days of SushiSwap, this function was absolutely necessary as they were a vampire protocol of Uniswap which required them to tap on Uniswap’s existing pools to build a base of users, after which migrating them over to SushiSwap’s own LPs. From then up until now, that piece of code still exists in SushiSwap’s MasterChef smart contract.
But do we need it? No. Here’s why. When PancakeSwap forked SushiSwap’s MasterChef, they did not remove the migrate function. And just this past Friday 23 April 2021, PancakeSwap performed an upgrade on their Smart Contracts — without utilizing the migrate function.
Their rationale was simple. They were afraid that if they were to utilize the migrate function that it would cause more problems than solve as they would be unsure if it would migrate as intended without a hitch. We believe they left it in there as an emergency, more so than a sinister backdoor.
As such, when we forked from PancakeSwap, we made sure that we did away with the migrate function so as to give our users the confidence that we do not intend on stealing assets that does not belong to us, and that we are going to be around for a long, long time.
In addition to that, we will be utilizing a timelock to lock both our token’s smart contract (to preventing random minting of PRV) as well as MasterChef (to prevent randomly changing deposit fee parameters, block rewards, etc.). The timelock will be 24 hours.
Just to clarify. Our MasterChef without the migrator function is already live. Feel free to head over to BscScan to read the contract. The timelock for MasterChef and PRV Token will be deployed after our farms start on Friday, 30 April 2021. As well, the timelock for initial LP tokens will be deployed on Friday, 30 April 2021.
As with all things DeFi, these are most certainly not the only ways in which you could potentially lose your money. With PrivacySwap or even other platforms, DYOR and put your assets where you feel comfortable. Keep safe everyone.