Cowboy Zombies Token - Smart Contract Audit Report

Summary

Cowboy Zombies Token Audit Report Cowboy Zombies Token ($CZ) is a new community-driven BEP20 token on the Binance Smart Chain.

The Cowboy Zombies Token contract is deployed at 0x64B5D35543D03aDf447286f69383e3E76eF6f8BE on the Binance Smart Chain mainnet.

Notes on the Contract:
  • The total supply of the token is initially set to 100 million $CZ [100,000,000].
  • No mint or burn functions are present beyond deployment; though the circulating supply can be reduced by sending tokens to the 0x..dead address if desired.
  • At the time of writing this report, 100% of the total $CZ token supply is in possession of the owner as the project was recently deployed.

  • There is a tax fee that is charged on transfers when sending tokens to Pancakeswap (selling).
  • The tokens collected from this fee are sent directly to the team's 'taxAddress'. This address is currently set to the owner's address, however the owner can update this address to a new wallet at any time.
  • The owner has the ability to modify the tax fee to any percentage at any time.
  • The owner has the ability to exclude and include accounts from the tax fee.
  • Ownership has not been renounced.
  • Some gas optimizations can be achieved through declaring functions external instead of public and some variables constant. As this contract is already deployed, this is merely informational.
  • As the project is implemented with Solidity v0.8.x, it is protected from overflows.
Audit Findings Summary
  • No external threats were identified.
  • We recommend that the team renounces ownership.
  • Please ensure trust in the team prior to investing as they have some control in the ecosystem.
  • Date: September 20th, 2021

Audit Results

Vulnerability CategoryNotesResult
Arbitrary Storage WriteN/APASS
Arbitrary JumpN/APASS
Delegate Call to Untrusted ContractN/APASS
Dependence on Predictable VariablesN/APASS
Deprecated OpcodesN/APASS
Ether ThiefN/APASS
ExceptionsN/APASS
External CallsN/APASS
Flash LoansN/APASS
Integer Over/UnderflowN/APASS
Multiple SendsN/APASS
OraclesN/APASS
SuicideN/APASS
State Change External CallsN/APASS
Unchecked RetvalN/APASS
User Supplied AssertionN/APASS
Critical Solidity CompilerN/APASS
Overall Contract Safety PASS

Function Graph

ERC20 Token Graph


Inheritence Chart

Multi-file Token


Functions Overview


 ($) = payable function
 # = non-constant function
 
 + [Int] IERC20 
    - [Ext] totalSupply
    - [Ext] balanceOf
    - [Ext] transfer #
    - [Ext] allowance
    - [Ext] approve #
    - [Ext] transferFrom #

 + [Int] IERC20Metadata (IERC20)
    - [Ext] name
    - [Ext] symbol
    - [Ext] decimals

 +  Context 
    - [Int] _msgSender
    - [Int] _msgData

 + [Lib] SafeMath 
    - [Int] tryAdd
    - [Int] trySub
    - [Int] tryMul
    - [Int] tryDiv
    - [Int] tryMod
    - [Int] add
    - [Int] sub
    - [Int] mul
    - [Int] div
    - [Int] mod
    - [Int] sub
    - [Int] div
    - [Int] mod

 +  Ownable (Context)
    - [Pub]  #
    - [Pub] owner
    - [Pub] renounceOwnership #
       - modifiers: onlyOwner
    - [Pub] transferOwnership #
       - modifiers: onlyOwner
    - [Prv] _setOwner #

 + [Int] IPancakeFactory 
    - [Ext] createPair #

 + [Int] IPancakeRouter 
    - [Ext] WETH
    - [Ext] factory

 + [Int] IPancakePair 
    - [Ext] token0
    - [Ext] token1
    - [Ext] getReserves

 +  CowboyZombies (Context, IERC20, IERC20Metadata, Ownable)
    - [Pub]  #
    - [Pub] excludeFromFee #
       - modifiers: onlyOwner
    - [Pub] includeInFee #
       - modifiers: onlyOwner
    - [Pub] setTaxAddress #
       - modifiers: onlyOwner
    - [Pub] setTax #
       - modifiers: onlyOwner
    - [Pub] isExcludedFromFee
    - [Pub] amountForEth
    - [Pub] name
    - [Pub] symbol
    - [Pub] decimals
    - [Pub] totalSupply
    - [Pub] balanceOf
    - [Pub] transfer #
    - [Pub] allowance
    - [Pub] approve #
    - [Pub] transferFrom #
    - [Pub] increaseAllowance #
    - [Pub] decreaseAllowance #
    - [Int] _transfer #
    - [Int] _mint #
    - [Int] _approve #