Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Reentrancy in XBM._regularTransfer(address,address,uint256) (#402-423):
External calls:
- _swapContractToken(LiquifyTreshold,false) (#420)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#704-712)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#693-699)
- BM.addFunds{value: address(this).balance}(false,true) (#685)
- _transferTaxed(sender,recipient,amount,tax) (#422)
- BM.transfer(account,amount) (#631)
- BM.Compound() (#602)
External calls sending eth:
- _swapContractToken(LiquifyTreshold,false) (#420)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#704-712)
- BM.addFunds{value: address(this).balance}(false,true) (#685)
State variables written after the call(s):
- _transferTaxed(sender,recipient,amount,tax) (#422)
- _balances[addr] = newAmount (#555)
- _balances[addr] = newAmount (#574)
- _balances[addr] = newAmount (#579)
- _balances[addr] = newAmount (#563)
- _transferTaxed(sender,recipient,amount,tax) (#422)
- _circulatingSupply -= amount (#572)
- _circulatingSupply += amount (#552)
- _circulatingSupply -= burnedToken (#433)
Apply the check-effects-interactions pattern.
Additional information: link
XBMMint._sacrifice() (#257-259) ignores return value by BM.transfer(address(0xdead),BM.balanceOf(address(this))) (#258)
XBM._claimBM(address) (#626-632) ignores return value by BM.transfer(account,amount) (#631)
XBM.LiquidityRelease() (#875-887) ignores return value by liquidityToken.transfer(msg.sender,amount) (#885)
XBM.TeamWithdrawStrandedToken(address) (#892-896) ignores return value by token.transfer(msg.sender,token.balanceOf(address(this))) (#895)
XBM.ConvertBM(uint256) (#928-933) ignores return value by BM.transferFrom(msg.sender,MintingContract,amount) (#931)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.
Additional information: link
Combination 3: Reentrancy vulnerabilities + Unchecked transfer vulnerability. Usual for scams. May be justified by some complex mechanics (e.g. rebase, reflections). DYOR & manual audit are advised.
XBM._swapContractToken(uint16,bool) (#650-686) performs a multiplication on the result of a division:
-tokenToSwap = _balances[_pancakePairAddress] * PancakeTreshold / TaxDenominator (#656)
-tokenForLiquidity = (tokenToSwap * _liquidityTax) / totalTax (#668)
XBM.LiquidityRelease() (#875-887) performs a multiplication on the result of a division:
-amount = liquidityToken.balanceOf(address(this)) * 2 / 10 (#880)
-amount = amount * 2 / 10 (#883)
Consider ordering multiplication before division.
Additional information: link
Reentrancy in XBM.RobinHood(address) (#453-461):
External calls:
- _removeToken(account,Tokens) (#459)
- BM.transfer(account,amount) (#631)
- _addToken(msg.sender,Tokens) (#460)
- BM.transfer(account,amount) (#631)
State variables written after the call(s):
- _addToken(msg.sender,Tokens) (#460)
- _balances[addr] = newAmount (#555)
- _balances[addr] = newAmount (#563)
- _addToken(msg.sender,Tokens) (#460)
- _circulatingSupply += amount (#552)
- _addToken(msg.sender,Tokens) (#460)
- _totalShares += amount (#559)
- _addToken(msg.sender,Tokens) (#460)
- alreadyPaidShares[addr] = profitPerShare * getShares(addr) (#616)
- alreadyPaidShares[addr] = profitPerShare * newAmount (#561)
- _addToken(msg.sender,Tokens) (#460)
- totalPayout[addr] += amount (#618)
- _addToken(msg.sender,Tokens) (#460)
- totalPayouts += amount (#630)
Reentrancy in XBM.TeamSetStakingExcluded(address,bool) (#810-823):
External calls:
- _claimBM(addr) (#814)
- BM.transfer(account,amount) (#631)
State variables written after the call(s):
- _excludedFromStaking[addr] = true (#816)
- alreadyPaidShares[addr] = shares * profitPerShare (#818)
Reentrancy in XBM._addToken(address,uint256) (#549-566):
External calls:
- _claimBM(addr) (#558)
- BM.transfer(account,amount) (#631)
State variables written after the call(s):
- _balances[addr] = newAmount (#563)
- alreadyPaidShares[addr] = profitPerShare * newAmount (#561)
Reentrancy in XBM._autoPayout() (#513-531):
External calls:
- _compoundBM() (#514)
- BM.Compound() (#602)
- _claimBM(current) (#521)
- BM.transfer(account,amount) (#631)
State variables written after the call(s):
- currentPayoutIndex = 0 (#525)
Reentrancy in XBM._feelessTransfer(address,address,uint256) (#442-451):
External calls:
- _removeToken(sender,amount) (#445)
- BM.transfer(account,amount) (#631)
- _addToken(recipient,amount) (#447)
- BM.transfer(account,amount) (#631)
State variables written after the call(s):
- _addToken(recipient,amount) (#447)
- _balances[addr] = newAmount (#555)
- _balances[addr] = newAmount (#563)
- _addToken(recipient,amount) (#447)
- _circulatingSupply += amount (#552)
- _addToken(recipient,amount) (#447)
- _totalShares += amount (#559)
- _addToken(recipient,amount) (#447)
- alreadyPaidShares[addr] = profitPerShare * getShares(addr) (#616)
- alreadyPaidShares[addr] = profitPerShare * newAmount (#561)
- _addToken(recipient,amount) (#447)
- totalPayout[addr] += amount (#618)
- _addToken(recipient,amount) (#447)
- totalPayouts += amount (#630)
Reentrancy in XBM._mint(address) (#356-363):
External calls:
- MintedAmount = GetRate(mint.Mint()) (#360)
- _addToken(account,MintedAmount) (#361)
- BM.transfer(account,amount) (#631)
State variables written after the call(s):
- _addToken(account,MintedAmount) (#361)
- _circulatingSupply += amount (#552)
Reentrancy in XBM._removeToken(address,uint256) (#569-587):
External calls:
- _claimBM(addr) (#577)
- BM.transfer(account,amount) (#631)
State variables written after the call(s):
- _balances[addr] = newAmount (#579)
- alreadyPaidShares[addr] = profitPerShare * getShares(addr) (#581)
Reentrancy in XBM._transferTaxed(address,address,uint256,uint256) (#424-440):
External calls:
- _removeToken(sender,amount) (#429)
- BM.transfer(account,amount) (#631)
- _addToken(address(this),totalTaxedToken - burnedToken) (#431)
- BM.transfer(account,amount) (#631)
State variables written after the call(s):
- _addToken(address(this),totalTaxedToken - burnedToken) (#431)
- _balances[addr] = newAmount (#555)
- _balances[addr] = newAmount (#563)
- _addToken(address(this),totalTaxedToken - burnedToken) (#431)
- _circulatingSupply += amount (#552)
- _circulatingSupply -= burnedToken (#433)
- _addToken(address(this),totalTaxedToken - burnedToken) (#431)
- _totalShares += amount (#559)
- _addToken(address(this),totalTaxedToken - burnedToken) (#431)
- alreadyPaidShares[addr] = profitPerShare * getShares(addr) (#616)
- alreadyPaidShares[addr] = profitPerShare * newAmount (#561)
- _addToken(address(this),totalTaxedToken - burnedToken) (#431)
- totalPayout[addr] += amount (#618)
- _addToken(address(this),totalTaxedToken - burnedToken) (#431)
- totalPayouts += amount (#630)
Reentrancy in XBM._transferTaxed(address,address,uint256,uint256) (#424-440):
External calls:
- _removeToken(sender,amount) (#429)
- BM.transfer(account,amount) (#631)
- _addToken(address(this),totalTaxedToken - burnedToken) (#431)
- BM.transfer(account,amount) (#631)
- _addToken(recipient,taxedAmount) (#436)
- BM.transfer(account,amount) (#631)
State variables written after the call(s):
- _addToken(recipient,taxedAmount) (#436)
- _balances[addr] = newAmount (#555)
- _balances[addr] = newAmount (#563)
- _addToken(recipient,taxedAmount) (#436)
- _circulatingSupply += amount (#552)
- _addToken(recipient,taxedAmount) (#436)
- _totalShares += amount (#559)
- _addToken(recipient,taxedAmount) (#436)
- alreadyPaidShares[addr] = profitPerShare * getShares(addr) (#616)
- alreadyPaidShares[addr] = profitPerShare * newAmount (#561)
- _addToken(recipient,taxedAmount) (#436)
- totalPayout[addr] += amount (#618)
- _addToken(recipient,taxedAmount) (#436)
- totalPayouts += amount (#630)
Reentrancy in XBM._transferTaxed(address,address,uint256,uint256) (#424-440):
External calls:
- _removeToken(sender,amount) (#429)
- BM.transfer(account,amount) (#631)
- _addToken(address(this),totalTaxedToken - burnedToken) (#431)
- BM.transfer(account,amount) (#631)
- _addToken(recipient,taxedAmount) (#436)
- BM.transfer(account,amount) (#631)
- _autoPayout() (#438)
- BM.transfer(account,amount) (#631)
- BM.Compound() (#602)
State variables written after the call(s):
- _autoPayout() (#438)
- alreadyPaidShares[addr] = profitPerShare * getShares(addr) (#616)
- _autoPayout() (#438)
- profitPerShare += ((newBM * DistributionMultiplier) / totalShares) (#608)
- _autoPayout() (#438)
- totalPayout[addr] += amount (#618)
- _autoPayout() (#438)
- totalPayouts += amount (#630)
Apply the check-effects-interactions pattern.
Additional information: link
XBM.SetAutoPayoutAccount(address,bool) (#498-501) ignores return value by _autoPayoutList.add(account) (#499)
XBM.SetAutoPayoutAccount(address,bool) (#498-501) ignores return value by _autoPayoutList.remove(account) (#500)
XBM._addToken(address,uint256) (#549-566) ignores return value by _autoPayoutList.add(addr) (#564)
XBM._removeToken(address,uint256) (#569-587) ignores return value by _autoPayoutList.remove(addr) (#586)
XBM._addLiquidity(uint256,uint256) (#702-713) ignores return value by _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#704-712)
XBM.TeamSetStakingExcluded(address,bool) (#810-823) ignores return value by _autoPayoutList.remove(addr) (#819)
XBM._includeToStaking(address) (#829-837) ignores return value by _autoPayoutList.add(addr) (#836)
Ensure that all the return values of the function calls are used.
Additional information: link
XBM.allowance(address,address)._owner (#962) shadows:
- Ownable._owner (#41) (state variable)
XBM._approve(address,address,uint256).owner (#969) shadows:
- Ownable.owner() (#57-59) (function)
Rename the local variables that shadow another component.
Additional information: link
XBM.EnableTrading(uint256) (#317-320) should emit an event for:
- LaunchTimestamp = Timestamp (#319)
Emit an event for critical parameter changes.
Additional information: link
XBMMint.constructor(address,address,address)._owner (#251) lacks a zero-check on :
- owner = _owner (#253)
XBMMint.constructor(address,address,address)._token (#251) lacks a zero-check on :
- token = _token (#254)
Check that the address is not zero.
Additional information: link
Reentrancy in XBM.TeamAddOrRemoveAMM(address,bool) (#764-775):
External calls:
- TeamSetStakingExcluded(AMMPairAddress,true) (#768)
- BM.transfer(account,amount) (#631)
State variables written after the call(s):
- _automatedMarketMakers[AMMPairAddress] = true (#769)
Reentrancy in XBM.TeamSetStakingExcluded(address,bool) (#810-823):
External calls:
- _claimBM(addr) (#814)
- BM.transfer(account,amount) (#631)
State variables written after the call(s):
- _totalShares -= shares (#817)
Reentrancy in XBM._addToken(address,uint256) (#549-566):
External calls:
- _claimBM(addr) (#558)
- BM.transfer(account,amount) (#631)
State variables written after the call(s):
- _totalShares += amount (#559)
Reentrancy in XBM._autoPayout() (#513-531):
External calls:
- _compoundBM() (#514)
- BM.Compound() (#602)
State variables written after the call(s):
- currentPayoutIndex = 0 (#516)
- currentPayoutIndex ++ (#519)
Reentrancy in XBM._compoundBM() (#598-609):
External calls:
- BM.Compound() (#602)
State variables written after the call(s):
- profitPerShare += ((newBM * DistributionMultiplier) / totalShares) (#608)
- totalStakingReward += newBM (#606)
Reentrancy in XBM._removeToken(address,uint256) (#569-587):
External calls:
- _claimBM(addr) (#577)
- BM.transfer(account,amount) (#631)
State variables written after the call(s):
- _totalShares -= amount (#584)
Reentrancy in XBM._transferTaxed(address,address,uint256,uint256) (#424-440):
External calls:
- _removeToken(sender,amount) (#429)
- BM.transfer(account,amount) (#631)
- _addToken(address(this),totalTaxedToken - burnedToken) (#431)
- BM.transfer(account,amount) (#631)
State variables written after the call(s):
- BurnedSupply += burnedToken (#434)
Reentrancy in XBM.constructor() (#368-380):
External calls:
- _pancakePairAddress = IPancakeFactory(_pancakeRouter.factory()).createPair(address(this),_pancakeRouter.WETH()) (#370)
State variables written after the call(s):
- _approve(address(this),address(_pancakeRouter),type()(uint256).max) (#379)
- _allowances[owner][spender] = amount (#973)
- _automatedMarketMakers[_pancakePairAddress] = true (#371)
- _excluded[msg.sender] = true (#377)
- _excluded[address(this)] = true (#378)
- _excludedFromStaking[_pancakePairAddress] = true (#373)
- _excludedFromStaking[address(this)] = true (#374)
Reentrancy in XBM.transferFrom(address,address,uint256) (#976-983):
External calls:
- _transfer(sender,recipient,amount) (#977)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#704-712)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#693-699)
- BM.transfer(account,amount) (#631)
- BM.Compound() (#602)
- BM.addFunds{value: address(this).balance}(false,true) (#685)
External calls sending eth:
- _transfer(sender,recipient,amount) (#977)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#704-712)
- BM.addFunds{value: address(this).balance}(false,true) (#685)
State variables written after the call(s):
- _approve(sender,msg.sender,currentAllowance - amount) (#981)
- _allowances[owner][spender] = amount (#973)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in XBM.BurnContractToken(uint8) (#848-854):
External calls:
- _removeToken(address(this),burnAmount) (#851)
- BM.transfer(account,amount) (#631)
Event emitted after the call(s):
- ContractBurn(burnAmount) (#853)
- Transfer(address(this),address(0),burnAmount) (#852)
Reentrancy in XBM.ConvertBM(uint256) (#928-933):
External calls:
- BM.transferFrom(msg.sender,MintingContract,amount) (#931)
- _mint(msg.sender) (#932)
- MintedAmount = GetRate(mint.Mint()) (#360)
- BM.transfer(account,amount) (#631)
Event emitted after the call(s):
- Transfer(address(0),account,MintedAmount) (#362)
- _mint(msg.sender) (#932)
Reentrancy in XBM.LiquidityRelease() (#875-887):
External calls:
- liquidityToken.transfer(msg.sender,amount) (#885)
Event emitted after the call(s):
- OnReleaseLP() (#886)
Reentrancy in XBM.TeamAddOrRemoveAMM(address,bool) (#764-775):
External calls:
- TeamSetStakingExcluded(AMMPairAddress,true) (#768)
- BM.transfer(account,amount) (#631)
Event emitted after the call(s):
- OnAddAMM(AMMPairAddress,Add) (#774)
Reentrancy in XBM.TeamSetStakingExcluded(address,bool) (#810-823):
External calls:
- _claimBM(addr) (#814)
- BM.transfer(account,amount) (#631)
Event emitted after the call(s):
- OnExcludeFromStaking(addr,exclude) (#822)
Reentrancy in XBM._feelessTransfer(address,address,uint256) (#442-451):
External calls:
- _removeToken(sender,amount) (#445)
- BM.transfer(account,amount) (#631)
- _addToken(recipient,amount) (#447)
- BM.transfer(account,amount) (#631)
Event emitted after the call(s):
- Transfer(sender,recipient,amount) (#449)
Reentrancy in XBM._mint(address) (#356-363):
External calls:
- MintedAmount = GetRate(mint.Mint()) (#360)
- _addToken(account,MintedAmount) (#361)
- BM.transfer(account,amount) (#631)
Event emitted after the call(s):
- Transfer(address(0),account,MintedAmount) (#362)
Reentrancy in XBM._regularTransfer(address,address,uint256) (#402-423):
External calls:
- _swapContractToken(LiquifyTreshold,false) (#420)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#704-712)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#693-699)
- BM.addFunds{value: address(this).balance}(false,true) (#685)
- _transferTaxed(sender,recipient,amount,tax) (#422)
- BM.transfer(account,amount) (#631)
- BM.Compound() (#602)
External calls sending eth:
- _swapContractToken(LiquifyTreshold,false) (#420)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#704-712)
- BM.addFunds{value: address(this).balance}(false,true) (#685)
Event emitted after the call(s):
- Transfer(sender,recipient,taxedAmount) (#437)
- _transferTaxed(sender,recipient,amount,tax) (#422)
Reentrancy in XBM._transferTaxed(address,address,uint256,uint256) (#424-440):
External calls:
- _removeToken(sender,amount) (#429)
- BM.transfer(account,amount) (#631)
- _addToken(address(this),totalTaxedToken - burnedToken) (#431)
- BM.transfer(account,amount) (#631)
- _addToken(recipient,taxedAmount) (#436)
- BM.transfer(account,amount) (#631)
Event emitted after the call(s):
- Transfer(sender,recipient,taxedAmount) (#437)
Reentrancy in XBM.constructor() (#368-380):
External calls:
- _pancakePairAddress = IPancakeFactory(_pancakeRouter.factory()).createPair(address(this),_pancakeRouter.WETH()) (#370)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#974)
- _approve(address(this),address(_pancakeRouter),type()(uint256).max) (#379)
Reentrancy in XBM.receive() (#913-926):
External calls:
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: msg.value}(0,path,MintingContract,block.timestamp) (#920-924)
- _mint(msg.sender) (#925)
- MintedAmount = GetRate(mint.Mint()) (#360)
- BM.transfer(account,amount) (#631)
External calls sending eth:
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: msg.value}(0,path,MintingContract,block.timestamp) (#920-924)
Event emitted after the call(s):
- Transfer(address(0),account,MintedAmount) (#362)
- _mint(msg.sender) (#925)
Reentrancy in XBM.transferFrom(address,address,uint256) (#976-983):
External calls:
- _transfer(sender,recipient,amount) (#977)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#704-712)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#693-699)
- BM.transfer(account,amount) (#631)
- BM.Compound() (#602)
- BM.addFunds{value: address(this).balance}(false,true) (#685)
External calls sending eth:
- _transfer(sender,recipient,amount) (#977)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#704-712)
- BM.addFunds{value: address(this).balance}(false,true) (#685)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#974)
- _approve(sender,msg.sender,currentAllowance - amount) (#981)
Apply the check-effects-interactions pattern.
Additional information: link
XBM._isEnabled() (#314-316) uses timestamp for comparisons
Dangerous comparisons:
- block.timestamp >= LaunchTimestamp || tx.origin == owner() (#315)
XBM.EnableTrading(uint256) (#317-320) uses timestamp for comparisons
Dangerous comparisons:
- require(bool)(block.timestamp < LaunchTimestamp) (#318)
XBM.RobinHood(address) (#453-461) uses timestamp for comparisons
Dangerous comparisons:
- require(bool)(block.timestamp < LaunchTimestamp) (#455)
XBM.getLiquidityLockSeconds() (#729-733) uses timestamp for comparisons
Dangerous comparisons:
- block.timestamp < _liquidityUnlockTime (#730)
XBM._prolongLiquidityLock(uint256) (#866-870) uses timestamp for comparisons
Dangerous comparisons:
- require(bool)(newUnlockTime > _liquidityUnlockTime) (#868)
XBM.LiquidityRelease() (#875-887) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp >= _liquidityUnlockTime,Not yet unlocked) (#877)
Avoid relying on block.timestamp.
Additional information: link
Address.isContract(address) (#229-239) uses assembly
- INLINE ASM (#235-237)
Do not use evm assembly.
Additional information: link
solc-0.8.11 is not recommended for deployment
Deploy with any of the following Solidity versions: 0.5.16 - 0.5.17, 0.6.11 - 0.6.12, 0.7.5 - 0.7.6 Use a simple pragma version that allows any of these versions. Consider using the latest version of Solidity for testing.
Additional information: link
Function BurningMoon.Compound() (#23) is not in mixedCase
Function BurningMoon.ClaimAnyToken(address) (#26) is not in mixedCase
Function BurningMoon.ClaimBNB() (#27) is not in mixedCase
Function BurningMoon.TransferSacrifice(address,uint256) (#28) is not in mixedCase
Variable Ownable._owner (#41) is not in mixedCase
Function IDexRouter.WETH() (#222) is not in mixedCase
Function XBMMint.Mint() (#261-265) is not in mixedCase
Variable XBMMint.BM (#246) is not in mixedCase
Function XBM.EnableTrading(uint256) (#317-320) is not in mixedCase
Parameter XBM.EnableTrading(uint256).Timestamp (#317) is not in mixedCase
Function XBM.GetRate(uint256) (#327-331) is not in mixedCase
Parameter XBM.GetRate(uint256).Input (#327) is not in mixedCase
Function XBM.CreateMintingContract() (#335-338) is not in mixedCase
Function XBM.CreateMintingContract(address) (#340-347) is not in mixedCase
Function XBM.Mint() (#351-353) is not in mixedCase
Function XBM.RobinHood(address) (#453-461) is not in mixedCase
Function XBM.DisableAutoPayout(bool) (#483-486) is not in mixedCase
Function XBM.ChangeAutoPayoutCount(uint256) (#488-492) is not in mixedCase
Function XBM.ChangeMinPayout(uint256) (#494-497) is not in mixedCase
Function XBM.SetAutoPayoutAccount(address,bool) (#498-501) is not in mixedCase
Function XBM.SetTaxes(uint256,uint256,uint256) (#503-511) is not in mixedCase
Parameter XBM.SetTaxes(uint256,uint256,uint256).Staking (#503) is not in mixedCase
Parameter XBM.SetTaxes(uint256,uint256,uint256).Burn (#503) is not in mixedCase
Parameter XBM.SetTaxes(uint256,uint256,uint256).LP (#503) is not in mixedCase
Function XBM.ClaimRewards() (#622-625) is not in mixedCase
Function XBM.TeamAddOrRemoveAMM(address,bool) (#764-775) is not in mixedCase
Parameter XBM.TeamAddOrRemoveAMM(address,bool).AMMPairAddress (#764) is not in mixedCase
Parameter XBM.TeamAddOrRemoveAMM(address,bool).Add (#764) is not in mixedCase
Function XBM.TeamSetLiquifyTreshold(uint8) (#778-783) is not in mixedCase
Parameter XBM.TeamSetLiquifyTreshold(uint8).TresholdPermille (#778) is not in mixedCase
Function XBM.TeamSetOverLiquifyTreshold(uint8) (#786-791) is not in mixedCase
Parameter XBM.TeamSetOverLiquifyTreshold(uint8).TresholdPermille (#786) is not in mixedCase
Function XBM.TeamSwitchSwapAndLiquify(bool) (#797-800) is not in mixedCase
Function XBM.TeamTriggerLiquify(uint16,bool) (#804-806) is not in mixedCase
Function XBM.TeamSetStakingExcluded(address,bool) (#810-823) is not in mixedCase
Function XBM.IncludeMeToStaking() (#826-828) is not in mixedCase
Function XBM.SetExcludedStatus(address,bool) (#840-844) is not in mixedCase
Function XBM.BurnContractToken(uint8) (#848-854) is not in mixedCase
Function XBM.TeamLockLiquidityForSeconds(uint256) (#862-865) is not in mixedCase
Function XBM.LiquidityRelease() (#875-887) is not in mixedCase
Function XBM.TeamWithdrawStrandedToken(address) (#892-896) is not in mixedCase
Function XBM.DisableEmergencyWithdraw() (#898-900) is not in mixedCase
Function XBM.EmergencyWithdraw(uint256) (#901-904) is not in mixedCase
Function XBM.ChangeName(string) (#905-907) is not in mixedCase
Function XBM.ConvertBM(uint256) (#928-933) is not in mixedCase
Parameter XBM.allowance(address,address)._owner (#962) is not in mixedCase
Constant XBM._symbol (#284) is not in UPPER_CASE_WITH_UNDERSCORES
Constant XBM._decimals (#285) is not in UPPER_CASE_WITH_UNDERSCORES
Constant XBM.DefaultLiquidityLockTime (#288) is not in UPPER_CASE_WITH_UNDERSCORES
Variable XBM.LaunchTimestamp (#289) is not in mixedCase
Constant XBM.TaxDenominator (#299) is not in UPPER_CASE_WITH_UNDERSCORES
Variable XBM.LiquifyTreshold (#301) is not in mixedCase
Variable XBM.BM (#305) is not in mixedCase
Variable XBM._isInFunction (#306) is not in mixedCase
Variable XBM.BurnedSupply (#326) is not in mixedCase
Variable XBM.MintingContracts (#332) is not in mixedCase
Variable XBM.DumpPrevented (#452) is not in mixedCase
Variable XBM.AutoPayoutCount (#476) is not in mixedCase
Variable XBM.MinPayout (#477) is not in mixedCase
Constant XBM.DistributionMultiplier (#534) is not in UPPER_CASE_WITH_UNDERSCORES
Follow the Solidity naming convention.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#76-79)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#85-89)
Mint() should be declared external:
- XBMMint.Mint() (#261-265)
EnableTrading(uint256) should be declared external:
- XBM.EnableTrading(uint256) (#317-320)
CreateMintingContract() should be declared external:
- XBM.CreateMintingContract() (#335-338)
Mint() should be declared external:
- XBM.Mint() (#351-353)
RobinHood(address) should be declared external:
- XBM.RobinHood(address) (#453-461)
isAutoPayout(address) should be declared external:
- XBM.isAutoPayout(address) (#473-475)
DisableAutoPayout(bool) should be declared external:
- XBM.DisableAutoPayout(bool) (#483-486)
ChangeAutoPayoutCount(uint256) should be declared external:
- XBM.ChangeAutoPayoutCount(uint256) (#488-492)
ChangeMinPayout(uint256) should be declared external:
- XBM.ChangeMinPayout(uint256) (#494-497)
SetAutoPayoutAccount(address,bool) should be declared external:
- XBM.SetAutoPayoutAccount(address,bool) (#498-501)
SetTaxes(uint256,uint256,uint256) should be declared external:
- XBM.SetTaxes(uint256,uint256,uint256) (#503-511)
ClaimRewards() should be declared external:
- XBM.ClaimRewards() (#622-625)
getLiquidityLockSeconds() should be declared external:
- XBM.getLiquidityLockSeconds() (#729-733)
getTaxes() should be declared external:
- XBM.getTaxes() (#735-744)
getStatus(address) should be declared external:
- XBM.getStatus(address) (#746-754)
TeamAddOrRemoveAMM(address,bool) should be declared external:
- XBM.TeamAddOrRemoveAMM(address,bool) (#764-775)
TeamSetLiquifyTreshold(uint8) should be declared external:
- XBM.TeamSetLiquifyTreshold(uint8) (#778-783)
TeamSetOverLiquifyTreshold(uint8) should be declared external:
- XBM.TeamSetOverLiquifyTreshold(uint8) (#786-791)
TeamSwitchSwapAndLiquify(bool) should be declared external:
- XBM.TeamSwitchSwapAndLiquify(bool) (#797-800)
TeamTriggerLiquify(uint16,bool) should be declared external:
- XBM.TeamTriggerLiquify(uint16,bool) (#804-806)
IncludeMeToStaking() should be declared external:
- XBM.IncludeMeToStaking() (#826-828)
SetExcludedStatus(address,bool) should be declared external:
- XBM.SetExcludedStatus(address,bool) (#840-844)
BurnContractToken(uint8) should be declared external:
- XBM.BurnContractToken(uint8) (#848-854)
TeamLockLiquidityForSeconds(uint256) should be declared external:
- XBM.TeamLockLiquidityForSeconds(uint256) (#862-865)
LiquidityRelease() should be declared external:
- XBM.LiquidityRelease() (#875-887)
TeamWithdrawStrandedToken(address) should be declared external:
- XBM.TeamWithdrawStrandedToken(address) (#892-896)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find website, listings and other project-related information
Young tokens have high risks of scam / price dump / death
Token has no active CoinGecko listing / rank
Token has no active CoinMarketCap listing / rank
Unable to find Telegram and Twitter accounts