BFIC COIN - Audit Report

Summary

BFIC COIN Audit Report

BFIC COIN ($BFIC) is a new BEP-20 token on the Binance Smart Chain.

We reviewed the BFIC contract at 0x50e6D27B775F07e7fa30a1Bd47A6F05E276c37bF on the Binance Smart Chain mainnet.

Notes on the Contract:
  • The total supply of the token is set to 210 million $BFIC [210,000,000].
  • No mint functions are accessible beyond deployment.
  • Any user can burn their own tokens to reduce the total supply.
  • The total supply was split amongst seven team wallets upon deployment.

  • There is a 1% burn fee charged on all transfers. The tokens collected from the burn fee are removed from the total supply.
  • Any address that owns the old version of the $BFIC token is able to convert their tokens to new $BFIC tokens via the exchange() function. The ratio of old $BFIC to new $BFIC is 10:1. The old $BFIC token contract was out of scope for the purpose of this audit.
  • The team must ensure that a sufficient amount of tokens are held in the new contract to ensure users' conversions are successful.
  • Users will have to grant the new contract an approval for their entire old $BFIC token balance in order for an exchange to be successful.
  • If an exchange is successful, the user's old tokens will be sent to the 0x..dead address.
  • The 1% burn fee is applied on each exchange.
  • The contract complies with the BEP-20 token standard.
  • As the contract is deployed with Solidity v0.8.10 it is protected from overflows/underflows.

Audit Findings Summary
  • No external threats were identified.
  • Please ensure trust in the team prior to investing as they currently own a large portion of the total supply.
  • Further, ensure trust in the team as they are responsible for supplying the contract address with a sufficient amount of tokens in order for a user's token conversion to be successful.
  • Date: January 21st, 2022.

Audit Results

Vulnerability CategoryNotesResult
Arbitrary Storage WriteN/APASS
Arbitrary JumpN/APASS
Centralization of ControlThe 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
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
 
 + [Int] IERC20 
    - [Ext] totalSupply
    - [Ext] balanceOf
    - [Ext] transfer #
    - [Ext] allowance
    - [Ext] approve #
    - [Ext] transferFrom #

 + [Int] IERC20Metadata (IERC20)
    - [Ext] name
    - [Ext] symbol
    - [Ext] decimals

 + [Int] OldCoin 
    - [Ext] transferFrom #
    - [Ext] balanceOf
    - [Ext] burn #

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

 +  BFIC (Context, IERC20, IERC20Metadata)
    - [Pub]  #
    - [Ext] exchange #
    - [Pub] name
    - [Pub] symbol
    - [Pub] decimals
    - [Pub] totalSupply
    - [Pub] balanceOf
    - [Pub] transfer #
    - [Pub] allowance
    - [Pub] approve #
    - [Pub] transferFrom #
    - [Pub] increaseAllowance #
    - [Pub] decreaseAllowance #
    - [Int] _transfer #
    - [Int] _mint #
    - [Int] _burn #
    - [Ext] burn #
    - [Int] _approve #
    - [Int] _beforeTokenTransfer #
    - [Int] _afterTokenTransfer #