-
Notifications
You must be signed in to change notification settings - Fork 152
Description
Module Development Task
Lockup Volume Restrictions Module
Module Type | Bounty | Completion deadline |
---|---|---|
Transfer Manager | TBD | 14 days to complete once task is confirmed by external developer(s). |
Short description
A vesting schedule but the investor address needs to hold the tokens. As an Issuer, I want to be able to establish a Lockup period for my Affiliates and Employees so that they cannot materially impact the Security Token Price by selling all their Security Tokens in a short period of time.
Bounty Requirements
- Module specs are fulfilled
- Module is implemented using appropriate module interface
- Module is tested with >95% branch coverage
- Module is delivered before deadline
- Module does not present any bugs.
- Volume restriction until date
- Volume restriction by time period
- Volume restriction by transaction
Volume restriction until date
Essentially this is a vesting schedule but the investor address needs to hold the tokens.
This can be implemented as TM module with current architecture.
Implementation
Vesting schedule for each investor is stored in the TM
require(amount <= balanceOf(from) - lockedAmount(from));
Example
This applies to staff and current shareholders. For example, if the total number of tokens issued to staff John Doe is 500,000 these are locked-up and released over 4 years.
Prior to 31/12/2019 John Doe cannot transfer any tokens
After 31/12/2019 John Doe is allowed to transfer 25% or 125,000 tokens
After 31/12/2020 John Doe is allowed to transfer 50% or 250,000 tokens
After 31/12/2021 John Doe is allowed to transfer 75% or 375,000 tokens
After 31/12/2022 John Doe is allowed to transfer 100% or 500,000 tokens
Detailed Module Specs (Wireframe Chart)
Wireframe Link: https://www.lucidchart.com/invitations/accept/9a7e8e83-81c7-4f80-8e9e-c530fa8f2a63