Shield Network Token Logo

SHIELDNET [Shield Network] Token

About SHIELDNET

Listings

Token 3 years
CoinGecko 3 years
CoinMarketCap 2 years
[CoinMarketCap] alert: Shield Network has recently swapped their contract from SHILD to SHIELDNET. For more information, please visit their official Twitter post.
[CoinGecko] alert: Shield Network has recently swapped their tokens from SHILD to SHIELDNET. For more information, please visit their official Telegram post.
white paper

Shield Network $SHIELDNET is a token on the BSC platform. It's objective is to provide a safe, scam free, pre-audited launch platform.

Laser Scorebeta Last Audit: 30 May 2022

report
Token seems to be (relatively) fine. It still become a scam, but probability is moderate.

ShieldNetwork.addLiquidity(uint256,uint256) (#1193-1206) sends eth to arbitrary user
Dangerous calls:
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#1198-1205)
Ensure that an arbitrary user cannot withdraw unauthorized funds.

Additional information: link

ShieldNetwork.withdrawAnyToken(address,address,uint256) (#1262-1267) ignores return value by IERC20(_ERC20address).transfer(_recipient,_amount) (#1265)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.

Additional information: link

Reentrancy in ShieldNetwork._transfer(address,address,uint256) (#1105-1150):
External calls:
- swapAndLiquify(contractTokenBalance) (#1129)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#1198-1205)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1184-1190)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1129)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#1198-1205)
State variables written after the call(s):
- _burn(from,tBurnAmount,rBurnAmount) (#1145)
- _rOwned[address(sender)] = 0 (#997)
- _rOwned[address(sender)] -= rBurnAmount (#999)
- _tokenTransfer(from,to,amount,takeFee) (#1149)
- _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity) (#1061)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1231)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1240)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1232)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#940)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1251)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1242)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1252)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#942)
- _burn(from,tBurnAmount,rBurnAmount) (#1145)
- _rTotal = _rTotal.sub(rBurnAmount) (#1002)
- _tokenTransfer(from,to,amount,takeFee) (#1149)
- _rTotal = _rTotal.sub(rFee) (#984)
- _tokenTransfer(from,to,amount,takeFee) (#1149)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (#1063)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#1250)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#939)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#1241)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#941)
- _burn(from,tBurnAmount,rBurnAmount) (#1145)
- _tTotal = _tTotal.sub(tBurnAmount) (#1001)
Apply the check-effects-interactions pattern.

Additional information: link


Combination 1: Reentrancy vulnerabilities + Functions that send Ether to arbitraty destination. Usual for scams. May be justified by some complex mechanics (e.g. rebase, reflections). DYOR & manual audit are advised.


Combination 2: Unchecked transfer + Functions that send Ether to arbitraty destination. Usual for scams. May be justified by some complex mechanics (e.g. rebase, reflections). DYOR & manual audit are advised.


Combination 3: Reentrancy vulnerabilities + Unchecked transfer vulnerability. Usual for scams. May be justified by some complex mechanics (e.g. rebase, reflections). DYOR & manual audit are advised.


Contract ownership is not renounced (belongs to a wallet)

ShieldNetwork.includeInReward(address) (#925-936) has costly operations inside a loop:
- _excluded.pop() (#932)
Use a local variable to hold the loop computation result.

Additional information: link

ShieldNetwork._getBurnAmounts(uint256) (#988-993) performs a multiplication on the result of a division:
-tBurnAmount = amount.mul(_burnRate).div(10 ** DIVISION_FACTOR) (#990)
-rBurnAmount = tBurnAmount.mul(_currentRate) (#991)
Consider ordering multiplication before division.

Additional information: link

Redundant expression "this (#310)" inContext (#304-313)
Remove redundant statements if they congest code but offer no value.

Additional information: link

ShieldNetwork.setTaxFeePercent(uint256) (#956-959) should emit an event for:
- _taxFee = taxFee (#958)
ShieldNetwork.setLiquidityFeePercent(uint256) (#961-964) should emit an event for:
- _liquidityFee = liquidityFee (#963)
ShieldNetwork.setBurnRate(uint256) (#966-969) should emit an event for:
- _burnRate = amount (#968)
ShieldNetwork.setLiquifyAmount(uint256) (#1258-1260) should emit an event for:
- numTokensSellToAddToLiquidity = amount (#1259)
Emit an event for critical parameter changes.

Additional information: link

ShieldNetwork.setPair(address)._uniswapV2Pair (#820) lacks a zero-check on :
- uniswapV2Pair = _uniswapV2Pair (#822)
ShieldNetwork.transferXS(address).recipient (#1269) lacks a zero-check on :
- recipient.transfer(address(this).balance) (#1270)
Check that the address is not zero.

Additional information: link

ShieldNetwork.addLiquidity(uint256,uint256) (#1193-1206) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#1198-1205)
Ensure that all the return values of the function calls are used.

Additional information: link

ShieldNetwork.allowance(address,address).owner (#856) shadows:
- Ownable.owner() (#485-487) (function)
ShieldNetwork._approve(address,address,uint256).owner (#1097) shadows:
- Ownable.owner() (#485-487) (function)
Rename the local variables that shadow another component.

Additional information: link

Reentrancy in ShieldNetwork._transfer(address,address,uint256) (#1105-1150):
External calls:
- swapAndLiquify(contractTokenBalance) (#1129)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#1198-1205)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1184-1190)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1129)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#1198-1205)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1149)
- _liquidityFee = _previousLiquidityFee (#1090)
- _liquidityFee = 0 (#1085)
- _tokenTransfer(from,to,amount,takeFee) (#1149)
- _previousLiquidityFee = _liquidityFee (#1082)
- _tokenTransfer(from,to,amount,takeFee) (#1149)
- _previousTaxFee = _taxFee (#1081)
- _tokenTransfer(from,to,amount,takeFee) (#1149)
- _tFeeTotal = _tFeeTotal.add(tFee) (#985)
- _tokenTransfer(from,to,amount,takeFee) (#1149)
- _taxFee = _previousTaxFee (#1089)
- _taxFee = 0 (#1084)
- _burn(from,tBurnAmount,rBurnAmount) (#1145)
- _totalBurned = _totalBurned.add(tBurnAmount) (#1003)
Reentrancy in ShieldNetwork.swapAndLiquify(uint256) (#1152-1173):
External calls:
- swapTokensForEth(half) (#1164)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1184-1190)
- addLiquidity(otherHalf,newBalance) (#1170)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#1198-1205)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1170)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#1198-1205)
State variables written after the call(s):
- addLiquidity(otherHalf,newBalance) (#1170)
- _allowances[owner][spender] = amount (#1101)
Reentrancy in ShieldNetwork.transferFrom(address,address,uint256) (#865-869):
External calls:
- _transfer(sender,recipient,amount) (#866)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#1198-1205)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1184-1190)
External calls sending eth:
- _transfer(sender,recipient,amount) (#866)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#1198-1205)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#867)
- _allowances[owner][spender] = amount (#1101)
Apply the check-effects-interactions pattern.

Additional information: link

Reentrancy in ShieldNetwork._transfer(address,address,uint256) (#1105-1150):
External calls:
- swapAndLiquify(contractTokenBalance) (#1129)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#1198-1205)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1184-1190)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1129)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#1198-1205)
Event emitted after the call(s):
- Transfer(sender,address(0),tBurnAmount) (#1005)
- _burn(from,tBurnAmount,rBurnAmount) (#1145)
- Transfer(sender,recipient,tTransferAmount) (#1235)
- _tokenTransfer(from,to,amount,takeFee) (#1149)
- Transfer(sender,recipient,tTransferAmount) (#1245)
- _tokenTransfer(from,to,amount,takeFee) (#1149)
- Transfer(sender,recipient,tTransferAmount) (#1255)
- _tokenTransfer(from,to,amount,takeFee) (#1149)
- Transfer(sender,recipient,tTransferAmount) (#945)
- _tokenTransfer(from,to,amount,takeFee) (#1149)
Reentrancy in ShieldNetwork.swapAndLiquify(uint256) (#1152-1173):
External calls:
- swapTokensForEth(half) (#1164)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1184-1190)
- addLiquidity(otherHalf,newBalance) (#1170)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#1198-1205)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1170)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#1198-1205)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1102)
- addLiquidity(otherHalf,newBalance) (#1170)
- SwapAndLiquify(half,newBalance,otherHalf) (#1172)
Reentrancy in ShieldNetwork.transferFrom(address,address,uint256) (#865-869):
External calls:
- _transfer(sender,recipient,amount) (#866)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#1198-1205)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1184-1190)
External calls sending eth:
- _transfer(sender,recipient,amount) (#866)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#1198-1205)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1102)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#867)
Apply the check-effects-interactions pattern.

Additional information: link

Ownable.unlock() (#532-537) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(now > _lockTime,Contract is locked until 7 days) (#534)
Avoid relying on block.timestamp.

Additional information: link

Address.isContract(address) (#337-346) uses assembly
- INLINE ASM (#344)
Address._functionCallWithValue(address,bytes,uint256,string) (#430-451) uses assembly
- INLINE ASM (#443-446)
Do not use evm assembly.

Additional information: link

Address._functionCallWithValue(address,bytes,uint256,string) (#430-451) is never used and should be removed
Address.functionCall(address,bytes) (#390-392) is never used and should be removed
Address.functionCall(address,bytes,string) (#400-402) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#415-417) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#425-428) is never used and should be removed
Address.isContract(address) (#337-346) is never used and should be removed
Address.sendValue(address,uint256) (#364-370) is never used and should be removed
Context._msgData() (#309-312) is never used and should be removed
SafeMath.mod(uint256,uint256) (#282-284) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#298-301) is never used and should be removed
Remove unused functions.

Additional information: link

ShieldNetwork._rTotal (#769) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
ShieldNetwork._previousTaxFee (#778) is set pre-construction with a non-constant function or state variable:
- _taxFee
ShieldNetwork._previousLiquidityFee (#781) 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

Low level call in Address.sendValue(address,uint256) (#364-370):
- (success) = recipient.call{value: amount}() (#368)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#430-451):
- (success,returndata) = target.call{value: weiValue}(data) (#434)
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() (#576) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#577) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#594) is not in mixedCase
Function IUniswapV2Router01.WETH() (#616) is not in mixedCase
Parameter ShieldNetwork.setPair(address)._uniswapV2Pair (#820) is not in mixedCase
Parameter ShieldNetwork.setSwapAndLiquifyEnabled(bool)._enabled (#971) is not in mixedCase
Parameter ShieldNetwork.calculateTaxFee(uint256)._amount (#1066) is not in mixedCase
Parameter ShieldNetwork.calculateLiquidityFee(uint256)._amount (#1072) is not in mixedCase
Parameter ShieldNetwork.withdrawAnyToken(address,address,uint256)._recipient (#1262) is not in mixedCase
Parameter ShieldNetwork.withdrawAnyToken(address,address,uint256)._ERC20address (#1262) is not in mixedCase
Parameter ShieldNetwork.withdrawAnyToken(address,address,uint256)._amount (#1262) is not in mixedCase
Variable ShieldNetwork._taxFee (#777) is not in mixedCase
Variable ShieldNetwork._liquidityFee (#780) is not in mixedCase
Variable ShieldNetwork._burnRate (#783) is not in mixedCase
Variable ShieldNetwork._totalBurned (#784) is not in mixedCase
Variable ShieldNetwork._swapMode (#792) is not in mixedCase
Follow the Solidity naming convention.

Additional information: link

Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#621) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#622)
Variable ShieldNetwork._burn(address,uint256,uint256).rBurnAmount (#995) is too similar to ShieldNetwork._getBurnAmounts(uint256).tBurnAmount (#990)
Variable ShieldNetwork._burn(address,uint256,uint256).rBurnAmount (#995) is too similar to ShieldNetwork._transfer(address,address,uint256).tBurnAmount (#1143)
Variable ShieldNetwork._getBurnAmounts(uint256).rBurnAmount (#991) is too similar to ShieldNetwork._transfer(address,address,uint256).tBurnAmount (#1143)
Variable ShieldNetwork._burn(address,uint256,uint256).rBurnAmount (#995) is too similar to ShieldNetwork.burn(uint256).tBurnAmount (#1013)
Variable ShieldNetwork._getBurnAmounts(uint256).rBurnAmount (#991) is too similar to ShieldNetwork.burn(uint256).tBurnAmount (#1013)
Variable ShieldNetwork._getValues(uint256).rTransferAmount (#1022) is too similar to ShieldNetwork._transferStandard(address,address,uint256).tTransferAmount (#1230)
Variable ShieldNetwork._transferFromExcluded(address,address,uint256).rTransferAmount (#1249) is too similar to ShieldNetwork._transferBothExcluded(address,address,uint256).tTransferAmount (#938)
Variable ShieldNetwork._transferStandard(address,address,uint256).rTransferAmount (#1230) is too similar to ShieldNetwork._transferBothExcluded(address,address,uint256).tTransferAmount (#938)
Variable ShieldNetwork._getValues(uint256).rTransferAmount (#1022) is too similar to ShieldNetwork._transferFromExcluded(address,address,uint256).tTransferAmount (#1249)
Variable ShieldNetwork._transferToExcluded(address,address,uint256).rTransferAmount (#1239) is too similar to ShieldNetwork._transferBothExcluded(address,address,uint256).tTransferAmount (#938)
Variable ShieldNetwork._transferFromExcluded(address,address,uint256).rTransferAmount (#1249) is too similar to ShieldNetwork._getTValues(uint256).tTransferAmount (#1029)
Variable ShieldNetwork._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1037) is too similar to ShieldNetwork._getValues(uint256).tTransferAmount (#1021)
Variable ShieldNetwork._transferBothExcluded(address,address,uint256).rTransferAmount (#938) is too similar to ShieldNetwork._transferStandard(address,address,uint256).tTransferAmount (#1230)
Variable ShieldNetwork._transferToExcluded(address,address,uint256).rTransferAmount (#1239) is too similar to ShieldNetwork._getTValues(uint256).tTransferAmount (#1029)
Variable ShieldNetwork._getValues(uint256).rTransferAmount (#1022) is too similar to ShieldNetwork._getValues(uint256).tTransferAmount (#1021)
Variable ShieldNetwork.reflectionFromToken(uint256,bool).rTransferAmount (#904) is too similar to ShieldNetwork._transferStandard(address,address,uint256).tTransferAmount (#1230)
Variable ShieldNetwork._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1037) is too similar to ShieldNetwork._transferBothExcluded(address,address,uint256).tTransferAmount (#938)
Variable ShieldNetwork.reflectionFromToken(uint256,bool).rTransferAmount (#904) is too similar to ShieldNetwork._transferFromExcluded(address,address,uint256).tTransferAmount (#1249)
Variable ShieldNetwork._transferBothExcluded(address,address,uint256).rTransferAmount (#938) is too similar to ShieldNetwork._getValues(uint256).tTransferAmount (#1021)
Variable ShieldNetwork._getValues(uint256).rTransferAmount (#1022) is too similar to ShieldNetwork._transferBothExcluded(address,address,uint256).tTransferAmount (#938)
Variable ShieldNetwork._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1037) is too similar to ShieldNetwork._getTValues(uint256).tTransferAmount (#1029)
Variable ShieldNetwork.reflectionFromToken(uint256,bool).rTransferAmount (#904) is too similar to ShieldNetwork._getValues(uint256).tTransferAmount (#1021)
Variable ShieldNetwork._transferFromExcluded(address,address,uint256).rTransferAmount (#1249) is too similar to ShieldNetwork._transferStandard(address,address,uint256).tTransferAmount (#1230)
Variable ShieldNetwork._transferBothExcluded(address,address,uint256).rTransferAmount (#938) is too similar to ShieldNetwork._transferBothExcluded(address,address,uint256).tTransferAmount (#938)
Variable ShieldNetwork._getValues(uint256).rTransferAmount (#1022) is too similar to ShieldNetwork._getTValues(uint256).tTransferAmount (#1029)
Variable ShieldNetwork._transferStandard(address,address,uint256).rTransferAmount (#1230) is too similar to ShieldNetwork._transferStandard(address,address,uint256).tTransferAmount (#1230)
Variable ShieldNetwork._transferFromExcluded(address,address,uint256).rTransferAmount (#1249) is too similar to ShieldNetwork._transferFromExcluded(address,address,uint256).tTransferAmount (#1249)
Variable ShieldNetwork._transferToExcluded(address,address,uint256).rTransferAmount (#1239) is too similar to ShieldNetwork._transferStandard(address,address,uint256).tTransferAmount (#1230)
Variable ShieldNetwork.reflectionFromToken(uint256,bool).rTransferAmount (#904) is too similar to ShieldNetwork._transferBothExcluded(address,address,uint256).tTransferAmount (#938)
Variable ShieldNetwork._transferToExcluded(address,address,uint256).rTransferAmount (#1239) is too similar to ShieldNetwork._transferFromExcluded(address,address,uint256).tTransferAmount (#1249)
Variable ShieldNetwork._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1037) is too similar to ShieldNetwork._transferToExcluded(address,address,uint256).tTransferAmount (#1239)
Variable ShieldNetwork._transferFromExcluded(address,address,uint256).rTransferAmount (#1249) is too similar to ShieldNetwork._getValues(uint256).tTransferAmount (#1021)
Variable ShieldNetwork._transferStandard(address,address,uint256).rTransferAmount (#1230) is too similar to ShieldNetwork._getValues(uint256).tTransferAmount (#1021)
Variable ShieldNetwork._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1037) is too similar to ShieldNetwork._transferStandard(address,address,uint256).tTransferAmount (#1230)
Variable ShieldNetwork.reflectionFromToken(uint256,bool).rTransferAmount (#904) is too similar to ShieldNetwork._getTValues(uint256).tTransferAmount (#1029)
Variable ShieldNetwork._transferToExcluded(address,address,uint256).rTransferAmount (#1239) is too similar to ShieldNetwork._getValues(uint256).tTransferAmount (#1021)
Variable ShieldNetwork._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1037) is too similar to ShieldNetwork._transferFromExcluded(address,address,uint256).tTransferAmount (#1249)
Variable ShieldNetwork._transfer(address,address,uint256).rBurnAmount (#1143) is too similar to ShieldNetwork._burn(address,uint256,uint256).tBurnAmount (#995)
Variable ShieldNetwork._getBurnAmounts(uint256).rBurnAmount (#991) is too similar to ShieldNetwork._getBurnAmounts(uint256).tBurnAmount (#990)
Variable ShieldNetwork._transfer(address,address,uint256).rBurnAmount (#1143) is too similar to ShieldNetwork._transfer(address,address,uint256).tBurnAmount (#1143)
Variable ShieldNetwork._transfer(address,address,uint256).rBurnAmount (#1143) is too similar to ShieldNetwork.burn(uint256).tBurnAmount (#1013)
Variable ShieldNetwork.burn(uint256).rBurnAmount (#1014) is too similar to ShieldNetwork._burn(address,uint256,uint256).tBurnAmount (#995)
Variable ShieldNetwork.burn(uint256).rBurnAmount (#1014) is too similar to ShieldNetwork._transfer(address,address,uint256).tBurnAmount (#1143)
Variable ShieldNetwork._transfer(address,address,uint256).rBurnAmount (#1143) is too similar to ShieldNetwork._getBurnAmounts(uint256).tBurnAmount (#990)
Variable ShieldNetwork._burn(address,uint256,uint256).rBurnAmount (#995) is too similar to ShieldNetwork._burn(address,uint256,uint256).tBurnAmount (#995)
Variable ShieldNetwork.burn(uint256).rBurnAmount (#1014) is too similar to ShieldNetwork.burn(uint256).tBurnAmount (#1013)
Variable ShieldNetwork.burn(uint256).rBurnAmount (#1014) is too similar to ShieldNetwork._getBurnAmounts(uint256).tBurnAmount (#990)
Variable ShieldNetwork._getBurnAmounts(uint256).rBurnAmount (#991) is too similar to ShieldNetwork._burn(address,uint256,uint256).tBurnAmount (#995)
Variable ShieldNetwork._transferToExcluded(address,address,uint256).rTransferAmount (#1239) is too similar to ShieldNetwork._transferToExcluded(address,address,uint256).tTransferAmount (#1239)
Variable ShieldNetwork._getValues(uint256).rTransferAmount (#1022) is too similar to ShieldNetwork._transferToExcluded(address,address,uint256).tTransferAmount (#1239)
Variable ShieldNetwork._transferBothExcluded(address,address,uint256).rTransferAmount (#938) is too similar to ShieldNetwork._transferFromExcluded(address,address,uint256).tTransferAmount (#1249)
Variable ShieldNetwork._transferStandard(address,address,uint256).rTransferAmount (#1230) is too similar to ShieldNetwork._transferToExcluded(address,address,uint256).tTransferAmount (#1239)
Variable ShieldNetwork._transferStandard(address,address,uint256).rTransferAmount (#1230) is too similar to ShieldNetwork._getTValues(uint256).tTransferAmount (#1029)
Variable ShieldNetwork._transferFromExcluded(address,address,uint256).rTransferAmount (#1249) is too similar to ShieldNetwork._transferToExcluded(address,address,uint256).tTransferAmount (#1239)
Variable ShieldNetwork.reflectionFromToken(uint256,bool).rTransferAmount (#904) is too similar to ShieldNetwork._transferToExcluded(address,address,uint256).tTransferAmount (#1239)
Variable ShieldNetwork._transferBothExcluded(address,address,uint256).rTransferAmount (#938) is too similar to ShieldNetwork._transferToExcluded(address,address,uint256).tTransferAmount (#1239)
Variable ShieldNetwork._transferStandard(address,address,uint256).rTransferAmount (#1230) is too similar to ShieldNetwork._transferFromExcluded(address,address,uint256).tTransferAmount (#1249)
Variable ShieldNetwork._transferBothExcluded(address,address,uint256).rTransferAmount (#938) is too similar to ShieldNetwork._getTValues(uint256).tTransferAmount (#1029)
Prevent variables from having similar names.

Additional information: link

ShieldNetwork._decimals (#774) should be constant
ShieldNetwork._name (#772) should be constant
ShieldNetwork._symbol (#773) should be constant
Add the constant attributes to state variables that never change.

Additional information: link

renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#504-507)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#513-517)
geUnlockTime() should be declared external:
- Ownable.geUnlockTime() (#519-521)
lock(uint256) should be declared external:
- Ownable.lock(uint256) (#524-529)
unlock() should be declared external:
- Ownable.unlock() (#532-537)
setPair(address) should be declared external:
- ShieldNetwork.setPair(address) (#820-823)
setRouter(address) should be declared external:
- ShieldNetwork.setRouter(address) (#824-827)
name() should be declared external:
- ShieldNetwork.name() (#830-832)
symbol() should be declared external:
- ShieldNetwork.symbol() (#834-836)
decimals() should be declared external:
- ShieldNetwork.decimals() (#838-840)
totalSupply() should be declared external:
- ShieldNetwork.totalSupply() (#842-844)
transfer(address,uint256) should be declared external:
- ShieldNetwork.transfer(address,uint256) (#851-854)
allowance(address,address) should be declared external:
- ShieldNetwork.allowance(address,address) (#856-858)
approve(address,uint256) should be declared external:
- ShieldNetwork.approve(address,uint256) (#860-863)
transferFrom(address,address,uint256) should be declared external:
- ShieldNetwork.transferFrom(address,address,uint256) (#865-869)
increaseAllowance(address,uint256) should be declared external:
- ShieldNetwork.increaseAllowance(address,uint256) (#871-874)
decreaseAllowance(address,uint256) should be declared external:
- ShieldNetwork.decreaseAllowance(address,uint256) (#876-879)
isExcludedFromReward(address) should be declared external:
- ShieldNetwork.isExcludedFromReward(address) (#881-883)
totalFees() should be declared external:
- ShieldNetwork.totalFees() (#885-887)
deliver(uint256) should be declared external:
- ShieldNetwork.deliver(uint256) (#889-896)
reflectionFromToken(uint256,bool) should be declared external:
- ShieldNetwork.reflectionFromToken(uint256,bool) (#898-907)
excludeFromReward(address) should be declared external:
- ShieldNetwork.excludeFromReward(address) (#915-923)
excludeFromFee(address) should be declared external:
- ShieldNetwork.excludeFromFee(address) (#948-950)
includeInFee(address) should be declared external:
- ShieldNetwork.includeInFee(address) (#952-954)
setBurnRate(uint256) should be declared external:
- ShieldNetwork.setBurnRate(uint256) (#966-969)
setSwapAndLiquifyEnabled(bool) should be declared external:
- ShieldNetwork.setSwapAndLiquifyEnabled(bool) (#971-974)
setSwapMode(bool) should be declared external:
- ShieldNetwork.setSwapMode(bool) (#976-978)
burn(uint256) should be declared external:
- ShieldNetwork.burn(uint256) (#1008-1018)
isExcludedFromFee(address) should be declared external:
- ShieldNetwork.isExcludedFromFee(address) (#1093-1095)
setLiquifyAmount(uint256) should be declared external:
- ShieldNetwork.setLiquifyAmount(uint256) (#1258-1260)
withdrawAnyToken(address,address,uint256) should be declared external:
- ShieldNetwork.withdrawAnyToken(address,address,uint256) (#1262-1267)
transferXS(address) should be declared external:
- ShieldNetwork.transferXS(address) (#1269-1271)
Use the external attribute for functions never called from the contract.

Additional information: link

Holders:

Contract has 5% buy tax and 5% sell tax.
Taxes are low but contract ownership is not renounced. Token has a high risk of becoming a honeypot.


Token is deployed only at one blockchain


Twitter account link seems to be invalid


Telegram account has relatively few subscribers


Token is not listed at Mobula.Finance

Additional information: link


Unable to find audit link on the website


Unable to find code repository for the project


Token has a considerable age, but social accounts / website are missing or have few users


Token has relatively low CoinGecko rank


Token has relatively low CoinMarketCap rank

Price for SHIELDNET