Comment on page
How will smart contracts operate with the rewards of users?
Smart contracts are contracts between the contract creator and the users or recipients. Since this agreement is written in code and baked into the blockchain, it becomes irreversible and immutable.
Smart contracts automate the execution of the agreement and eliminate the need for intermediaries. Users can automate the workflow and be sure of the conclusion after satisfying the specific conditions in the contract.
It protects users’ rewards and an ethical reward allocation by ensuring release only after the successful execution of the contract. So, the Naplozz app does release only the tokens users deserve after their performance level.
In the totalSupply.sol we basically mint our tokens using OpenZepplin Library ERC20 token builder and provide the supply of 200 Million tokens.
This supply of 200 Million will be fixed and cannot be changed throughout the project. There is a mint function in the constructor that mints the total supply of tokens to the Blockchain with the name “Naplozz” and symbol “NAP”.
This token has 18 decimals as most of the eth-based tokens have.
The Ecosystem Pool has a support pool called Growth Pool and all together they contain 36M tokens as finite. These pools are the primary pools for our token, used for rewarding tokens to the users who purchase subscriptions and other items on our web and mobile app. The ecosystem pool will be using the Naplozz Compliance metric which is based on the average account performance, to check reward eligibility for the subscribers.
Using this contract users can stake their earned tokens. This contract will provide Interest on the user's staked tokens, Users can unstake their tokens by using the claim function at any time when they want, and the contract will release the staked tokens with earned interest on them.
The security/pausable.sol and access/Ownable.sol libraries are imported into this contract from OpenZeppelin contracts. These contracts are then inherited into the constructor of the Staking contract(named FixedStaking in the contract).
It has an implementation of Staking tokens, mapping for staked tokens, also has variables that will give total staked tokens as well, a claim function to take the gain on their staked tokens, and also contract has a pause function to pause the staking function.
Once the contract is paused no one can stake as well unstake the tokens, once the contract is unpaused users can unstake and claim their tokens respectively and they get their staking reward. The functionality of Pause and Unpause are Only owner i.e. the address who deploys the contracts will only be able to pause or unpause the stacking contract.
Function stake takes an integer type as the input and validates the amount by checking the balance of the user/the person who is calling the contract.
For getting back the staked tokens users have to trigger the claim function which validates the staking and unstaking time and claims as per the result of validation and as per the total staking time the rewards are also transferred at the same time via the claim function only.
In this Contract, there are two mappings:- One is staked (public) and the other one is stakedFromTS (Private).
There are two types of vesting in this project.
1. Performance-based Vesting (mentioned in the Ecosystem Pool already), will determine the number of tokens that can be unlocked by the performance users achieve while doing their tasks on our platform.
The determining rates are as follows.
- Diamond Quality: 95 to 100% monthly results – 100% of the tokens can be unlocked.
- Platina Quality: 90 to 95% monthly results - 75% of the tokens can be unlocked.
- Gold Quality: 85 to 90% monthly results - 50% of the tokens can be unlocked.
2. Yearly-based Vesting will help us to vest our tokens for the long term. In this way, we limit the maximum achievable amount of tokens by the years the subscribers spend with us.
- Up to one year of a subscription the subscriber’s account will be eligible only to get back 25% of the full value of their subscription fee in NAP tokens every month. - In the second year, this subscriber’s account will be eligible to get back 50% of the full value of the subscription fee in NAP tokens every month. - In the third year, this subscriber’s account will be eligible to get back 75% of the full value of the subscription fee in NAP tokens every month. - And in the fourth year, this subscriber’s account will finally be eligible to get back 100% of the full value of the subscription fee in NAP tokens every month. We have to mention here that the yearly vesting is related to the performance vesting, so the eligibility above is projected to a maximum level of performance.
Product, quality, and Documentum storing contracts will be implemented later on with their specifics.