80-20 - Smart Contract Audit Report

Summary

80-20 80-20 is a scam platform that promises to provide guarenteed daily returns on ETH deposited into the contract; and provides additonal rewards for referring other users to make deposits. We audited 80-20's main contract, deployed at 0x9b4ea303ca6302dfa46b73bc660598c65de96b3d on the Ethereum Mainnet. 80-20 achieves their guarenteed daily returns through a pyramid scheme, where the interest payments of early investors are taken from the deposits of new users. As with any pyramid/Ponzi scheme, this is not sustainable, and users who invest later in the course of the project will lose their ETH. In this Ponzi scheme, the project pays its initial investors interest using money raised from new investors. Eventually, the project will no longer be able to find enough new investors to pay the users who have already deposited, and the scheme collapses leading to massive loss of funds. This is very similar to the infamous Bank of Tron & Tron Chain.
80-20 is a Pyramid Scheme 80-20 is a Ponzi Scheme

Audit Findings:
  • No issues from outside attackers were identifed.
  • This is a Ponzi/pyramid scheme. Investing later in the lifecycle of the project likely will result in loss of funds.
  • Date: April 15th, 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/Token ThiefN/APASS
ExceptionsN/APASS
External CallsN/APASS
Integer Over/UnderflowN/APASS
Multiple SendsN/APASS
OracleN/APASS
SuicideN/APASS
State Change External CallsN/APASS
Unchecked RetvalN/APASS
User Supplied AssertionN/APASS
Critical Solidity CompilerN/APASS
Overall Contract Safety ----->PASS

Function Graph

80-20 Smart Contract Graph

Inheritence Chart

80-20 Smart Contract Inheritance

Functions Overview



 ($) = payable function
 # = non-constant function
 
 Int = Internal
 Ext = External
 Pub = Public

 + [Int] IERC20 
    - [Ext] totalSupply
    - [Ext] balanceOf
    - [Ext] transfer #
    - [Ext] allowance
    - [Ext] approve #
    - [Ext] transferFrom #

 +  auto_pool (IERC20)
    - [Pub]  #
    - [Pub] buy ($)
    - [Ext]  ($)
    - [Ext]  ($)
    - [Pub] reinvest #
       - modifiers: onlyhodler
    - [Pub] exit #
    - [Pub] withdraw #
       - modifiers: onlyhodler
    - [Pub] sell #
       - modifiers: onlybelievers,isPremintedTokenLocked
    - [Pub] approve #
    - [Pub] increaseAllowance #
    - [Pub] decreaseAllowance #
    - [Pub] transfer #
       - modifiers: onlybelievers,transferingLockedToken
    - [Pub] transferFrom #
       - modifiers: transferingLockedToken
    - [Pub] distributePremintedToken #
       - modifiers: onlyOwner
    - [Pub] changeDev1Address #
       - modifiers: onlyOwner
    - [Pub] changeDev2Address #
       - modifiers: onlyOwner
    - [Pub] changeGSGAddress #
       - modifiers: onlyOwner
    - [Pub] totalEthereumBalance
    - [Pub] totalSupply
    - [Pub] myTokens
    - [Pub] myDividends
    - [Pub] balanceOf
    - [Pub] dividendsOf
    - [Pub] sellPrice
    - [Pub] buyPrice
    - [Pub] calculateTokensReceived
    - [Pub] getReferrer
    - [Pub] calculateEthereumReceived
    - [Pub] allowance
    - [Pub] loyaltyOf
    - [Pub] userReferrer
    - [Int] purchaseTokens #
    - [Int] _approve #
    - [Int] ethereumToTokens_
    - [Int] tokensToEthereum_
    - [Int] register #
    - [Int] distributeToSponsor #
    - [Int] distributingEthers #
    - [Int] sqrt

 + [Lib] SafeMath 
    - [Int] add
    - [Int] sub
    - [Int] sub
    - [Int] mul
    - [Int] div
    - [Int] div