Promodex - Smart Contract Audit Report

Audit Summary

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

We reviewed the PROMODEX contract at 0x52FF7dda3FCDc8D3ca2bbf150FDcC7A5f42d989E on the Binance Smart Chain mainnet.

Audit Findings

Please ensure trust in the team prior to investing as they currently own 100% of the total supply.
Date: February 21st, 2022.

Finding #1 - PROMODEX - Informational

Description: Although the SafeMath library is utilized, the contract is deployed with Solidity v0.8.12 which has built-in overflow checks.
Recommendation: SafeMath could be safely removed to reduce contract size and deployment costs.

Contract Overview

  • The total supply of the token is set to 900 million $PROMO [900,000,000].
  • No mint functions are present in the contract.
  • Any user can burn their own tokens to reduce the total supply.
  • Any user can burn tokens on another user's behalf if an allowance has been granted.
  • At the time of writing this report, 100% of the total supply belongs to the deployer.

  • Any user can call the multiTransfer() function to airdrop any amount of tokens to up to 500 addresses.
  • There are no fees associated with transferring tokens.
  • No ownership restricted functions are present.
  • As the contract is deployed with Solidity v0.8.12 it is protected from 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 ControlThe deployer currently owns 100% 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] name
    - [Ext] symbol
    - [Ext] decimals
    - [Ext] totalSupply
    - [Ext] balanceOf
    - [Ext] transfer #
    - [Ext] allowance
    - [Ext] approve #
    - [Ext] transferFrom #

 +  Context 
    - [Int] _msgSender
    - [Int] _msgData

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

 + [Lib] SafeMath 
    - [Int] tryAdd
    - [Int] trySub
    - [Int] tryMul
    - [Int] tryDiv
    - [Int] tryMod
    - [Int] add
    - [Int] sub
    - [Int] mul
    - [Int] div
    - [Int] mod
    - [Int] sub
    - [Int] div
    - [Int] mod

 +  PROMODEX (IBEP20, Context, Ownable)
    - [Pub]  #
    - [Ext] name
    - [Ext] symbol
    - [Ext] decimals
    - [Ext] totalSupply
    - [Ext] balanceOf
    - [Ext] transfer #
    - [Ext] transferFrom #
    - [Ext] multiTransfer #
    - [Ext] allowance
    - [Ext] approve #
    - [Ext] increaseAllowance #
    - [Ext] decreaseAllowance #
    - [Ext] burn #
    - [Ext] burnFrom #
    - [Int] _approve #
    - [Int] _transfer #
    - [Int] _burn #