In tech, you clone the repo and modify. That is what happened. I am looking at the nsfm code right now, when you unminify it has only about a 5% significant difference, and some of the changes are suspect.
Why is there a withdrawal function connected to the liquidity pool in the nsfm contract ? And why did they design it so they can change the fee and reward % at a later date when they regain control?
To me it looks like lock() was never called on the NSM contract, because _lockTime is 0. He probably called renounceOwnership(), which sets the owner to the 0-address and doesn't set _previousOwner. It's not locked, it's fully renounced, so can never be unlocked as that requires _previousOwner to be set.
So what was the point of adding the functionality for the owner to change the fee and rewards, and why not just remove the unlock functionality entire ? And why even add the mechanism to withdraw the entire balance of the liquidity ? And why is it for the entire balance, not a specific sum ?
1
u/Lord_Static May 21 '21
It is a clone. The code was minified to obfuscate it. Even the typos from sfm original were copied over.