Buff Doge Coin is the Buff version of Dogecoin. Buff Doge Coin was established because of the popularity of Dogecoin with a purpose to be The King of Memes. Buff Doge Coin has several unique characteristics. One of which is hyper deflationary, where each burn will be double its quantity from the previous burn. The coin burning will be very frequent, so it will burn 100% of the remaining supply of the available Buff Doge Coin.
Burning Scheme of Buff Doge Coin:
#1st Burn : 1,000,000
#2nd Burn : 2,000,000
#3rd Burn : 4,000,000
#4th Burn : 8,000,000
#5th Burn : 16,000,000
#6th Till the end (Continuing doubling its burn, we will burn trillions of Buff Doge Coin until all the remaining supply is burned).
*more details about Burn are in the whitepaper and website.
The Buff Doge Coin protocol, according to the white paper, works in the following way: in each trade, the transaction is taxed with a fee of 10%, which is cut in half.
• 5% fee = redistributed to all existing holders.
• 5% fee is split 50/50 half of which is sold by the contract into BNB, while the other half of the Buff Doge Coin are automatically paired with the previously mentioned BNB and added as a liquidity pair on Pancake Swap.
Progress on September 18, 2021, is 4.563 Holders with a market cap of $706.930 and liquidity of $107.838. We have liquidity locked on DXsale to ensure the safety of holders.
Some percentage of the developer Buff Doge Coin profit will be donated to the animal shelter and environmental issues, such as forest reconstruction to prevent global warming. It is due to the Interconnection of Everything. When we destroy nature, it will also destroy humans and animals as “We Are One”. If we destroy one part, the other part will also get affected. Thus, some of the developer’s profit will be donated to rescue animal shelters and the environment.
Reentrancy in BuffDogeCoin._transfer(address,address,uint256) (#988-1032):
External calls:
- swapAndLiquify(contractTokenBalance) (#1019)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1080-1087)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1066-1072)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1019)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1080-1087)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1031)
- _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity) (#944)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1122)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1113)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#860)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1114)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1133)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1134)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1124)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#862)
- _tokenTransfer(from,to,amount,takeFee) (#1031)
- _rTotal = _rTotal.sub(rFee) (#899)
- _tokenTransfer(from,to,amount,takeFee) (#1031)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (#946)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#1132)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#859)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#1123)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#861)
Apply the check-effects-interactions pattern.
Additional information: link
Contract ownership is not renounced (belongs to a wallet)
BuffDogeCoin._approve(address,address,uint256).owner (#980) shadows:
- Ownable.owner() (#412-414) (function)
BuffDogeCoin.allowance(address,address).owner (#776) shadows:
- Ownable.owner() (#412-414) (function)
Rename the local variables that shadow another component.
Additional information: link
Reentrancy in BuffDogeCoin._transfer(address,address,uint256) (#988-1032):
External calls:
- swapAndLiquify(contractTokenBalance) (#1019)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1080-1087)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1066-1072)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1019)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1080-1087)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1031)
- _liquidityFee = _previousLiquidityFee (#973)
- _liquidityFee = 0 (#968)
- _tokenTransfer(from,to,amount,takeFee) (#1031)
- _previousLiquidityFee = _liquidityFee (#965)
- _tokenTransfer(from,to,amount,takeFee) (#1031)
- _previousTaxFee = _taxFee (#964)
- _tokenTransfer(from,to,amount,takeFee) (#1031)
- _tFeeTotal = _tFeeTotal.add(tFee) (#900)
- _tokenTransfer(from,to,amount,takeFee) (#1031)
- _taxFee = _previousTaxFee (#972)
- _taxFee = 0 (#967)
Reentrancy in BuffDogeCoin.swapAndLiquify(uint256) (#1034-1055):
External calls:
- swapTokensForEth(half) (#1046)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1066-1072)
- addLiquidity(otherHalf,newBalance) (#1052)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1080-1087)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1052)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1080-1087)
State variables written after the call(s):
- addLiquidity(otherHalf,newBalance) (#1052)
- _allowances[owner][spender] = amount (#984)
Reentrancy in BuffDogeCoin.transferFrom(address,address,uint256) (#785-789):
External calls:
- _transfer(sender,recipient,amount) (#786)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1080-1087)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1066-1072)
External calls sending eth:
- _transfer(sender,recipient,amount) (#786)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1080-1087)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#787)
- _allowances[owner][spender] = amount (#984)
Apply the check-effects-interactions pattern.
Additional information: link
allowance(address,address) should be declared external:
- BuffDogeCoin.allowance(address,address) (#776-778)
includeInFee(address) should be declared external:
- BuffDogeCoin.includeInFee(address) (#872-874)
transfer(address,uint256) should be declared external:
- BuffDogeCoin.transfer(address,uint256) (#771-774)
isExcludedFromReward(address) should be declared external:
- BuffDogeCoin.isExcludedFromReward(address) (#801-803)
isExcludedFromFee(address) should be declared external:
- BuffDogeCoin.isExcludedFromFee(address) (#976-978)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#431-434)
totalFees() should be declared external:
- BuffDogeCoin.totalFees() (#805-807)
decimals() should be declared external:
- BuffDogeCoin.decimals() (#758-760)
totalSupply() should be declared external:
- BuffDogeCoin.totalSupply() (#762-764)
approve(address,uint256) should be declared external:
- BuffDogeCoin.approve(address,uint256) (#780-783)
excludeFromReward(address) should be declared external:
- BuffDogeCoin.excludeFromReward(address) (#835-843)
symbol() should be declared external:
- BuffDogeCoin.symbol() (#754-756)
setSwapAndLiquifyEnabled(bool) should be declared external:
- BuffDogeCoin.setSwapAndLiquifyEnabled(bool) (#890-893)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#440-444)
name() should be declared external:
- BuffDogeCoin.name() (#750-752)
geUnlockTime() should be declared external:
- Ownable.geUnlockTime() (#446-448)
transferFrom(address,address,uint256) should be declared external:
- BuffDogeCoin.transferFrom(address,address,uint256) (#785-789)
increaseAllowance(address,uint256) should be declared external:
- BuffDogeCoin.increaseAllowance(address,uint256) (#791-794)
reflectionFromToken(uint256,bool) should be declared external:
- BuffDogeCoin.reflectionFromToken(uint256,bool) (#818-827)
unlock() should be declared external:
- Ownable.unlock() (#459-464)
decreaseAllowance(address,uint256) should be declared external:
- BuffDogeCoin.decreaseAllowance(address,uint256) (#796-799)
excludeFromFee(address) should be declared external:
- BuffDogeCoin.excludeFromFee(address) (#868-870)
lock(uint256) should be declared external:
- Ownable.lock(uint256) (#451-456)
deliver(uint256) should be declared external:
- BuffDogeCoin.deliver(uint256) (#809-816)
Use the external attribute for functions never called from the contract.
Additional information: link
BuffDogeCoin.includeInReward(address) (#845-856) has costly operations inside a loop:
- _excluded.pop() (#852)
Use a local variable to hold the loop computation result.
Additional information: link
Ownable.unlock() (#459-464) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(now > _lockTime,Contract is locked until 7 days) (#461)
Avoid relying on block.timestamp.
Additional information: link
Address.isContract(address) (#264-273) uses assembly
- INLINE ASM (#271)
Address._functionCallWithValue(address,bytes,uint256,string) (#357-378) uses assembly
- INLINE ASM (#370-373)
Do not use evm assembly.
Additional information: link
Address.sendValue(address,uint256) (#291-297) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#342-344) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#225-228) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#352-355) is never used and should be removed
Context._msgData() (#236-239) is never used and should be removed
SafeMath.mod(uint256,uint256) (#209-211) is never used and should be removed
Address._functionCallWithValue(address,bytes,uint256,string) (#357-378) is never used and should be removed
Address.isContract(address) (#264-273) is never used and should be removed
Address.functionCall(address,bytes,string) (#327-329) is never used and should be removed
Address.functionCall(address,bytes) (#317-319) is never used and should be removed
Remove unused functions.
Additional information: link
BuffDogeCoin._previousLiquidityFee (#707) is set pre-construction with a non-constant function or state variable:
- _liquidityFee
BuffDogeCoin._rTotal (#696) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
BuffDogeCoin._previousTaxFee (#704) is set pre-construction with a non-constant function or state variable:
- _taxFee
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._functionCallWithValue(address,bytes,uint256,string) (#357-378):
- (success,returndata) = target.call{value: weiValue}(data) (#361)
Low level call in Address.sendValue(address,uint256) (#291-297):
- (success) = recipient.call{value: amount}() (#295)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Reentrancy in BuffDogeCoin.swapAndLiquify(uint256) (#1034-1055):
External calls:
- swapTokensForEth(half) (#1046)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1066-1072)
- addLiquidity(otherHalf,newBalance) (#1052)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1080-1087)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1052)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1080-1087)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#985)
- addLiquidity(otherHalf,newBalance) (#1052)
- SwapAndLiquify(half,newBalance,otherHalf) (#1054)
Reentrancy in BuffDogeCoin._transfer(address,address,uint256) (#988-1032):
External calls:
- swapAndLiquify(contractTokenBalance) (#1019)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1080-1087)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1066-1072)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1019)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1080-1087)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#1117)
- _tokenTransfer(from,to,amount,takeFee) (#1031)
- Transfer(sender,recipient,tTransferAmount) (#1137)
- _tokenTransfer(from,to,amount,takeFee) (#1031)
- Transfer(sender,recipient,tTransferAmount) (#1127)
- _tokenTransfer(from,to,amount,takeFee) (#1031)
- Transfer(sender,recipient,tTransferAmount) (#865)
- _tokenTransfer(from,to,amount,takeFee) (#1031)
Reentrancy in BuffDogeCoin.transferFrom(address,address,uint256) (#785-789):
External calls:
- _transfer(sender,recipient,amount) (#786)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1080-1087)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1066-1072)
External calls sending eth:
- _transfer(sender,recipient,amount) (#786)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1080-1087)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#985)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#787)
Apply the check-effects-interactions pattern.
Additional information: link
BuffDogeCoin.addLiquidity(uint256,uint256) (#1075-1088) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1080-1087)
Ensure that all the return values of the function calls are used.
Additional information: link
BuffDogeCoin.setTaxFeePercent(uint256) (#876-878) should emit an event for:
- _taxFee = taxFee (#877)
BuffDogeCoin.setLiquidityFeePercent(uint256) (#880-882) should emit an event for:
- _liquidityFee = liquidityFee (#881)
BuffDogeCoin.setMaxTxPercent(uint256) (#884-888) should emit an event for:
- _maxTxAmount = _tTotal.mul(maxTxPercent).div(10 ** 2) (#885-887)
Emit an event for critical parameter changes.
Additional information: link
Parameter BuffDogeCoin.calculateTaxFee(uint256)._amount (#949) is not in mixedCase
Variable BuffDogeCoin._liquidityFee (#706) is not in mixedCase
Variable BuffDogeCoin._taxFee (#703) is not in mixedCase
Parameter BuffDogeCoin.calculateLiquidityFee(uint256)._amount (#955) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#504) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#521) is not in mixedCase
Variable BuffDogeCoin._maxTxAmount (#715) is not in mixedCase
Function IUniswapV2Pair.DOMAIN_SEPARATOR() (#503) is not in mixedCase
Parameter BuffDogeCoin.setSwapAndLiquifyEnabled(bool)._enabled (#890) is not in mixedCase
Function IUniswapV2Router01.WETH() (#543) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#237)" inContext (#231-240)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Variable BuffDogeCoin._getValues(uint256).rTransferAmount (#905) is too similar to BuffDogeCoin._getValues(uint256).tTransferAmount (#904)
Variable BuffDogeCoin.reflectionFromToken(uint256,bool).rTransferAmount (#824) is too similar to BuffDogeCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#858)
Variable BuffDogeCoin._transferStandard(address,address,uint256).rTransferAmount (#1112) is too similar to BuffDogeCoin._getValues(uint256).tTransferAmount (#904)
Variable BuffDogeCoin._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#920) is too similar to BuffDogeCoin._getTValues(uint256).tTransferAmount (#912)
Variable BuffDogeCoin._transferFromExcluded(address,address,uint256).rTransferAmount (#1131) is too similar to BuffDogeCoin._transferToExcluded(address,address,uint256).tTransferAmount (#1121)
Variable BuffDogeCoin._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#920) is too similar to BuffDogeCoin._transferToExcluded(address,address,uint256).tTransferAmount (#1121)
Variable BuffDogeCoin._getValues(uint256).rTransferAmount (#905) is too similar to BuffDogeCoin._getTValues(uint256).tTransferAmount (#912)
Variable BuffDogeCoin._getValues(uint256).rTransferAmount (#905) is too similar to BuffDogeCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#1131)
Variable BuffDogeCoin.reflectionFromToken(uint256,bool).rTransferAmount (#824) is too similar to BuffDogeCoin._getTValues(uint256).tTransferAmount (#912)
Variable BuffDogeCoin._getValues(uint256).rTransferAmount (#905) is too similar to BuffDogeCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#858)
Variable BuffDogeCoin._transferToExcluded(address,address,uint256).rTransferAmount (#1121) is too similar to BuffDogeCoin._transferStandard(address,address,uint256).tTransferAmount (#1112)
Variable BuffDogeCoin._transferStandard(address,address,uint256).rTransferAmount (#1112) is too similar to BuffDogeCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#1131)
Variable BuffDogeCoin.reflectionFromToken(uint256,bool).rTransferAmount (#824) is too similar to BuffDogeCoin._getValues(uint256).tTransferAmount (#904)
Variable BuffDogeCoin._transferStandard(address,address,uint256).rTransferAmount (#1112) is too similar to BuffDogeCoin._getTValues(uint256).tTransferAmount (#912)
Variable BuffDogeCoin.reflectionFromToken(uint256,bool).rTransferAmount (#824) is too similar to BuffDogeCoin._transferStandard(address,address,uint256).tTransferAmount (#1112)
Variable BuffDogeCoin._transferBothExcluded(address,address,uint256).rTransferAmount (#858) is too similar to BuffDogeCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#1131)
Variable BuffDogeCoin._transferFromExcluded(address,address,uint256).rTransferAmount (#1131) is too similar to BuffDogeCoin._getTValues(uint256).tTransferAmount (#912)
Variable BuffDogeCoin._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#920) is too similar to BuffDogeCoin._getValues(uint256).tTransferAmount (#904)
Variable BuffDogeCoin._transferToExcluded(address,address,uint256).rTransferAmount (#1121) is too similar to BuffDogeCoin._getValues(uint256).tTransferAmount (#904)
Variable BuffDogeCoin._transferBothExcluded(address,address,uint256).rTransferAmount (#858) is too similar to BuffDogeCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#858)
Variable BuffDogeCoin._transferToExcluded(address,address,uint256).rTransferAmount (#1121) is too similar to BuffDogeCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#1131)
Variable BuffDogeCoin.reflectionFromToken(uint256,bool).rTransferAmount (#824) is too similar to BuffDogeCoin._transferToExcluded(address,address,uint256).tTransferAmount (#1121)
Variable BuffDogeCoin._transferBothExcluded(address,address,uint256).rTransferAmount (#858) is too similar to BuffDogeCoin._getValues(uint256).tTransferAmount (#904)
Variable BuffDogeCoin._transferFromExcluded(address,address,uint256).rTransferAmount (#1131) is too similar to BuffDogeCoin._transferStandard(address,address,uint256).tTransferAmount (#1112)
Variable BuffDogeCoin._transferBothExcluded(address,address,uint256).rTransferAmount (#858) is too similar to BuffDogeCoin._getTValues(uint256).tTransferAmount (#912)
Variable BuffDogeCoin.reflectionFromToken(uint256,bool).rTransferAmount (#824) is too similar to BuffDogeCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#1131)
Variable BuffDogeCoin._transferStandard(address,address,uint256).rTransferAmount (#1112) is too similar to BuffDogeCoin._transferToExcluded(address,address,uint256).tTransferAmount (#1121)
Variable BuffDogeCoin._transferFromExcluded(address,address,uint256).rTransferAmount (#1131) is too similar to BuffDogeCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#1131)
Variable BuffDogeCoin._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#920) is too similar to BuffDogeCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#858)
Variable BuffDogeCoin._transferFromExcluded(address,address,uint256).rTransferAmount (#1131) is too similar to BuffDogeCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#858)
Variable BuffDogeCoin._transferBothExcluded(address,address,uint256).rTransferAmount (#858) is too similar to BuffDogeCoin._transferStandard(address,address,uint256).tTransferAmount (#1112)
Variable BuffDogeCoin._transferStandard(address,address,uint256).rTransferAmount (#1112) is too similar to BuffDogeCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#858)
Variable BuffDogeCoin._transferToExcluded(address,address,uint256).rTransferAmount (#1121) is too similar to BuffDogeCoin._getTValues(uint256).tTransferAmount (#912)
Variable BuffDogeCoin._transferToExcluded(address,address,uint256).rTransferAmount (#1121) is too similar to BuffDogeCoin._transferToExcluded(address,address,uint256).tTransferAmount (#1121)
Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#548) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#549)
Variable BuffDogeCoin._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#920) is too similar to BuffDogeCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#1131)
Variable BuffDogeCoin._getValues(uint256).rTransferAmount (#905) is too similar to BuffDogeCoin._transferToExcluded(address,address,uint256).tTransferAmount (#1121)
Variable BuffDogeCoin._transferBothExcluded(address,address,uint256).rTransferAmount (#858) is too similar to BuffDogeCoin._transferToExcluded(address,address,uint256).tTransferAmount (#1121)
Variable BuffDogeCoin._transferToExcluded(address,address,uint256).rTransferAmount (#1121) is too similar to BuffDogeCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#858)
Variable BuffDogeCoin._getValues(uint256).rTransferAmount (#905) is too similar to BuffDogeCoin._transferStandard(address,address,uint256).tTransferAmount (#1112)
Variable BuffDogeCoin._transferFromExcluded(address,address,uint256).rTransferAmount (#1131) is too similar to BuffDogeCoin._getValues(uint256).tTransferAmount (#904)
Variable BuffDogeCoin._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#920) is too similar to BuffDogeCoin._transferStandard(address,address,uint256).tTransferAmount (#1112)
Variable BuffDogeCoin._transferStandard(address,address,uint256).rTransferAmount (#1112) is too similar to BuffDogeCoin._transferStandard(address,address,uint256).tTransferAmount (#1112)
Prevent variables from having similar names.
Additional information: link
BuffDogeCoin.slitherConstructorVariables() (#681-1144) uses literals with too many digits:
- _tTotal = 1000000000 * 10 ** 6 * 10 ** 9 (#695)
BuffDogeCoin.slitherConstructorVariables() (#681-1144) uses literals with too many digits:
- _maxTxAmount = 50000000 * 10 ** 6 * 10 ** 9 (#715)
BuffDogeCoin.slitherConstructorVariables() (#681-1144) uses literals with too many digits:
- numTokensSellToAddToLiquidity = 500000 * 10 ** 6 * 10 ** 9 (#716)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
BuffDogeCoin.numTokensSellToAddToLiquidity (#716) should be constant
BuffDogeCoin._name (#699) should be constant
BuffDogeCoin._tTotal (#695) should be constant
BuffDogeCoin._symbol (#700) should be constant
BuffDogeCoin._decimals (#701) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
Average 30d PancakeSwap liquidity is less than $100. Token is either dead or inactive.
Average 30d number of PancakeSwap swaps is less than 1. Token is either dead or inactive.
Contract has 10% buy tax and 9% 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
Swap operations require suspiciously high gas. Contract logic is complex and may disguise some form of scam.
Unable to find whitepaper link on the website
Unable to find code repository for the project
Young tokens have high risks of price dump / death
Token has relatively low CoinGecko rank
Unable to find Blog account (Reddit or Medium)
Unable to find Youtube account
Unable to find Discord account