Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Reentrancy in SHIBAWIFE._transfer(address,address,uint256) (#1103-1147):
External calls:
- swapAndLiquify(contractTokenBalance) (#1134)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1195-1202)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1181-1187)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1134)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1195-1202)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1146)
- _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity) (#1042)
- _rOwned[_giveawayWalletAddress] = _rOwned[_giveawayWalletAddress].add(rGiveaway) (#1050)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1238)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1228)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1229)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#951)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1250)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1251)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1240)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#953)
- _tokenTransfer(from,to,amount,takeFee) (#1146)
- _rTotal = _rTotal.sub(rFee) (#995)
- _tokenTransfer(from,to,amount,takeFee) (#1146)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (#1044)
- _tOwned[_giveawayWalletAddress] = _tOwned[_giveawayWalletAddress].add(tGiveaway) (#1052)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#1249)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#950)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#1239)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#952)
Apply the check-effects-interactions pattern.
Additional information: link
SHIBAWIFE.allowance(address,address).owner (#868) shadows:
- Ownable.owner() (#528-530) (function)
SHIBAWIFE._approve(address,address,uint256).owner (#1095) shadows:
- Ownable.owner() (#528-530) (function)
Rename the local variables that shadow another component.
Additional information: link
SHIBAWIFE.addLiquidity(uint256,uint256) (#1190-1203) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1195-1202)
Ensure that all the return values of the function calls are used.
Additional information: link
SHIBAWIFE.setTaxFeePercent(uint256) (#968-970) should emit an event for:
- _taxFee = taxFee (#969)
SHIBAWIFE.setGiveawayFeePercent(uint256) (#972-974) should emit an event for:
- _giveawayFee = giveawayFee (#973)
SHIBAWIFE.setLiquidityFeePercent(uint256) (#976-978) should emit an event for:
- _liquidityFee = liquidityFee (#977)
SHIBAWIFE.setMaxTxPercent(uint256) (#980-984) should emit an event for:
- _maxTxAmount = _tTotal.mul(maxTxPercent).div(10 ** 2) (#981-983)
Emit an event for critical parameter changes.
Additional information: link
Reentrancy in SHIBAWIFE._transfer(address,address,uint256) (#1103-1147):
External calls:
- swapAndLiquify(contractTokenBalance) (#1134)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1195-1202)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1181-1187)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1134)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1195-1202)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1146)
- _giveawayFee = _previousGiveawayFee (#1087)
- _giveawayFee = 0 (#1081)
- _tokenTransfer(from,to,amount,takeFee) (#1146)
- _liquidityFee = _previousLiquidityFee (#1088)
- _liquidityFee = 0 (#1082)
- _tokenTransfer(from,to,amount,takeFee) (#1146)
- _previousGiveawayFee = _giveawayFee (#1077)
- _tokenTransfer(from,to,amount,takeFee) (#1146)
- _previousLiquidityFee = _liquidityFee (#1078)
- _tokenTransfer(from,to,amount,takeFee) (#1146)
- _previousTaxFee = _taxFee (#1076)
- _tokenTransfer(from,to,amount,takeFee) (#1146)
- _tFeeTotal = _tFeeTotal.add(tFee) (#996)
- _tokenTransfer(from,to,amount,takeFee) (#1146)
- _taxFee = _previousTaxFee (#1086)
- _taxFee = 0 (#1080)
Reentrancy in SHIBAWIFE.constructor() (#824-840):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#829-830)
State variables written after the call(s):
- _isExcludedFromFee[owner()] = true (#836)
- _isExcludedFromFee[address(this)] = true (#837)
- uniswapV2Router = _uniswapV2Router (#833)
Reentrancy in SHIBAWIFE.swapAndLiquify(uint256) (#1149-1170):
External calls:
- swapTokensForEth(half) (#1161)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1181-1187)
- addLiquidity(otherHalf,newBalance) (#1167)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1195-1202)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1167)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1195-1202)
State variables written after the call(s):
- addLiquidity(otherHalf,newBalance) (#1167)
- _allowances[owner][spender] = amount (#1099)
Reentrancy in SHIBAWIFE.transferFrom(address,address,uint256) (#877-881):
External calls:
- _transfer(sender,recipient,amount) (#878)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1195-1202)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1181-1187)
External calls sending eth:
- _transfer(sender,recipient,amount) (#878)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1195-1202)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#879)
- _allowances[owner][spender] = amount (#1099)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in SHIBAWIFE._transfer(address,address,uint256) (#1103-1147):
External calls:
- swapAndLiquify(contractTokenBalance) (#1134)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1195-1202)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1181-1187)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1134)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1195-1202)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#1233)
- _tokenTransfer(from,to,amount,takeFee) (#1146)
- Transfer(sender,recipient,tTransferAmount) (#1255)
- _tokenTransfer(from,to,amount,takeFee) (#1146)
- Transfer(sender,recipient,tTransferAmount) (#1244)
- _tokenTransfer(from,to,amount,takeFee) (#1146)
- Transfer(sender,recipient,tTransferAmount) (#957)
- _tokenTransfer(from,to,amount,takeFee) (#1146)
Reentrancy in SHIBAWIFE.constructor() (#824-840):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#829-830)
Event emitted after the call(s):
- Transfer(address(0),owner(),_tTotal) (#839)
Reentrancy in SHIBAWIFE.swapAndLiquify(uint256) (#1149-1170):
External calls:
- swapTokensForEth(half) (#1161)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1181-1187)
- addLiquidity(otherHalf,newBalance) (#1167)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1195-1202)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1167)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1195-1202)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1100)
- addLiquidity(otherHalf,newBalance) (#1167)
- SwapAndLiquify(half,newBalance,otherHalf) (#1169)
Reentrancy in SHIBAWIFE.transferFrom(address,address,uint256) (#877-881):
External calls:
- _transfer(sender,recipient,amount) (#878)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1195-1202)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1181-1187)
External calls sending eth:
- _transfer(sender,recipient,amount) (#878)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1195-1202)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1100)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#879)
Apply the check-effects-interactions pattern.
Additional information: link
Address.isContract(address) (#334-343) uses assembly
- INLINE ASM (#341)
Address._verifyCallResult(bool,bytes,string) (#479-496) uses assembly
- INLINE ASM (#488-491)
Do not use evm assembly.
Additional information: link
SHIBAWIFE.includeInReward(address) (#936-947) has costly operations inside a loop:
- _excluded.pop() (#943)
Use a local variable to hold the loop computation result.
Additional information: link
Address._verifyCallResult(bool,bytes,string) (#479-496) is never used and should be removed
Address.functionCall(address,bytes) (#387-389) is never used and should be removed
Address.functionCall(address,bytes,string) (#397-399) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#412-414) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#422-429) is never used and should be removed
Address.functionDelegateCall(address,bytes) (#461-463) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (#471-477) is never used and should be removed
Address.functionStaticCall(address,bytes) (#437-439) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (#447-453) is never used and should be removed
Address.isContract(address) (#334-343) is never used and should be removed
Address.sendValue(address,uint256) (#361-367) is never used and should be removed
Context._msgData() (#22-25) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#283-288) is never used and should be removed
SafeMath.mod(uint256,uint256) (#247-249) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#305-310) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (#118-124) is never used and should be removed
SafeMath.tryDiv(uint256,uint256) (#160-165) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (#172-177) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (#143-153) is never used and should be removed
SafeMath.trySub(uint256,uint256) (#131-136) is never used and should be removed
Remove unused functions.
Additional information: link
SHIBAWIFE._rTotal (#783) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
SHIBAWIFE._previousBurnFee (#791) is set pre-construction with a non-constant function or state variable:
- _BurnFee
SHIBAWIFE._previousTaxFee (#794) is set pre-construction with a non-constant function or state variable:
- _taxFee
SHIBAWIFE._previousGiveawayFee (#797) is set pre-construction with a non-constant function or state variable:
- _giveawayFee
SHIBAWIFE._previousLiquidityFee (#799) 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 (#14) 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) (#361-367):
- (success) = recipient.call{value: amount}() (#365)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (#422-429):
- (success,returndata) = target.call{value: value}(data) (#427)
Low level call in Address.functionStaticCall(address,bytes,string) (#447-453):
- (success,returndata) = target.staticcall(data) (#451)
Low level call in Address.functionDelegateCall(address,bytes,string) (#471-477):
- (success,returndata) = target.delegatecall(data) (#475)
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() (#595) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#596) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#613) is not in mixedCase
Function IUniswapV2Router01.WETH() (#633) is not in mixedCase
Parameter SHIBAWIFE.setSwapAndLiquifyEnabled(bool)._enabled (#986) is not in mixedCase
Parameter SHIBAWIFE.calculateTaxFee(uint256)._amount (#1055) is not in mixedCase
Parameter SHIBAWIFE.calculateGiveawayFee(uint256)._amount (#1061) is not in mixedCase
Parameter SHIBAWIFE.calculateLiquidityFee(uint256)._amount (#1067) is not in mixedCase
Variable SHIBAWIFE._BurnFee (#790) is not in mixedCase
Variable SHIBAWIFE._taxFee (#793) is not in mixedCase
Variable SHIBAWIFE._giveawayFee (#796) is not in mixedCase
Variable SHIBAWIFE._liquidityFee (#798) is not in mixedCase
Variable SHIBAWIFE._maxTxAmount (#807) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#23)" inContext (#17-26)
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 (#638) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#639)
Variable SHIBAWIFE._transferToExcluded(address,address,uint256).rTransferAmount (#1237) is too similar to SHIBAWIFE._transferFromExcluded(address,address,uint256).tTransferAmount (#1248)
Variable SHIBAWIFE._transferStandard(address,address,uint256).rTransferAmount (#1227) is too similar to SHIBAWIFE._transferFromExcluded(address,address,uint256).tTransferAmount (#1248)
Variable SHIBAWIFE._transferToExcluded(address,address,uint256).rTransferAmount (#1237) is too similar to SHIBAWIFE._transferToExcluded(address,address,uint256).tTransferAmount (#1237)
Variable SHIBAWIFE._transferToExcluded(address,address,uint256).rTransferAmount (#1237) is too similar to SHIBAWIFE._transferBothExcluded(address,address,uint256).tTransferAmount (#949)
Variable SHIBAWIFE._transferStandard(address,address,uint256).rTransferAmount (#1227) is too similar to SHIBAWIFE._transferBothExcluded(address,address,uint256).tTransferAmount (#949)
Variable SHIBAWIFE._transferToExcluded(address,address,uint256).rTransferAmount (#1237) is too similar to SHIBAWIFE._getValues(uint256).tTransferAmount (#1000)
Variable SHIBAWIFE._transferFromExcluded(address,address,uint256).rTransferAmount (#1248) is too similar to SHIBAWIFE._getTValues(uint256).tTransferAmount (#1009)
Variable SHIBAWIFE._transferBothExcluded(address,address,uint256).rTransferAmount (#949) is too similar to SHIBAWIFE._transferBothExcluded(address,address,uint256).tTransferAmount (#949)
Variable SHIBAWIFE._transferStandard(address,address,uint256).rTransferAmount (#1227) is too similar to SHIBAWIFE._getValues(uint256).tTransferAmount (#1000)
Variable SHIBAWIFE._transferFromExcluded(address,address,uint256).rTransferAmount (#1248) is too similar to SHIBAWIFE._transferStandard(address,address,uint256).tTransferAmount (#1227)
Variable SHIBAWIFE._transferToExcluded(address,address,uint256).rTransferAmount (#1237) is too similar to SHIBAWIFE._getTValues(uint256).tTransferAmount (#1009)
Variable SHIBAWIFE._transferStandard(address,address,uint256).rTransferAmount (#1227) is too similar to SHIBAWIFE._getTValues(uint256).tTransferAmount (#1009)
Variable SHIBAWIFE._transferFromExcluded(address,address,uint256).rTransferAmount (#1248) is too similar to SHIBAWIFE._transferFromExcluded(address,address,uint256).tTransferAmount (#1248)
Variable SHIBAWIFE._transferFromExcluded(address,address,uint256).rTransferAmount (#1248) is too similar to SHIBAWIFE._transferToExcluded(address,address,uint256).tTransferAmount (#1237)
Variable SHIBAWIFE._transferFromExcluded(address,address,uint256).rTransferAmount (#1248) is too similar to SHIBAWIFE._transferBothExcluded(address,address,uint256).tTransferAmount (#949)
Variable SHIBAWIFE.reflectionFromToken(uint256,bool).rTransferAmount (#916) is too similar to SHIBAWIFE._transferBothExcluded(address,address,uint256).tTransferAmount (#949)
Variable SHIBAWIFE._transferFromExcluded(address,address,uint256).rTransferAmount (#1248) is too similar to SHIBAWIFE._getValues(uint256).tTransferAmount (#1000)
Variable SHIBAWIFE._transferToExcluded(address,address,uint256).rTransferAmount (#1237) is too similar to SHIBAWIFE._transferStandard(address,address,uint256).tTransferAmount (#1227)
Variable SHIBAWIFE._transferStandard(address,address,uint256).rTransferAmount (#1227) is too similar to SHIBAWIFE._transferStandard(address,address,uint256).tTransferAmount (#1227)
Variable SHIBAWIFE._transferBothExcluded(address,address,uint256).rTransferAmount (#949) is too similar to SHIBAWIFE._transferFromExcluded(address,address,uint256).tTransferAmount (#1248)
Variable SHIBAWIFE._getValues(uint256).rTransferAmount (#1001) is too similar to SHIBAWIFE._transferFromExcluded(address,address,uint256).tTransferAmount (#1248)
Variable SHIBAWIFE._transferStandard(address,address,uint256).rTransferAmount (#1227) is too similar to SHIBAWIFE._transferToExcluded(address,address,uint256).tTransferAmount (#1237)
Variable SHIBAWIFE.reflectionFromToken(uint256,bool).rTransferAmount (#916) is too similar to SHIBAWIFE._transferStandard(address,address,uint256).tTransferAmount (#1227)
Variable SHIBAWIFE.reflectionFromToken(uint256,bool).rTransferAmount (#916) is too similar to SHIBAWIFE._getValues(uint256).tTransferAmount (#1000)
Variable SHIBAWIFE.reflectionFromToken(uint256,bool).rTransferAmount (#916) is too similar to SHIBAWIFE._getTValues(uint256).tTransferAmount (#1009)
Variable SHIBAWIFE.reflectionFromToken(uint256,bool).rTransferAmount (#916) is too similar to SHIBAWIFE._transferToExcluded(address,address,uint256).tTransferAmount (#1237)
Variable SHIBAWIFE._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#1018) is too similar to SHIBAWIFE._transferFromExcluded(address,address,uint256).tTransferAmount (#1248)
Variable SHIBAWIFE._getValues(uint256).rTransferAmount (#1001) is too similar to SHIBAWIFE._transferStandard(address,address,uint256).tTransferAmount (#1227)
Variable SHIBAWIFE._transferBothExcluded(address,address,uint256).rTransferAmount (#949) is too similar to SHIBAWIFE._transferStandard(address,address,uint256).tTransferAmount (#1227)
Variable SHIBAWIFE._transferBothExcluded(address,address,uint256).rTransferAmount (#949) is too similar to SHIBAWIFE._getValues(uint256).tTransferAmount (#1000)
Variable SHIBAWIFE._transferBothExcluded(address,address,uint256).rTransferAmount (#949) is too similar to SHIBAWIFE._getTValues(uint256).tTransferAmount (#1009)
Variable SHIBAWIFE._getValues(uint256).rTransferAmount (#1001) is too similar to SHIBAWIFE._getValues(uint256).tTransferAmount (#1000)
Variable SHIBAWIFE._getValues(uint256).rTransferAmount (#1001) is too similar to SHIBAWIFE._transferToExcluded(address,address,uint256).tTransferAmount (#1237)
Variable SHIBAWIFE._getValues(uint256).rTransferAmount (#1001) is too similar to SHIBAWIFE._getTValues(uint256).tTransferAmount (#1009)
Variable SHIBAWIFE._getValues(uint256).rTransferAmount (#1001) is too similar to SHIBAWIFE._transferBothExcluded(address,address,uint256).tTransferAmount (#949)
Variable SHIBAWIFE._transferBothExcluded(address,address,uint256).rTransferAmount (#949) is too similar to SHIBAWIFE._transferToExcluded(address,address,uint256).tTransferAmount (#1237)
Variable SHIBAWIFE._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#1018) is too similar to SHIBAWIFE._transferStandard(address,address,uint256).tTransferAmount (#1227)
Variable SHIBAWIFE._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#1018) is too similar to SHIBAWIFE._transferToExcluded(address,address,uint256).tTransferAmount (#1237)
Variable SHIBAWIFE._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#1018) is too similar to SHIBAWIFE._getTValues(uint256).tTransferAmount (#1009)
Variable SHIBAWIFE._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#1018) is too similar to SHIBAWIFE._getValues(uint256).tTransferAmount (#1000)
Variable SHIBAWIFE._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#1018) is too similar to SHIBAWIFE._transferBothExcluded(address,address,uint256).tTransferAmount (#949)
Variable SHIBAWIFE.reflectionFromToken(uint256,bool).rTransferAmount (#916) is too similar to SHIBAWIFE._transferFromExcluded(address,address,uint256).tTransferAmount (#1248)
Prevent variables from having similar names.
Additional information: link
SHIBAWIFE.slitherConstructorVariables() (#766-1258) uses literals with too many digits:
- _tTotal = 1000000000000 * 10 ** 18 (#782)
SHIBAWIFE.slitherConstructorVariables() (#766-1258) uses literals with too many digits:
- _maxTxAmount = 1000000000000 * 10 ** 18 (#807)
SHIBAWIFE.slitherConstructorVariables() (#766-1258) uses literals with too many digits:
- numTokensSellToAddToLiquidity = 45000000000000 * 10 ** 18 (#808)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
SHIBAWIFE._previousBurnFee (#791) is never used in SHIBAWIFE (#766-1258)
Remove unused state variables.
Additional information: link
SHIBAWIFE._BurnFee (#790) should be constant
SHIBAWIFE._decimals (#788) should be constant
SHIBAWIFE._giveawayWalletAddress (#779) should be constant
SHIBAWIFE._name (#786) should be constant
SHIBAWIFE._symbol (#787) should be constant
SHIBAWIFE._tTotal (#782) should be constant
SHIBAWIFE.numTokensSellToAddToLiquidity (#808) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#547-550)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#556-560)
name() should be declared external:
- SHIBAWIFE.name() (#842-844)
symbol() should be declared external:
- SHIBAWIFE.symbol() (#846-848)
decimals() should be declared external:
- SHIBAWIFE.decimals() (#850-852)
totalSupply() should be declared external:
- SHIBAWIFE.totalSupply() (#854-856)
transfer(address,uint256) should be declared external:
- SHIBAWIFE.transfer(address,uint256) (#863-866)
allowance(address,address) should be declared external:
- SHIBAWIFE.allowance(address,address) (#868-870)
approve(address,uint256) should be declared external:
- SHIBAWIFE.approve(address,uint256) (#872-875)
transferFrom(address,address,uint256) should be declared external:
- SHIBAWIFE.transferFrom(address,address,uint256) (#877-881)
increaseAllowance(address,uint256) should be declared external:
- SHIBAWIFE.increaseAllowance(address,uint256) (#883-886)
decreaseAllowance(address,uint256) should be declared external:
- SHIBAWIFE.decreaseAllowance(address,uint256) (#888-891)
isExcludedFromReward(address) should be declared external:
- SHIBAWIFE.isExcludedFromReward(address) (#893-895)
totalFees() should be declared external:
- SHIBAWIFE.totalFees() (#897-899)
deliver(uint256) should be declared external:
- SHIBAWIFE.deliver(uint256) (#901-908)
reflectionFromToken(uint256,bool) should be declared external:
- SHIBAWIFE.reflectionFromToken(uint256,bool) (#910-919)
excludeFromReward(address) should be declared external:
- SHIBAWIFE.excludeFromReward(address) (#927-934)
excludeFromFee(address) should be declared external:
- SHIBAWIFE.excludeFromFee(address) (#960-962)
includeInFee(address) should be declared external:
- SHIBAWIFE.includeInFee(address) (#964-966)
setSwapAndLiquifyEnabled(bool) should be declared external:
- SHIBAWIFE.setSwapAndLiquifyEnabled(bool) (#986-989)
isExcludedFromFee(address) should be declared external:
- SHIBAWIFE.isExcludedFromFee(address) (#1091-1093)
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