NFTeez Token - Smart Contract Audit Report

Summary

NFTeez Audit Report NFTeez ($NFTeez) is a new community-driven BEP20 token on the Binance Smart Chain that is an automatic liquidity providing protocol and automatically sends BUSD to the project initiative wallets.

NFTeez Token contract is deployed at 0x7c6da35b6e28c5e571026eb4f9605e35d79dcb4c on the Binance Smartchain mainnet.

Notes on the Contract:
  • The total supply of the token is set to 10 billion tokens [10,000,000,000] which are granted to the owner upon deployment.
  • No minting or direct burn functions are present; though the circulating supply can be reduced by sending tokens to the 0x..dead address, if desired.
  • As the project has recently been deployed, there are 3 holders.
  • At the time of writing this report, 53.19% of the total token supply has been sent to the Dead Address.
  • 41.81% of the total token supply has been sent to an Unverified Presale contract.
  • The owner/team retained 5.00% of the total supply (which is 10.68% of the current circulating supply).

  • There is a "Liquidity Fee", "Buyback Fee", and a "Marketing Fee" charged on all transactions for any "non-excluded" address that participates in a transfer.
  • The tokens collected from the transfer fees are stored in the contract address balance. Once a threshold value of 1,000,000 $NFTeez (0.01% of the total supply) a swap will occur for the purpose of funding the project's initiatives.
  • The tokens that are allocated to the 'liquidity fee' will be swapped for the purpose of funding PancakeSwap liquidity.
  • Liquidity-adds are conducted by selling half of the liquidity fee tokens for BNB, then pairing the received BNB with the token, and adding it as liquidity to the pair.
  • The recipient of the newly created LP tokens is the zero address, to act as a proper liquidity locking mechanism.
  • The tokens that are allocated to the "Marketing Fee" will be swapped for BUSD and sent to the team-controlled "marketingAndInitiativesWalletAddress".
  • The tokens that are allocated to the "Buyback Fee" will be swapped for BUSD and sent to the team-controlled "buyBackAndBurnWalletAddress". Please note that there is no guarantee that the BUSD that is sent here will be used to buyback any tokens and subsequently burn them. This is not done automatically by the contract. Further, if the team intends to use these funds to buy tokens, it would save them a conversion to have swapped to BNB instead of BUSD.
  • When a holder is selling their tokens to the PancakeSwap Pair, there is an additional fee of 1% that is applied and sent to the contract token balance.

  • The contract utilizes SafeMath libraries along with following the BEP20 standard.
  • As the project is compiled with Solidity v0.8.7, it is protected from overflow/underflow issues.

  • Ownership Controls:
  • Ownership has not been renounced.
  • The owner can modify the "Liquidity Fee", "Buyback Fee", and a "Marketing Fee" to any percentages at any time.
  • The owner can exclude any address from transfer fees at any time.
  • The owner can remove/restore transfer fees at any time.
  • The owner can set and update the "buyBackAndBurnWalletAddress" and "marketingAndInitiativesWalletAddress" at any time.
  • The owner can set and update the 'PancakeSwap Router' and 'AMM Pair' addresses at any time.
Audit Findings Summary
  • No external threats were identified.
  • Please note that there is no automatic "Buyback and Burn" functionality within the contract.
  • Please ensure trust in the team as they have substantial control in the ecosystem.
  • The team has not conducted KYC Verification Procedures.
  • Date: October 22nd, 2021

Audit 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 ThiefN/APASS
ExceptionsN/APASS
External CallsN/APASS
Flash LoansN/APASS
Integer Over/UnderflowN/APASS
Multiple SendsN/APASS
OraclesN/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

ERC20 Token Graph


Inheritence Chart

Multi-file Token


Functions Overview


 ($) = payable function
 # = non-constant function
 
 + [Lib] SafeMathUint 
    - [Int] toInt256Safe

 + [Lib] SafeMathInt 
    - [Int] mul
    - [Int] div
    - [Int] sub
    - [Int] add
    - [Int] abs
    - [Int] toUint256Safe

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

 +  Context 
    - [Int] _msgSender
    - [Int] _msgData

 +  Ownable (Context)
    - [Pub]  #
    - [Pub] owner
    - [Pub] renounceOwnership #
       - modifiers: onlyOwner
    - [Pub] transferOwnership #
       - modifiers: onlyOwner

 + [Int] IPancakeSwapV2Router01 
    - [Ext] factory
    - [Ext] WETH
    - [Ext] addLiquidity #
    - [Ext] addLiquidityETH ($)
    - [Ext] removeLiquidity #
    - [Ext] removeLiquidityETH #
    - [Ext] removeLiquidityWithPermit #
    - [Ext] removeLiquidityETHWithPermit #
    - [Ext] swapExactTokensForTokens #
    - [Ext] swapTokensForExactTokens #
    - [Ext] swapExactETHForTokens ($)
    - [Ext] swapTokensForExactETH #
    - [Ext] swapExactTokensForETH #
    - [Ext] swapETHForExactTokens ($)
    - [Ext] quote
    - [Ext] getAmountOut
    - [Ext] getAmountIn
    - [Ext] getAmountsOut
    - [Ext] getAmountsIn

 + [Int] IPancakeSwapV2Router02 (IPancakeSwapV2Router01)
    - [Ext] removeLiquidityETHSupportingFeeOnTransferTokens #
    - [Ext] removeLiquidityETHWithPermitSupportingFeeOnTransferTokens #
    - [Ext] swapExactTokensForTokensSupportingFeeOnTransferTokens #
    - [Ext] swapExactETHForTokensSupportingFeeOnTransferTokens ($)
    - [Ext] swapExactTokensForETHSupportingFeeOnTransferTokens #

 + [Int] IPancakeSwapV2Pair 
    - [Ext] name
    - [Ext] symbol
    - [Ext] decimals
    - [Ext] totalSupply
    - [Ext] balanceOf
    - [Ext] allowance
    - [Ext] approve #
    - [Ext] transfer #
    - [Ext] transferFrom #
    - [Ext] DOMAIN_SEPARATOR
    - [Ext] PERMIT_TYPEHASH
    - [Ext] nonces
    - [Ext] permit #
    - [Ext] MINIMUM_LIQUIDITY
    - [Ext] factory
    - [Ext] token0
    - [Ext] token1
    - [Ext] getReserves
    - [Ext] price0CumulativeLast
    - [Ext] price1CumulativeLast
    - [Ext] kLast
    - [Ext] mint #
    - [Ext] burn #
    - [Ext] swap #
    - [Ext] skim #
    - [Ext] sync #
    - [Ext] initialize #

 + [Int] IPancakeSwapV2Factory 
    - [Ext] feeTo
    - [Ext] feeToSetter
    - [Ext] getPair
    - [Ext] allPairs
    - [Ext] allPairsLength
    - [Ext] createPair #
    - [Ext] setFeeTo #
    - [Ext] setFeeToSetter #

 + [Lib] IterableMapping 
    - [Pub] get
    - [Pub] getIndexOfKey
    - [Pub] getKeyAtIndex
    - [Pub] size
    - [Pub] set #
    - [Pub] remove #

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

 + [Int] IERC20Metadata (IERC20)
    - [Ext] name
    - [Ext] symbol
    - [Ext] decimals

 +  ERC20 (Context, IERC20, IERC20Metadata)
    - [Pub]  #
    - [Pub] name
    - [Pub] symbol
    - [Pub] decimals
    - [Pub] totalSupply
    - [Pub] balanceOf
    - [Pub] transfer #
    - [Pub] allowance
    - [Pub] approve #
    - [Pub] transferFrom #
    - [Pub] increaseAllowance #
    - [Pub] decreaseAllowance #
    - [Int] _transfer #
    - [Int] _mint #
    - [Int] _burn #
    - [Int] _approve #
    - [Int] _beforeTokenTransfer #

 +  NFTeez (ERC20, Ownable)
    - [Pub]  #
       - modifiers: ERC20
    - [Ext]  ($)
    - [Pub] updatePancakeSwapV2Router #
       - modifiers: onlyOwner
    - [Pub] excludeFromFees #
       - modifiers: onlyOwner
    - [Pub] excludeMultipleAccountsFromFees #
       - modifiers: onlyOwner
    - [Pub] setMarketingWallet #
       - modifiers: onlyOwner
    - [Pub] setBuyBackWallet #
       - modifiers: onlyOwner
    - [Ext] setLiquidityFee #
       - modifiers: onlyOwner
    - [Ext] setMarketingFee #
       - modifiers: onlyOwner
    - [Ext] setBuyBackFee #
       - modifiers: onlyOwner
    - [Pub] setAutomatedMarketMakerPair #
       - modifiers: onlyOwner
    - [Prv] _setAutomatedMarketMakerPair #
    - [Pub] removeAllFees #
       - modifiers: onlyOwner
    - [Pub] restoreAllFees #
       - modifiers: onlyOwner
    - [Pub] isExcludedFromFees
    - [Int] _transfer #
    - [Prv] swapAndLiquify #
    - [Prv] swapTokensForEth #
    - [Prv] swapTokensForBUSD #
    - [Prv] swapAndSendMarketing #
    - [Prv] swapAndSendBuyBack #
    - [Prv] addLiquidity #