Zuki Token - Smart Contract Audit Report

Summary

Zuki Token Audit Report Zuki intends to build a platform that combines social media and gaming that is fueled by the blockchain through their native $ZUKI Token.

We audited Zuki's token contract at 0x93267BD1CaEf6aA1D96ff5eb1e0E57B6B2be8a1c on the Ethereum Rinkeby Testnet.


Notes of the contract:
  • The total supply of the token is specified upon deployment of the contract and minted to the deployer's address.
  • The total supply of the Testnet token is set to 7.8 trillion $ZUKI [7,800,000,000,000].
  • No minting functions are accessible beyond deployment.
  • The circulating supply can be decreased if a holder elects to transfer their tokens to the 0x..Dead address.
  • The owner has the ability to use the burn function to remove tokens from their own balance and automatically reduce the total supply.
  • There are no fees applied on $ZUKI token transfers other than the gas costs to execute the transaction.
  • The contract includes "pausable" functionality. Transfers will be prevented when either the sender/recipient address is paused, or if the contract itself is paused.
  • Holders (that have the approval and allowance to do so) may transfer tokens from another holder's wallet to any recipient.
  • The contract is deployed with Solidity version 0.8.8 which will prevent overflow/underflow issues.
  • The contract includes a thorough emmission of events to indicate when the owner takes any actions related to ownership-restricted functions.

  • Ownership Controls:
  • Ownership of the contract can be transferred to another address, or it can be renounced by setting the owner as the zero address.
  • Ownership has not been renounced.
  • The owner has the ability to pause and unpause the Token Contract at any time.
  • The owner has the ability to pause and unpause any address at any time.
  • The owner has the ability to recover any ERC20 tokens that were sent to the contract address.
  • The owner has the ability to recover any ETH that was sent to the contract address.

Audit Findings Summary
  • No issues from external attackers were identified.
  • Date: October 13th, 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

ERC20 Token Graph

Multi-file Token


 ($) = payable function
 # = non-constant function
 
 Int = Internal
 Ext = External
 Pub = Public

 + [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

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

 +  Pausable (Context)
    - [Pub]  #
    - [Pub] paused
    - [Int] _pause #
       - modifiers: whenNotPaused
    - [Int] _unpause #
       - modifiers: whenPaused

 +  Zuki (Context, IERC20, IERC20Metadata, Ownable, Pausable)
    - [Pub]  #
    - [Pub] name
    - [Pub] symbol
    - [Pub] decimals
    - [Pub] totalSupply
    - [Pub] balanceOf
    - [Pub] transfer #
    - [Pub] allowance
    - [Pub] approve #
    - [Pub] transferFrom #
    - [Pub] increaseAllowance #
    - [Pub] decreaseAllowance #
    - [Ext] burn #
       - modifiers: onlyOwner
    - [Ext] pauseContract #
       - modifiers: onlyOwner
    - [Ext] unPauseContract #
       - modifiers: onlyOwner
    - [Ext] pauseAddress #
       - modifiers: onlyOwner
    - [Ext] unPauseAddress #
       - modifiers: onlyOwner
    - [Ext] isAddressPaused
    - [Ext] withdrawToken #
       - modifiers: onlyOwner
    - [Pub] getBalance
    - [Pub] withdrawEthFromContract #
       - modifiers: onlyOwner
    - [Int] _transfer #
    - [Int] _mint #
    - [Int] _burn #
    - [Int] _approve #
    - [Int] _beforeTokenTransfer #