- Created a Token contract which mints and transfers tokens between wallets with pausable access control
- Created a Stakeable contract which allows user to stake and unstake tokens with the following conditions:
i) User cannot withdraw tokens within the time lock of 2 hours
ii) 0.2% of fee will be sent to the treasury of the contract in every deposit - Coveragae is tested through Stakeable_test and Token_test
Potential Threats to token interaction:
- Overflow and Underflow vulnerabilities : Used Safe Math library of Openzeppelin to avoid this
- Unproteced function vulnerabilities : Used Ownable of Openzeppelin to restrict access