The objective of our project is to make you earn while doing everything you normally do on a daily basis using your cell phone. The real revolution is turning something that is already in most of our day into something profitable.
Phone2Earn._isExcludedFromLimits (#112) is never initialized. It is used in:
- Phone2Earn.isExcludedFromLimits(address) (#262-264)
Initialize all the variables. If a variable is meant to be initialized to zero, explicitly set it to zero to improve code readability.
Additional information: link
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract ownership is not renounced (belongs to a wallet)
Pragma version>=0.6.0<0.9.0 (#2) is too complex
solc-0.8.16 is not recommended for deployment
Deploy with any of the following Solidity versions: 0.5.16 - 0.5.17, 0.6.11 - 0.6.12, 0.7.5 - 0.7.6 Use a simple pragma version that allows any of these versions. Consider using the latest version of Solidity for testing.
Additional information: link
Variable IRouter01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#45) is too similar to IRouter01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#46)
Prevent variables from having similar names.
Additional information: link
Phone2Earn.slitherConstructorConstantVariables() (#99-384) uses literals with too many digits:
- DEAD = 0x000000000000000000000000000000000000dEaD (#125)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
Reentrancy in Phone2Earn.enableTrading() (#340-349):
External calls:
- antiSnipe.setLaunch(lpPair,uint32(block.number),uint64(block.timestamp),_decimals) (#346)
State variables written after the call(s):
- tradingEnabled = true (#347)
Reentrancy in Phone2Earn.transferOwner(address) (#176-187):
External calls:
- finalizeTransfer(_owner,newOwner,balanceOf(_owner),true) (#180)
- antiSnipe.checkUser(from,to,amount) (#373-374)
State variables written after the call(s):
- _owner = newOwner (#184)
Apply the check-effects-interactions pattern.
Additional information: link
Phone2Earn.finalizeTransfer(address,address,uint256,bool).checked (#372) is a local variable never initialized
Phone2Earn.finalizeTransfer(address,address,uint256,bool).check (#373) is a local variable never initialized
Initialize all the variables. If a variable is meant to be initialized to zero, explicitly set it to zero to improve code readability.
Additional information: link
Phone2Earn.finalizeTransfer(address,address,uint256,bool) (#364-382) ignores return value by antiSnipe.checkUser(from,to,amount) (#373-374)
Ensure that all the return values of the function calls are used.
Additional information: link
Phone2Earn.setOperator(address).newOperator (#197) lacks a zero-check on :
- operator = newOperator (#203)
Check that the address is not zero.
Additional information: link
Phone2Earn.finalizeTransfer(address,address,uint256,bool) (#364-382) has external calls inside a loop: antiSnipe.checkUser(from,to,amount) (#373-374)
Favor pull over push strategy for external calls.
Additional information: link
Variable 'Phone2Earn.finalizeTransfer(address,address,uint256,bool).check (#373)' in Phone2Earn.finalizeTransfer(address,address,uint256,bool) (#364-382) potentially used before declaration: checked = check (#374)
Move all variable declarations prior to any usage of the variable, and ensure that reaching a variable declaration does not depend on some conditional if it is used unconditionally.
Additional information: link
Reentrancy in Phone2Earn.constructor() (#138-167):
External calls:
- lpPair = IFactoryV2(dexRouter.factory()).createPair(dexRouter.WETH(),address(this)) (#161)
State variables written after the call(s):
- _approve(_owner,address(dexRouter),type()(uint256).max) (#164)
- _allowances[sender][spender] = amount (#239)
- _approve(address(this),address(dexRouter),type()(uint256).max) (#165)
- _allowances[sender][spender] = amount (#239)
- _liquidityHolders[_owner] = true (#166)
- lpPairs[lpPair] = true (#162)
Reentrancy in Phone2Earn.enableTrading() (#340-349):
External calls:
- antiSnipe.setLaunch(lpPair,uint32(block.number),uint64(block.timestamp),_decimals) (#346)
State variables written after the call(s):
- allowedPresaleExclusion = false (#348)
Reentrancy in Phone2Earn.finalizeTransfer(address,address,uint256,bool) (#364-382):
External calls:
- antiSnipe.checkUser(from,to,amount) (#373-374)
State variables written after the call(s):
- _tOwned[from] -= amount (#377)
- _tOwned[to] += amount (#378)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in Phone2Earn.constructor() (#138-167):
External calls:
- lpPair = IFactoryV2(dexRouter.factory()).createPair(dexRouter.WETH(),address(this)) (#161)
Event emitted after the call(s):
- Approval(sender,spender,amount) (#240)
- _approve(_owner,address(dexRouter),type()(uint256).max) (#164)
- Approval(sender,spender,amount) (#240)
- _approve(address(this),address(dexRouter),type()(uint256).max) (#165)
Reentrancy in Phone2Earn.finalizeTransfer(address,address,uint256,bool) (#364-382):
External calls:
- antiSnipe.checkUser(from,to,amount) (#373-374)
Event emitted after the call(s):
- Transfer(from,to,amount) (#380)
Reentrancy in Phone2Earn.transferOwner(address) (#176-187):
External calls:
- finalizeTransfer(_owner,newOwner,balanceOf(_owner),true) (#180)
- antiSnipe.checkUser(from,to,amount) (#373-374)
Event emitted after the call(s):
- OwnershipTransferred(oldOwner,newOwner) (#185)
Apply the check-effects-interactions pattern.
Additional information: link
Phone2Earn._checkLiquidityAdd(address,address) (#329-338) has costly operations inside a loop:
- _hasLiqBeenAdded = true (#333)
Phone2Earn._checkLiquidityAdd(address,address) (#329-338) has costly operations inside a loop:
- antiSnipe = AntiSnipe(address(this)) (#335)
Use a local variable to hold the loop computation result.
Additional information: link
Function IRouter01.WETH() (#33) is not in mixedCase
Parameter Phone2Earn.setProtectionSettings(bool,bool)._antiSnipe (#278) is not in mixedCase
Parameter Phone2Earn.setProtectionSettings(bool,bool)._antiBlock (#278) is not in mixedCase
Constant Phone2Earn.startingSupply (#115) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Phone2Earn._name (#116) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Phone2Earn._symbol (#117) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Phone2Earn._decimals (#118) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Phone2Earn._tTotal (#120) is not in UPPER_CASE_WITH_UNDERSCORES
Variable Phone2Earn._hasLiqBeenAdded (#128) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Phone2Earn.timeSinceLastPair (#107) is never used in Phone2Earn (#99-384)
Remove unused state variables.
Additional information: link
Phone2Earn.taxesAreLocked (#122) should be constant
Phone2Earn.timeSinceLastPair (#107) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
transfer(address,uint256) should be declared external:
- Phone2Earn.transfer(address,uint256) (#225-228)
enableTrading() should be declared external:
- Phone2Earn.enableTrading() (#340-349)
Use the external attribute for functions never called from the contract.
Additional information: link
BscScan page for the token does not contain additional info: website, socials, description, etc.
Additional information: link
Unable to find token on CoinGecko
Additional information: link
Unable to find token on CoinMarketCap
Additional information: link
Unable to find token contract audit
Unable to find KYC or doxxing proof
Unable to find audit link on the website
Token is not listed at Mobula.Finance
Additional information: link
Unable to find token on CoinHunt
Additional information: link
Unable to find code repository for the project
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of scam / price dump / death
Token has no active CoinGecko listing / rank
Token has no active CoinMarketCap listing / rank
Unable to find Discord account