CZbusd is pegged to the price of BUSD on the Binance Smart Chain and is part of the CZpegs protocol.
CZbusdToken.governanceRecoverUnsupported(IERC20) (#1528-1530) ignores return value by _token.transfer(owner(),_token.balanceOf(address(this))) (#1529)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.
Additional information: link
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
Contract ownership is not renounced (belongs to a wallet)
Reentrancy in CZbusdToken._transfer(address,address,uint256) (#1469-1513):
External calls:
- ILiquidityFund(_taxFund).addLiquidity(_taxAmount) (#1496)
State variables written after the call(s):
- _burn(sender,_burnAmount) (#1505)
- _balances[account] = _balances[account].sub(amount,ERC20: burn amount exceeds balance) (#579)
- super._transfer(sender,recipient,_amount) (#1512)
- _balances[sender] = _balances[sender].sub(amount,ERC20: transfer amount exceeds balance) (#539)
- _balances[recipient] = _balances[recipient].add(amount) (#540)
Apply the check-effects-interactions pattern.
Additional information: link
CZbusdToken.setBurnRate(uint256) (#1334-1337) should emit an event for:
- burnRate = _burnRate (#1336)
CZbusdToken.setTaxRate(uint256) (#1339-1342) should emit an event for:
- taxRate = _taxRate (#1341)
Emit an event for critical parameter changes.
Additional information: link
CZbusdToken.constructor(string,string,uint8,address)._taxFund (#1317) lacks a zero-check on :
- taxFund = _taxFund (#1320)
CZbusdToken.setOracle(address)._oracle (#1326) lacks a zero-check on :
- oracle = _oracle (#1327)
Check that the address is not zero.
Additional information: link
Reentrancy in CZbusdToken._transfer(address,address,uint256) (#1469-1513):
External calls:
- ILiquidityFund(_taxFund).addLiquidity(_taxAmount) (#1496)
State variables written after the call(s):
- _burn(sender,_burnAmount) (#1505)
- _totalBurned = _totalBurned.add(_amount) (#1452)
- _burn(sender,_burnAmount) (#1505)
- _totalSupply = _totalSupply.sub(amount) (#580)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in CZbusdToken._transfer(address,address,uint256) (#1469-1513):
External calls:
- ILiquidityFund(_taxFund).addLiquidity(_taxAmount) (#1496)
Event emitted after the call(s):
- TaxAdded(sender,_taxFund,_taxAmount) (#1498)
- Transfer(account,address(0),amount) (#581)
- _burn(sender,_burnAmount) (#1505)
- Transfer(sender,recipient,amount) (#541)
- super._transfer(sender,recipient,_amount) (#1512)
Apply the check-effects-interactions pattern.
Additional information: link
Address.isContract(address) (#705-714) uses assembly
- INLINE ASM (#712)
Address._verifyCallResult(bool,bytes,string) (#850-867) uses assembly
- INLINE ASM (#859-862)
Do not use evm assembly.
Additional information: link
Different versions of Solidity is used:
- Version used: ['0.6.12', '>=0.6.0<0.8.0', '>=0.6.2<0.8.0']
- >=0.6.0<0.8.0 (#3)
- >=0.6.0<0.8.0 (#31)
- >=0.6.0<0.8.0 (#112)
- >=0.6.0<0.8.0 (#330)
- >=0.6.0<0.8.0 (#638)
- >=0.6.2<0.8.0 (#682)
- >=0.6.0<0.8.0 (#875)
- 0.6.12 (#952)
- >=0.6.0<0.8.0 (#1115)
- >=0.6.0<0.8.0 (#1122)
- 0.6.12 (#1193)
- 0.6.12 (#1235)
- 0.6.12 (#1250)
- 0.6.12 (#1272)
Use one Solidity version.
Additional information: link
Address._verifyCallResult(bool,bytes,string) (#850-867) is never used and should be removed
Address.functionCall(address,bytes) (#758-760) is never used and should be removed
Address.functionCall(address,bytes,string) (#768-770) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#783-785) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#793-800) is never used and should be removed
Address.functionDelegateCall(address,bytes) (#832-834) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (#842-848) is never used and should be removed
Address.functionStaticCall(address,bytes) (#808-810) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (#818-824) is never used and should be removed
Address.isContract(address) (#705-714) is never used and should be removed
Address.sendValue(address,uint256) (#732-738) is never used and should be removed
Context._msgData() (#20-23) is never used and should be removed
SafeERC20._callOptionalReturn(IERC20,bytes) (#934-944) is never used and should be removed
SafeERC20.safeApprove(IERC20,address,uint256) (#907-916) is never used and should be removed
SafeERC20.safeDecreaseAllowance(IERC20,address,uint256) (#923-926) is never used and should be removed
SafeERC20.safeIncreaseAllowance(IERC20,address,uint256) (#918-921) is never used and should be removed
SafeERC20.safeTransfer(IERC20,address,uint256) (#892-894) is never used and should be removed
SafeERC20.safeTransferFrom(IERC20,address,address,uint256) (#896-898) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#299-302) is never used and should be removed
SafeMath.mod(uint256,uint256) (#261-264) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#319-322) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (#133-137) is never used and should be removed
SafeMath.tryDiv(uint256,uint256) (#169-172) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (#179-182) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (#154-162) is never used and should be removed
SafeMath.trySub(uint256,uint256) (#144-147) is never used and should be removed
SafeMath8.add(uint8,uint8) (#978-983) is never used and should be removed
SafeMath8.div(uint8,uint8) (#1052-1054) is never used and should be removed
SafeMath8.div(uint8,uint8,string) (#1068-1074) is never used and should be removed
SafeMath8.mod(uint8,uint8) (#1088-1090) is never used and should be removed
SafeMath8.mod(uint8,uint8,string) (#1104-1107) is never used and should be removed
SafeMath8.mul(uint8,uint8) (#1026-1038) is never used and should be removed
SafeMath8.sub(uint8,uint8) (#995-997) is never used and should be removed
SafeMath8.sub(uint8,uint8,string) (#1009-1014) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version>=0.6.0<0.8.0 (#3) is too complex
Pragma version>=0.6.0<0.8.0 (#31) is too complex
Pragma version>=0.6.0<0.8.0 (#112) is too complex
Pragma version>=0.6.0<0.8.0 (#330) is too complex
Pragma version>=0.6.0<0.8.0 (#638) is too complex
Pragma version>=0.6.2<0.8.0 (#682) is too complex
Pragma version>=0.6.0<0.8.0 (#875) is too complex
Pragma version>=0.6.0<0.8.0 (#1115) is too complex
Pragma version>=0.6.0<0.8.0 (#1122) is too complex
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
Low level call in Address.sendValue(address,uint256) (#732-738):
- (success) = recipient.call{value: amount}() (#736)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (#793-800):
- (success,returndata) = target.call{value: value}(data) (#798)
Low level call in Address.functionStaticCall(address,bytes,string) (#818-824):
- (success,returndata) = target.staticcall(data) (#822)
Low level call in Address.functionDelegateCall(address,bytes,string) (#842-848):
- (success,returndata) = target.delegatecall(data) (#846)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Parameter CZbusdToken.setOracle(address)._oracle (#1326) is not in mixedCase
Parameter CZbusdToken.setBurnRate(uint256)._burnRate (#1334) is not in mixedCase
Parameter CZbusdToken.setTaxRate(uint256)._taxRate (#1339) is not in mixedCase
Parameter CZbusdToken.setTaxFund(address)._taxFund (#1344) is not in mixedCase
Parameter CZbusdToken.setExcludeFromFee(address,bool)._account (#1349) is not in mixedCase
Parameter CZbusdToken.setExcludeFromFee(address,bool)._status (#1349) is not in mixedCase
Parameter CZbusdToken.setExcludeToFee(address,bool)._account (#1356) is not in mixedCase
Parameter CZbusdToken.setExcludeToFee(address,bool)._status (#1356) is not in mixedCase
Parameter CZbusdToken.setExcludeBothDirectionsFee(address,bool)._account (#1363) is not in mixedCase
Parameter CZbusdToken.setExcludeBothDirectionsFee(address,bool)._status (#1363) is not in mixedCase
Parameter CZbusdToken.isExcludedFromFee(address)._account (#1397) is not in mixedCase
Parameter CZbusdToken.isExcludedToFee(address)._account (#1401) is not in mixedCase
Parameter CZbusdToken.distributeReward(address)._genesisPool (#1518) is not in mixedCase
Parameter CZbusdToken.governanceRecoverUnsupported(IERC20)._token (#1528) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#21)" inContext (#15-24)
Remove redundant statements if they congest code but offer no value.
Additional information: link
name() should be declared external:
- ERC20.name() (#389-391)
symbol() should be declared external:
- ERC20.symbol() (#397-399)
decimals() should be declared external:
- ERC20.decimals() (#414-416)
totalSupply() should be declared external:
- ERC20.totalSupply() (#421-423)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (#440-443)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (#459-462)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (#477-481)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (#495-498)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (#514-517)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#1172-1175)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#1181-1185)
operator() should be declared external:
- Operator.operator() (#1206-1208)
isOperator() should be declared external:
- Operator.isOperator() (#1215-1217)
transferOperator(address) should be declared external:
- Operator.transferOperator(address) (#1219-1221)
getTokenPrice() should be declared external:
- CZbusdToken.getTokenPrice() (#1381-1387)
mint(address,uint256) should be declared external:
- CZbusdToken.mint(address,uint256) (#1413-1423)
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 on CoinMarketCap
Additional information: link
Unable to find KYC or doxxing proof
Unable to find whitepaper link on the website
Token is not listed at Mobula.Finance
Additional information: link
Unable to find token on CoinHunt
Additional information: link
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of scam / price dump / death
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 Blog account (Reddit or Medium)
Unable to find Youtube account