GAMEX - Smart Contract Audit Report

Summary

GAMEX Finance Audit Report GAMEX ($GMX) is a deflationary token with frictionless fee redistribution on the Binance Smart Chain.

We audited GAMEX's token contract, deployed at 0xc62ef0d8e137499833abb05dee47007d2b334ba6 on the BSC mainnet.

Overview of the Contract:
  • The total supply of the token is initially set to 1 billion $GMX [1,000,000,000].
  • At the time of writing this report, 21.84% of the total $GMX token supply is stored in a staking pool contract. This contract was out of scope for the purpose of our audit.
  • 20.81% is stored in a token vesting contract. This contract was out of scope for the purpose of our audit.
  • 7.34% of is stored in a gold farming contract. This contract was out of scope for the purpose of our audit.
  • 9.39% is currently in Pancakeswap liquidity.
  • Out of that liquidity, 89.37% of the LP tokens are locked in a token locking contract that will vest to the team on January 1, 2023.
  • 10.6% of the LP tokens are stored in a staking pool contract. This contract was out of scope for the purpose of our audit.

  • There is a 'Tax Fee', 'Burn Fee', and 'Charity fee' on all transactions for any address that participates in a transfer. The owner has the ability to modify these fees to any percentage at any time.
  • Users who hold tokens will automatically benefit from the frictionless fee redistribution at the time of each transaction as the tokens collected through the tax fee are removed from the circulating supply.
  • In addition to the tax fee, there is a burn fee which will remove a percentage of the transaction amount from the total supply.
  • The funds collected from the charity fee will be held in a wallet controlled by the team. The owner has the ability to update this address at any time.
  • The owner has the ability to exclude and include users from the fee mechanism.
  • Ownership has not been renounced.
  • The contract utilizes SafeMath libraries along with following the ERC20 standard.
  • As the project is implemented with solidity version ^0.8.2, 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 substantial control in the ecosystem.
  • Date: July 26th, 2021

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
  
 +  Context 
    - [Int] _msgSender
    - [Int] _msgData

 + [Int] IBEP20 
    - [Ext] totalSupply
    - [Ext] balanceOf
    - [Ext] transfer #
    - [Ext] allowance
    - [Ext] approve #
    - [Ext] transferFrom #

 + [Lib] SafeMath 
    - [Int] add
    - [Int] sub
    - [Int] sub
    - [Int] mul
    - [Int] div
    - [Int] div
    - [Int] mod
    - [Int] mod

 + [Lib] Address 
    - [Int] isContract
    - [Int] sendValue #
    - [Int] functionCall #
    - [Int] functionCall #
    - [Int] functionCallWithValue #
    - [Int] functionCallWithValue #
    - [Prv] _functionCallWithValue #

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

 +  CoinToken (Context, IBEP20, Ownable)
    - [Pub]  #
    - [Pub] name
    - [Pub] symbol
    - [Pub] decimals
    - [Pub] totalSupply
    - [Pub] balanceOf
    - [Pub] transfer #
    - [Pub] allowance
    - [Pub] approve #
    - [Pub] transferFrom #
    - [Pub] increaseAllowance #
    - [Pub] decreaseAllowance #
    - [Pub] isExcluded
    - [Pub] totalFees
    - [Pub] totalBurn
    - [Pub] totalCharity
    - [Pub] deliver #
    - [Pub] reflectionFromToken
    - [Pub] tokenFromReflection
    - [Ext] excludeAccount #
       - modifiers: onlyOwner
    - [Ext] includeAccount #
       - modifiers: onlyOwner
    - [Ext] setAsCharityAccount #
       - modifiers: onlyOwner
    - [Pub] updateFee #
       - modifiers: onlyOwner
    - [Prv] _approve #
    - [Prv] _transfer #
    - [Prv] _transferStandard #
    - [Prv] _standardTransferContent #
    - [Prv] _transferToExcluded #
    - [Prv] _excludedFromTransferContent #
    - [Prv] _transferFromExcluded #
    - [Prv] _excludedToTransferContent #
    - [Prv] _transferBothExcluded #
    - [Prv] _bothTransferContent #
    - [Prv] _reflectFee #
    - [Prv] _getValues
    - [Prv] _getTBasics
    - [Prv] getTTransferAmount
    - [Prv] _getRBasics
    - [Prv] _getRTransferAmount
    - [Prv] _getRate
    - [Prv] _getCurrentSupply
    - [Prv] _sendToCharity #
    - [Prv] removeAllFee #
    - [Prv] restoreAllFee #
    - [Prv] _getTaxFee