BUZTOKEN.transferCustomToken(IERC20,address,uint256) (#261-266) ignores return value by token.transfer(targetAddress,amount) (#265)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.
Additional information: link
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
BUZTOKEN.receive() (#105-117) performs a multiplication on the result of a division:
-_tokenAmount = msg.value / (10 ** 10) * icoPrice (#109)
Consider ordering multiplication before division.
Additional information: link
BUZTOKEN.setWlThreshold(uint256) (#239-242) should emit an event for:
- wlThreshold = _amount (#241)
BUZTOKEN.setIcoPrice(uint256) (#250-253) should emit an event for:
- icoPrice = _amount (#252)
Emit an event for critical parameter changes.
Additional information: link
BUZTOKEN.transferFunds(uint256,address).payableAddress (#123) lacks a zero-check on :
- payableAddress.transfer(_amount) (#124)
Check that the address is not zero.
Additional information: link
BUZTOKEN.removeTBAdd(address[]) (#190-200) has costly operations inside a loop:
- delete targetBWallets[_address[i]] (#196)
BUZTOKEN.removeFromTargetBAdds(address) (#132-149) has costly operations inside a loop:
- targetBAdds.pop() (#148)
BUZTOKEN.removeWlAdd(address[]) (#221-231) has costly operations inside a loop:
- delete wlWallets[_address[i]] (#227)
BUZTOKEN.removeFromWlAdds(address) (#151-168) has costly operations inside a loop:
- wlAdds.pop() (#167)
Use a local variable to hold the loop computation result.
Additional information: link
SafeMath.div(uint256,uint256) (#330-332) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#348-357) is never used and should be removed
SafeMath.mod(uint256,uint256) (#334-336) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#358-367) is never used and should be removed
SafeMath.mul(uint256,uint256) (#326-328) is never used and should be removed
SafeMath.sub(uint256,uint256,string) (#338-347) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (#279-286) is never used and should be removed
SafeMath.tryDiv(uint256,uint256) (#307-312) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (#314-319) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (#295-305) is never used and should be removed
SafeMath.trySub(uint256,uint256) (#288-293) is never used and should be removed
Remove unused functions.
Additional information: link
BUZTOKEN.wlThreshold (#40) is set pre-construction with a non-constant function or state variable:
- totalSupply
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
Parameter BUZTOKEN.balanceOf(address)._address (#53) is not in mixedCase
Parameter BUZTOKEN.transfer(address,uint256)._receiver (#58) is not in mixedCase
Parameter BUZTOKEN.transfer(address,uint256)._amount (#58) is not in mixedCase
Parameter BUZTOKEN.approve(address,uint256)._address (#71) is not in mixedCase
Parameter BUZTOKEN.approve(address,uint256)._amount (#71) is not in mixedCase
Parameter BUZTOKEN.transferFrom(address,address,uint256)._originAddress (#86) is not in mixedCase
Parameter BUZTOKEN.transferFrom(address,address,uint256)._targetAddress (#86) is not in mixedCase
Parameter BUZTOKEN.transferFrom(address,address,uint256)._amount (#86) is not in mixedCase
Parameter BUZTOKEN.transferFunds(uint256,address)._amount (#119) is not in mixedCase
Parameter BUZTOKEN.transferFunds(uint256,address)._target (#119) is not in mixedCase
Parameter BUZTOKEN.removeFromTargetBAdds(address)._address (#132) is not in mixedCase
Parameter BUZTOKEN.removeFromWlAdds(address)._address (#151) is not in mixedCase
Parameter BUZTOKEN.addTBAdd(address[])._address (#178) is not in mixedCase
Parameter BUZTOKEN.removeTBAdd(address[])._address (#190) is not in mixedCase
Parameter BUZTOKEN.addWlAdd(address[])._address (#209) is not in mixedCase
Parameter BUZTOKEN.removeWlAdd(address[])._address (#221) is not in mixedCase
Parameter BUZTOKEN.setWlThreshold(uint256)._amount (#239) is not in mixedCase
Parameter BUZTOKEN.changeIco(bool)._ico (#245) is not in mixedCase
Parameter BUZTOKEN.setIcoPrice(uint256)._amount (#250) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
BUZTOKEN.totalSupply (#39) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
balanceOf(address) should be declared external:
- BUZTOKEN.balanceOf(address) (#53-56)
transfer(address,uint256) should be declared external:
- BUZTOKEN.transfer(address,uint256) (#58-69)
approve(address,uint256) should be declared external:
- BUZTOKEN.approve(address,uint256) (#71-79)
allowance(address,address) should be declared external:
- BUZTOKEN.allowance(address,address) (#81-84)
transferFrom(address,address,uint256) should be declared external:
- BUZTOKEN.transferFrom(address,address,uint256) (#86-103)
transferFunds(uint256,address) should be declared external:
- BUZTOKEN.transferFunds(uint256,address) (#119-125)
getTargetBAdds() should be declared external:
- BUZTOKEN.getTargetBAdds() (#173-176)
addTBAdd(address[]) should be declared external:
- BUZTOKEN.addTBAdd(address[]) (#178-188)
removeTBAdd(address[]) should be declared external:
- BUZTOKEN.removeTBAdd(address[]) (#190-200)
getWlAdds() should be declared external:
- BUZTOKEN.getWlAdds() (#204-207)
addWlAdd(address[]) should be declared external:
- BUZTOKEN.addWlAdd(address[]) (#209-219)
removeWlAdd(address[]) should be declared external:
- BUZTOKEN.removeWlAdd(address[]) (#221-231)
getWlThreshold() should be declared external:
- BUZTOKEN.getWlThreshold() (#234-237)
setWlThreshold(uint256) should be declared external:
- BUZTOKEN.setWlThreshold(uint256) (#239-242)
changeIco(bool) should be declared external:
- BUZTOKEN.changeIco(bool) (#245-248)
setIcoPrice(uint256) should be declared external:
- BUZTOKEN.setIcoPrice(uint256) (#250-253)
getCustomTokenBalance(IERC20) should be declared external:
- BUZTOKEN.getCustomTokenBalance(IERC20) (#256-259)
transferCustomToken(IERC20,address,uint256) should be declared external:
- BUZTOKEN.transferCustomToken(IERC20,address,uint256) (#261-266)
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