NVA - Smart Contract Audit Report

Audit Summary

NVA Audit Report NVA ($NVA) is building a new ERC-20 token.

For this audit, we reviewed the NVA contract using code that was provided to us by the project team.


Audit Findings

Please ensure trust in the team prior to investing as they will be minted 100% of the total supply upon deployment.
Date: February 11th, 2022.

Finding #1 - NVA - Informational

Description: Several functions are declared public, but are never called internally.
			
owner, getBalanceEther, depositEther, withdrawEther
Recommendation: We recommend declaring these functions external for additional gas savings on each call.

Contract Overview

  • The total supply of the token is set to 10 billion $NVA [10,000,000,000].
  • No mint or burn functions are accessible beyond deployment, though the circulating supply can be decreased by sending tokens to the 0x..dead address.
  • There was no token allocation for our team to analyze as the contract has yet to be deployed to the mainnet.

  • The owner can withdraw any ETH from the contract address at any time.
  • There are no fees associated with transferring tokens.
  • As the contract is implemented with Solidity v0.8.x, it is protected from overflows/underflows.
  • The contract complies with the ERC-20 token standard.

External Threat Results

Vulnerability CategoryNotesResult
Arbitrary Storage WriteN/APASS
Arbitrary JumpN/APASS
Centralization of Control100% of the total supply will be minted to the owner upon deployment.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] IERC20 
    - [Ext] name
    - [Ext] symbol
    - [Ext] decimals
    - [Ext] totalSupply
    - [Ext] balanceOf
    - [Ext] allowance
    - [Ext] approve #
    - [Ext] transfer #
    - [Ext] transferFrom #

 +  ERC20 (IERC20)
    - [Pub]  #
    - [Pub] name
    - [Pub] symbol
    - [Pub] decimals
    - [Pub] totalSupply
    - [Pub] balanceOf
    - [Pub] allowance
    - [Pub] approve #
    - [Pub] transfer #
    - [Pub] transferFrom #
    - [Pub] increaseAllowance #
    - [Pub] decreaseAllowance #
    - [Int] _mint #
    - [Int] _burn #
    - [Int] _approve #
    - [Int] _transfer #
    - [Int] _beforeTokenTransfer #
    - [Int] _afterTokenTransfer #

 +  NVA (ERC20)
    - [Pub]  #
       - modifiers: ERC20
    - [Pub] owner
    - [Pub] getBalanceEther
    - [Pub] depositEther ($)
    - [Pub] withdrawEther #
    - [Ext]  ($)
    - [Ext]  ($)