BRICKS - Smart Contract Audit Report


BRICKS Audit Report BRICKS ($BRICKS) is a new token on the Binance Smart Chain.

The BRICKS Token contract is deployed at 0x13e1070e3a388e53ec35480ff494538f9ffc5b8d on the Binance Smart Chain Mainnet.

Notes of the contract:
  • The initial total supply is set to one billion [1,000,000,000] $BRICKS.
  • At the time of writing (as the token has just been deployed), 100% of the total $BRICKS supply is in possession of the owner.
  • A burn function is present that only the owner can access. The transfer function also prevents holders from sending to the burn address.
  • The token contract does not have the functionality to transfer ownership or renounce ownership, therefore the owner will always remain the same address.
  • There is a maximum transaction amount that can be set to any amount that can be changed by the owner at any time.
  • The contract includes anti-whale logic that the owner has the ability to enable and disable. When it is enabled, all transfers must be within the maximum transaction amount. The owner has the ability to set the maximum transaction amount to any value at any time, including 0, which would effectively disable whale transfers entirely.
  • The owner has the ability to enable and disable taxes. When taxes are enabled, all transfers have a 6% tax that is split evenly three ways and sent to the "Team Wallet", "Development Wallet", and the "Community Wallet".
  • The token contract complies with the BEP20 standard.
  • As the project is deployed with Solidity v0.8.4, it is protected from overflows.
Audit Findings Summary
  • No external threats were identified.
  • Ensure trust in the team prior to investing as they have notable control in the ecosystem.
  • Further, ensure trust in the team as the max transaction amount can be set to 0 at any time.
  • Date: June 24th, 2021
  • Updated: July 7th, 2021 to update contract address.

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
External CallsN/APASS
Integer Over/UnderflowN/APASS
Multiple SendsN/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
 Int = Internal
 Ext = External
 Pub = Public

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

 + [Int] IBEP20Metadata (IBEP20)
    - [Ext] name
    - [Ext] symbol
    - [Ext] decimals

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

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

 +  BRICKS (Context, IBEP20, IBEP20Metadata, Ownable)
    - [Pub]  #
    - [Ext] name
    - [Ext] symbol
    - [Ext] decimals
    - [Ext] totalSupply
    - [Ext] balanceOf
    - [Ext] transfer #
    - [Ext] allowance
    - [Ext] approve #
    - [Ext] transferFrom #
    - [Ext] increaseAllowance #
    - [Ext] decreaseAllowance #
    - [Ext] burn #
       - modifiers: onlyOwner
    - [Ext] enableAntiWhaleFeature #
       - modifiers: onlyOwner
    - [Ext] enableTax #
       - modifiers: onlyOwner
    - [Ext] setMaxTxAmount #
       - modifiers: onlyOwner
    - [Int] _transfer #
    - [Prv] _transferFee #
    - [Int] _burn #
    - [Int] _approve #
    - [Int] _beforeTokenTransfer #