KISS KISS META - Smart Contract Audit Report

Audit Summary

KISS KISS META Audit Report KISS KISS META ($KISSME) is a new BEP-20 token on the Binance Smart Chain.

We reviewed the CoinToken contract at 0x3aD2eA050c3A103961475E10c2332E043E170840 on the Binance Smart Chain mainnet.

Audit Findings

Please ensure trust in the team prior to investing as they currently own a large portion of the total supply.
Date: February 11th, 2022.

Contract Overview

  • The total supply of the token is currently 60 billion $KISSME [60,000,000,000].
  • Any user can burn their own tokens to reduce the total supply.
  • Any user can burn tokens on another user's behalf if an allowance has been granted.
  • The owner can mint any amount of tokens at any time until the finishMinting() function has been called.
  • The top three holders own a cumulative 89.71% of the total supply.
  • The next five holders own a cumulative 6.57% of the total supply.

  • The contract implements the EIP-1363 standard to support transfer-and-call and approve-and-call functionality.
  • The owner can withdraw any tokens from the contract address at any time.
  • There are no fees associated with transferring tokens.
  • As the contract is deployed with Solidity v0.8.5, it is protected from overflows/underflows.
  • The contract complies with the BEP-20 token standard.

External Threat Results

Vulnerability CategoryNotesResult
Arbitrary Storage WriteN/APASS
Arbitrary JumpN/APASS
Centralization of Control
  • The owner can mint any amount of tokens at any time until the finishMinting() function has been called.
  • The team currently owns a large portion of the total supply.
  • WARNING
    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
    Logical IssuesN/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

    BEP20 Token Graph

    Inheritance Chart

    Multi-file Token

    Functions Overview

    												
    ($) = payable function
     # = non-constant function
    
     + [Int] IERC20 
        - [Ext] totalSupply
        - [Ext] balanceOf
        - [Ext] transfer #
        - [Ext] allowance
        - [Ext] approve #
        - [Ext] transferFrom #
    
     + [Int] IERC20Metadata (IERC20)
        - [Ext] name
        - [Ext] symbol
        - [Ext] decimals
    
     +  Context 
        - [Int] _msgSender
        - [Int] _msgData
    
     +  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 #
    
     +  ERC20Burnable (Context, ERC20)
        - [Pub] burn #
        - [Pub] burnFrom #
    
     + [Lib] Address 
        - [Int] isContract
        - [Int] sendValue #
        - [Int] functionCall #
        - [Int] functionCall #
        - [Int] functionCallWithValue #
        - [Int] functionCallWithValue #
        - [Int] functionStaticCall
        - [Int] functionStaticCall
        - [Int] functionDelegateCall #
        - [Int] functionDelegateCall #
        - [Prv] _verifyCallResult
    
     + [Int] IERC165 
        - [Ext] supportsInterface
    
     +  ERC165 (IERC165)
        - [Pub] supportsInterface
    
     + [Int] IERC1363 (IERC20, IERC165)
        - [Ext] transferAndCall #
        - [Ext] transferAndCall #
        - [Ext] transferFromAndCall #
        - [Ext] transferFromAndCall #
        - [Ext] approveAndCall #
        - [Ext] approveAndCall #
    
     + [Int] IERC1363Receiver 
        - [Ext] onTransferReceived #
    
     + [Int] IERC1363Spender 
        - [Ext] onApprovalReceived #
    
     +  ERC1363 (ERC20, IERC1363, ERC165)
        - [Pub] supportsInterface
        - [Pub] transferAndCall #
        - [Pub] transferAndCall #
        - [Pub] transferFromAndCall #
        - [Pub] transferFromAndCall #
        - [Pub] approveAndCall #
        - [Pub] approveAndCall #
        - [Int] _checkAndCallTransfer #
        - [Int] _checkAndCallApprove #
    
     +  Ownable (Context)
        - [Pub] owner
        - [Pub] renounceOwnership #
           - modifiers: onlyOwner
        - [Pub] transferOwnership #
           - modifiers: onlyOwner
    
     +  TokenRecover (Ownable)
        - [Pub] recoverERC20 #
           - modifiers: onlyOwner
    
     +  ERC20Decimals (ERC20)
        - [Pub]  #
        - [Pub] decimals
    
     +  ERC20Mintable (ERC20)
        - [Ext] mintingFinished
        - [Ext] mint #
           - modifiers: canMint
        - [Ext] finishMinting #
           - modifiers: canMint
        - [Int] _finishMinting #
    
     +  CoinToken (ERC20Decimals, ERC20Mintable, ERC20Burnable, ERC1363, TokenRecover)
        - [Pub]  ($)
           - modifiers: ERC20,ERC20Decimals
        - [Pub] decimals
        - [Int] _mint #
           - modifiers: onlyOwner
        - [Int] _finishMinting #
           - modifiers: onlyOwner