goldshield.addLiquidity(uint256,uint256) (#569-580) sends eth to arbitrary user
Dangerous calls:
- router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,deadAddress,block.timestamp) (#572-579)
Ensure that an arbitrary user cannot withdraw unauthorized funds.
Additional information: link
Reentrancy in goldshield._transfer(address,address,uint256) (#510-537):
External calls:
- swapAndLiquify(swapThreshold) (#523)
- router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,deadAddress,block.timestamp) (#572-579)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#560-566)
External calls sending eth:
- swapAndLiquify(swapThreshold) (#523)
- router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,deadAddress,block.timestamp) (#572-579)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee,isSale) (#536)
- _rOwned[marketingWallet] = _rOwned[marketingWallet] + (rMarketing) (#423)
- _rOwned[address(this)] = _rOwned[address(this)] + (rLiquidity) (#415)
- _rOwned[sender] = _rOwned[sender] - (rAmount) (#605)
- _rOwned[sender] = _rOwned[sender] - (rAmount) (#616)
- _rOwned[recipient] = _rOwned[recipient] + (rTransferAmount) (#606)
- _rOwned[sender] = _rOwned[sender] - (rAmount) (#320)
- _rOwned[sender] = _rOwned[sender] - (rAmount) (#630)
- _rOwned[recipient] = _rOwned[recipient] + (rTransferAmount) (#631)
- _rOwned[recipient] = _rOwned[recipient] + (rTransferAmount) (#618)
- _rOwned[recipient] = _rOwned[recipient] + rTransferAmount (#322)
- _tokenTransfer(from,to,amount,takeFee,isSale) (#536)
- _rTotal = _rTotal - (rFee) (#368)
- _tokenTransfer(from,to,amount,takeFee,isSale) (#536)
- _tOwned[marketingWallet] = _tOwned[marketingWallet] + (tMarketing) (#425)
- _tOwned[address(this)] = _tOwned[address(this)] + (tLiquidity) (#417)
- _tOwned[sender] = _tOwned[sender] - (tAmount) (#319)
- _tOwned[sender] = _tOwned[sender] - (tAmount) (#629)
- _tOwned[recipient] = _tOwned[recipient] + (tTransferAmount) (#617)
- _tOwned[recipient] = _tOwned[recipient] + tTransferAmount (#321)
Apply the check-effects-interactions pattern.
Additional information: link
goldshield.rescueAnyBEP20Tokens(address,address,uint256) (#447-450) ignores return value by IERC20(_tokenAddr).transfer(_to,_amount) (#449)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.
Additional information: link
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
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)
goldshield.addLiquidity(uint256,uint256) (#569-580) ignores return value by router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,deadAddress,block.timestamp) (#572-579)
Ensure that all the return values of the function calls are used.
Additional information: link
goldshield.allowance(address,address).owner (#208) shadows:
- Ownable.owner() (#51-53) (function)
goldshield._approve(address,address,uint256).owner (#484) shadows:
- Ownable.owner() (#51-53) (function)
Rename the local variables that shadow another component.
Additional information: link
goldshield.setTaxFeePercent(uint256) (#339-342) should emit an event for:
- _taxFee = taxFee (#340)
- _previousTaxFee = taxFee (#341)
goldshield.setMarketingFeePercent(uint256) (#344-347) should emit an event for:
- _marketingFee = marketingFee (#345)
- _previousMarketingFee = marketingFee (#346)
goldshield.setLiquidityFeePercent(uint256) (#349-352) should emit an event for:
- _liquidityFee = liquidityFee (#350)
- _previousLiquidityFee = liquidityFee (#351)
goldshield.setSellFees(uint256,uint256,uint256) (#354-358) should emit an event for:
- sellTaxFee = sellTax (#355)
- sellMarketingFee = sellMarketing (#356)
- sellLiquidityFee = sellLiquidity (#357)
goldshield.setSwapThreshold(uint256) (#439-441) should emit an event for:
- swapThreshold = amount * 10 ** 9 (#440)
Emit an event for critical parameter changes.
Additional information: link
goldshield.updatePair(address).newPair (#204) lacks a zero-check on :
- pair = newPair (#205)
goldshield.setMarketingWallet(address)._marketingWallet (#264) lacks a zero-check on :
- marketingWallet = _marketingWallet (#265)
Check that the address is not zero.
Additional information: link
Reentrancy in goldshield._transfer(address,address,uint256) (#510-537):
External calls:
- swapAndLiquify(swapThreshold) (#523)
- router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,deadAddress,block.timestamp) (#572-579)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#560-566)
External calls sending eth:
- swapAndLiquify(swapThreshold) (#523)
- router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,deadAddress,block.timestamp) (#572-579)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee,isSale) (#536)
- _liquidityFee = _previousLiquidityFee (#476)
- _liquidityFee = sellLiquidityFee (#458)
- _liquidityFee = 0 (#470)
- _tokenTransfer(from,to,amount,takeFee,isSale) (#536)
- _marketingFee = _previousMarketingFee (#477)
- _marketingFee = sellMarketingFee (#459)
- _marketingFee = 0 (#471)
- _tokenTransfer(from,to,amount,takeFee,isSale) (#536)
- _previousLiquidityFee = _liquidityFee (#454)
- _previousLiquidityFee = _liquidityFee (#466)
- _tokenTransfer(from,to,amount,takeFee,isSale) (#536)
- _previousMarketingFee = _marketingFee (#455)
- _previousMarketingFee = _marketingFee (#467)
- _tokenTransfer(from,to,amount,takeFee,isSale) (#536)
- _previousTaxFee = _taxFee (#453)
- _previousTaxFee = _taxFee (#465)
- _tokenTransfer(from,to,amount,takeFee,isSale) (#536)
- _tFeeTotal = _tFeeTotal + (tFee) (#369)
- _tokenTransfer(from,to,amount,takeFee,isSale) (#536)
- _taxFee = _previousTaxFee (#475)
- _taxFee = sellTaxFee (#457)
- _taxFee = 0 (#469)
Reentrancy in goldshield.constructor() (#160-176):
External calls:
- pair = IFactory(_router.factory()).createPair(address(this),_router.WETH()) (#164-165)
State variables written after the call(s):
- _isExcluded[pair] = true (#169)
- _isExcludedFromFee[owner()] = true (#171)
- _isExcludedFromFee[marketingWallet] = true (#172)
- _isExcludedFromFee[address(this)] = true (#173)
- router = _router (#167)
Reentrancy in goldshield.setRouterAddress(address) (#252-262):
External calls:
- pair = IFactory(_newRouter.factory()).createPair(address(this),_newRouter.WETH()) (#256)
State variables written after the call(s):
- router = _newRouter (#261)
Reentrancy in goldshield.swapAndLiquify(uint256) (#539-551):
External calls:
- swapTokensForEth(toSwap) (#545)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#560-566)
- addLiquidity(tokensToAddLiquidityWith,bnbToAddLiquidityWith) (#549)
- router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,deadAddress,block.timestamp) (#572-579)
External calls sending eth:
- addLiquidity(tokensToAddLiquidityWith,bnbToAddLiquidityWith) (#549)
- router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,deadAddress,block.timestamp) (#572-579)
State variables written after the call(s):
- addLiquidity(tokensToAddLiquidityWith,bnbToAddLiquidityWith) (#549)
- _allowances[owner][spender] = amount (#488)
Reentrancy in goldshield.transferFrom(address,address,uint256) (#217-225):
External calls:
- _transfer(sender,recipient,amount) (#218)
- router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,deadAddress,block.timestamp) (#572-579)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#560-566)
External calls sending eth:
- _transfer(sender,recipient,amount) (#218)
- router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,deadAddress,block.timestamp) (#572-579)
State variables written after the call(s):
- _approve(sender,_msgSender(),currentAllowance - amount) (#222)
- _allowances[owner][spender] = amount (#488)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in goldshield._transfer(address,address,uint256) (#510-537):
External calls:
- swapAndLiquify(swapThreshold) (#523)
- router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,deadAddress,block.timestamp) (#572-579)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#560-566)
External calls sending eth:
- swapAndLiquify(swapThreshold) (#523)
- router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,deadAddress,block.timestamp) (#572-579)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#611)
- _tokenTransfer(from,to,amount,takeFee,isSale) (#536)
- Transfer(sender,recipient,tTransferAmount) (#623)
- _tokenTransfer(from,to,amount,takeFee,isSale) (#536)
- Transfer(sender,recipient,tTransferAmount) (#636)
- _tokenTransfer(from,to,amount,takeFee,isSale) (#536)
- Transfer(sender,recipient,tTransferAmount) (#326)
- _tokenTransfer(from,to,amount,takeFee,isSale) (#536)
Reentrancy in goldshield.constructor() (#160-176):
External calls:
- pair = IFactory(_router.factory()).createPair(address(this),_router.WETH()) (#164-165)
Event emitted after the call(s):
- Transfer(address(0),_msgSender(),_tTotal) (#175)
Reentrancy in goldshield.swapAndLiquify(uint256) (#539-551):
External calls:
- swapTokensForEth(toSwap) (#545)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#560-566)
- addLiquidity(tokensToAddLiquidityWith,bnbToAddLiquidityWith) (#549)
- router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,deadAddress,block.timestamp) (#572-579)
External calls sending eth:
- addLiquidity(tokensToAddLiquidityWith,bnbToAddLiquidityWith) (#549)
- router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,deadAddress,block.timestamp) (#572-579)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#489)
- addLiquidity(tokensToAddLiquidityWith,bnbToAddLiquidityWith) (#549)
Reentrancy in goldshield.transferFrom(address,address,uint256) (#217-225):
External calls:
- _transfer(sender,recipient,amount) (#218)
- router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,deadAddress,block.timestamp) (#572-579)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#560-566)
External calls sending eth:
- _transfer(sender,recipient,amount) (#218)
- router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,deadAddress,block.timestamp) (#572-579)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#489)
- _approve(sender,_msgSender(),currentAllowance - amount) (#222)
Apply the check-effects-interactions pattern.
Additional information: link
goldshield.applyAntiBot(address,address) (#492-508) uses timestamp for comparisons
Dangerous comparisons:
- fromCanTrade = (block.timestamp - _lastTrade[from]) > 60 (#493)
- toCanTrade = (block.timestamp - _lastTrade[to]) > 60 (#494)
- require(bool,string)(fromCanTrade && toCanTrade,You must wait 60 seconds between transactions) (#496)
- require(bool,string)(toCanTrade,You must wait 60 seconds between transactions) (#501)
- require(bool,string)(fromCanTrade,You must wait 60 seconds between transactions) (#505)
Avoid relying on block.timestamp.
Additional information: link
goldshield.includeInReward(address) (#304-315) has costly operations inside a loop:
- _excluded.pop() (#311)
Use a local variable to hold the loop computation result.
Additional information: link
Context._msgData() (#34-37) is never used and should be removed
Remove unused functions.
Additional information: link
goldshield._rTotal (#117) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
goldshield._previousTaxFee (#132) is set pre-construction with a non-constant function or state variable:
- _taxFee
goldshield._previousLiquidityFee (#133) is set pre-construction with a non-constant function or state variable:
- _liquidityFee
goldshield._previousMarketingFee (#134) is set pre-construction with a non-constant function or state variable:
- _marketingFee
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
Function IRouter.WETH() (#81) is not in mixedCase
Contract goldshield (#100-640) is not in CapWords
Parameter goldshield.setAntiBotEnabled(bool)._enabled (#248) is not in mixedCase
Parameter goldshield.setMarketingWallet(address)._marketingWallet (#264) is not in mixedCase
Parameter goldshield.setSwapAndLiquifyEnabled(bool)._enabled (#360) is not in mixedCase
Parameter goldshield.calculateTaxFee(uint256)._amount (#428) is not in mixedCase
Parameter goldshield.calculateLiquidityFee(uint256)._amount (#432) is not in mixedCase
Parameter goldshield.calculateMarketingFee(uint256)._amount (#435) is not in mixedCase
Parameter goldshield.rescueAnyBEP20Tokens(address,address,uint256)._tokenAddr (#447) is not in mixedCase
Parameter goldshield.rescueAnyBEP20Tokens(address,address,uint256)._to (#447) is not in mixedCase
Parameter goldshield.rescueAnyBEP20Tokens(address,address,uint256)._amount (#447) is not in mixedCase
Variable goldshield._lastTrade (#113) is not in mixedCase
Variable goldshield._taxFee (#124) is not in mixedCase
Variable goldshield._liquidityFee (#125) is not in mixedCase
Variable goldshield._marketingFee (#126) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#35)" inContext (#29-38)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Variable goldshield._transferToExcluded(address,address,uint256).rTransferAmount (#614) is too similar to goldshield._transferStandard(address,address,uint256).tTransferAmount (#603)
Variable goldshield._transferStandard(address,address,uint256).rTransferAmount (#603) is too similar to goldshield._transferToExcluded(address,address,uint256).tTransferAmount (#614)
Variable goldshield._getValues(uint256).rTransferAmount (#374) is too similar to goldshield._transferFromExcluded(address,address,uint256).tTransferAmount (#627)
Variable goldshield._transferStandard(address,address,uint256).rTransferAmount (#603) is too similar to goldshield._transferStandard(address,address,uint256).tTransferAmount (#603)
Variable goldshield._transferToExcluded(address,address,uint256).rTransferAmount (#614) is too similar to goldshield._getValues(uint256).tTransferAmount (#373)
Variable goldshield._transferToExcluded(address,address,uint256).rTransferAmount (#614) is too similar to goldshield._transferFromExcluded(address,address,uint256).tTransferAmount (#627)
Variable goldshield._getValues(uint256).rTransferAmount (#374) is too similar to goldshield._getTValues(uint256).tTransferAmount (#382)
Variable goldshield._transferToExcluded(address,address,uint256).rTransferAmount (#614) is too similar to goldshield._getTValues(uint256).tTransferAmount (#382)
Variable goldshield._getValues(uint256).rTransferAmount (#374) is too similar to goldshield._transferBothExcluded(address,address,uint256).tTransferAmount (#317)
Variable goldshield._transferStandard(address,address,uint256).rTransferAmount (#603) is too similar to goldshield._transferFromExcluded(address,address,uint256).tTransferAmount (#627)
Variable goldshield._transferToExcluded(address,address,uint256).rTransferAmount (#614) is too similar to goldshield._transferBothExcluded(address,address,uint256).tTransferAmount (#317)
Variable goldshield._transferStandard(address,address,uint256).rTransferAmount (#603) is too similar to goldshield._getTValues(uint256).tTransferAmount (#382)
Variable goldshield._transferStandard(address,address,uint256).rTransferAmount (#603) is too similar to goldshield._transferBothExcluded(address,address,uint256).tTransferAmount (#317)
Variable goldshield._transferFromExcluded(address,address,uint256).rTransferAmount (#627) is too similar to goldshield._transferFromExcluded(address,address,uint256).tTransferAmount (#627)
Variable goldshield._transferToExcluded(address,address,uint256).rTransferAmount (#614) is too similar to goldshield._transferToExcluded(address,address,uint256).tTransferAmount (#614)
Variable goldshield._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#391) is too similar to goldshield._transferFromExcluded(address,address,uint256).tTransferAmount (#627)
Variable goldshield._transferBothExcluded(address,address,uint256).rTransferAmount (#317) is too similar to goldshield._transferBothExcluded(address,address,uint256).tTransferAmount (#317)
Variable goldshield._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#391) is too similar to goldshield._getValues(uint256).tTransferAmount (#373)
Variable goldshield._getValues(uint256).rTransferAmount (#374) is too similar to goldshield._transferToExcluded(address,address,uint256).tTransferAmount (#614)
Variable goldshield._transferFromExcluded(address,address,uint256).rTransferAmount (#627) is too similar to goldshield._getValues(uint256).tTransferAmount (#373)
Variable goldshield.reflectionFromToken(uint256,bool).rTransferAmount (#284) is too similar to goldshield._transferFromExcluded(address,address,uint256).tTransferAmount (#627)
Variable goldshield._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#391) is too similar to goldshield._getTValues(uint256).tTransferAmount (#382)
Variable goldshield._getValues(uint256).rTransferAmount (#374) is too similar to goldshield._transferStandard(address,address,uint256).tTransferAmount (#603)
Variable goldshield.reflectionFromToken(uint256,bool).rTransferAmount (#284) is too similar to goldshield._getValues(uint256).tTransferAmount (#373)
Variable goldshield._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#391) is too similar to goldshield._transferToExcluded(address,address,uint256).tTransferAmount (#614)
Variable goldshield._transferFromExcluded(address,address,uint256).rTransferAmount (#627) is too similar to goldshield._getTValues(uint256).tTransferAmount (#382)
Variable goldshield._transferBothExcluded(address,address,uint256).rTransferAmount (#317) is too similar to goldshield._transferFromExcluded(address,address,uint256).tTransferAmount (#627)
Variable goldshield.reflectionFromToken(uint256,bool).rTransferAmount (#284) is too similar to goldshield._getTValues(uint256).tTransferAmount (#382)
Variable goldshield._transferBothExcluded(address,address,uint256).rTransferAmount (#317) is too similar to goldshield._getValues(uint256).tTransferAmount (#373)
Variable goldshield._transferFromExcluded(address,address,uint256).rTransferAmount (#627) is too similar to goldshield._transferToExcluded(address,address,uint256).tTransferAmount (#614)
Variable goldshield._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#391) is too similar to goldshield._transferStandard(address,address,uint256).tTransferAmount (#603)
Variable goldshield.reflectionFromToken(uint256,bool).rTransferAmount (#284) is too similar to goldshield._transferToExcluded(address,address,uint256).tTransferAmount (#614)
Variable goldshield._transferFromExcluded(address,address,uint256).rTransferAmount (#627) is too similar to goldshield._transferStandard(address,address,uint256).tTransferAmount (#603)
Variable goldshield._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#391) is too similar to goldshield._transferBothExcluded(address,address,uint256).tTransferAmount (#317)
Variable goldshield._transferBothExcluded(address,address,uint256).rTransferAmount (#317) is too similar to goldshield._getTValues(uint256).tTransferAmount (#382)
Variable goldshield._transferFromExcluded(address,address,uint256).rTransferAmount (#627) is too similar to goldshield._transferBothExcluded(address,address,uint256).tTransferAmount (#317)
Variable goldshield.reflectionFromToken(uint256,bool).rTransferAmount (#284) is too similar to goldshield._transferStandard(address,address,uint256).tTransferAmount (#603)
Variable goldshield.reflectionFromToken(uint256,bool).rTransferAmount (#284) is too similar to goldshield._transferBothExcluded(address,address,uint256).tTransferAmount (#317)
Variable goldshield._transferBothExcluded(address,address,uint256).rTransferAmount (#317) is too similar to goldshield._transferToExcluded(address,address,uint256).tTransferAmount (#614)
Variable goldshield._getValues(uint256).rTransferAmount (#374) is too similar to goldshield._getValues(uint256).tTransferAmount (#373)
Variable goldshield._transferBothExcluded(address,address,uint256).rTransferAmount (#317) is too similar to goldshield._transferStandard(address,address,uint256).tTransferAmount (#603)
Variable goldshield._transferStandard(address,address,uint256).rTransferAmount (#603) is too similar to goldshield._getValues(uint256).tTransferAmount (#373)
Prevent variables from having similar names.
Additional information: link
goldshield.slitherConstructorVariables() (#100-640) uses literals with too many digits:
- deadAddress = 0x000000000000000000000000000000000000dEaD (#102)
goldshield.slitherConstructorVariables() (#100-640) uses literals with too many digits:
- swapThreshold = 3000000 * 10 ** 9 (#143)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
goldshield._decimals (#122) should be constant
goldshield._name (#120) should be constant
goldshield._symbol (#121) should be constant
goldshield._tTotal (#116) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#60-63)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#65-69)
name() should be declared external:
- goldshield.name() (#178-180)
symbol() should be declared external:
- goldshield.symbol() (#182-184)
decimals() should be declared external:
- goldshield.decimals() (#186-188)
totalSupply() should be declared external:
- goldshield.totalSupply() (#190-192)
transfer(address,uint256) should be declared external:
- goldshield.transfer(address,uint256) (#199-202)
allowance(address,address) should be declared external:
- goldshield.allowance(address,address) (#208-210)
approve(address,uint256) should be declared external:
- goldshield.approve(address,uint256) (#212-215)
transferFrom(address,address,uint256) should be declared external:
- goldshield.transferFrom(address,address,uint256) (#217-225)
increaseAllowance(address,uint256) should be declared external:
- goldshield.increaseAllowance(address,uint256) (#227-230)
decreaseAllowance(address,uint256) should be declared external:
- goldshield.decreaseAllowance(address,uint256) (#232-238)
isExcludedFromReward(address) should be declared external:
- goldshield.isExcludedFromReward(address) (#240-242)
totalFees() should be declared external:
- goldshield.totalFees() (#244-246)
deliver(uint256) should be declared external:
- goldshield.deliver(uint256) (#269-276)
reflectionFromToken(uint256,bool) should be declared external:
- goldshield.reflectionFromToken(uint256,bool) (#278-287)
excludeFromReward(address) should be declared external:
- goldshield.excludeFromReward(address) (#295-302)
excludeFromFee(address) should be declared external:
- goldshield.excludeFromFee(address) (#329-331)
includeInFee(address) should be declared external:
- goldshield.includeInFee(address) (#333-335)
setSwapAndLiquifyEnabled(bool) should be declared external:
- goldshield.setSwapAndLiquifyEnabled(bool) (#360-363)
rescueAnyBEP20Tokens(address,address,uint256) should be declared external:
- goldshield.rescueAnyBEP20Tokens(address,address,uint256) (#447-450)
isExcludedFromFee(address) should be declared external:
- goldshield.isExcludedFromFee(address) (#480-482)
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