CR7 Token - Audit Report
CR7 Token ($CR7) is a new ERC-20 token on the Ethereum Blockchain.
Notes on the Contract:
Audit Findings Summary
- The total supply of the token is set to 1.14 billion $CR7 [1,140,000,000].
- The owner was previously able to mint tokens; however ownership has been renounced, so minting is no longer accessible.
- Any user can burn their tokens to reduce the total supply.
- At the time of writing this report, 78.82% of the total supply belongs to a Unicrypt Presale contract.
- 20.06% of the total supply belongs to a token vesting contract.
- The contract complies with the ERC-20 token standard.
- There are no fees associated with transferring tokens.
- The contract implements the EIP-2612 standard to support permits which allows for approvals to be made via signatures.
- As the contract is deployed with Solidity v0.8.7, it is protected from overflows.
- Some gas optimizations can be achieved through declaring functions external instead of public and one state variable constant. As the contract is already deployed, this is merely informational.
- Ownership has been renounced.
- No external threats were identified.
- The team has successfully completed KYC procedures with KYC Capital.
- Date: January 2nd, 2022
|Arbitrary Storage Write||N/A||PASS|
|Centralization of Control||Ownership has been renounced.||PASS|
|Delegate Call to Untrusted Contract||N/A||PASS|
|Dependence on Predictable Variables||N/A||PASS|
|State Change External Calls||N/A||PASS|
|User Supplied Assertion||N/A||PASS|
|Critical Solidity Compiler||N/A||PASS|
|Overall Contract Safety||PASS|
($) = payable function # = non-constant function + [Lib] Counters - [Int] current - [Int] increment # - [Int] decrement # - [Int] reset # + [Lib] Strings - [Int] toString - [Int] toHexString - [Int] toHexString + [Lib] ECDSA - [Prv] _throwError - [Int] tryRecover - [Int] recover - [Int] tryRecover - [Int] recover - [Int] tryRecover - [Int] recover - [Int] toEthSignedMessageHash - [Int] toEthSignedMessageHash - [Int] toTypedDataHash + EIP712 - [Pub]
# - [Int] _domainSeparatorV4 - [Prv] _buildDomainSeparator - [Int] _hashTypedDataV4 + [Int] IERC20Permit - [Ext] permit # - [Ext] nonces - [Ext] DOMAIN_SEPARATOR + Context - [Int] _msgSender - [Int] _msgData + Ownable (Context) - [Pub] # - [Pub] owner - [Pub] renounceOwnership # - modifiers: onlyOwner - [Pub] transferOwnership # - modifiers: onlyOwner - [Int] _transferOwnership # + Pausable (Context) - [Pub] # - [Pub] paused - [Int] _pause # - modifiers: whenNotPaused - [Int] _unpause # - modifiers: whenPaused + [Int] IERC20 - [Ext] totalSupply - [Ext] balanceOf - [Ext] transfer # - [Ext] allowance - [Ext] approve # - [Ext] transferFrom # + [Int] IERC20Metadata (IERC20) - [Ext] name - [Ext] symbol - [Ext] decimals + 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 # + ERC20Permit (ERC20, IERC20Permit, EIP712) - [Pub] # - modifiers: EIP712 - [Pub] permit # - [Pub] nonces - [Ext] DOMAIN_SEPARATOR - [Int] _useNonce # + ERC20Burnable (Context, ERC20) - [Pub] burn # - [Pub] burnFrom # + CR7Token (ERC20, ERC20Burnable, Pausable, Ownable, ERC20Permit) - [Pub] # - modifiers: ERC20,ERC20Permit - [Pub] pause # - modifiers: onlyOwner - [Pub] unpause # - modifiers: onlyOwner - [Pub] mint # - modifiers: onlyOwner - [Int] _beforeTokenTransfer # - modifiers: whenNotPaused