BNBVault

73

2021.04.12

Disclaimer:

show more...

Conclusion:

The BNBVAULT Smart-Contract were found no vulnerabilities, no backdoors, and no scam scripts.

The code was tested with compatible compilers and simulate manually reviewed for all commonly known and specific vulnerabilities.

So BNBVAULT Smart-Contract is safe for use in the Binance Smart Chain main network.

CRITICAL ISSUES (critical, high severity): 0

Critical and harmful access for owners, user block ability, Bugs, and vulnerabilities that enable theft of funds, lock access to funds without possibility to restore it or lead to any other loss of funds to be transferred to any party.

 

ERRORS, BUGS AND WARNINGS (medium, low severity): 0

Bugs can negatively affect the usability of a program, errors that can trigger a contract failure, Lack of necessary security precautions, other warnings for owners and users, warning codes that are valid code but the compiler thinks are suspicious.

 

OPTIMIZATION (low severity): 1

Methods to decrease the cost of transactions in Smart-Contract.

 

RECOMMENDATIONS (very low severity): 0

Hint and tips to improve contract functionality and trustworthiness.

 

 

OPTIMIZATION SUGGESTIONS

1- Loop on the dynamic variable (low severity).

If the user gets more parallel deposits his withdrawal transaction fee will cost more transaction fees because the loop on the dynamic variable is used in the ‘withdraw’ function.

In case of the GAS limit of exceeding the size of transaction withdraw is not possible.

Note:

This comment is relevant only if a user creates an excessive number of parallel deposits (more than 100).

 

INDEPENDENT DESCRIPTION OF THE SMART-CONTRACT FUNCTIONALITY

The BNBVault smart-contract provides the opportunity to invest any amount in BNB (from 0.05 BNB) in the contract and get 200% return on investment if the contract balance has enough funds for payment.

 

  • Dividends are paid from deposits of users.
  • All dividends are calculated at the moment of request and available for withdrawal every 24 hours
  • Each subsequent Deposit is kept separately in the contract, in order to maintain the payment amount for each Deposit.

 

Contract Owners Fee

Marketing Fee:   4.5% of all invest and reinvest and withdraw

Developer Fee:   4.5% of all invest and reinvest and withdraw

Project Fee:             3% of the only invest

 

INVESTMENT PLAN

7% daily profit. A User can get a 200% return totally.

Notes:

  • The Minimum deposit amount is 0.05 BNB

 

 

Referral System (Match Bonus)

This contract pays 8% referrals commissions over 3 level deeps

  • Level one: 5%
  • Level two: 2%
  • Level three: 1%

 

Notes:

  • The Referral should be an active user. it means the referral address has at least one deposit
  • The Referrer is specified once at the time of the first deposit and is assigned to the user without the possibility of changing. From each subsequent Deposit, the referrer will get his percent.

 

Withdraw System

  • In each withdraw if the deposit did not finish yet 9% of dividends will be added to the deposit amount of each active plan as an auto reinvest system.
  • The user should be an active user, which means has at least one active deposit which did not finish yet

 

Reinvest System

  • Users can reinvest all dividends and it will be added to the main capital amount of each deposit.
  • The user should be an active user, which means has at least one active deposit which did not finish yet

 

 

Hold Bonus

Users can get an extra 1% daily profit every 24h if users did not withdraw.

  • The maximum hold bonus is 3%.

 

BNBVAULT SMART-CONTRACT FUNCTIONS

  • Constructor: initial plans, owner address, and start date
  • checkUser_: modifier to check 1 day passed from the last checkpoint
  • checkUser: function to check 1 day passed from the last checkpoint
  • invest: make a new deposit
  • withdraw: transfer dividends to the user wallet
  • reinvestment: re-invest all dividends and increase deposits amounts
  • getNextUserAssignment: return next withdraw or reinvest time
  • getUserholdRate: return hold bonus
  • getUserPercentRate: return user total bonus
  • getPublicData: return contract stats
  • getUserData: return user stats
  • getContractBalance: return contract balance
  • getUserDividends: calculate and return user dividends
  • isActive: check user status
  • getUserDepositInfo: return deposits info
  • getUserTotalDeposits: return total deposit amount
  • getUserTotalWithdrawn: return total withdraw amount
  • isContract: return an address type