/>

Rushmoon - Audit Report

Summary

Rushmoon Finance Audit Report Rushmoon is building a new automatic liquidity acquisition yield farm and AMM decentralized exchange on the Binance Smart Chain.

For this audit, we reviewed Rushmoon's token contract, deployed at 0xff96ce2cc0d20da0250a63bdca2b568f52a5bc71 on mainnet.
Please note we have not reviewed Rushmoon's staking or any other contracts.
Notes on the Contract:
  • The initial total supply is 3 billion tokens.
  • Due to burn fees, the total supply is now ~2.85 billion.
  • The team has the ability to appoint minters who can mint the token at any time.
  • All transactions are subject to a 5% tax.
  • 4% of this tax on transactions is used to fund automated adding of liquidity.
  • The remaining 1% of the transfer tax is burned.

  • 41% of the total supply is held in two Pancakeswap liquidity pools.
  • 68% of liquidity is staked in a contract not reviewed by our team.
  • 17% of liquidity is held in the contract.
  • The rest of liquidity is held by various community members.
  • 28.5% of the token's supply has been burned.
  • 6% of the supply is in a staking contract not reviewed by our team.
  • The next largest holder has 3%.

  • While the team has the ability to update fees, the total fees can never exceed 6%.
  • Admins of the smart contract have the ability to blacklist users and prevent them from transferring tokens.
  • The admin also has the ability to add any other address as an admins and minters.
  • The admin can update the address of the pancakeswap router and pair as well. This functionality, however, would also allow the team to claim the LP tokens in the contract if they wanted to.
  • Rushmoon uses SafeMath libraries to prevent overflows. The contract also follows the BEP20 standard.
  • The contract uses a standard governance model so users will be able to vote on proposals.

  • Audit Findings Summary
    • No security issues from external attackers were identified.
    • Ensure trust in the team as they have notable control in the ecosystem.
    • Date: May 29th, 2021
Vulnerability Category Notes Result
Arbitrary Storage Write N/A PASS
Arbitrary Jump N/A PASS
Delegate Call to Untrusted Contract N/A PASS
Dependence on Predictable Variables N/A PASS
Deprecated Opcodes N/A PASS
Ether Thief N/A PASS
Exceptions N/A PASS
External Calls N/A PASS
Flash Loans N/A PASS
Integer Over/Underflow N/A PASS
Multiple Sends N/A PASS
Oracles N/A PASS
Suicide N/A PASS
State Change External Calls N/A Pass
Unchecked Retval N/A PASS
User Supplied Assertion N/A PASS
Critical Solidity Compiler N/A PASS
Overall Contract Safety   PASS

ERC20 Token Graph

Multi-file Token


   ($) = payable function
    # = non-constant function
    
 +  Context 
    - [Int]  #
    - [Int] _msgSender
    - [Int] _msgData

 + [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
    - [Int] mod
    - [Int] mod

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

 +  MinterRole (Context)
    - [Int]  #
    - [Pub] isMinter
    - [Pub] addMinter #
       - modifiers: onlyMinter
    - [Pub] renounceMinter #
    - [Int] _addMinter #
    - [Int] _removeMinter #

 +  ERC20Burnable (Context, ERC20)
    - [Pub] burn #
    - [Pub] burnFrom #

 +  ERC20Mintable (ERC20, MinterRole)
    - [Pub] mint #
       - modifiers: onlyMinter

 + [Lib] Roles 
    - [Int] add #
    - [Int] remove #
    - [Int] has

 +  ERC20Detailed (IERC20)
    - [Pub]  #
    - [Pub] name
    - [Pub] symbol
    - [Pub] decimals

 +  WhitelistAdminRole (Context)
    - [Int]  #
    - [Pub] isWhitelistAdmin
    - [Pub] addWhitelistAdmin #
       - modifiers: onlyWhitelistAdmin
    - [Pub] renounceWhitelistAdmin #
    - [Int] _addWhitelistAdmin #
    - [Int] _removeWhitelistAdmin #

 +  ERC20TransferLiquidityLock (ERC20)
    - [Pub]  #
    - [Pub] calculateFees
    - [Pub] isContract
    - [Int] _transfer #
    - [Ext]  ($)
    - [Pub] RebalanceLiquidity #
    - [Prv] _rewardLiquidityProviders #
    - [Prv] remLiquidity #
    - [Prv] addLiquidity #
    - [Ext] lockableSupply
    - [Ext] lockedSupply
    - [Ext] burnedSupply
    - [Pub] burnableLiquidity
    - [Pub] burnedLiquidity
    - [Pub] lockedLiquidity

 + [Int] IPancakeV2Router01 
    - [Ext] factory
    - [Ext] WETH
    - [Ext] quote
    - [Ext] getAmountOut
    - [Ext] getAmountIn
    - [Ext] getAmountsOut
    - [Ext] getAmountsIn
    - [Ext] addLiquidityETH ($)

 + [Int] IPancakeswaoRouter02 
    - [Ext] WETH
    - [Ext] swapExactETHForTokensSupportingFeeOnTransferTokens ($)
    - [Ext] removeLiquidityETH #
    - [Ext] removeLiquidityETHSupportingFeeOnTransferTokens #
    - [Ext] addLiquidityETH ($)

 + [Int] IPancakeswapV2Pair 
    - [Ext] sync #

 +  ERC20Governance (ERC20, ERC20Detailed)
    - [Int] _transfer #
    - [Int] _mint #
    - [Int] _burn #
    - [Ext] delegates
    - [Ext] delegate #
    - [Ext] delegateBySig #
    - [Ext] getCurrentVotes
    - [Ext] getPriorVotes
    - [Int] _delegate #
    - [Int] _moveDelegates #
    - [Int] _writeCheckpoint #
    - [Int] safe32
    - [Int] getChainId

 +  Balancer 
    - [Pub]  #
    - [Ext]  ($)
    - [Ext] rebalance #
    - [Prv] swapEthForTokens #

 +  RushMoon (ERC20, ERC20Detailed, ERC20Burnable, ERC20Governance, ERC20Mintable, ERC20TransferLiquidityLock, WhitelistAdminRole)
    - [Pub] setPancakeV2Router #
       - modifiers: onlyWhitelistAdmin
    - [Pub] setPancakeV2Pair #
       - modifiers: onlyWhitelistAdmin
    - [Pub] unlockLP #
       - modifiers: onlyWhitelistAdmin
    - [Pub] setRebalanceDivisor #
       - modifiers: onlyWhitelistAdmin
    - [Pub] setRebalanceInterval #
       - modifiers: onlyWhitelistAdmin
    - [Pub] setRebalanceRewardDivisior #
       - modifiers: onlyWhitelistAdmin
    - [Pub] setPresaleAddress #
       - modifiers: onlyWhitelistAdmin
    - [Pub] recoverLostBNB #
       - modifiers: onlyWhitelistAdmin
    - [Pub] recoverLostTokensExceptOurTokens #
       - modifiers: onlyWhitelistAdmin
    - [Pub] createPancakeSwapPair #
       - modifiers: onlyWhitelistAdmin
    - [Pub] userBalanceInPancake
    - [Pub] toggleFeeless #
       - modifiers: onlyWhitelistAdmin
    - [Pub] toggleFees #
       - modifiers: onlyWhitelistAdmin
    - [Pub] toggleUnlocked #
       - modifiers: onlyWhitelistAdmin
    - [Pub] setBlackListAddress #
       - modifiers: onlyWhitelistAdmin
    - [Pub] activateTrading #
       - modifiers: onlyWhitelistAdmin
    - [Pub] setMinRebalanceAmount #
       - modifiers: onlyWhitelistAdmin
    - [Pub] setBurnTxFee #
       - modifiers: onlyWhitelistAdmin
    - [Pub] setTaxFee #
       - modifiers: onlyWhitelistAdmin