|Arbitrary Storage Write||N/A||PASS|
|Delegate Call to Untrusted Contract||N/A||PASS|
|Dependence on Predictable Variables||N/A||PASS|
|State Change External Calls||N/A||PASS|
|User Supplied Assertion||N/A||PASS|
|Critical Solidity Compiler||N/A||PASS|
|Overall Contract Safety||PASS|
Infinity Token - Smart Contract Audit Report
Infinity Token ($IT) is a new DeFi token on the Ethereum Blockchain.
Notes on the Contract:
Audit Findings Summary
- The total supply of the token is 5 billion [5,000,000,000] $IT.
- No mint or burn functions exist, though the circulating supply can be decreased by sending tokens to the 0x..dead address.
- At the time of writing this report, 8.31% of the total supply is in Uniswap liquidity.
- Of that liquidity, 100% of the LP tokens are locked in a token locking contract that will vest to the team on 05/08/2023.
- The next four holders own a cumulative 12.4% of the total supply.
- With the exception of buying $IT, there is a tax fee charged for any non excluded address that participates in a transfer. The tax fee percentage cannot be verified as it is defined in an external unverified EthReflect contract that was out of scope for the purpose of this audit.
- The tokens collected from the tax fee are stored in the Infinity Token contract address, then swapped for ETH and are distributed to wallets set by the team.
- The owner is able to allocate any amount of taxes to any account at any time, including the burn address. A portion of ETH is burned upon each transfer with the exception of buying $IT.
- The owner should exercise caution and only add a limited amount of addresses to the tax distribution when using function setTaxAlloc() to avoid exceeding the block gas limit.
- The owner can use the addLiquidity() function to fund the liquidity pool only one time. The entire token balance and ETH balance of the contract will be used to add liquidity in the appropriate ratios.
- The contract includes functionality to interact with an external unverified antibot contract. This contract was out of scope for the purpose of this audit.
- The owner has the ability to pause/unpause trading at any time.
- The owner can also manually add and remove addresses from the blacklist, which will prohibit certain addresses from trading.
- The owner has the ability to set the contract's tax fee up to 10.5% at any time. However there is a secondary tax fee that is controlled by an unverified contract. As we were unable to see the contract code in the unverified contract, we are not able to confirm if this secondary tax has any cap associated with it at all.
- Their is a maximum transaction limit of 7,500,000 tokens enforced when buying within 15 minutes from the launch time.
- The owner of the contract can exclude accounts from transfer fees by manually adding accounts to a whitelist.
- The owner has the ability to set and update a maximum transaction amount at any time, which will impose a limit to the number of tokens that can be transferred during any given transaction.
- The contract utilizes SafeMath to prevent overflows and complies with the ERC20 standard.
- No external threats were identified.
- Please ensure trust in the team prior to investing as they have substantial control in the ecosystem.
- Date: September 28th, 2021
($) = payable function # = non-constant function Int = Internal Ext = External Pub = Public + 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] transferOwnership # - modifiers: onlyOwner + Taxable (Ownable) - [Int] initTax # - [Int] payTaxes # - [Int] setTaxAlloc # - modifiers: onlyOwner - [Int] totalTaxAlloc - [Pub] getTaxAlloc - modifiers: onlyOwner - [Pub] updateDevWallet # - modifiers: onlyOwner + [Int] IUniswapV2Factory - [Ext] createPair # + [Int] IUniswapV2Router02 - [Ext] swapExactTokensForETHSupportingFeeOnTransferTokens # - [Ext] factory - [Ext] WETH - [Ext] addLiquidityETH ($) + [Int] FTPAntiBot - [Ext] scanAddress # - [Ext] registerBlock # + [Int] FTPEthReflect - [Ext] init # - [Ext] getAlloc - [Ext] trackSell # - [Ext] trackPurchase # + [Int] FTPExternal - [Ext] owner # - [Ext] deposit # + InfinityToken (Context, IERC20, Taxable) - [Ext] ($) - [Pub] # - [Pub] name - [Pub] symbol - [Pub] decimals - [Pub] totalSupply - [Pub] balanceOf - [Pub] transfer # - [Pub] allowance - [Pub] approve # - [Pub] transferFrom # - [Prv] _readyToTax - [Prv] _isBuy - [Prv] _trader - [Prv] _isExchangeTransfer - [Prv] _txRestricted - [Prv] _walletCapped - [Prv] _checkTX - [Prv] _approve # - [Prv] _transfer # - [Prv] _updateBalances # - [Prv] _trackEthReflection # - [Prv] _getTaxes # - [Prv] _tax # - [Prv] _swapTokensForETH # - modifiers: lockTheSwap - [Prv] _getTaxDenominator - [Prv] _disperseEth # - [Ext] addLiquidity # - modifiers: onlyOwner - [Ext] launch # - modifiers: onlyOwner - [Ext] setTxLimit # - modifiers: onlyOwner - [Ext] checkIfBlacklist - [Ext] blacklist # - modifiers: onlyOwner - [Ext] rmBlacklist # - modifiers: onlyOwner - [Ext] updateTaxAlloc # - modifiers: onlyOwner - [Ext] addTaxWhiteList # - modifiers: onlyOwner - [Ext] removeTaxWhiteList # - modifiers: onlyOwner - [Ext] setWebThree # - modifiers: onlyDev