|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|
Neuro - Smart Contract Audit Report
Neuro is a new token with frictionless fee redistribution and charity contributions on each transfer.We audited Neuro's token contract contract at 0xd047bd94f90a95b38df6e1ea67796f571f46536b on the Binance Smart Chain mainnet.
Overview of the Contract:
Audit Findings Summary
- The total supply of the token is set to 10,000.
- The token is designed to be a governance token where 1 token = 1 vote.
- Token holders can delegate their voting rights to any address. To save gas, users can also do so using an EIP-712 signature.
- No mint or publicly accessible burn functions are present; though the circulating supply can be reduced by sending tokens to the 0x..dead address, if desired.
- 50% of the supply has been sent to the 0xdead address.
- 4.4% of the token's supply is held in the Pancakeswap liquidity pool.
- 99% of liquidity has been locked for 6 months
- The project's charity wallet holds 4.15% of the token's supply.
- The next largest holder has 2%
- Users who hold tokens will automatically receive a portion the fees from a transaction tax on each transfer.
- Another portion of the fee charged on transactions is sent to a charity wallet which is controlled by the team.
- We generally advise renouncing ownership to decrease the centralization of the project, though the team has elected to retain ownership so they can update the charity address.
- The owner can also update the charity address at any time.
- The owner of the contract can exclude and include users from transfer fees and update the fee percentages to any amount at any time.
- Ownership has been renounced on our recommendation, so none of these variables can be changed from their current state.
- Some functions could have been declared external instead of public to save some gas, but as this is already deployed this is merely informational.
- The contract utilizes Solidity 0.8.3 which has built-in overflow checks, removing the need for SafeMath.
- No security issues were identified in our analysis.
- Ensure trust in the team as they will collect tokens via the charity wallet.
- Date: April 26th, 2021
($) = payable function # = non-constant function + Context - [Int] _msgSender - [Int] _msgData + [Int] IERC20 - [Ext] totalSupply - [Ext] balanceOf - [Ext] transfer # - [Ext] allowance - [Ext] approve # - [Ext] transferFrom # + [Lib] SafeMath - [Int] add - [Int] sub - [Int] sub - [Int] mul - [Int] div - [Int] div - [Int] mod - [Int] mod + [Lib] Address - [Int] isContract - [Int] sendValue # - [Int] functionCall # - [Int] functionCall # - [Int] functionCallWithValue # - [Int] functionCallWithValue # - [Prv] _functionCallWithValue # + Ownable (Context) - [Pub]
# - [Pub] owner - [Pub] renounceOwnership # - modifiers: onlyOwner - [Pub] transferOwnership # - modifiers: onlyOwner + [Int] Token - [Ext] transfer # + Neuro (Context, IERC20, Ownable) - [Pub] # - [Pub] name - [Pub] symbol - [Pub] decimals - [Pub] totalSupply - [Pub] balanceOf - [Pub] transfer # - [Pub] allowance - [Pub] approve # - [Pub] transferFrom # - [Pub] increaseAllowance # - [Pub] decreaseAllowance # - [Pub] isExcluded - [Pub] reflectionFromToken - [Pub] tokenFromReflection - [Ext] excludeAccount # - modifiers: onlyOwner - [Ext] includeAccount # - modifiers: onlyOwner - [Prv] _approve # - [Prv] _transfer # - [Pub] _burn # - modifiers: onlyOwner - [Prv] collectFee # - [Prv] _getReflectionRate - [Ext] delegates - [Ext] delegate # - [Ext] delegateBySig # - [Ext] getCurrentVotes - [Ext] getPriorVotes - [Int] _delegate # - [Int] _moveDelegates # - [Int] _writeCheckpoint # - [Int] safe32 - [Int] getChainId - [Pub] ExcludedFromFee # - modifiers: onlyOwner - [Pub] IncludeFromFee # - modifiers: onlyOwner - [Pub] setTaxFee # - modifiers: onlyOwner - [Pub] setCharityFee # - modifiers: onlyOwner - [Pub] setCharityAddress # - modifiers: onlyOwner - [Pub] TransferETH # - modifiers: onlyOwner - [Pub] transferAnyERC20Tokens # - modifiers: onlyOwner - [Ext] ($)