MoonTrustBSC - Smart Contract Audit Report

Summary

MoonTrustBSC Audit Report MoonTrustBSC ($MNTTBSC) is a new community-driven DeFi token on the Binance Smart Chain that is an automatic liquidity providing protocol that pays out static rewards to holders.

We reviewed the MoonTrustBSC contract at 0xe9406b73d4F54572E27d60479905723DE08E689e on the Binance Smartchain mainnet.

Notes on the Contract:
  • The total supply of the token is set to 694.2 billion $MNTTBSC [694,200,000,000].
  • No minting or burn functions are present; though the circulating supply can be reduced by sending tokens to the 0x..dead address, if desired.
  • At the time of writing this report, 99.99% of the total supply belongs to the team's staking contract. This contract was out of scope for the purpose of this audit.

  • There is a tax fee for any non-excluded address that participates in a transfer.
  • The tax fee percentages vary depending on how many tokens are being transferred. The breakdown is as follows:

    If the number of tokens being transferred are:
    • 1,000 or less, no tax fee is charged.
    • Between 1,001 and 10,000 tokens, the tax fee is 1%.
    • Between 10,001 and 100,000 tokens, the tax fee is 2%.
    • Between 100,001 and 500,000 tokens, the tax fee is 4%.
    • Between 500,001 and 1,000,000 tokens, the tax fee is 5%.
    • Between 1,000,001 and 10,000,000 tokens, the tax fee is 7%.
    • Greater than 10,000,000, the tax fee is 10%.
  • Half of the tokens collected from the tax fee are sent to the Liquidity Pool address set by the team upon deployment. The remaining tokens are split between the Burn address and a wallet controlled by the team.
  • Although the Safemath library is utilized, the contract is implemented with Solidity v0.8.1 which has built-in overflow checks. Safemath could be safely removed to reduce contract size and increase gas savings.

  • Ownership Controls:
  • Ownership has not been renounced.
  • The owner can elect to decrease the tax fee percentages that are listed above, however cannot increase them.
  • The owner can exclude and include accounts from the tax fee.

Audit Findings Summary
  • No external threats were identified.
  • Please ensure trust in the team prior to investing as 99.99% of the total supply belongs to the team's staking contract.
  • Date: December 3rd, 2021

Audit Results

Vulnerability CategoryNotesResult
Arbitrary Storage WriteN/APASS
Arbitrary JumpN/APASS
Centralization of ControlThe team is in possession of 99.99% of the total supply.PASS
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
 
 + [Int] IERC20 
    - [Ext] totalSupply
    - [Ext] balanceOf
    - [Ext] transfer #
    - [Ext] allowance
    - [Ext] approve #
    - [Ext] transferFrom #

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

 +  ERC20 (Context, IERC20)
    - [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 #

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

 +  BEP20 (ERC20, Ownable)
    - [Pub]  #
       - modifiers: ERC20
    - [Pub] getOwner

 + [Lib] SafeMath 
    - [Int] tryAdd
    - [Int] trySub
    - [Int] tryMul
    - [Int] tryDiv
    - [Int] tryMod
    - [Int] add
    - [Int] sub
    - [Int] mul
    - [Int] div
    - [Int] mod
    - [Int] sub
    - [Int] div
    - [Int] mod

 +  MoonTrustToken (BEP20)
    - [Pub]  #
       - modifiers: BEP20
    - [Pub] balanceOf
    - [Pub] distributionPoolBalance
    - [Prv] getPoolShare
    - [Prv] getPoolTransferShare
    - [Int] _transfer #
    - [Pub] addOrRemoveFromSenderWhitelist #
       - modifiers: onlyOwner
    - [Pub] addOrRemoveFromReceiverWhitelist #
       - modifiers: onlyOwner
    - [Pub] isSenderWhitelisted
    - [Pub] isReceiverWhitelisted
    - [Pub] setTaxMultiplicator #
       - modifiers: onlyOwner
    - [Pub] calculateTax
    - [Pub] calculateBaseTax