Aim:- Use hardhat for developing, testing and deploying any contract of your choice. You must create hardhat tasks to deploy and verify the contract.
Vesting.sol
Test Cases:- Test-cases for Vesting
- addVestingTokens Function Test Cases
✔ User must add some tokens
✔ Slice Period must be less than Vesting period
✔ Event emission of DepositTokens
✔ Balance Updation of User after token vested
✔ Balance Updation of Contract after token vested - CalculateVestedAmount Function test cases
✔ All tokens must be return after vesting time ends
✔ No token should be vested before first interval
✔ No tokens should be relased after all tokens get released
✔ Event emission for VestedTokens - Withdraw function test cases
✔ Non benificier can't withdraw
✔ Only benificiar can withdraw
✔ Withdrawable amount must be more than zero to withdraw
✔ User balance should be increse after withdraw
✔ Event Emission for WithdrawTokens