|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|
ATEN - Smart Contract Audit Report
ATEN ($ATEN) is a deflationary token with frictionless fee redistribution on the Ethereum Blockchain.
We audited ATEN's token contract, deployed at 0xc62ef0d8e137499833abb05dee47007d2b334ba6 on the Ethereum Blockchain mainnet.
Overview of the Contract:
Audit Findings Summary
- The total supply of the token is initially set to 3 billion $ATEN [3,000,000,000].
- No minting or burn functions are present; though the circulating supply can be reduced by sending tokens to the 0x..dead address, if desired.
- At the time of writing this report, 100% of the total $ATEN token supply is in possession of the previous owner.
- There is a 0.025% 'tax fee' on all transactions for any address that participates in a transfer.
- Users who hold tokens will automatically benefit from the frictionless fee redistribution at the time of each transaction as the tokens collected through the tax fee are removed from the circulating supply.
- Although verbiage for a 'burn fee' and a 'charity fee' exists in the smart contract, these fees are currently set to zero and cannot be changed.
- Ownership has been renounced.
- Some gas optimizations can be achieved through declaring functions external instead of public. As this contract is already deployed, this is merely informational.
- As the project is deployed with Solidity v0.8.6, it is protected from overflows.
- The contract complies with the ERC20 standard.
- No external threats were identified.
- Date: August 14th, 2021
- Updated: August 19th, 2021 after the team renounced ownership.
($) = 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 # + Context - [Int] _msgSender - [Int] _msgData + Ownable (Context) - [Pub]
# - [Pub] owner - [Pub] renounceOwnership # - modifiers: onlyOwner - [Pub] transferOwnership # - modifiers: onlyOwner - [Int] _transferOwnership # + ATEN (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] totalFees - [Pub] totalBurn - [Pub] totalCharity - [Pub] deliver # - [Pub] reflectionFromToken - [Pub] tokenFromReflection - [Ext] excludeAccount # - modifiers: onlyOwner - [Ext] includeAccount # - modifiers: onlyOwner - [Ext] setAsCharityAccount # - modifiers: onlyOwner - [Ext] setTaxFeePercent # - modifiers: onlyOwner - [Ext] setBurnFeePercent # - modifiers: onlyOwner - [Ext] setCharityFeePercent # - modifiers: onlyOwner - [Pub] updateFee # - modifiers: onlyOwner - [Prv] _approve # - [Prv] _transfer # - [Prv] _transferStandard # - [Prv] _standardTransferContent # - [Prv] _transferToExcluded # - [Prv] _excludedFromTransferContent # - [Prv] _transferFromExcluded # - [Prv] _excludedToTransferContent # - [Prv] _transferBothExcluded # - [Prv] _bothTransferContent # - [Prv] _reflectFee # - [Prv] _getValues - [Prv] _getTBasics - [Prv] getTTransferAmount - [Prv] _getRBasics - [Prv] _getRTransferAmount - [Prv] _getRate - [Prv] _getCurrentSupply - [Prv] _sendToCharity # - [Prv] removeAllFee # - [Prv] restoreAllFee # - [Prv] _getTaxFee