NVA - Smart Contract Audit Report
Audit Summary
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.Recommendation: We recommend declaring these functions external for additional gas savings on each call.owner, getBalanceEther, depositEther, withdrawEther
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 Category | Notes | Result |
---|---|---|
Arbitrary Storage Write | N/A | PASS |
Arbitrary Jump | N/A | PASS |
Centralization of Control | 100% of the total supply will be minted to the owner upon deployment. | PASS |
Delegate Call to Untrusted Contract | N/A | PASS |
Dependence on Predictable Variables | N/A | PASS |
Deprecated Opcodes | N/A | PASS |
Ether Thief | N/A | PASS |
Exceptions | N/A | PASS |
External Calls | N/A | PASS |
Flash Loans | N/A | PASS |
Integer Over/Underflow | N/A | PASS |
Logical Issues | N/A | PASS |
Multiple Sends | N/A | PASS |
Oracles | N/A | PASS |
Suicide | N/A | PASS |
State Change External Calls | N/A | PASS |
Unchecked Retval | N/A | PASS |
User Supplied Assertion | N/A | PASS |
Critical Solidity Compiler | N/A | PASS |
Overall Contract Safety | PASS |
Function Graph
Inheritance Chart
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] ($)