Project Futurama - Smart Contract Audit Report
Summary
Project Futurama ($Futurama) is a new community-driven DeFi token on the Ethereum Blockchain that pays out static token rewards to holders and sends ETH to the team.
Notes on the Contract:Audit Findings Summary
- The total supply of the token is set to one hundred trillion $Futurama [100,000,000,000,000].
- No minting or burn functions are present; however, holders can send tokens to the 0x...dead address if desired.
- At the time of writing this report, 54.65% of the token's supply has been sent to the 0x...dead address.
- The top five holders own a cumulative 9% of the total supply.
- 5.79% of the total supply is in Uniswap liquidity.
- Of that liquidity, 88.12% of the LP tokens are locked in a Token locking contract and will vest to the team on September 28, 2022.
- There is a holder that is in possession of 10.99% of the LP tokens.
- There is a 2% 'tax fee' and a 8% 'team fee' on all transactions for any address that participates in a transfer.
- Users who hold tokens will automatically benefit from the frictionless fee redistribution at the time of each transaction as the tokens collected through taxes are removed from the circulating supply.
- The team fee charged on transactions is swapped for ETH and sent to the contract address. The received ETH is then transferred in a 50%-50% split between the team's first wallet and second wallet (which is set to the same address).
- The team wallet can call the Manualswap() and Manualsend() functions at any time which swaps $Futurama tokens for ETH, stores that ETH in the contract address, then sends it to the team wallet.
- Ownership has been renounced.
- There is logic in the code for a bot protection feature, however since ownership has been renounced this feature can no longer be utilized.
- As the project is implemented with Solidity v0.8.4, it is protected from overflows.
- No external threats were identified.
- Please ensure trust in the team prior to investing as they have control over the ETH collected from the team fee.
- Date: October 4th, 2021
Audit 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 |
Function Graph
Inheritence Chart
Functions Overview
($) = payable function
# = non-constant function
+ Context
- [Int] _msgSender
+ [Int] IERC20
- [Ext] totalSupply
- [Ext] balanceOf
- [Ext] transfer #
- [Ext] allowance
- [Ext] approve #
- [Ext] transferFrom #
+ [Lib] SafeMath
- [Int] add
- [Int] sub
- [Int] sub
- [Int] mul
- [Int] div
- [Int] div
+ Ownable (Context)
- [Pub] #
- [Pub] owner
- [Pub] renounceOwnership #
- modifiers: onlyOwner
+ [Int] IUniswapV2Factory
- [Ext] createPair #
+ [Int] IUniswapV2Router02
- [Ext] swapExactTokensForETHSupportingFeeOnTransferTokens #
- [Ext] factory
- [Ext] WETH
- [Ext] addLiquidityETH ($)
+ Futurama (Context, IERC20, Ownable)
- [Pub] #
- [Pub] name
- [Pub] symbol
- [Pub] decimals
- [Pub] totalSupply
- [Pub] balanceOf
- [Pub] transfer #
- [Pub] allowance
- [Pub] approve #
- [Pub] transferFrom #
- [Ext] setCooldownEnabled #
- modifiers: onlyOwner
- [Prv] tokenFromReflection
- [Prv] _approve #
- [Prv] _transfer #
- [Prv] swapTokensForEth #
- modifiers: lockTheSwap
- [Prv] sendETHToFee #
- [Ext] openSwapTrading #
- modifiers: onlyOwner
- [Ext] setSwapEnabled #
- modifiers: onlyOwner
- [Pub] setBots #
- modifiers: onlyOwner
- [Pub] delBot #
- modifiers: onlyOwner
- [Prv] _tokenTransfer #
- [Prv] _transferStandard #
- [Prv] _takeTeam #
- [Prv] _reflectFee #
- [Ext] ($)
- [Ext] manualswap #
- [Ext] manualsend #
- [Prv] _getValues
- [Prv] _getTValues
- [Prv] _getRValues
- [Prv] _getRate
- [Prv] _getCurrentSupply