Skip to content

Module Development Task: Lockup Volume Restrictions #287

@CPSTL

Description

@CPSTL

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

  1. Module specs are fulfilled
  2. Module is implemented using appropriate module interface
  3. Module is tested with >95% branch coverage
  4. Module is delivered before deadline
  5. Module does not present any bugs.
  6. Volume restriction until date
  7. Volume restriction by time period
  8. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Module developmentUsed when new module is createdopen-source communitySomething suggest or developed by external developers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions