GithubHelp home page GithubHelp logo

joincolony / colonysale Goto Github PK

View Code? Open in Web Editor NEW
27.0 15.0 5.0 358 KB

Colony Token and Crowdsale Contracts

Home Page: https://colony.io/

License: GNU General Public License v3.0

JavaScript 100.00%
ethereum solidity smart-contracts blockchain token

colonysale's Introduction

Colony Logo

Colony Token and Crowdsale contracts

About

This is the repository for the postponed Colony token sale.

If you're curious, you can read the blog post about why we postponed the sale.

For a description of the sale contract and its design, have a look at Elena's post on the Token Sale Contract and the CLNY token.

The contracts contained in this repo have been released under a GPL-3.0 license.

It should go without saying, but the code contained herein is designed to handle potentially large amounts of Ether, and as such should be deployed at your own risk and sole responsibility.

If you've found a bug, please reach out to us here on github or by email.

Install

git clone https://github.com/JoinColony/colonySale.git
yarn global add mkdirp [email protected]
yarn --pure-lockfile
git submodule update --init --recursive --remote

Contracts

The CLNY Token contract is defined in contracts/Token.sol and contracts/EtherRouter.sol.

The Token Sale contract is defined in contracts/ColonyTokenSale.sol

The math, erc20 and a significant part of the token contracts have been reused from the Dappsys library.

Testing

To run all tests:

gulp test:contracts

To run tests with code coverage using solidity-coverage:

gulp test:contracts:coverage

To lint contracts using Solium

gulp lint:contracts

colonysale's People

Contributors

area avatar elenadimitrova avatar gichiba avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

colonysale's Issues

Migrations.sol constructor call has more params than in definition

In colonySale/contracts/Migrations.sol, in function upgrade, line 20, the call to the Migrations constructor has a parameter, and it doesn't use the "new" keyword. Is this allowed, or am I missing something? If this is allowed, how is the parameter used by the constructor?

CLNY Token price

1000 CLNY per ETH
1000 CLNY Wei per 1 Wei (ETH)

Minimum investment should be set to 10 finney

CLNY token issuance

Token supply is calculated upon sale completion where sold tokens constitute 51% of the total and remaining 49% is retained as defined in #6

CLNY token vesting

The point of vesting is that if someone stops working on the project, only the tokens vested to that point are receivable, the remainder are forfeit.

Foundation allocations will be subject to 24 months vesting with 6 month cliff. i.e. A quarter of tokens vest after 6 months, with the remainder vesting either monthly, or on a per block basis thereafter (whichever is technically easier).

Note: Investors (which includes those who have forfeited partial salary) have purchased in advance and should be treated the same as other purchasers. Vesting does not apply for them.

Sale minimum amount and refund mechanism

The token sale will be considered a failure if less than $5m is raised.

If less than $5m is raised, then we will write a contract which allows the collected ETH to be reclaimed by CLNY holders by burning their CLNY.

Geth and parity setup/testing

It seems like there is a lot of manual set up for the geth and parity clients before you can make the call to gulp geth/parity. It would be great to know some of the setup that is needed to have these clients run smoothly and perhaps automate the process when making those calls.

Preallocation of tokens

The retained 49% of token supply will be allocated as follows:

Early investors (5%)
No vesting. Addresses and % allocations TBD.

Team (10%)
Allocations in lieu of salary: No vesting. Addresses and amounts TBD.
Remainder subject to 24 months vesting with 6 month cliff.

Foundation (15%)
Subject to 24 month vesting with 6 month cliff.

Strategy Fund (19%)
No vesting.

Practically therefore that means there are three kinds of accounts/recipients:

Receive a specific number of CLNY tokens. No vesting.
Receive a percentage of the total amount of CLNY created. No Vesting.
Receive a percentage of the total amount of CLNY created. Vesting.
Addresses and accounts will follow in due course.

Sale soft cap

The soft cap value will be set to $15m equivalent in ETH based upon price at the point of deployment of the sale contract. (i.e. a couple of days before the sale goes live) This soft cap affects sale duration, see #2

Token sale start block and duration

  • The sale starts at a predefined block
  • The sale ends after 14 days (60480 blocks) or post-soft-cap-period after the soft cap is reached, whichever comes first
    post-soft-cap-period = time to reach the soft cap, or 3 hours (540 blocks), whatever is greater, with 24-hours (4320 blocks) being the max possible time period after.

Upgradable CLNY token

The implementation of the common token will need to be upgradable. The upgrade needs to be locked down via a MultiSig owner contract to allow for distribution of control.

After we initially issue the common tokens in the token sale, there will be additional functionality to be implemented (e.g. payouts, freezing tokens when a payout has been triggered). Therefore we'll need the ability of upgrading this implementation in-place i.e. without changing the Token address.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.