Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract locking ether found:
Contract TNG (#929-1030) has payable functions:
- TNG.receive() (#963-965)
But does not have a function to withdraw the ether
Remove the payable attribute or add a withdraw function.
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.
TNG.setMarketingFee(uint256) (#1022-1024) should emit an event for:
- marketingFee = _marketingFee (#1023)
Emit an event for critical parameter changes.
Additional information: link
Reentrancy in TNG.constructor() (#945-961):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#950)
State variables written after the call(s):
- _mint(owner(),1000000 * (10 ** _decimals)) (#960)
- _balances[account] = _balances[account].add(amount) (#858)
- excludeFromFees(owner(),true) (#953)
- _isExcludedFromFees[account] = excluded (#972)
- excludeFromFees(address(this),true) (#954)
- _isExcludedFromFees[account] = excluded (#972)
- _mint(owner(),1000000 * (10 ** _decimals)) (#960)
- _totalSupply = _totalSupply.add(amount) (#857)
- uniswapV2Router = _uniswapV2Router (#951)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in TNG.constructor() (#945-961):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#950)
Event emitted after the call(s):
- ExcludeFromFees(account,excluded) (#974)
- excludeFromFees(address(this),true) (#954)
- ExcludeFromFees(account,excluded) (#974)
- excludeFromFees(owner(),true) (#953)
- Transfer(address(0),account,amount) (#859)
- _mint(owner(),1000000 * (10 ** _decimals)) (#960)
Apply the check-effects-interactions pattern.
Additional information: link
Context._msgData() (#19-22) is never used and should be removed
ERC20._burn(address,uint256) (#873-881) is never used and should be removed
SafeMath.mod(uint256,uint256) (#527-529) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#543-546) is never used and should be removed
SafeMathInt.abs(int256) (#627-630) is never used and should be removed
SafeMathInt.add(int256,int256) (#618-622) is never used and should be removed
SafeMathInt.div(int256,int256) (#598-604) is never used and should be removed
SafeMathInt.mul(int256,int256) (#586-593) is never used and should be removed
SafeMathInt.sub(int256,int256) (#609-613) is never used and should be removed
SafeMathInt.toUint256Safe(int256) (#633-636) is never used and should be removed
SafeMathUint.toInt256Safe(uint256) (#644-648) is never used and should be removed
Remove unused functions.
Additional information: link
Function IUniswapV2Pair.DOMAIN_SEPARATOR() (#183) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#184) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#201) is not in mixedCase
Function IUniswapV2Router01.WETH() (#221) is not in mixedCase
Parameter TNG.setMarketingFee(uint256)._marketingFee (#1022) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#20)" inContext (#14-23)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#226) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#227)
Prevent variables from having similar names.
Additional information: link
TNG.constructor() (#945-961) uses literals with too many digits:
- _mint(owner(),1000000 * (10 ** _decimals)) (#960)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
SafeMathInt.MAX_INT256 (#581) is never used in SafeMathInt (#579-637)
Remove unused state variables.
Additional information: link
TNG._decimals (#932) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#390-393)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#399-403)
name() should be declared external:
- ERC20.name() (#680-682)
symbol() should be declared external:
- ERC20.symbol() (#688-690)
decimals() should be declared external:
- ERC20.decimals() (#705-707)
- TNG.decimals() (#967-969)
totalSupply() should be declared external:
- ERC20.totalSupply() (#712-714)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (#719-721)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (#731-734)
allowance(address,address) should be declared external:
- ERC20.allowance(address,address) (#739-741)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (#750-753)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (#768-776)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (#790-793)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (#809-812)
excludeMultipleAccountsFromFees(address[],bool) should be declared external:
- TNG.excludeMultipleAccountsFromFees(address[],bool) (#977-983)
isExcludedFromFees(address) should be declared external:
- TNG.isExcludedFromFees(address) (#985-987)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find website, listings and other project-related information
Token is marked as scam (rug pull, honeypot, phishing, etc.)
Additional information: link
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 Telegram and Twitter accounts