LaunchBlock Token - Smart Contract Audit Report

Summary

LaunchBlock Audit Report LaunchBlock Token ($LBP) intends to be a new borderless incubator for raising funds and scaling projects across GameFi, NFT Financing, and Decentralized Finance.

For this audit, our team reviewed the LaunchBlock Token contract by using a Solidity file that was provided to us by the team, as it has not been launched to the mainnet yet.

Notes of the contract:
  • The total supply of the token is defined at the time of deployment and is minted to the deployer. The LaunchBlock team has expressed that the intended total supply will be 10 billion [10,000,000,000] $LBP.
  • No minting functions are accessible beyond deployment.
  • No direct burn functions are present after deployment, however any holder can burn their own tokens by sending them to the 0x...Dead Address (if desired) to reduce the total supply.
  • As the token has not been deployed, our team did not have a token allocation to analyze for this report.

  • The contact utilizes the EIP712 standard which offers a secure and user friendly method for typed message signing.
  • Any user can call the 'permit' function, which can be used to change an account's ERC20 allowance by presenting a message signed by the account.
  • No ownership-restricted functions are present.
  • The contract utilizes SafeMath to properly prevent overflows.
  • The contract complies with the ERC20 token standard.
Audit Findings Summary
  • No external threats were identified.
  • Date: October 12th, 2021

Audit Results

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
Integer Over/UnderflowN/APASS
Multiple SendsN/APASS
SuicideN/APASS
State Change External CallsN/APASS
Unchecked RetvalN/APASS
User Supplied AssertionN/APASS
Critical Solidity CompilerN/APASS
Overall Contract Safety PASS

Inheritence Chart

Multi-file Token

Function Graph

ERC20 Token Graph


 ($) = payable function
 # = non-constant function
 
 Int = Internal
 Ext = External
 Pub = Public

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

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

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

 +  ERC20 (Context, IERC20, IERC20Metadata)
    - [Pub]  #
    - [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 #
    - [Int] _approve #
    - [Int] _beforeTokenTransfer #
    - [Int] _afterTokenTransfer #

 + [Int] IERC20Permit 
    - [Ext] permit #
    - [Ext] nonces
    - [Ext] DOMAIN_SEPARATOR

 + [Lib] ECDSA 
    - [Prv] _throwError
    - [Int] tryRecover
    - [Int] recover
    - [Int] tryRecover
    - [Int] recover
    - [Int] tryRecover
    - [Int] recover
    - [Int] toEthSignedMessageHash
    - [Int] toTypedDataHash

 +  EIP712 
    - [Pub]  #
    - [Int] _domainSeparatorV4
    - [Prv] _buildDomainSeparator
    - [Int] _hashTypedDataV4

 + [Lib] Counters 
    - [Int] current
    - [Int] increment #
    - [Int] decrement #
    - [Int] reset #

 +  ERC20Permit (ERC20, IERC20Permit, EIP712)
    - [Pub]  #
       - modifiers: EIP712
    - [Pub] permit #
    - [Pub] nonces
    - [Ext] DOMAIN_SEPARATOR
    - [Int] _useNonce #

 +  LBP (ERC20, ERC20Permit)
    - [Pub]  #
       - modifiers: ERC20,ERC20Permit