|Arbitrary Storage Write||N/A||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|
DinoToken - Smart Contract Audit Report
DinoToken is a new upcoming token project with a 5% fee-on-transfer mechanism.
For this audit we reviewed the project's token contract using code provided to us by the team. The code is available below.
Notes of the Token Contract:
- The total supply of the token is 500,000,000.
- The team will receive 100% of the supply upon deployment.
- No minting functions are accessible after deployment; though a burn function is present.
- There is a 5% tax on transfers, an equal portion of which is sent to 5 diferent addresses controlled by the team.
- The owner can update the 5 addresses which receive funds from the transfer tax at any time. The event emitted for this tax is not accurate, but this does not impact user functionality.
- The owner can also exclude addresses from the fee mechanism.
- The contract utilizes Solidity 0.8.* which has built-in overflow checks, removing the need for SafeMath.
Audit Findings Summary
- No issues from external attackers were identified.
- As with any presale, ensure trust in the team prior to investing. The project team is anonymous.
- Date: April 18th, 2021.
($) = payable function # = non-constant function Int = Internal Ext = External Pub = Public + [Lib] SafeMath - [Int] add - [Int] sub - [Int] sub - [Int] mul - [Int] div - [Int] div - [Int] mod - [Int] mod + [Int] IERC20 - [Ext] balanceOf - [Ext] transfer # - [Ext] allowance - [Ext] approve # - [Ext] transferFrom # + Context - [Int] _msgSender - [Int] _msgData + Ownable (Context) - [Pub]
# - [Pub] owner - [Ext] renounceOwnership # - modifiers: onlyOwner - [Pub] transferOwnership # - modifiers: onlyOwner - [Ext] recieveOwnership # - modifiers: onlyMidWayOwner + ERC20 (Context, IERC20, Ownable) - [Pub] # - [Ext] balanceOf - [Ext] setAdminsAddresses # - modifiers: onlyOwner - [Ext] setFeeFreeSender # - modifiers: onlyOwner - [Ext] setFeeFreeReciever # - modifiers: onlyOwner - [Ext] transfer # - [Ext] allowance - [Ext] approve # - [Ext] transferFrom # - [Ext] increaseAllowance # - [Ext] decreaseAllowance # - [Pub] calculateFeesToDistribute - [Int] _transfer # - [Int] _mint # - [Int] _burn # - [Int] _approve # - [Int] _beforeTokenTransfer # + DinoToken (ERC20) - [Pub] # - modifiers: ERC20 - [Pub] burn #