Scream Token - Smart Contract Audit Report

Summary

Scream Audit Report 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.

The Scream token contract is deployed at 0xe0654C8e6fd4D733349ac7E09f6f23DA256bF475 on the Fantom Blockchain mainnet.

Notes on the Contract:
  • 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.
Audit Findings Summary
  • No issues from external attackers were identified.
  • Date: October 19th, 2021.

External Threat Results

Vulnerability CategoryNotesResult
Arbitrary Storage WriteN/APASS
Arbitrary JumpN/APASS
Delegate Call to Untrusted ContractN/APASS
Dependence on Predictable VariablesN/APASS
Deprecated OpcodesN/APASS
Ether ThiefN/APASS
ExceptionsN/APASS
External CallsN/APASS
Flash LoansN/APASS
Integer Over/UnderflowN/APASS
Multiple SendsN/APASS
OraclesN/APASS
SuicideN/APASS
State Change External CallsN/APASS
Unchecked RetvalN/APASS
User Supplied AssertionN/APASS
Critical Solidity CompilerN/APASS
Overall Contract Safety PASS

ERC20 Token Graph

Multi-file Token


 ($) = 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