Scream Token - Smart Contract Audit Report
Summary
Scream Token is a new Governance token that supports the SCREAM Protocol which is a scalable decentralized lending platform that is built on and powered by the Fantom Blockchain.
Notes on the Contract:Audit Findings Summary
- The total supply of the token is set to 2 million $SCREAM [2,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, 74.69% of the total token supply belongs to a GnosisSafeProxy contract.
- 10% of the total token supply is stored in a Timelock contract.
- 4.22% of the total token supply is stored in the xScream token contract.
- 4.07% of the total supply is in SpookySwap liquidity.
- Of that liquidity, 56.45% of the LP tokens belong to the SteakHouseV2 contract.
- 33.94% of the LP tokens belong to this holder.
- 6.2% of the LP tokens belong to the SpookySwap MasterChef contract.
- All of the contracts mentioned above were out of scope for the purpose of this audit.
- 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.
- There are no fees associated with transferring tokens.
- No Ownership-restricted functions are present.
- The contract utilizes SafeMath to prevent overflows.
- No issues from external attackers were identified.
- Date: October 19th, 2021.
External Threat Results
Vulnerability Category | Notes | Result |
---|---|---|
Arbitrary Storage Write | N/A | PASS |
Arbitrary Jump | N/A | 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 |
($) = payable function
# = non-constant function
Int = Internal
Ext = External
Pub = Public
+ Comp
- [Pub] #
- [Ext] allowance
- [Ext] approve #
- [Ext] balanceOf
- [Ext] transfer #
- [Ext] transferFrom #
- [Pub] delegate #
- [Pub] delegateBySig #
- [Ext] getCurrentVotes
- [Pub] getPriorVotes
- [Int] _delegate #
- [Int] _transferTokens #
- [Int] _moveDelegates #
- [Int] _writeCheckpoint #
- [Int] safe32
- [Int] safe96
- [Int] add96
- [Int] sub96
- [Int] getChainId