Etermon - Audit Report
Summary
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
Audit Results
Vulnerability Category | Notes | Result |
---|---|---|
Arbitrary Storage Write | N/A | PASS |
Arbitrary Jump | 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 |
Deprecated Opcodes | N/A | PASS |
Ether Thief | N/A | PASS |
Exceptions | N/A | PASS |
External Calls | N/A | PASS |
Flash Loans | N/A | PASS |
Integer Over/Underflow | N/A | PASS |
Multiple Sends | N/A | PASS |
Oracles | N/A | PASS |
Suicide | N/A | PASS |
State Change External Calls | N/A | PASS |
Unchecked Retval | N/A | PASS |
User Supplied Assertion | N/A | PASS |
Critical Solidity Compiler | N/A | PASS |
Overall Contract Safety | PASS |
Function Graph
Inheritance Chart
Functions Overview
($) = 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