Meta Casino Defi - Smart Contract Audit Report

Summary

Meta Casino Defi Audit Report

Meta Casino Defi ($MCD) is a new BEP-20 token on the Binance Smart Chain.

We reviewed the Meta Casino Defi contract at 0x2Bf7aac38efa535b7f0d6860D5249D522F8D021E on the Binance Smart Chain mainnet.

Notes on the Contract:
  • The total supply of the token is set to 1 billion $MCD [1,000,000,000].
  • The owner can mint any amount of tokens to any address at any time.
  • No burn functions are present; though the circulating supply can be reduced by sending tokens to the 0x..dead address if desired.
  • There is currently no token allocation for our team to analyze.

  • The contract complies with the BEP-20 token standard.
  • There are no fees associated with transferring tokens.
  • The owner can call the finishMinting() function at any time which will permanently disable all minting functionality.
  • The owner can pause/unpause all trading at any time.
  • The contract utilizes the SafeMath library to prevent overflows/underflows.

Audit Findings Summary
  • No external threats were identified.
  • As with any presale, please ensure trust in the team prior to investing.
  • Date: January 18th, 2022.

Audit Results

Vulnerability CategoryNotesResult
Arbitrary Storage WriteN/APASS
Arbitrary JumpN/APASS
Centralization of Control
  • The owner can mint any amount of tokens at any time until the finishMinting() function has been called.
  • The owner can pause all trading at any time.
  • WARNING
    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


    Inheritance Chart

    Multi-file Token


    Functions Overview

    
     ($) = payable function
     # = non-constant function
     
     +  ERC20Basic 
        - [Pub] totalSupply
        - [Pub] balanceOf
        - [Pub] transfer #
    
     +  ERC20 (ERC20Basic)
        - [Pub] allowance
        - [Pub] transferFrom #
        - [Pub] approve #
    
     +  DetailedERC20 (ERC20)
        - [Pub]  #
    
     + [Lib] SafeMath 
        - [Int] mul
        - [Int] div
        - [Int] sub
        - [Int] add
    
     +  BasicToken (ERC20Basic)
        - [Pub] totalSupply
        - [Pub] transfer #
        - [Pub] balanceOf
    
     +  StandardToken (ERC20, BasicToken)
        - [Pub] transferFrom #
        - [Pub] approve #
        - [Pub] allowance
        - [Pub] increaseApproval #
        - [Pub] decreaseApproval #
    
     +  Ownable 
        - [Pub]  #
        - [Pub] renounceOwnership #
           - modifiers: onlyOwner
        - [Pub] transferOwnership #
           - modifiers: onlyOwner
        - [Int] _transferOwnership #
    
     +  MintableToken (StandardToken, Ownable)
        - [Pub] mint #
           - modifiers: hasMintPermission,canMint
        - [Pub] finishMinting #
           - modifiers: onlyOwner,canMint
    
     +  Pausable (Ownable)
        - [Pub] pause #
           - modifiers: onlyOwner,whenNotPaused
        - [Pub] unpause #
           - modifiers: onlyOwner,whenPaused
    
     +  PausableToken (StandardToken, Pausable)
        - [Pub] transfer #
           - modifiers: whenNotPaused
        - [Pub] transferFrom #
           - modifiers: whenNotPaused
        - [Pub] approve #
           - modifiers: whenNotPaused
        - [Pub] increaseApproval #
           - modifiers: whenNotPaused
        - [Pub] decreaseApproval #
           - modifiers: whenNotPaused
    
     +  MetaCasinoToken (MintableToken, PausableToken, DetailedERC20)
        - [Pub]  #
           - modifiers: DetailedERC20