Etermon - Audit Report
Etermon ($ETM) is a new BEP-20 token on the Binance Smart Chain.
Notes on the Contract:
Audit Findings Summary
- The total supply of the token is set to 1 billion $ETM [1,000,000,000].
- No mint functions are accessible beyond deployment.
- Any user can burn their tokens to reduce the total supply.
- At the time of writing this report, 100% of the total supply belongs to a wallet controlled by the team.
- The contract complies with the BEP-20 token standard.
- There are no fees associated with transferring tokens.
- The owner can pause/unpause all trading at any time.
- The contract features a snapshot mechanism that allows any user to record current balances of holders and the total supply at any specific time.
- The contract utilizes the Safemath library to prevent overflows/underflows.
- Some gas optimizations can be achieved through declaring functions external instead of public. As the contract is already deployed, this is merely informational.
- No external threats were identified.
- Please ensure trust in the team prior to investing as they currently own 100% of the total supply.
- Date: January 2nd, 2022
|Arbitrary Storage Write||N/A||PASS|
|Centralization of Control||The team is currently in possession of 100% of the total supply.||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 + 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] IBEP20 - [Ext] totalSupply - [Ext] decimals - [Ext] symbol - [Ext] name - [Ext] getOwner - [Ext] balanceOf - [Ext] transfer # - [Ext] allowance - [Ext] approve # - [Ext] transferFrom # + BEP20 (Ownable, IBEP20, Pausable) - [Pub] # - [Ext] getOwner - [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] _burnFrom # - [Int] _beforeTokenTransfer # - modifiers: whenNotPaused - [Int] _afterTokenTransfer # + BEP20Burnable (BEP20) - [Pub] burn # - [Pub] burnFrom # + [Lib] Math - [Int] max - [Int] min - [Int] average - [Int] ceilDiv - [Int] abs + [Lib] Arrays - [Int] findUpperBound + [Lib] Counters - [Int] current - [Int] increment # - [Int] decrement # - [Int] reset # + BEP20Snapshot (BEP20Burnable) - [Int] _snapshot # - [Int] _getCurrentSnapshotId - [Pub] balanceOfAt - [Pub] totalSupplyAt - [Int] _beforeTokenTransfer # - [Prv] _valueAt - [Prv] _updateAccountSnapshot # - [Prv] _updateTotalSupplySnapshot # - [Prv] _updateSnapshot # - [Prv] _lastSnapshotId + ETMToken (BEP20Snapshot) - [Pub] # - modifiers: BEP20 - [Pub] pause # - modifiers: onlyOwner - [Pub] unpause # - modifiers: onlyOwner - [Pub] snapshot # - [Pub] getCurrentSnapshotId