XDRAKE - Smart Contract Audit Report
Audit Summary
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.Recommendation: We recommend declaring these functions external for additional gas savings on each call.increaseAllowance, decreaseAllowance, mint
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 Category | Notes | Result |
---|---|---|
Arbitrary Storage Write | N/A | PASS |
Arbitrary Jump | N/A | PASS |
Centralization of Control | PASS | |
Delegate Call to Untrusted Contract | N/A | PASS |
Dependence on Predictable Variables | N/A | PASS |
Deprecated Opcodes | N/A | PASS |
Ether Thief | N/A | PASS |
Exceptions | N/A | PASS |
External Calls | N/A | PASS |
Flash Loans | N/A | PASS |
Integer Over/Underflow | N/A | PASS |
Logical Issues | N/A | PASS |
Multiple Sends | N/A | PASS |
Oracles | N/A | PASS |
Suicide | N/A | PASS |
State Change External Calls | N/A | PASS |
Unchecked Retval | N/A | PASS |
User Supplied Assertion | N/A | PASS |
Critical Solidity Compiler | N/A | PASS |
Overall Contract Safety | PASS |
Function Graph
Inheritance Chart
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 #