The Rebellion Protocol is the first 100% community driven systemic exponential growth token. We are creating through the power of people a project that is so strong that it elevates an entire community to financial freedom and makes the established financial system irrelevant.
The $REBL token incorporates 3 mechanisms: allocation to the Rocket Pool (investment fund), Static holder reward and automatic liquidity, all three financed by a 3% fee each (9% total) on every transactions.
Reentrancy in DOGOPROTOCOL._transfer(address,address,uint256) (contracts/DGPTCL.sol#1006-1048):
External calls:
- swapAndLiquify(contractTokenBalance) (contracts/DGPTCL.sol#1035)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/DGPTCL.sol#1096-1103)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/DGPTCL.sol#1082-1088)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (contracts/DGPTCL.sol#1035)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/DGPTCL.sol#1096-1103)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (contracts/DGPTCL.sol#1047)
- _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity) (contracts/DGPTCL.sol#953)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (contracts/DGPTCL.sol#1144)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (contracts/DGPTCL.sol#1135)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (contracts/DGPTCL.sol#1136)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (contracts/DGPTCL.sol#856)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (contracts/DGPTCL.sol#1155)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (contracts/DGPTCL.sol#1156)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (contracts/DGPTCL.sol#1146)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (contracts/DGPTCL.sol#858)
- _rOwned[innovationAddress] = _rOwned[innovationAddress].add(rInnovation) (contracts/DGPTCL.sol#1124)
- _tokenTransfer(from,to,amount,takeFee) (contracts/DGPTCL.sol#1047)
- _rTotal = _rTotal.sub(rFee) (contracts/DGPTCL.sol#905)
- _tokenTransfer(from,to,amount,takeFee) (contracts/DGPTCL.sol#1047)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (contracts/DGPTCL.sol#955)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (contracts/DGPTCL.sol#855)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (contracts/DGPTCL.sol#1154)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (contracts/DGPTCL.sol#1145)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (contracts/DGPTCL.sol#857)
- _tOwned[innovationAddress] = _tOwned[innovationAddress].add(tInnovation) (contracts/DGPTCL.sol#1126)
Apply the check-effects-interactions pattern.
Additional information: link
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
Contract ownership is not renounced (belongs to a wallet)
DOGOPROTOCOL.addLiquidity(uint256,uint256) (contracts/DGPTCL.sol#1091-1104) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/DGPTCL.sol#1096-1103)
Ensure that all the return values of the function calls are used.
Additional information: link
DOGOPROTOCOL.allowance(address,address).owner (contracts/DGPTCL.sol#771) shadows:
- Ownable.owner() (contracts/DGPTCL.sol#415-417) (function)
DOGOPROTOCOL._approve(address,address,uint256).owner (contracts/DGPTCL.sol#998) shadows:
- Ownable.owner() (contracts/DGPTCL.sol#415-417) (function)
Rename the local variables that shadow another component.
Additional information: link
DOGOPROTOCOL.setTaxFeePercent(uint256) (contracts/DGPTCL.sol#872-874) should emit an event for:
- _taxFee = taxFee (contracts/DGPTCL.sol#873)
DOGOPROTOCOL.setLiquidityFeePercent(uint256) (contracts/DGPTCL.sol#876-878) should emit an event for:
- _liquidityFee = liquidityFee (contracts/DGPTCL.sol#877)
DOGOPROTOCOL.setInnovationFeePercent(uint256) (contracts/DGPTCL.sol#880-882) should emit an event for:
- _innovationFee = innovationFee (contracts/DGPTCL.sol#881)
DOGOPROTOCOL.setMaxTxPercent(uint256) (contracts/DGPTCL.sol#885-889) should emit an event for:
- _maxTxAmount = _tTotal.mul(maxTxPercent).div(10 ** 2) (contracts/DGPTCL.sol#886-888)
Emit an event for critical parameter changes.
Additional information: link
DOGOPROTOCOL.updateInnovationWallet(address).newWallet (contracts/DGPTCL.sol#891) lacks a zero-check on :
- innovationAddress = newWallet (contracts/DGPTCL.sol#893)
Check that the address is not zero.
Additional information: link
Reentrancy in DOGOPROTOCOL._transfer(address,address,uint256) (contracts/DGPTCL.sol#1006-1048):
External calls:
- swapAndLiquify(contractTokenBalance) (contracts/DGPTCL.sol#1035)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/DGPTCL.sol#1096-1103)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/DGPTCL.sol#1082-1088)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (contracts/DGPTCL.sol#1035)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/DGPTCL.sol#1096-1103)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (contracts/DGPTCL.sol#1047)
- _innovationFee = _previousInnovationFee (contracts/DGPTCL.sol#991)
- _innovationFee = 0 (contracts/DGPTCL.sol#985)
- _tokenTransfer(from,to,amount,takeFee) (contracts/DGPTCL.sol#1047)
- _liquidityFee = _previousLiquidityFee (contracts/DGPTCL.sol#990)
- _liquidityFee = 0 (contracts/DGPTCL.sol#984)
- _tokenTransfer(from,to,amount,takeFee) (contracts/DGPTCL.sol#1047)
- _previousInnovationFee = _innovationFee (contracts/DGPTCL.sol#981)
- _tokenTransfer(from,to,amount,takeFee) (contracts/DGPTCL.sol#1047)
- _previousLiquidityFee = _liquidityFee (contracts/DGPTCL.sol#980)
- _tokenTransfer(from,to,amount,takeFee) (contracts/DGPTCL.sol#1047)
- _previousTaxFee = _taxFee (contracts/DGPTCL.sol#979)
- _tokenTransfer(from,to,amount,takeFee) (contracts/DGPTCL.sol#1047)
- _tFeeTotal = _tFeeTotal.add(tFee) (contracts/DGPTCL.sol#906)
- _tokenTransfer(from,to,amount,takeFee) (contracts/DGPTCL.sol#1047)
- _taxFee = _previousTaxFee (contracts/DGPTCL.sol#989)
- _taxFee = 0 (contracts/DGPTCL.sol#983)
Reentrancy in DOGOPROTOCOL.constructor() (contracts/DGPTCL.sol#722-743):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (contracts/DGPTCL.sol#727-728)
State variables written after the call(s):
- _isExcluded[uniswapV2Pair] = true (contracts/DGPTCL.sol#738)
- _isExcluded[address(this)] = true (contracts/DGPTCL.sol#739)
- _isExcludedFromFee[owner()] = true (contracts/DGPTCL.sol#734)
- _isExcludedFromFee[address(this)] = true (contracts/DGPTCL.sol#735)
- _isExcludedFromFee[innovationAddress] = true (contracts/DGPTCL.sol#736)
- uniswapV2Router = _uniswapV2Router (contracts/DGPTCL.sol#731)
Reentrancy in DOGOPROTOCOL.swapAndLiquify(uint256) (contracts/DGPTCL.sol#1050-1071):
External calls:
- swapTokensForEth(half) (contracts/DGPTCL.sol#1062)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/DGPTCL.sol#1082-1088)
- addLiquidity(otherHalf,newBalance) (contracts/DGPTCL.sol#1068)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/DGPTCL.sol#1096-1103)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (contracts/DGPTCL.sol#1068)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/DGPTCL.sol#1096-1103)
State variables written after the call(s):
- addLiquidity(otherHalf,newBalance) (contracts/DGPTCL.sol#1068)
- _allowances[owner][spender] = amount (contracts/DGPTCL.sol#1002)
Reentrancy in DOGOPROTOCOL.transferFrom(address,address,uint256) (contracts/DGPTCL.sol#780-784):
External calls:
- _transfer(sender,recipient,amount) (contracts/DGPTCL.sol#781)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/DGPTCL.sol#1096-1103)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/DGPTCL.sol#1082-1088)
External calls sending eth:
- _transfer(sender,recipient,amount) (contracts/DGPTCL.sol#781)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/DGPTCL.sol#1096-1103)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (contracts/DGPTCL.sol#782)
- _allowances[owner][spender] = amount (contracts/DGPTCL.sol#1002)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in DOGOPROTOCOL._transfer(address,address,uint256) (contracts/DGPTCL.sol#1006-1048):
External calls:
- swapAndLiquify(contractTokenBalance) (contracts/DGPTCL.sol#1035)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/DGPTCL.sol#1096-1103)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/DGPTCL.sol#1082-1088)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (contracts/DGPTCL.sol#1035)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/DGPTCL.sol#1096-1103)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (contracts/DGPTCL.sol#1139)
- _tokenTransfer(from,to,amount,takeFee) (contracts/DGPTCL.sol#1047)
- Transfer(sender,recipient,tTransferAmount) (contracts/DGPTCL.sol#1159)
- _tokenTransfer(from,to,amount,takeFee) (contracts/DGPTCL.sol#1047)
- Transfer(sender,recipient,tTransferAmount) (contracts/DGPTCL.sol#1149)
- _tokenTransfer(from,to,amount,takeFee) (contracts/DGPTCL.sol#1047)
- Transfer(sender,recipient,tTransferAmount) (contracts/DGPTCL.sol#861)
- _tokenTransfer(from,to,amount,takeFee) (contracts/DGPTCL.sol#1047)
Reentrancy in DOGOPROTOCOL.constructor() (contracts/DGPTCL.sol#722-743):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (contracts/DGPTCL.sol#727-728)
Event emitted after the call(s):
- Transfer(address(0),_msgSender(),_tTotal) (contracts/DGPTCL.sol#742)
Reentrancy in DOGOPROTOCOL.swapAndLiquify(uint256) (contracts/DGPTCL.sol#1050-1071):
External calls:
- swapTokensForEth(half) (contracts/DGPTCL.sol#1062)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/DGPTCL.sol#1082-1088)
- addLiquidity(otherHalf,newBalance) (contracts/DGPTCL.sol#1068)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/DGPTCL.sol#1096-1103)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (contracts/DGPTCL.sol#1068)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/DGPTCL.sol#1096-1103)
Event emitted after the call(s):
- Approval(owner,spender,amount) (contracts/DGPTCL.sol#1003)
- addLiquidity(otherHalf,newBalance) (contracts/DGPTCL.sol#1068)
- SwapAndLiquify(half,newBalance,otherHalf) (contracts/DGPTCL.sol#1070)
Reentrancy in DOGOPROTOCOL.transferFrom(address,address,uint256) (contracts/DGPTCL.sol#780-784):
External calls:
- _transfer(sender,recipient,amount) (contracts/DGPTCL.sol#781)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/DGPTCL.sol#1096-1103)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/DGPTCL.sol#1082-1088)
External calls sending eth:
- _transfer(sender,recipient,amount) (contracts/DGPTCL.sol#781)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/DGPTCL.sol#1096-1103)
Event emitted after the call(s):
- Approval(owner,spender,amount) (contracts/DGPTCL.sol#1003)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (contracts/DGPTCL.sol#782)
Apply the check-effects-interactions pattern.
Additional information: link
Address.isContract(address) (contracts/DGPTCL.sol#268-277) uses assembly
- INLINE ASM (contracts/DGPTCL.sol#275)
Address._functionCallWithValue(address,bytes,uint256,string) (contracts/DGPTCL.sol#361-382) uses assembly
- INLINE ASM (contracts/DGPTCL.sol#374-377)
Do not use evm assembly.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (contracts/DGPTCL.sol#361-382) is never used and should be removed
Address.functionCall(address,bytes) (contracts/DGPTCL.sol#321-323) is never used and should be removed
Address.functionCall(address,bytes,string) (contracts/DGPTCL.sol#331-333) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (contracts/DGPTCL.sol#346-348) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (contracts/DGPTCL.sol#356-359) is never used and should be removed
Address.isContract(address) (contracts/DGPTCL.sol#268-277) is never used and should be removed
Address.sendValue(address,uint256) (contracts/DGPTCL.sol#295-301) is never used and should be removed
Context._msgData() (contracts/DGPTCL.sol#240-243) is never used and should be removed
SafeMath.mod(uint256,uint256) (contracts/DGPTCL.sol#213-215) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (contracts/DGPTCL.sol#229-232) is never used and should be removed
Remove unused functions.
Additional information: link
DOGOPROTOCOL._rTotal (contracts/DGPTCL.sol#680) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
DOGOPROTOCOL._previousTaxFee (contracts/DGPTCL.sol#688) is set pre-construction with a non-constant function or state variable:
- _taxFee
DOGOPROTOCOL._previousLiquidityFee (contracts/DGPTCL.sol#691) is set pre-construction with a non-constant function or state variable:
- _liquidityFee
DOGOPROTOCOL._previousInnovationFee (contracts/DGPTCL.sol#694) is set pre-construction with a non-constant function or state variable:
- _innovationFee
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) (contracts/DGPTCL.sol#295-301):
- (success) = recipient.call{value: amount}() (contracts/DGPTCL.sol#299)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (contracts/DGPTCL.sol#361-382):
- (success,returndata) = target.call{value: weiValue}(data) (contracts/DGPTCL.sol#365)
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() (contracts/DGPTCL.sol#487) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (contracts/DGPTCL.sol#488) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (contracts/DGPTCL.sol#505) is not in mixedCase
Function IUniswapV2Router01.WETH() (contracts/DGPTCL.sol#527) is not in mixedCase
Parameter DOGOPROTOCOL.setSwapAndLiquifyEnabled(bool)._enabled (contracts/DGPTCL.sol#896) is not in mixedCase
Function DOGOPROTOCOL._getTValues(uint256) (contracts/DGPTCL.sol#915-921) is not in mixedCase
Function DOGOPROTOCOL._getRValues(uint256,uint256,uint256,uint256,uint256) (contracts/DGPTCL.sol#923-930) is not in mixedCase
Function DOGOPROTOCOL._getRate() (contracts/DGPTCL.sol#932-935) is not in mixedCase
Function DOGOPROTOCOL._getCurrentSupply() (contracts/DGPTCL.sol#937-947) is not in mixedCase
Parameter DOGOPROTOCOL.calculateTaxFee(uint256)._amount (contracts/DGPTCL.sol#958) is not in mixedCase
Parameter DOGOPROTOCOL.calculateLiquidityFee(uint256)._amount (contracts/DGPTCL.sol#964) is not in mixedCase
Parameter DOGOPROTOCOL.calculateInnovationFee(uint256)._amount (contracts/DGPTCL.sol#970) is not in mixedCase
Variable DOGOPROTOCOL._rTotal (contracts/DGPTCL.sol#680) is not in mixedCase
Variable DOGOPROTOCOL._taxFee (contracts/DGPTCL.sol#687) is not in mixedCase
Variable DOGOPROTOCOL._liquidityFee (contracts/DGPTCL.sol#690) is not in mixedCase
Variable DOGOPROTOCOL._innovationFee (contracts/DGPTCL.sol#693) is not in mixedCase
Variable DOGOPROTOCOL._maxTxAmount (contracts/DGPTCL.sol#702) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (contracts/DGPTCL.sol#241)" inContext (contracts/DGPTCL.sol#235-244)
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 (contracts/DGPTCL.sol#532) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (contracts/DGPTCL.sol#533)
Variable DOGOPROTOCOL._getRValues(uint256,uint256,uint256,uint256,uint256).rInnovation (contracts/DGPTCL.sol#927) is too similar to DOGOPROTOCOL._tokenTransfer(address,address,uint256,bool).tInnovation (contracts/DGPTCL.sol#1122)
Variable DOGOPROTOCOL._getRValues(uint256,uint256,uint256,uint256,uint256).rInnovation (contracts/DGPTCL.sol#927) is too similar to DOGOPROTOCOL._getTValues(uint256).tInnovation (contracts/DGPTCL.sol#918)
Variable DOGOPROTOCOL._getRValues(uint256,uint256,uint256,uint256,uint256).rInnovation (contracts/DGPTCL.sol#927) is too similar to DOGOPROTOCOL._getRValues(uint256,uint256,uint256,uint256,uint256).tInnovation (contracts/DGPTCL.sol#923)
Variable DOGOPROTOCOL._getRValues(uint256,uint256,uint256,uint256,uint256).rInnovation (contracts/DGPTCL.sol#927) is too similar to DOGOPROTOCOL._getValues(uint256).tInnovation (contracts/DGPTCL.sol#910)
Variable DOGOPROTOCOL._transferToExcluded(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#1143) is too similar to DOGOPROTOCOL._getValues(uint256).tTransferAmount (contracts/DGPTCL.sol#910)
Variable DOGOPROTOCOL._transferToExcluded(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#1143) is too similar to DOGOPROTOCOL._transferStandard(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1134)
Variable DOGOPROTOCOL._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (contracts/DGPTCL.sol#928) is too similar to DOGOPROTOCOL._transferToExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1143)
Variable DOGOPROTOCOL.reflectionFromToken(uint256,bool).rTransferAmount (contracts/DGPTCL.sol#819) is too similar to DOGOPROTOCOL._getTValues(uint256).tTransferAmount (contracts/DGPTCL.sol#919)
Variable DOGOPROTOCOL._transferFromExcluded(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#1153) is too similar to DOGOPROTOCOL._transferFromExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1153)
Variable DOGOPROTOCOL._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (contracts/DGPTCL.sol#928) is too similar to DOGOPROTOCOL._transferBothExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#854)
Variable DOGOPROTOCOL._getValues(uint256).rTransferAmount (contracts/DGPTCL.sol#911) is too similar to DOGOPROTOCOL._transferStandard(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1134)
Variable DOGOPROTOCOL._transferFromExcluded(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#1153) is too similar to DOGOPROTOCOL._getTValues(uint256).tTransferAmount (contracts/DGPTCL.sol#919)
Variable DOGOPROTOCOL._transferToExcluded(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#1143) is too similar to DOGOPROTOCOL._transferFromExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1153)
Variable DOGOPROTOCOL._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (contracts/DGPTCL.sol#928) is too similar to DOGOPROTOCOL._transferStandard(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1134)
Variable DOGOPROTOCOL._transferFromExcluded(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#1153) is too similar to DOGOPROTOCOL._transferToExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1143)
Variable DOGOPROTOCOL._transferToExcluded(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#1143) is too similar to DOGOPROTOCOL._getTValues(uint256).tTransferAmount (contracts/DGPTCL.sol#919)
Variable DOGOPROTOCOL._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (contracts/DGPTCL.sol#928) is too similar to DOGOPROTOCOL._getValues(uint256).tTransferAmount (contracts/DGPTCL.sol#910)
Variable DOGOPROTOCOL._transferFromExcluded(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#1153) is too similar to DOGOPROTOCOL._transferBothExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#854)
Variable DOGOPROTOCOL._getValues(uint256).rTransferAmount (contracts/DGPTCL.sol#911) is too similar to DOGOPROTOCOL._getTValues(uint256).tTransferAmount (contracts/DGPTCL.sol#919)
Variable DOGOPROTOCOL._transferToExcluded(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#1143) is too similar to DOGOPROTOCOL._transferToExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1143)
Variable DOGOPROTOCOL.reflectionFromToken(uint256,bool).rTransferAmount (contracts/DGPTCL.sol#819) is too similar to DOGOPROTOCOL._transferStandard(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1134)
Variable DOGOPROTOCOL._transferToExcluded(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#1143) is too similar to DOGOPROTOCOL._transferBothExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#854)
Variable DOGOPROTOCOL._transferStandard(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#1134) is too similar to DOGOPROTOCOL._transferStandard(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1134)
Variable DOGOPROTOCOL._transferFromExcluded(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#1153) is too similar to DOGOPROTOCOL._transferStandard(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1134)
Variable DOGOPROTOCOL._transferFromExcluded(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#1153) is too similar to DOGOPROTOCOL._getValues(uint256).tTransferAmount (contracts/DGPTCL.sol#910)
Variable DOGOPROTOCOL._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (contracts/DGPTCL.sol#928) is too similar to DOGOPROTOCOL._getTValues(uint256).tTransferAmount (contracts/DGPTCL.sol#919)
Variable DOGOPROTOCOL._tokenTransfer(address,address,uint256,bool).rInnovation (contracts/DGPTCL.sol#1123) is too similar to DOGOPROTOCOL._getTValues(uint256).tInnovation (contracts/DGPTCL.sol#918)
Variable DOGOPROTOCOL._tokenTransfer(address,address,uint256,bool).rInnovation (contracts/DGPTCL.sol#1123) is too similar to DOGOPROTOCOL._getValues(uint256).tInnovation (contracts/DGPTCL.sol#910)
Variable DOGOPROTOCOL._tokenTransfer(address,address,uint256,bool).rInnovation (contracts/DGPTCL.sol#1123) is too similar to DOGOPROTOCOL._tokenTransfer(address,address,uint256,bool).tInnovation (contracts/DGPTCL.sol#1122)
Variable DOGOPROTOCOL._tokenTransfer(address,address,uint256,bool).rInnovation (contracts/DGPTCL.sol#1123) is too similar to DOGOPROTOCOL._getRValues(uint256,uint256,uint256,uint256,uint256).tInnovation (contracts/DGPTCL.sol#923)
Variable DOGOPROTOCOL._transferBothExcluded(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#854) is too similar to DOGOPROTOCOL._transferToExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1143)
Variable DOGOPROTOCOL.reflectionFromToken(uint256,bool).rTransferAmount (contracts/DGPTCL.sol#819) is too similar to DOGOPROTOCOL._transferToExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1143)
Variable DOGOPROTOCOL._getValues(uint256).rTransferAmount (contracts/DGPTCL.sol#911) is too similar to DOGOPROTOCOL._transferToExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1143)
Variable DOGOPROTOCOL._transferStandard(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#1134) is too similar to DOGOPROTOCOL._transferToExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1143)
Variable DOGOPROTOCOL._transferBothExcluded(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#854) is too similar to DOGOPROTOCOL._getValues(uint256).tTransferAmount (contracts/DGPTCL.sol#910)
Variable DOGOPROTOCOL.reflectionFromToken(uint256,bool).rTransferAmount (contracts/DGPTCL.sol#819) is too similar to DOGOPROTOCOL._getValues(uint256).tTransferAmount (contracts/DGPTCL.sol#910)
Variable DOGOPROTOCOL._getValues(uint256).rTransferAmount (contracts/DGPTCL.sol#911) is too similar to DOGOPROTOCOL._getValues(uint256).tTransferAmount (contracts/DGPTCL.sol#910)
Variable DOGOPROTOCOL._transferStandard(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#1134) is too similar to DOGOPROTOCOL._getValues(uint256).tTransferAmount (contracts/DGPTCL.sol#910)
Variable DOGOPROTOCOL._transferBothExcluded(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#854) is too similar to DOGOPROTOCOL._getTValues(uint256).tTransferAmount (contracts/DGPTCL.sol#919)
Variable DOGOPROTOCOL._transferBothExcluded(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#854) is too similar to DOGOPROTOCOL._transferBothExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#854)
Variable DOGOPROTOCOL.reflectionFromToken(uint256,bool).rTransferAmount (contracts/DGPTCL.sol#819) is too similar to DOGOPROTOCOL._transferBothExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#854)
Variable DOGOPROTOCOL._transferStandard(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#1134) is too similar to DOGOPROTOCOL._getTValues(uint256).tTransferAmount (contracts/DGPTCL.sol#919)
Variable DOGOPROTOCOL._getValues(uint256).rTransferAmount (contracts/DGPTCL.sol#911) is too similar to DOGOPROTOCOL._transferBothExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#854)
Variable DOGOPROTOCOL._transferStandard(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#1134) is too similar to DOGOPROTOCOL._transferBothExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#854)
Variable DOGOPROTOCOL._transferBothExcluded(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#854) is too similar to DOGOPROTOCOL._transferFromExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1153)
Variable DOGOPROTOCOL.reflectionFromToken(uint256,bool).rTransferAmount (contracts/DGPTCL.sol#819) is too similar to DOGOPROTOCOL._transferFromExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1153)
Variable DOGOPROTOCOL._getValues(uint256).rTransferAmount (contracts/DGPTCL.sol#911) is too similar to DOGOPROTOCOL._transferFromExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1153)
Variable DOGOPROTOCOL._transferBothExcluded(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#854) is too similar to DOGOPROTOCOL._transferStandard(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1134)
Variable DOGOPROTOCOL._transferStandard(address,address,uint256).rTransferAmount (contracts/DGPTCL.sol#1134) is too similar to DOGOPROTOCOL._transferFromExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1153)
Variable DOGOPROTOCOL._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (contracts/DGPTCL.sol#928) is too similar to DOGOPROTOCOL._transferFromExcluded(address,address,uint256).tTransferAmount (contracts/DGPTCL.sol#1153)
Prevent variables from having similar names.
Additional information: link
DOGOPROTOCOL.slitherConstructorVariables() (contracts/DGPTCL.sol#665-1163) uses literals with too many digits:
- _tTotal = 1000000000000 * 10 ** 18 (contracts/DGPTCL.sol#679)
DOGOPROTOCOL.slitherConstructorVariables() (contracts/DGPTCL.sol#665-1163) uses literals with too many digits:
- _maxTxAmount = 30000000000 * 10 ** 18 (contracts/DGPTCL.sol#702)
DOGOPROTOCOL.slitherConstructorVariables() (contracts/DGPTCL.sol#665-1163) uses literals with too many digits:
- minimumTokensBeforeSwap = 100000000 * 10 ** 18 (contracts/DGPTCL.sol#703)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
Ownable._previousOwner (contracts/DGPTCL.sol#399) is never used in DOGOPROTOCOL (contracts/DGPTCL.sol#665-1163)
Remove unused state variables.
Additional information: link
DOGOPROTOCOL._decimals (contracts/DGPTCL.sol#685) should be constant
DOGOPROTOCOL._name (contracts/DGPTCL.sol#683) should be constant
DOGOPROTOCOL._symbol (contracts/DGPTCL.sol#684) should be constant
DOGOPROTOCOL._tTotal (contracts/DGPTCL.sol#679) should be constant
DOGOPROTOCOL.minimumTokensBeforeSwap (contracts/DGPTCL.sol#703) should be constant
Ownable._previousOwner (contracts/DGPTCL.sol#399) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (contracts/DGPTCL.sol#434-437)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (contracts/DGPTCL.sol#443-447)
name() should be declared external:
- DOGOPROTOCOL.name() (contracts/DGPTCL.sol#745-747)
symbol() should be declared external:
- DOGOPROTOCOL.symbol() (contracts/DGPTCL.sol#749-751)
decimals() should be declared external:
- DOGOPROTOCOL.decimals() (contracts/DGPTCL.sol#753-755)
totalSupply() should be declared external:
- DOGOPROTOCOL.totalSupply() (contracts/DGPTCL.sol#757-759)
transfer(address,uint256) should be declared external:
- DOGOPROTOCOL.transfer(address,uint256) (contracts/DGPTCL.sol#766-769)
allowance(address,address) should be declared external:
- DOGOPROTOCOL.allowance(address,address) (contracts/DGPTCL.sol#771-773)
approve(address,uint256) should be declared external:
- DOGOPROTOCOL.approve(address,uint256) (contracts/DGPTCL.sol#775-778)
transferFrom(address,address,uint256) should be declared external:
- DOGOPROTOCOL.transferFrom(address,address,uint256) (contracts/DGPTCL.sol#780-784)
increaseAllowance(address,uint256) should be declared external:
- DOGOPROTOCOL.increaseAllowance(address,uint256) (contracts/DGPTCL.sol#786-789)
decreaseAllowance(address,uint256) should be declared external:
- DOGOPROTOCOL.decreaseAllowance(address,uint256) (contracts/DGPTCL.sol#791-794)
isExcludedFromReward(address) should be declared external:
- DOGOPROTOCOL.isExcludedFromReward(address) (contracts/DGPTCL.sol#796-798)
totalFees() should be declared external:
- DOGOPROTOCOL.totalFees() (contracts/DGPTCL.sol#800-802)
deliver(uint256) should be declared external:
- DOGOPROTOCOL.deliver(uint256) (contracts/DGPTCL.sol#804-811)
reflectionFromToken(uint256,bool) should be declared external:
- DOGOPROTOCOL.reflectionFromToken(uint256,bool) (contracts/DGPTCL.sol#813-822)
excludeFromReward(address) should be declared external:
- DOGOPROTOCOL.excludeFromReward(address) (contracts/DGPTCL.sol#830-839)
excludeFromFee(address) should be declared external:
- DOGOPROTOCOL.excludeFromFee(address) (contracts/DGPTCL.sol#864-866)
includeInFee(address) should be declared external:
- DOGOPROTOCOL.includeInFee(address) (contracts/DGPTCL.sol#868-870)
setSwapAndLiquifyEnabled(bool) should be declared external:
- DOGOPROTOCOL.setSwapAndLiquifyEnabled(bool) (contracts/DGPTCL.sol#896-899)
isExcludedFromFee(address) should be declared external:
- DOGOPROTOCOL.isExcludedFromFee(address) (contracts/DGPTCL.sol#994-996)
Use the external attribute for functions never called from the contract.
Additional information: link
DOGOPROTOCOL.includeInReward(address) (contracts/DGPTCL.sol#841-852) has costly operations inside a loop:
- _excluded.pop() (contracts/DGPTCL.sol#848)
Use a local variable to hold the loop computation result.
Additional information: link
Unable to find whitepaper link on the website
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Token has relatively low CoinGecko rank
Token has relatively low CoinMarketCap rank
Young tokens have high risks of price dump / death
Unable to find Discord account