Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Reentrancy in WolfCoin._transfer(address,address,uint256) (#1077-1121):
External calls:
- swapAndLiquify(contractTokenBalance) (#1108)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1169-1176)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1155-1161)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1108)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1169-1176)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1120)
- _rOwned[_charityWalletAddress] = _rOwned[_charityWalletAddress].add(rCharity) (#1024)
- _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity) (#1016)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1212)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1202)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1224)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1203)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#951)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1225)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1214)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#953)
- _tokenTransfer(from,to,amount,takeFee) (#1120)
- _rTotal = _rTotal.sub(rFee) (#969)
- _tokenTransfer(from,to,amount,takeFee) (#1120)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (#1018)
- _tOwned[_charityWalletAddress] = _tOwned[_charityWalletAddress].add(tCharity) (#1026)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#1223)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#950)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#1213)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#952)
Apply the check-effects-interactions pattern.
Additional information: link
WolfCoin._isExcluded (#800) is never initialized. It is used in:
- WolfCoin.balanceOf(address) (#882-885)
- WolfCoin.deliver(uint256) (#921-928)
- WolfCoin._takeLiquidity(uint256) (#1013-1019)
- WolfCoin._takeCharity(uint256) (#1021-1027)
- WolfCoin._tokenTransfer(address,address,uint256,bool) (#1180-1198)
WolfCoin._excluded (#801) is never initialized. It is used in:
- WolfCoin._getCurrentSupply() (#1001-1011)
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
Contract ticker ($HOWL) contains non-alphanumeric characters.
Not a direct threat, but may indicate unreliable intentions of developer. Non-alphanumeric chars (,.;!#*&") are extremely rare among low risk tokens.
WolfCoin.allowance(address,address).owner (#892) shadows:
- Ownable.owner() (#553-555) (function)
WolfCoin._approve(address,address,uint256).owner (#1069) shadows:
- Ownable.owner() (#553-555) (function)
Rename the local variables that shadow another component.
Additional information: link
WolfCoin.addLiquidity(uint256,uint256) (#1164-1177) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1169-1176)
Ensure that all the return values of the function calls are used.
Additional information: link
Reentrancy in WolfCoin._transfer(address,address,uint256) (#1077-1121):
External calls:
- swapAndLiquify(contractTokenBalance) (#1108)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1169-1176)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1155-1161)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1108)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1169-1176)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1120)
- _charityFee = _previousCharityFee (#1061)
- _charityFee = 0 (#1055)
- _tokenTransfer(from,to,amount,takeFee) (#1120)
- _liquidityFee = _previousLiquidityFee (#1062)
- _liquidityFee = 0 (#1056)
- _tokenTransfer(from,to,amount,takeFee) (#1120)
- _previousCharityFee = _charityFee (#1051)
- _tokenTransfer(from,to,amount,takeFee) (#1120)
- _previousLiquidityFee = _liquidityFee (#1052)
- _tokenTransfer(from,to,amount,takeFee) (#1120)
- _previousTaxFee = _taxFee (#1050)
- _tokenTransfer(from,to,amount,takeFee) (#1120)
- _tFeeTotal = _tFeeTotal.add(tFee) (#970)
- _tokenTransfer(from,to,amount,takeFee) (#1120)
- _taxFee = _previousTaxFee (#1060)
- _taxFee = 0 (#1054)
Reentrancy in WolfCoin.constructor() (#847-864):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#853-854)
State variables written after the call(s):
- _isExcludedFromFee[owner()] = true (#860)
- _isExcludedFromFee[address(this)] = true (#861)
- uniswapV2Router = _uniswapV2Router (#857)
Reentrancy in WolfCoin.swapAndLiquify(uint256) (#1123-1144):
External calls:
- swapTokensForEth(half) (#1135)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1155-1161)
- addLiquidity(otherHalf,newBalance) (#1141)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1169-1176)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1141)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1169-1176)
State variables written after the call(s):
- addLiquidity(otherHalf,newBalance) (#1141)
- _allowances[owner][spender] = amount (#1073)
Reentrancy in WolfCoin.transferFrom(address,address,uint256) (#901-905):
External calls:
- _transfer(sender,recipient,amount) (#902)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1169-1176)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1155-1161)
External calls sending eth:
- _transfer(sender,recipient,amount) (#902)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1169-1176)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#903)
- _allowances[owner][spender] = amount (#1073)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in WolfCoin._transfer(address,address,uint256) (#1077-1121):
External calls:
- swapAndLiquify(contractTokenBalance) (#1108)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1169-1176)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1155-1161)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1108)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1169-1176)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#1207)
- _tokenTransfer(from,to,amount,takeFee) (#1120)
- Transfer(sender,recipient,tTransferAmount) (#1218)
- _tokenTransfer(from,to,amount,takeFee) (#1120)
- Transfer(sender,recipient,tTransferAmount) (#1229)
- _tokenTransfer(from,to,amount,takeFee) (#1120)
- Transfer(sender,recipient,tTransferAmount) (#957)
- _tokenTransfer(from,to,amount,takeFee) (#1120)
Reentrancy in WolfCoin.constructor() (#847-864):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#853-854)
Event emitted after the call(s):
- Transfer(address(0),owner(),_tTotal) (#863)
Reentrancy in WolfCoin.swapAndLiquify(uint256) (#1123-1144):
External calls:
- swapTokensForEth(half) (#1135)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1155-1161)
- addLiquidity(otherHalf,newBalance) (#1141)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1169-1176)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1141)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1169-1176)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1074)
- addLiquidity(otherHalf,newBalance) (#1141)
- SwapAndLiquify(half,newBalance,otherHalf) (#1143)
Reentrancy in WolfCoin.transferFrom(address,address,uint256) (#901-905):
External calls:
- _transfer(sender,recipient,amount) (#902)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1169-1176)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1155-1161)
External calls sending eth:
- _transfer(sender,recipient,amount) (#902)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1169-1176)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1074)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#903)
Apply the check-effects-interactions pattern.
Additional information: link
Address.isContract(address) (#360-369) uses assembly
- INLINE ASM (#367)
Address._verifyCallResult(bool,bytes,string) (#505-522) uses assembly
- INLINE ASM (#514-517)
Do not use evm assembly.
Additional information: link
Address._verifyCallResult(bool,bytes,string) (#505-522) is never used and should be removed
Address.functionCall(address,bytes) (#413-415) is never used and should be removed
Address.functionCall(address,bytes,string) (#423-425) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#438-440) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#448-455) is never used and should be removed
Address.functionDelegateCall(address,bytes) (#487-489) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (#497-503) is never used and should be removed
Address.functionStaticCall(address,bytes) (#463-465) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (#473-479) is never used and should be removed
Address.isContract(address) (#360-369) is never used and should be removed
Address.sendValue(address,uint256) (#387-393) is never used and should be removed
Context._msgData() (#333-336) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#288-293) is never used and should be removed
SafeMath.mod(uint256,uint256) (#248-250) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#310-315) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (#119-125) is never used and should be removed
SafeMath.tryDiv(uint256,uint256) (#161-166) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (#173-178) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (#144-154) is never used and should be removed
SafeMath.trySub(uint256,uint256) (#132-137) is never used and should be removed
Remove unused functions.
Additional information: link
WolfCoin._rTotal (#807) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
WolfCoin._previousTaxFee (#815) is set pre-construction with a non-constant function or state variable:
- _taxFee
WolfCoin._previousCharityFee (#820) is set pre-construction with a non-constant function or state variable:
- _charityFee
WolfCoin._previousLiquidityFee (#822) is set pre-construction with a non-constant function or state variable:
- _liquidityFee
Remove any initialization of state variables via non-constant state variables or function calls. If variables must be set upon contract deployment, locate initialization in the constructor instead.
Additional information: link
Pragma version^0.8.3 (#25) allows old versions
solc-0.8.3 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
Low level call in Address.sendValue(address,uint256) (#387-393):
- (success) = recipient.call{value: amount}() (#391)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (#448-455):
- (success,returndata) = target.call{value: value}(data) (#453)
Low level call in Address.functionStaticCall(address,bytes,string) (#473-479):
- (success,returndata) = target.staticcall(data) (#477)
Low level call in Address.functionDelegateCall(address,bytes,string) (#497-503):
- (success,returndata) = target.delegatecall(data) (#501)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Function IUniswapV2Pair.DOMAIN_SEPARATOR() (#619) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#620) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#637) is not in mixedCase
Function IUniswapV2Router01.WETH() (#657) is not in mixedCase
Parameter WolfCoin.setSwapAndLiquifyEnabled(bool)._enabled (#960) is not in mixedCase
Parameter WolfCoin.calculateTaxFee(uint256)._amount (#1029) is not in mixedCase
Parameter WolfCoin.calculateCharityFee(uint256)._amount (#1035) is not in mixedCase
Parameter WolfCoin.calculateLiquidityFee(uint256)._amount (#1041) is not in mixedCase
Variable WolfCoin._taxFee (#814) is not in mixedCase
Variable WolfCoin._charityFee (#817) is not in mixedCase
Variable WolfCoin._liquidityFee (#821) is not in mixedCase
Variable WolfCoin._maxTxAmount (#830) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#334)" inContext (#328-337)
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 (#662) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#663)
Variable WolfCoin._transferStandard(address,address,uint256).rTransferAmount (#1201) is too similar to WolfCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#1222)
Variable WolfCoin._transferStandard(address,address,uint256).rTransferAmount (#1201) is too similar to WolfCoin._transferToExcluded(address,address,uint256).tTransferAmount (#1211)
Variable WolfCoin._transferFromExcluded(address,address,uint256).rTransferAmount (#1222) is too similar to WolfCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#1222)
Variable WolfCoin._transferBothExcluded(address,address,uint256).rTransferAmount (#949) is too similar to WolfCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#949)
Variable WolfCoin._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#992) is too similar to WolfCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#949)
Variable WolfCoin._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#992) is too similar to WolfCoin._getValues(uint256).tTransferAmount (#974)
Variable WolfCoin._transferFromExcluded(address,address,uint256).rTransferAmount (#1222) is too similar to WolfCoin._transferToExcluded(address,address,uint256).tTransferAmount (#1211)
Variable WolfCoin._transferToExcluded(address,address,uint256).rTransferAmount (#1211) is too similar to WolfCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#1222)
Variable WolfCoin._transferStandard(address,address,uint256).rTransferAmount (#1201) is too similar to WolfCoin._getValues(uint256).tTransferAmount (#974)
Variable WolfCoin._transferStandard(address,address,uint256).rTransferAmount (#1201) is too similar to WolfCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#949)
Variable WolfCoin._transferToExcluded(address,address,uint256).rTransferAmount (#1211) is too similar to WolfCoin._transferToExcluded(address,address,uint256).tTransferAmount (#1211)
Variable WolfCoin._transferFromExcluded(address,address,uint256).rTransferAmount (#1222) is too similar to WolfCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#949)
Variable WolfCoin.reflectionFromToken(uint256,bool).rTransferAmount (#936) is too similar to WolfCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#949)
Variable WolfCoin._transferToExcluded(address,address,uint256).rTransferAmount (#1211) is too similar to WolfCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#949)
Variable WolfCoin._getValues(uint256).rTransferAmount (#975) is too similar to WolfCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#1222)
Variable WolfCoin._getValues(uint256).rTransferAmount (#975) is too similar to WolfCoin._transferToExcluded(address,address,uint256).tTransferAmount (#1211)
Variable WolfCoin._transferStandard(address,address,uint256).rTransferAmount (#1201) is too similar to WolfCoin._getTValues(uint256).tTransferAmount (#983)
Variable WolfCoin._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#992) is too similar to WolfCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#1222)
Variable WolfCoin._transferStandard(address,address,uint256).rTransferAmount (#1201) is too similar to WolfCoin._transferStandard(address,address,uint256).tTransferAmount (#1201)
Variable WolfCoin._getValues(uint256).rTransferAmount (#975) is too similar to WolfCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#949)
Variable WolfCoin._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#992) is too similar to WolfCoin._transferToExcluded(address,address,uint256).tTransferAmount (#1211)
Variable WolfCoin.reflectionFromToken(uint256,bool).rTransferAmount (#936) is too similar to WolfCoin._transferStandard(address,address,uint256).tTransferAmount (#1201)
Variable WolfCoin.reflectionFromToken(uint256,bool).rTransferAmount (#936) is too similar to WolfCoin._getValues(uint256).tTransferAmount (#974)
Variable WolfCoin._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#992) is too similar to WolfCoin._getTValues(uint256).tTransferAmount (#983)
Variable WolfCoin._transferFromExcluded(address,address,uint256).rTransferAmount (#1222) is too similar to WolfCoin._transferStandard(address,address,uint256).tTransferAmount (#1201)
Variable WolfCoin._transferToExcluded(address,address,uint256).rTransferAmount (#1211) is too similar to WolfCoin._transferStandard(address,address,uint256).tTransferAmount (#1201)
Variable WolfCoin._transferFromExcluded(address,address,uint256).rTransferAmount (#1222) is too similar to WolfCoin._getValues(uint256).tTransferAmount (#974)
Variable WolfCoin._transferToExcluded(address,address,uint256).rTransferAmount (#1211) is too similar to WolfCoin._getValues(uint256).tTransferAmount (#974)
Variable WolfCoin.reflectionFromToken(uint256,bool).rTransferAmount (#936) is too similar to WolfCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#1222)
Variable WolfCoin._getValues(uint256).rTransferAmount (#975) is too similar to WolfCoin._transferStandard(address,address,uint256).tTransferAmount (#1201)
Variable WolfCoin._getValues(uint256).rTransferAmount (#975) is too similar to WolfCoin._getValues(uint256).tTransferAmount (#974)
Variable WolfCoin._transferBothExcluded(address,address,uint256).rTransferAmount (#949) is too similar to WolfCoin._transferStandard(address,address,uint256).tTransferAmount (#1201)
Variable WolfCoin.reflectionFromToken(uint256,bool).rTransferAmount (#936) is too similar to WolfCoin._transferToExcluded(address,address,uint256).tTransferAmount (#1211)
Variable WolfCoin._transferBothExcluded(address,address,uint256).rTransferAmount (#949) is too similar to WolfCoin._getValues(uint256).tTransferAmount (#974)
Variable WolfCoin.reflectionFromToken(uint256,bool).rTransferAmount (#936) is too similar to WolfCoin._getTValues(uint256).tTransferAmount (#983)
Variable WolfCoin._transferBothExcluded(address,address,uint256).rTransferAmount (#949) is too similar to WolfCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#1222)
Variable WolfCoin._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#992) is too similar to WolfCoin._transferStandard(address,address,uint256).tTransferAmount (#1201)
Variable WolfCoin._transferFromExcluded(address,address,uint256).rTransferAmount (#1222) is too similar to WolfCoin._getTValues(uint256).tTransferAmount (#983)
Variable WolfCoin._transferToExcluded(address,address,uint256).rTransferAmount (#1211) is too similar to WolfCoin._getTValues(uint256).tTransferAmount (#983)
Variable WolfCoin._transferBothExcluded(address,address,uint256).rTransferAmount (#949) is too similar to WolfCoin._transferToExcluded(address,address,uint256).tTransferAmount (#1211)
Variable WolfCoin._getValues(uint256).rTransferAmount (#975) is too similar to WolfCoin._getTValues(uint256).tTransferAmount (#983)
Variable WolfCoin._transferBothExcluded(address,address,uint256).rTransferAmount (#949) is too similar to WolfCoin._getTValues(uint256).tTransferAmount (#983)
Prevent variables from having similar names.
Additional information: link
WolfCoin.slitherConstructorVariables() (#790-1233) uses literals with too many digits:
- _tTotal = 10000000000 * 10 ** 6 * 10 ** 9 (#806)
WolfCoin.slitherConstructorVariables() (#790-1233) uses literals with too many digits:
- _maxTxAmount = 100000000 * 10 ** 6 * 10 ** 9 (#830)
WolfCoin.slitherConstructorVariables() (#790-1233) uses literals with too many digits:
- numTokensSellToAddToLiquidity = 500000000 * 10 ** 6 * 10 ** 9 (#831)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
WolfCoin._charityWalletAddress (#803) should be constant
WolfCoin._decimals (#812) should be constant
WolfCoin._maxTxAmount (#830) should be constant
WolfCoin._name (#810) should be constant
WolfCoin._symbol (#811) should be constant
WolfCoin._tTotal (#806) should be constant
WolfCoin.numTokensSellToAddToLiquidity (#831) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#572-575)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#581-585)
name() should be declared external:
- WolfCoin.name() (#866-868)
symbol() should be declared external:
- WolfCoin.symbol() (#870-872)
decimals() should be declared external:
- WolfCoin.decimals() (#874-876)
totalSupply() should be declared external:
- WolfCoin.totalSupply() (#878-880)
transfer(address,uint256) should be declared external:
- WolfCoin.transfer(address,uint256) (#887-890)
allowance(address,address) should be declared external:
- WolfCoin.allowance(address,address) (#892-894)
approve(address,uint256) should be declared external:
- WolfCoin.approve(address,uint256) (#896-899)
transferFrom(address,address,uint256) should be declared external:
- WolfCoin.transferFrom(address,address,uint256) (#901-905)
increaseAllowance(address,uint256) should be declared external:
- WolfCoin.increaseAllowance(address,uint256) (#907-910)
decreaseAllowance(address,uint256) should be declared external:
- WolfCoin.decreaseAllowance(address,uint256) (#912-915)
totalFees() should be declared external:
- WolfCoin.totalFees() (#917-919)
deliver(uint256) should be declared external:
- WolfCoin.deliver(uint256) (#921-928)
reflectionFromToken(uint256,bool) should be declared external:
- WolfCoin.reflectionFromToken(uint256,bool) (#930-939)
setSwapAndLiquifyEnabled(bool) should be declared external:
- WolfCoin.setSwapAndLiquifyEnabled(bool) (#960-963)
isExcludedFromFee(address) should be declared external:
- WolfCoin.isExcludedFromFee(address) (#1065-1067)
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