Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
YiLi._destroyAddress (#248) is never initialized. It is used in:
- YiLi._tokenTransfer(address,address,uint256,bool) (#462-521)
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
YiLi._tokenTransfer(address,address,uint256,bool) (#462-521) performs a multiplication on the result of a division:
-_takeFee(sender,_destroyAddress,tAmount.div(100).mul(2),currentRate) (#477-482)
YiLi._tokenTransfer(address,address,uint256,bool) (#462-521) performs a multiplication on the result of a division:
-_tTotalDestroy = _tTotalDestroy.add(tAmount.div(100).mul(2)) (#484)
YiLi._tokenTransfer(address,address,uint256,bool) (#462-521) performs a multiplication on the result of a division:
-_takeFee(sender,_wallet3Address,tAmount.div(100).mul(2),currentRate) (#486-491)
YiLi._tokenTransfer(address,address,uint256,bool) (#462-521) performs a multiplication on the result of a division:
-_rOwned[recipient] = _rOwned[recipient].add(rAmount.div(100).mul(recipientRate)) (#517-519)
YiLi._tokenTransfer(address,address,uint256,bool) (#462-521) performs a multiplication on the result of a division:
-_takeFee(sender,_wallet2Address,tAmount.div(100).mul(2),currentRate) (#494-499)
YiLi._tokenTransfer(address,address,uint256,bool) (#462-521) performs a multiplication on the result of a division:
-Transfer(sender,recipient,tAmount.div(100).mul(recipientRate)) (#520)
YiLi._tokenTransfer(address,address,uint256,bool) (#462-521) performs a multiplication on the result of a division:
-_takeFee(sender,_wallet1Address,tAmount.div(100).mul(2),currentRate) (#502-507)
YiLi._tokenTransfer(address,address,uint256,bool) (#462-521) performs a multiplication on the result of a division:
-_reflectFee(rAmount.div(100).mul(2),tAmount.div(100).mul(2)) (#510)
Consider ordering multiplication before division.
Additional information: link
YiLi._tokenTransfer(address,address,uint256,bool).rate (#474) 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
YiLi.receive() (#402) (function) shadows built-in symbol"
Rename the local variables, state variables, functions, modifiers, and events that shadow a builtin symbol.
Additional information: link
YiLi.allowance(address,address).owner (#316) shadows:
- Ownable.owner() (#91-93) (function)
YiLi._approve(address,address,uint256).owner (#425) shadows:
- Ownable.owner() (#91-93) (function)
Rename the local variables that shadow another component.
Additional information: link
Ownable.changeOwner(address) (#103-105) should emit an event for:
- _owner = newOwner (#104)
Emit an event for critical parameter changes.
Additional information: link
Ownable.changeOwner(address).newOwner (#103) lacks a zero-check on :
- _owner = newOwner (#104)
YiLi.constructor(address,address,address,address).wallet1Address (#257) lacks a zero-check on :
- _wallet1Address = wallet1Address (#272)
YiLi.constructor(address,address,address,address).wallet2Address (#258) lacks a zero-check on :
- _wallet2Address = wallet2Address (#273)
YiLi.constructor(address,address,address,address).wallet3Address (#259) lacks a zero-check on :
- _wallet3Address = wallet3Address (#274)
YiLi.constructor(address,address,address,address).tokenOwner (#256) lacks a zero-check on :
- _owner = tokenOwner (#284)
YiLi.setUniswapV2Pair(address)._uniswapV2Pair (#545) lacks a zero-check on :
- uniswapV2Pair = _uniswapV2Pair (#546)
Check that the address is not zero.
Additional information: link
YiLi._takeLiquidity(uint256) (#539-543) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.5.10 (#1) allows old versions
solc-0.5.10 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 Ownable._owner (#86) is not in mixedCase
Parameter YiLi.setUniswapV2Pair(address)._uniswapV2Pair (#545) is not in mixedCase
Variable YiLi._previousTaxFee (#246) is not in mixedCase
Variable YiLi._wallet1Address (#250) is not in mixedCase
Variable YiLi._wallet2Address (#251) is not in mixedCase
Variable YiLi._wallet3Address (#252) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Variable YiLi._wallet1Address (#250) is too similar to YiLi._wallet2Address (#251)
Variable YiLi._wallet1Address (#250) is too similar to YiLi._wallet3Address (#252)
Variable YiLi._wallet2Address (#251) is too similar to YiLi._wallet3Address (#252)
Variable YiLi.constructor(address,address,address,address).wallet1Address (#257) is too similar to YiLi.constructor(address,address,address,address).wallet2Address (#258)
Variable YiLi.constructor(address,address,address,address).wallet1Address (#257) is too similar to YiLi.constructor(address,address,address,address).wallet3Address (#259)
Variable YiLi.constructor(address,address,address,address).wallet2Address (#258) is too similar to YiLi.constructor(address,address,address,address).wallet3Address (#259)
Prevent variables from having similar names.
Additional information: link
YiLi._tOwned (#230) is never used in YiLi (#226-550)
Remove unused state variables.
Additional information: link
YiLi._destroyAddress (#248) should be constant
YiLi._previousTaxFee (#246) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
owner() should be declared external:
- Ownable.owner() (#91-93)
changeOwner(address) should be declared external:
- Ownable.changeOwner(address) (#103-105)
name() should be declared external:
- YiLi.name() (#288-290)
symbol() should be declared external:
- YiLi.symbol() (#292-294)
decimals() should be declared external:
- YiLi.decimals() (#296-298)
totalSupply() should be declared external:
- YiLi.totalSupply() (#300-302)
balanceOf(address) should be declared external:
- YiLi.balanceOf(address) (#304-306)
transfer(address,uint256) should be declared external:
- YiLi.transfer(address,uint256) (#308-314)
allowance(address,address) should be declared external:
- YiLi.allowance(address,address) (#316-322)
approve(address,uint256) should be declared external:
- YiLi.approve(address,uint256) (#324-330)
transferFrom(address,address,uint256) should be declared external:
- YiLi.transferFrom(address,address,uint256) (#332-347)
increaseAllowance(address,uint256) should be declared external:
- YiLi.increaseAllowance(address,uint256) (#349-359)
decreaseAllowance(address,uint256) should be declared external:
- YiLi.decreaseAllowance(address,uint256) (#361-374)
totalFees() should be declared external:
- YiLi.totalFees() (#376-378)
excludeFromFee(address) should be declared external:
- YiLi.excludeFromFee(address) (#393-395)
includeInFee(address) should be declared external:
- YiLi.includeInFee(address) (#397-399)
claimTokens() should be declared external:
- YiLi.claimTokens() (#416-418)
isExcludedFromFee(address) should be declared external:
- YiLi.isExcludedFromFee(address) (#420-422)
setUniswapV2Pair(address) should be declared external:
- YiLi.setUniswapV2Pair(address) (#545-548)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find website, listings and other project-related information
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