Arise Finance - Smart Contract Audit Report

Summary

Arise Finance Audit Report Arise Finance is a token where fees charged on transactions are shared among all token holders.

We reviewed Arise Finance's token contract at 0xa861f33d8ac80b64c1b8c7b4c99599474b79888a on the Binance Smart Chain mainnet.

Notes on the contract:
  • Arise Finance is a fork of Reflect Finance (RFI). The key notable differences are the changable transfer tax, introduction of a burned tax, and the increased total supply (10x).
  • The total supply of the token is 100 million.
  • No mint functions are present.
  • The team has locked 67% of the supply on our recommendation. These tokens will unlock starting in 1 month over 2 years.
  • The team controls the tokens in multiple wallets totaling ~25% of the supply.
  • The team has signaled their intent to hold a public sale via a launchpad which will add (then lock) liquidity.

  • By default contract implements an 2% redistributed-tax fee and 2% burn fee on each transaction.
  • The owner has the ability to set the transaction fee and burn fee to any amount at any time. We strongly advise renouncing ownership.
  • The owner can exclude any address from the fee mechanism.
  • Some gas optimizations can be achieved through declaring functions external instead of public and some variables constant. As this is already deployed, this is merely informational.
  • The contract utilizes of SafeMath to prevent overflows.

Audit Findings Summary
  • No external threats were identified.
  • As with any presale, ensure trust in the team prior to investing.
  • Ensure trust in the team as they will have substantial power in the ecosystem via their ability to set the tax fees to any amount at any time. We have advised renouncing ownership but the team has declined.
  • Further ensure trust in the team as they will be vested large number of tokens.
  • Date: April 12th, 2021
  • Update Date: April 15th, 2021 - The team has locked tokens on our recommendation. These tokens unlock on many dates between 27 days and 2 years from now.

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


Inheritance Chart

Multi-file Token


Functions Overview


 ($) = payable function
 # = non-constant function
 
 Int = Internal
 Ext = External
 Pub = Public
 
 +  Context 
    - [Int] _msgSender
    - [Int] _msgData

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

 + [Lib] Address 
    - [Int] isContract
    - [Int] sendValue #
    - [Int] functionCall #
    - [Int] functionCall #
    - [Int] functionCallWithValue #
    - [Int] functionCallWithValue #
    - [Prv] _functionCallWithValue #

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

 +  ARIToken (Context, IBEP20, Ownable)
    - [Pub]  #
    - [Pub] name
    - [Pub] symbol
    - [Pub] decimals
    - [Pub] totalSupply
    - [Pub] balanceOf
    - [Pub] transfer #
    - [Pub] allowance
    - [Pub] approve #
    - [Pub] transferFrom #
    - [Pub] increaseAllowance #
    - [Pub] decreaseAllowance #
    - [Pub] isExcluded
    - [Pub] totalFees
    - [Pub] totalBurn
    - [Pub] deliver #
    - [Pub] reflectionFromToken
    - [Pub] tokenFromReflection
    - [Ext] excludeAccount #
       - modifiers: onlyOwner
    - [Ext] includeAccount #
       - modifiers: onlyOwner
    - [Prv] _approve #
    - [Prv] _transfer #
    - [Prv] _transferStandard #
    - [Prv] _transferToExcluded #
    - [Prv] _transferFromExcluded #
    - [Prv] _transferBothExcluded #
    - [Prv] _reflectFee #
    - [Prv] _getValues
    - [Prv] _getTValues
    - [Prv] _getRValues
    - [Prv] _getRate
    - [Prv] _getCurrentSupply
    - [Pub] _getTaxFee
    - [Pub] _getBurnFee
    - [Pub] _getMaxTxAmount
    - [Ext] _setTaxFee #
       - modifiers: onlyOwner
    - [Ext] _setBurnFee #
       - modifiers: onlyOwner