XDRAKE - Smart Contract Audit Report

Audit Summary

XDRAKE Audit Report XDRAKE ($XDR) is a new BEP-20 token on the Binance Smart Chain.

We reviewed the BEP20Token contract at 0x2FCB955689616CB4B6dbfAC7319F2A5c991D035A on the Binance Smart Chain mainnet.

Audit Findings

Please ensure trust in the team prior to investing as they can mint any amount of tokens at any time.
Date: February 16th, 2022.
Updated: March 10th, 2022 after the team renounced ownership.

Finding #1 - BEP20Token - Informational

Description: Several functions are declared public, but are never called internally.
			
increaseAllowance, decreaseAllowance, mint
Recommendation: We recommend declaring these functions external for additional gas savings on each call.

Contract Overview

  • The total supply of the token is currently 10 billion $XDR [10,000,000,000].
  • The owner was previously able to mint any amount of tokens to their own address at any time.
  • No burn functions are present, though the circulating supply can be decreased by sending tokens to the 0x..dead address.
  • At the time of writing this report, there are 9 total token holders. The token allocation is as follows:
    • The top 3 wallet addresses own a cumulative 70% of the total supply.
    • The remaining 6 wallet addresses own a cumulative 30% of the total supply.

  • There are no fees associated with transferring tokens.
  • The contract utilizes the SafeMath library to protect against overflows/underflows.
  • The contract complies with the BEP-20 token standard.

External Threat Results

Vulnerability CategoryNotesResult
Arbitrary Storage WriteN/APASS
Arbitrary JumpN/APASS
Centralization of Control
  • Ownership has been renounced
  • The team currently owns a large portion of the total supply.
  • PASS
    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
    Logical IssuesN/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

    BEP20 Token Graph

    Inheritance Chart

    Multi-file Token

    Functions Overview

    												
    ($) = payable function
     # = non-constant function
    
     + [Int] IBEP20 
        - [Ext] totalSupply
        - [Ext] decimals
        - [Ext] symbol
        - [Ext] name
        - [Ext] getOwner
        - [Ext] balanceOf
        - [Ext] transfer #
        - [Ext] allowance
        - [Ext] approve #
        - [Ext] transferFrom #
    
     +  Context 
        - [Int]  #
        - [Int] _msgSender
        - [Int] _msgData
    
     + [Lib] SafeMath 
        - [Int] add
        - [Int] sub
        - [Int] sub
        - [Int] mul
        - [Int] div
        - [Int] div
        - [Int] mod
        - [Int] mod
    
     +  Ownable (Context)
        - [Int]  #
        - [Pub] owner
        - [Pub] renounceOwnership #
           - modifiers: onlyOwner
        - [Pub] transferOwnership #
           - modifiers: onlyOwner
        - [Int] _transferOwnership #
    
     +  BEP20Token (Context, IBEP20, Ownable)
        - [Pub]  #
        - [Ext] getOwner
        - [Ext] decimals
        - [Ext] symbol
        - [Ext] name
        - [Ext] totalSupply
        - [Ext] balanceOf
        - [Ext] transfer #
        - [Ext] allowance
        - [Ext] approve #
        - [Ext] transferFrom #
        - [Pub] increaseAllowance #
        - [Pub] decreaseAllowance #
        - [Pub] mint #
           - modifiers: onlyOwner
        - [Int] _transfer #
        - [Int] _mint #
        - [Int] _burn #
        - [Int] _approve #
        - [Int] _burnFrom #