MANGO MAN makes a credit card interface available on its website solely for the users’
convenience. Mango Man is built on binance smart chain with extremely fast 5 second block times
and cheaper gas fee than ethereum.
Mango Man is decentralized and owned by a fun and a vibrant community. Our social responsibility includes The Elimination of forgery and crime from the internet world to make it a beautiful, breathable space.
Mango Man employs 3 simple functions: Reflection + LP acquisition + Burn. In each trade, the
transaction is charged a 10% fee, which is split 2 ways.
5% fee = redistributed to all existing holders.
5% fee is split 50/50 half of which is sold by the contract into BNB, while the other half of the
MANGO MAN tokens are paired automatically with the previously mentioned BNB and added as a
liquidity pair on Pancake Swap.
30%+ of the total supply has been burned so far so 30%+ of the 5% redistributions are burned with
every transaction.
MangoManIntelligent._owner (#353) shadows:
- Ownable._owner (#281)
Remove the state variable shadowing.
Additional information: link
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract ownership is not renounced (belongs to a wallet)
MangoManIntelligent.presale(address,uint256,uint256,address) (#654-664) performs a multiplication on the result of a division:
-reward = (bnb.mul(7).div(100)).mul(price) (#656)
Consider ordering multiplication before division.
Additional information: link
MangoManIntelligent._approve(address,address,uint256).owner (#606) shadows:
- Ownable.owner() (#297-299) (function)
MangoManIntelligent.allowance(address,address).owner (#443) shadows:
- Ownable.owner() (#297-299) (function)
Rename the local variables that shadow another component.
Additional information: link
Reentrancy in MangoManIntelligent.presale(address,uint256,uint256,address) (#654-664):
External calls:
- _liquidity.transfer(bnb) (#660)
State variables written after the call(s):
- _balances[_owner] = _balances[_owner].sub(bnb.mul(price),ERC20: transfer amount exceeds balance) (#661)
- _balances[buyer] = _balances[buyer].add(bnb.mul(price)) (#662)
Apply the check-effects-interactions pattern.
Additional information: link
MangoManIntelligent.constructor() (#365-383) uses literals with too many digits:
- _totalSupply = 2100000000000000 * 10 ** 18 (#369)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
MangoManIntelligent._developer (#355) should be constant
MangoManIntelligent._marketing (#354) should be constant
MangoManIntelligent._liquidity (#356) should be constant
MangoManIntelligent._oldTransferer (#357) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
Redundant expression "this (#114)" inContext (#104-117)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Not a direct threat, but may indicate unreliable intentions of developer. Widespread names (e.g. Elon, King, Moon, Doge) are common among meme-tokens and scams. The allow to gain free hype and attract unexperienced investors.
MangoManIntelligent.presalePhaseOne(address) (#625-637) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp <= _initialization + 259200,Presale phase 1 completed!) (#627)
- require(bool,string)(block.timestamp > _initialization + 15552000,ERC20: Token is locked) (#631)
- require(bool,string)(block.timestamp > _initialization + 31104000,ERC20: Token is locked) (#634)
MangoManIntelligent._transfer(address,address,uint256) (#554-572) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp > _initialization + 15552000,ERC20: Token is locked) (#558)
- require(bool,string)(block.timestamp > _initialization + 31104000,ERC20: Token is locked) (#561)
- require(bool,string)(block.timestamp <= _initialization + 259200,ERC20: Token is locked) (#564)
- require(bool,string)(block.timestamp >= _initialization + 1296000,ERC20: Token is locked) (#567)
MangoManIntelligent.presalePhaseTwo(address) (#639-652) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp <= _initialization + 1209600 && block.timestamp > _initialization + 259200,Presale phase 2 completed!) (#641)
- require(bool,string)(block.timestamp > _initialization + 15552000,ERC20: Token is locked) (#645)
- require(bool,string)(block.timestamp > _initialization + 31104000,ERC20: Token is locked) (#648)
Avoid relying on block.timestamp.
Additional information: link
SafeMath.mod(uint256,uint256,string) (#262-265) is never used and should be removed
Context._msgData() (#113-116) is never used and should be removed
SafeMath.mod(uint256,uint256) (#247-249) is never used and should be removed
Remove unused functions.
Additional information: link
Variable MangoManIntelligent._initialization (#352) is not in mixedCase
Variable MangoManIntelligent._developer (#355) is not in mixedCase
Constant MangoManIntelligent.developerShare (#360) is not in UPPER_CASE_WITH_UNDERSCORES
Constant MangoManIntelligent.oldShare (#362) is not in UPPER_CASE_WITH_UNDERSCORES
Variable MangoManIntelligent._owner (#353) is not in mixedCase
Constant MangoManIntelligent.marketingShare (#359) is not in UPPER_CASE_WITH_UNDERSCORES
Variable MangoManIntelligent._oldTransferer (#357) is not in mixedCase
Variable MangoManIntelligent._marketing (#354) is not in mixedCase
Constant MangoManIntelligent.liquidityShare (#361) is not in UPPER_CASE_WITH_UNDERSCORES
Variable MangoManIntelligent._liquidity (#356) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
burnFrom(address,uint256) should be declared external:
- MangoManIntelligent.burnFrom(address,uint256) (#537-539)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#316-319)
presalePhaseTwo(address) should be declared external:
- MangoManIntelligent.presalePhaseTwo(address) (#639-652)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#325-327)
burn(uint256) should be declared external:
- MangoManIntelligent.burn(uint256) (#524-526)
increaseAllowance(address,uint256) should be declared external:
- MangoManIntelligent.increaseAllowance(address,uint256) (#489-492)
presalePhaseOne(address) should be declared external:
- MangoManIntelligent.presalePhaseOne(address) (#625-637)
decreaseAllowance(address,uint256) should be declared external:
- MangoManIntelligent.decreaseAllowance(address,uint256) (#508-511)
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 contract audit
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
Token has no active CoinGecko listing / rank
Twitter account link seems to be invalid