80-20 - Smart Contract Audit Report
Summary
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.
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 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/Token Thief | N/A | PASS |
Exceptions | N/A | PASS |
External Calls | N/A | PASS |
Integer Over/Underflow | N/A | PASS |
Multiple Sends | N/A | PASS |
Oracle | 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
Inheritence Chart
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