Profit from the CoreBNB main ecosystem. Gain broad and diversified exposure to the CoreBNB ecosystem through the purchase of a single index token. CoreBNB is the protocol that develops and governs index products such as the CoreBNB Index.
Reentrancy in CoreBNB._transfer(address,address,uint256) (#670-724):
External calls:
- swapTokens(contractTokenBalance) (#704)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#802-808)
- buyBackTokens(balance.div(100)) (#712)
- uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,deadAddress,block.timestamp.add(300)) (#820-825)
External calls sending eth:
- swapTokens(contractTokenBalance) (#704)
- recipient.transfer(amount) (#1016)
- buyBackTokens(balance.div(100)) (#712)
- uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,deadAddress,block.timestamp.add(300)) (#820-825)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#723)
- _liquidityFee = _previousLiquidityFee (#978)
- _liquidityFee = 0 (#973)
- _tokenTransfer(from,to,amount,takeFee) (#723)
- _rOwned[marketingWallet] = _rOwned[marketingWallet].add(rLiquidity) (#949)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#865)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#874)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#885)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#895)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#866)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#876)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#886)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#897)
- _tokenTransfer(from,to,amount,takeFee) (#723)
- _rTotal = _rTotal.sub(rFee) (#904)
- _tokenTransfer(from,to,amount,takeFee) (#723)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (#951)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#884)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#894)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#875)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#896)
- buyBackTokens(balance.div(100)) (#712)
- inSwapAndLiquify = true (#501)
- inSwapAndLiquify = false (#503)
Apply the check-effects-interactions pattern.
Additional information: link
CoreBNB._excluded (#432) is never initialized. It is used in:
- CoreBNB._getCurrentSupply() (#934-944)
CoreBNB._isExcluded (#440) is never initialized. It is used in:
- CoreBNB.balanceOf(address) (#544-547)
- CoreBNB.isExcludedFromReward(address) (#579-581)
- CoreBNB.deliver(uint256) (#635-642)
- CoreBNB._tokenTransfer(address,address,uint256,bool) (#845-861)
- CoreBNB._takeLiquidity(uint256) (#946-952)
Initialize all the variables. If a variable is meant to be initialized to zero, explicitly set it to zero to improve code readability.
Additional information: link
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract ownership is not renounced (belongs to a wallet)
CoreBNB.swapTokens(uint256) (#726-735) performs a multiplication on the result of a division:
-transferToAddressETH(marketingWallet,transferredBalance.div(_liquidityFee).mul(marketingDivisor)) (#733)
Consider ordering multiplication before division.
Additional information: link
CoreBNB.addLiquidity(uint256,uint256) (#830-843) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#835-842)
Ensure that all the return values of the function calls are used.
Additional information: link
CoreBNB.allowance(address,address).owner (#554) shadows:
- Ownable.owner() (#168-170) (function)
CoreBNB._approve(address,address,uint256).owner (#662) shadows:
- Ownable.owner() (#168-170) (function)
Rename the local variables that shadow another component.
Additional information: link
CoreBNB.setCooldownStatus(bool,uint256) (#619-622) should emit an event for:
- cooldownTimerInterval = _interval (#621)
CoreBNB.setMarketingDivisor(uint256) (#993-995) should emit an event for:
- marketingDivisor = divisor (#994)
CoreBNB.setNumTokensSellToAddToLiquidity(uint256) (#997-999) should emit an event for:
- minimumTokensBeforeSwap = _minimumTokensBeforeSwap (#998)
CoreBNB.setBuybackUpperLimit(uint256) (#1001-1003) should emit an event for:
- buyBackUpperLimit = buyBackLimit * 10 ** 9 (#1002)
Emit an event for critical parameter changes.
Additional information: link
CoreBNB.constructor(address)._marketingWallet (#506) lacks a zero-check on :
- marketingWallet = _marketingWallet (#517)
Check that the address is not zero.
Additional information: link
CoreBNB.swapTokensForEth(uint256) (#793-811) has external calls inside a loop: path[1] = uniswapV2Router.WETH() (#797)
CoreBNB.swapTokensForEth(uint256) (#793-811) has external calls inside a loop: uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#802-808)
CoreBNB.transferToAddressETH(address,uint256) (#1015-1017) has external calls inside a loop: recipient.transfer(amount) (#1016)
CoreBNB.swapETHForTokens(uint256) (#813-828) has external calls inside a loop: path[0] = uniswapV2Router.WETH() (#816)
CoreBNB.swapETHForTokens(uint256) (#813-828) has external calls inside a loop: uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,deadAddress,block.timestamp.add(300)) (#820-825)
Favor pull over push strategy for external calls.
Additional information: link
Reentrancy in CoreBNB._transfer(address,address,uint256) (#670-724):
External calls:
- swapTokens(contractTokenBalance) (#704)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#802-808)
- buyBackTokens(balance.div(100)) (#712)
- uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,deadAddress,block.timestamp.add(300)) (#820-825)
External calls sending eth:
- swapTokens(contractTokenBalance) (#704)
- recipient.transfer(amount) (#1016)
- buyBackTokens(balance.div(100)) (#712)
- uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,deadAddress,block.timestamp.add(300)) (#820-825)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#723)
- _previousLiquidityFee = _liquidityFee (#970)
- _tokenTransfer(from,to,amount,takeFee) (#723)
- _previousTaxFee = _taxFee (#969)
- _tokenTransfer(from,to,amount,takeFee) (#723)
- _tFeeTotal = _tFeeTotal.add(tFee) (#905)
- _tokenTransfer(from,to,amount,takeFee) (#723)
- _taxFee = _previousTaxFee (#977)
- _taxFee = 0 (#972)
Reentrancy in CoreBNB.constructor(address) (#506-526):
External calls:
- pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#510-511)
State variables written after the call(s):
- _isExcludedFromFee[owner()] = true (#515)
- _isExcludedFromFee[address(this)] = true (#516)
- isTimelockExempt[owner()] = true (#519)
- isTimelockExempt[address(this)] = true (#520)
- isTimelockExempt[DEAD] = true (#521)
- isTimelockExempt[pair] = true (#522)
- isTimelockExempt[address(uniswapV2Router)] = true (#523)
- marketingWallet = _marketingWallet (#517)
- uniswapV2Router = _uniswapV2Router (#513)
Reentrancy in CoreBNB.transferFrom(address,address,uint256) (#563-567):
External calls:
- _transfer(sender,recipient,amount) (#564)
- uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,deadAddress,block.timestamp.add(300)) (#820-825)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#802-808)
External calls sending eth:
- _transfer(sender,recipient,amount) (#564)
- recipient.transfer(amount) (#1016)
- uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,deadAddress,block.timestamp.add(300)) (#820-825)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#565)
- _allowances[owner][spender] = amount (#666)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in CoreBNB._transfer(address,address,uint256) (#670-724):
External calls:
- swapTokens(contractTokenBalance) (#704)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#802-808)
- buyBackTokens(balance.div(100)) (#712)
- uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,deadAddress,block.timestamp.add(300)) (#820-825)
External calls sending eth:
- swapTokens(contractTokenBalance) (#704)
- recipient.transfer(amount) (#1016)
- buyBackTokens(balance.div(100)) (#712)
- uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,deadAddress,block.timestamp.add(300)) (#820-825)
Event emitted after the call(s):
- SwapETHForTokens(amount,path) (#827)
- buyBackTokens(balance.div(100)) (#712)
- Transfer(sender,recipient,tTransferAmount) (#869)
- _tokenTransfer(from,to,amount,takeFee) (#723)
- Transfer(sender,recipient,tTransferAmount) (#889)
- _tokenTransfer(from,to,amount,takeFee) (#723)
- Transfer(sender,recipient,tTransferAmount) (#879)
- _tokenTransfer(from,to,amount,takeFee) (#723)
- Transfer(sender,recipient,tTransferAmount) (#900)
- _tokenTransfer(from,to,amount,takeFee) (#723)
Reentrancy in CoreBNB.constructor(address) (#506-526):
External calls:
- pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#510-511)
Event emitted after the call(s):
- Transfer(address(0),_msgSender(),_tTotal) (#525)
Reentrancy in CoreBNB.swapETHForTokens(uint256) (#813-828):
External calls:
- uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,deadAddress,block.timestamp.add(300)) (#820-825)
Event emitted after the call(s):
- SwapETHForTokens(amount,path) (#827)
Reentrancy in CoreBNB.swapTokensForEth(uint256) (#793-811):
External calls:
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#802-808)
Event emitted after the call(s):
- SwapTokensForETH(tokenAmount,path) (#810)
Reentrancy in CoreBNB.transferFrom(address,address,uint256) (#563-567):
External calls:
- _transfer(sender,recipient,amount) (#564)
- uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,deadAddress,block.timestamp.add(300)) (#820-825)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#802-808)
External calls sending eth:
- _transfer(sender,recipient,amount) (#564)
- recipient.transfer(amount) (#1016)
- uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,deadAddress,block.timestamp.add(300)) (#820-825)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#667)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#565)
Apply the check-effects-interactions pattern.
Additional information: link
Ownable.unlock() (#203-208) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp > _lockTime,Contract is locked until 7 days) (#205)
CoreBNB._transfer(address,address,uint256) (#670-724) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(cooldownTimer[from] < block.timestamp,Please wait for cooldown between sells) (#691)
CoreBNB.doSnipingSwapback(address) (#760-766) uses timestamp for comparisons
Dangerous comparisons:
- launchedTime < block.timestamp (#762)
Avoid relying on block.timestamp.
Additional information: link
Address.isContract(address) (#98-107) uses assembly
- INLINE ASM (#105)
Address._functionCallWithValue(address,bytes,uint256,string) (#135-152) uses assembly
- INLINE ASM (#144-147)
Do not use evm assembly.
Additional information: link
CoreBNB.lockTheSwap() (#500-504) has costly operations inside a loop:
- inSwapAndLiquify = true (#501)
CoreBNB.lockTheSwap() (#500-504) has costly operations inside a loop:
- inSwapAndLiquify = false (#503)
CoreBNB.removeAllFee() (#966-974) has costly operations inside a loop:
- _previousTaxFee = _taxFee (#969)
CoreBNB.removeAllFee() (#966-974) has costly operations inside a loop:
- _previousLiquidityFee = _liquidityFee (#970)
CoreBNB.removeAllFee() (#966-974) has costly operations inside a loop:
- _taxFee = 0 (#972)
CoreBNB.removeAllFee() (#966-974) has costly operations inside a loop:
- _liquidityFee = 0 (#973)
CoreBNB._reflectFee(uint256,uint256) (#903-906) has costly operations inside a loop:
- _rTotal = _rTotal.sub(rFee) (#904)
CoreBNB._reflectFee(uint256,uint256) (#903-906) has costly operations inside a loop:
- _tFeeTotal = _tFeeTotal.add(tFee) (#905)
CoreBNB.restoreAllFee() (#976-979) has costly operations inside a loop:
- _taxFee = _previousTaxFee (#977)
CoreBNB.restoreAllFee() (#976-979) has costly operations inside a loop:
- _liquidityFee = _previousLiquidityFee (#978)
Use a local variable to hold the loop computation result.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#135-152) is never used and should be removed
Address.functionCall(address,bytes) (#118-120) is never used and should be removed
Address.functionCall(address,bytes,string) (#122-124) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#126-128) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#130-133) is never used and should be removed
Address.isContract(address) (#98-107) is never used and should be removed
Address.sendValue(address,uint256) (#109-115) is never used and should be removed
Context._msgData() (#21-24) is never used and should be removed
CoreBNB.addLiquidity(uint256,uint256) (#830-843) is never used and should be removed
SafeMath.mod(uint256,uint256) (#86-88) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#90-93) is never used and should be removed
Remove unused functions.
Additional information: link
CoreBNB._rTotal (#436) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
CoreBNB._previousTaxFee (#454) is set pre-construction with a non-constant function or state variable:
- _taxFee
CoreBNB._previousLiquidityFee (#457) 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) (#109-115):
- (success) = recipient.call{value: amount}() (#113)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#135-152):
- (success,returndata) = target.call{value: weiValue}(data) (#138)
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() (#247) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#248) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#264) is not in mixedCase
Function IUniswapV2Router01.WETH() (#285) is not in mixedCase
Parameter CoreBNB.setTimelockExempt(address[])._users (#595) is not in mixedCase
Parameter CoreBNB.verifyTimelockExempt(address)._user (#605) is not in mixedCase
Parameter CoreBNB.removeTimelockExempted(address)._user (#608) is not in mixedCase
Parameter CoreBNB.batchContestAirdrops(address[],uint256)._users (#612) is not in mixedCase
Parameter CoreBNB.batchContestAirdrops(address[],uint256)._amount (#612) is not in mixedCase
Parameter CoreBNB.setCooldownStatus(bool,uint256)._status (#619) is not in mixedCase
Parameter CoreBNB.setCooldownStatus(bool,uint256)._interval (#619) is not in mixedCase
Parameter CoreBNB.antisnipingEnable(bool)._status (#756) is not in mixedCase
Parameter CoreBNB.setBot(address)._address (#777) is not in mixedCase
Parameter CoreBNB.addBotted(address)._address (#781) is not in mixedCase
Parameter CoreBNB.isBot(address)._address (#785) is not in mixedCase
Parameter CoreBNB.deleteBot(address)._address (#789) is not in mixedCase
Parameter CoreBNB.calculateTaxFee(uint256)._amount (#954) is not in mixedCase
Parameter CoreBNB.calculateLiquidityFee(uint256)._amount (#960) is not in mixedCase
Parameter CoreBNB.setNumTokensSellToAddToLiquidity(uint256)._minimumTokensBeforeSwap (#997) is not in mixedCase
Parameter CoreBNB.setSwapAndLiquifyEnabled(bool)._enabled (#1005) is not in mixedCase
Parameter CoreBNB.setBuyBackEnabled(bool)._enabled (#1010) is not in mixedCase
Variable CoreBNB._taxFee (#453) is not in mixedCase
Variable CoreBNB._liquidityFee (#456) is not in mixedCase
Variable CoreBNB.DEAD (#463) is not in mixedCase
Variable CoreBNB._snipingBots (#468) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#22)" inContext (#16-25)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Reentrancy in CoreBNB._transfer(address,address,uint256) (#670-724):
External calls:
- swapTokens(contractTokenBalance) (#704)
- recipient.transfer(amount) (#1016)
External calls sending eth:
- swapTokens(contractTokenBalance) (#704)
- recipient.transfer(amount) (#1016)
- buyBackTokens(balance.div(100)) (#712)
- uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,deadAddress,block.timestamp.add(300)) (#820-825)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#723)
- _liquidityFee = _previousLiquidityFee (#978)
- _liquidityFee = 0 (#973)
- _tokenTransfer(from,to,amount,takeFee) (#723)
- _previousLiquidityFee = _liquidityFee (#970)
- _tokenTransfer(from,to,amount,takeFee) (#723)
- _previousTaxFee = _taxFee (#969)
- _tokenTransfer(from,to,amount,takeFee) (#723)
- _rOwned[marketingWallet] = _rOwned[marketingWallet].add(rLiquidity) (#949)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#865)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#874)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#885)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#895)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#866)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#876)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#886)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#897)
- _tokenTransfer(from,to,amount,takeFee) (#723)
- _rTotal = _rTotal.sub(rFee) (#904)
- _tokenTransfer(from,to,amount,takeFee) (#723)
- _tFeeTotal = _tFeeTotal.add(tFee) (#905)
- _tokenTransfer(from,to,amount,takeFee) (#723)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (#951)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#884)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#894)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#875)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#896)
- _tokenTransfer(from,to,amount,takeFee) (#723)
- _taxFee = _previousTaxFee (#977)
- _taxFee = 0 (#972)
- buyBackTokens(balance.div(100)) (#712)
- inSwapAndLiquify = true (#501)
- inSwapAndLiquify = false (#503)
Event emitted after the call(s):
- SwapETHForTokens(amount,path) (#827)
- buyBackTokens(balance.div(100)) (#712)
- Transfer(sender,recipient,tTransferAmount) (#869)
- _tokenTransfer(from,to,amount,takeFee) (#723)
- Transfer(sender,recipient,tTransferAmount) (#889)
- _tokenTransfer(from,to,amount,takeFee) (#723)
- Transfer(sender,recipient,tTransferAmount) (#879)
- _tokenTransfer(from,to,amount,takeFee) (#723)
- Transfer(sender,recipient,tTransferAmount) (#900)
- _tokenTransfer(from,to,amount,takeFee) (#723)
Reentrancy in CoreBNB.transferFrom(address,address,uint256) (#563-567):
External calls:
- _transfer(sender,recipient,amount) (#564)
- recipient.transfer(amount) (#1016)
External calls sending eth:
- _transfer(sender,recipient,amount) (#564)
- recipient.transfer(amount) (#1016)
- uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,deadAddress,block.timestamp.add(300)) (#820-825)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#565)
- _allowances[owner][spender] = amount (#666)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#667)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#565)
Apply the check-effects-interactions pattern.
Additional information: link
Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#290) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#291)
Variable CoreBNB._transferFromExcluded(address,address,uint256).rTransferAmount (#883) is too similar to CoreBNB._transferFromExcluded(address,address,uint256).tTransferAmount (#883)
Variable CoreBNB._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#925) is too similar to CoreBNB._transferToExcluded(address,address,uint256).tTransferAmount (#873)
Variable CoreBNB._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#925) is too similar to CoreBNB._transferFromExcluded(address,address,uint256).tTransferAmount (#883)
Variable CoreBNB.reflectionFromToken(uint256,bool).rTransferAmount (#651) is too similar to CoreBNB._transferStandard(address,address,uint256).tTransferAmount (#864)
Variable CoreBNB.reflectionFromToken(uint256,bool).rTransferAmount (#651) is too similar to CoreBNB._transferBothExcluded(address,address,uint256).tTransferAmount (#893)
Variable CoreBNB._transferFromExcluded(address,address,uint256).rTransferAmount (#883) is too similar to CoreBNB._getValues(uint256).tTransferAmount (#909)
Variable CoreBNB._transferToExcluded(address,address,uint256).rTransferAmount (#873) is too similar to CoreBNB._transferStandard(address,address,uint256).tTransferAmount (#864)
Variable CoreBNB.reflectionFromToken(uint256,bool).rTransferAmount (#651) is too similar to CoreBNB._transferToExcluded(address,address,uint256).tTransferAmount (#873)
Variable CoreBNB._transferBothExcluded(address,address,uint256).rTransferAmount (#893) is too similar to CoreBNB._transferBothExcluded(address,address,uint256).tTransferAmount (#893)
Variable CoreBNB._transferFromExcluded(address,address,uint256).rTransferAmount (#883) is too similar to CoreBNB._transferToExcluded(address,address,uint256).tTransferAmount (#873)
Variable CoreBNB._transferBothExcluded(address,address,uint256).rTransferAmount (#893) is too similar to CoreBNB._transferStandard(address,address,uint256).tTransferAmount (#864)
Variable CoreBNB._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#925) is too similar to CoreBNB._getValues(uint256).tTransferAmount (#909)
Variable CoreBNB.reflectionFromToken(uint256,bool).rTransferAmount (#651) is too similar to CoreBNB._transferFromExcluded(address,address,uint256).tTransferAmount (#883)
Variable CoreBNB._transferStandard(address,address,uint256).rTransferAmount (#864) is too similar to CoreBNB._transferStandard(address,address,uint256).tTransferAmount (#864)
Variable CoreBNB._transferToExcluded(address,address,uint256).rTransferAmount (#873) is too similar to CoreBNB._transferToExcluded(address,address,uint256).tTransferAmount (#873)
Variable CoreBNB._transferToExcluded(address,address,uint256).rTransferAmount (#873) is too similar to CoreBNB._transferFromExcluded(address,address,uint256).tTransferAmount (#883)
Variable CoreBNB._transferBothExcluded(address,address,uint256).rTransferAmount (#893) is too similar to CoreBNB._transferToExcluded(address,address,uint256).tTransferAmount (#873)
Variable CoreBNB._transferBothExcluded(address,address,uint256).rTransferAmount (#893) is too similar to CoreBNB._transferFromExcluded(address,address,uint256).tTransferAmount (#883)
Variable CoreBNB.reflectionFromToken(uint256,bool).rTransferAmount (#651) is too similar to CoreBNB._getValues(uint256).tTransferAmount (#909)
Variable CoreBNB._transferFromExcluded(address,address,uint256).rTransferAmount (#883) is too similar to CoreBNB._transferStandard(address,address,uint256).tTransferAmount (#864)
Variable CoreBNB._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#925) is too similar to CoreBNB._transferStandard(address,address,uint256).tTransferAmount (#864)
Variable CoreBNB._transferToExcluded(address,address,uint256).rTransferAmount (#873) is too similar to CoreBNB._getValues(uint256).tTransferAmount (#909)
Variable CoreBNB._transferBothExcluded(address,address,uint256).rTransferAmount (#893) is too similar to CoreBNB._getValues(uint256).tTransferAmount (#909)
Variable CoreBNB._getValues(uint256).rTransferAmount (#910) is too similar to CoreBNB._transferFromExcluded(address,address,uint256).tTransferAmount (#883)
Variable CoreBNB._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#925) is too similar to CoreBNB._transferBothExcluded(address,address,uint256).tTransferAmount (#893)
Variable CoreBNB._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#925) is too similar to CoreBNB._getTValues(uint256).tTransferAmount (#917)
Variable CoreBNB._transferStandard(address,address,uint256).rTransferAmount (#864) is too similar to CoreBNB._transferToExcluded(address,address,uint256).tTransferAmount (#873)
Variable CoreBNB._getValues(uint256).rTransferAmount (#910) is too similar to CoreBNB._transferToExcluded(address,address,uint256).tTransferAmount (#873)
Variable CoreBNB._transferStandard(address,address,uint256).rTransferAmount (#864) is too similar to CoreBNB._transferBothExcluded(address,address,uint256).tTransferAmount (#893)
Variable CoreBNB._transferBothExcluded(address,address,uint256).rTransferAmount (#893) is too similar to CoreBNB._getTValues(uint256).tTransferAmount (#917)
Variable CoreBNB._transferStandard(address,address,uint256).rTransferAmount (#864) is too similar to CoreBNB._getTValues(uint256).tTransferAmount (#917)
Variable CoreBNB.reflectionFromToken(uint256,bool).rTransferAmount (#651) is too similar to CoreBNB._getTValues(uint256).tTransferAmount (#917)
Variable CoreBNB._getValues(uint256).rTransferAmount (#910) is too similar to CoreBNB._transferBothExcluded(address,address,uint256).tTransferAmount (#893)
Variable CoreBNB._transferToExcluded(address,address,uint256).rTransferAmount (#873) is too similar to CoreBNB._transferBothExcluded(address,address,uint256).tTransferAmount (#893)
Variable CoreBNB._getValues(uint256).rTransferAmount (#910) is too similar to CoreBNB._getTValues(uint256).tTransferAmount (#917)
Variable CoreBNB._transferToExcluded(address,address,uint256).rTransferAmount (#873) is too similar to CoreBNB._getTValues(uint256).tTransferAmount (#917)
Variable CoreBNB._transferFromExcluded(address,address,uint256).rTransferAmount (#883) is too similar to CoreBNB._transferBothExcluded(address,address,uint256).tTransferAmount (#893)
Variable CoreBNB._transferFromExcluded(address,address,uint256).rTransferAmount (#883) is too similar to CoreBNB._getTValues(uint256).tTransferAmount (#917)
Variable CoreBNB._getValues(uint256).rTransferAmount (#910) is too similar to CoreBNB._transferStandard(address,address,uint256).tTransferAmount (#864)
Variable CoreBNB._transferStandard(address,address,uint256).rTransferAmount (#864) is too similar to CoreBNB._getValues(uint256).tTransferAmount (#909)
Variable CoreBNB._transferStandard(address,address,uint256).rTransferAmount (#864) is too similar to CoreBNB._transferFromExcluded(address,address,uint256).tTransferAmount (#883)
Variable CoreBNB._getValues(uint256).rTransferAmount (#910) is too similar to CoreBNB._getValues(uint256).tTransferAmount (#909)
Prevent variables from having similar names.
Additional information: link
CoreBNB.slitherConstructorVariables() (#422-1022) uses literals with too many digits:
- deadAddress = 0x000000000000000000000000000000000000dEaD (#461)
CoreBNB.slitherConstructorVariables() (#422-1022) uses literals with too many digits:
- DEAD = 0x000000000000000000000000000000000000dEaD (#463)
CoreBNB.slitherConstructorVariables() (#422-1022) uses literals with too many digits:
- minimumTokensBeforeSwap = 100000 * 10 ** 9 (#464)
CoreBNB.slitherConstructorVariables() (#422-1022) uses literals with too many digits:
- buyBackUpperLimit = 100000 * 10 ** 9 (#465)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
CoreBNB.DEAD (#463) should be constant
CoreBNB._decimals (#447) should be constant
CoreBNB._name (#445) should be constant
CoreBNB._symbol (#446) should be constant
CoreBNB._tTotal (#435) should be constant
CoreBNB.antiwhale (#478) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#177-180)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#182-186)
getUnlockTime() should be declared external:
- Ownable.getUnlockTime() (#188-190)
getTime() should be declared external:
- Ownable.getTime() (#192-194)
lock(uint256) should be declared external:
- Ownable.lock(uint256) (#196-201)
unlock() should be declared external:
- Ownable.unlock() (#203-208)
name() should be declared external:
- CoreBNB.name() (#528-530)
symbol() should be declared external:
- CoreBNB.symbol() (#532-534)
decimals() should be declared external:
- CoreBNB.decimals() (#536-538)
totalSupply() should be declared external:
- CoreBNB.totalSupply() (#540-542)
transfer(address,uint256) should be declared external:
- CoreBNB.transfer(address,uint256) (#549-552)
allowance(address,address) should be declared external:
- CoreBNB.allowance(address,address) (#554-556)
approve(address,uint256) should be declared external:
- CoreBNB.approve(address,uint256) (#558-561)
transferFrom(address,address,uint256) should be declared external:
- CoreBNB.transferFrom(address,address,uint256) (#563-567)
increaseAllowance(address,uint256) should be declared external:
- CoreBNB.increaseAllowance(address,uint256) (#569-572)
decreaseAllowance(address,uint256) should be declared external:
- CoreBNB.decreaseAllowance(address,uint256) (#574-577)
isExcludedFromReward(address) should be declared external:
- CoreBNB.isExcludedFromReward(address) (#579-581)
totalFees() should be declared external:
- CoreBNB.totalFees() (#583-585)
minimumTokensBeforeSwapAmount() should be declared external:
- CoreBNB.minimumTokensBeforeSwapAmount() (#587-589)
buyBackUpperLimitAmount() should be declared external:
- CoreBNB.buyBackUpperLimitAmount() (#591-593)
verifyTimelockExempt(address) should be declared external:
- CoreBNB.verifyTimelockExempt(address) (#605-607)
batchContestAirdrops(address[],uint256) should be declared external:
- CoreBNB.batchContestAirdrops(address[],uint256) (#612-616)
setCooldownStatus(bool,uint256) should be declared external:
- CoreBNB.setCooldownStatus(bool,uint256) (#619-622)
deliver(uint256) should be declared external:
- CoreBNB.deliver(uint256) (#635-642)
reflectionFromToken(uint256,bool) should be declared external:
- CoreBNB.reflectionFromToken(uint256,bool) (#645-654)
checkAnyBuy(address) should be declared external:
- CoreBNB.checkAnyBuy(address) (#748-750)
checkBuyBlock(address) should be declared external:
- CoreBNB.checkBuyBlock(address) (#752-754)
isExcludedFromFee(address) should be declared external:
- CoreBNB.isExcludedFromFee(address) (#981-983)
excludeFromFee(address) should be declared external:
- CoreBNB.excludeFromFee(address) (#985-987)
includeInFee(address) should be declared external:
- CoreBNB.includeInFee(address) (#989-991)
setSwapAndLiquifyEnabled(bool) should be declared external:
- CoreBNB.setSwapAndLiquifyEnabled(bool) (#1005-1008)
setBuyBackEnabled(bool) should be declared external:
- CoreBNB.setBuyBackEnabled(bool) (#1010-1013)
Use the external attribute for functions never called from the contract.
Additional information: link
BscScan page for the token does not contain additional info: website, socials, description, etc.
Additional information: link
Unable to find token contract audit
Unable to find KYC or doxxing proof
Unable to find audit link on the website
Unable to find token on CoinGecko
Additional information: link
Unable to find token on CoinMarketCap
Additional information: link
Token is not listed at Mobula.Finance
Additional information: link
Unable to find token on CoinHunt
Additional information: link
Unable to find code repository for the project
Young tokens have high risks of scam / price dump / death
Token has no active CoinGecko listing / rank
Token has no active CoinMarketCap listing / rank
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Unable to find Youtube account
Twitter account has few posts