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 trustworthy.
1- Loop on the dynamic variable (low severity).
If the user gets more parallel deposits his withdraw transaction going to cost more transaction fee, because the loop on the dynamic variable is used in the ‘withdraw’ function.
In case of exceeding TRON limit of the size of transaction withdraw is not possible.
This comment is relevant only if a user creates an excessive amount of parallel deposits (more than 100).
INDEPENDENT DESCRIPTION OF THE SMART-CONTRACT FUNCTIONALITY
The ROICITY smart-contract provides the opportunity to invest any amount in TRX (from 100 TRX) in the contract and get a 135%-140% return on investment in 21 days 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
6.4% daily profit for 21 days. A User can get a 135% return totally.
- Minimum deposit amount is 100 TRX
- The total return will be 140% if a user has more than 6 deposits
- Each new deposit amount should be greater than the previous one
- Users can make a new deposit only once a day
- New user gets 0.00001 ROIC Token
- User get 0.00005ROIC Token after 7 deposits
- User get 0.05 ROIC Token after 100,000 TRX total deposit
- User get 1 ROIC Token after 250,000 TRX total deposit
Referral System (Match Bonus)
This contract paid referrals in five-level totally 12%
- Level one: 5%
- Level two: 3%
- Level three: 2%
- Level four: 1%
- Level five: 1%
- Referral should be an active user. it means referral address has at least one deposit
- A 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.
- If a user has not a referrer or a valid referrer the owner will be set as his upline.
- Users can not withdraw their referral reward directly to their wallets, the user must reinvest it
- The owner can withdraw his referral directly
- User get 0.0005 ROIC Token after 35 direct referrals
Users based on the amount of their deposit get rewards in each deposit
|10k to 50k
||50k to 150k
||150k to 250k
||250k to 500k
||500k to 750k
||750k to 1m
- User can withdraw only once a day
- The owner can withdraw his deposit income without limitation
- Withdraw amount should be greater than 10 TRX
- User can withdraw profit of a deposit if he has a new deposit after it. it means you should make a new deposit to have access to withdraw the previous deposit profit
There are two types of reinvesting:
- Reinvest Dividends
- User can reinvest dividends only once a day
- Reinvest amount will be calculated based on dividends of the investment. It means when you earn 135% only 35% reinvested and the user should withdraw 100% (capital investment).
- Reinvest Referrals
- User can reinvest referrals only once a day
- Reinvest amount is match bonus amount of referrals
ROICITY SMART-CONTRACT FUNCTIONS
- Constructor: initial owner and token address, deposit plan, referrals plan
- Function: nothing
- _payout: calculate dividends based on withdrawing and reinvest
- _updateTotalPayoutWithdraw: update user profit for withdraw
- _updateTotalPayoutReinvest: update user profit for reinvest
- _refPayout: calculate referral commissions
- _setUpline: set user upline
- sendRewards: send token rewards for a deposit
- deposit: make a new deposit
- withdraw: transfer dividends to user wallet
- reinvestDividends: reinvest dividends
- reinvestRef: reinvest referral commissions
- payoutOf: return user available dividends
- payoutOfReinvest: return user dividends for reinvesting
- payoutOfForWithdraw: return user dividends for withdrawing
- BalanceOfTokenInContract: return balance of token in contract
- tokenTransfer: transfer token from contract to user
- userInfo: return user info
- contractInfo: return contract info
- investmentsInfo: return user investments info
- getTRXBalance: return contract balance
- seperatePayoutOf: return available dividends of each deposit separately