Infinity Token - Smart Contract Audit Report


Infinity Audit Report Infinity Token ($IT) is a new DeFi token on the Ethereum Blockchain.

The Infinity Token contract is deployed at 0x7fe4fbad1fee10d6cf8e08198608209a9275944c on the Ethereum Blockchain Mainnet.

Notes on the Contract:
  • 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.
Audit Findings Summary
  • 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

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
External CallsN/APASS
Integer Over/UnderflowN/APASS
Multiple SendsN/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

 +  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