Arise Finance - Smart Contract Audit Report
Summary
Arise Finance is a token where fees charged on transactions are shared among all token holders.
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 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 |
Function Graph
Inheritance Chart
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