{"id":28889941,"url":"https://github.com/joincolony/colonytoken","last_synced_at":"2025-06-29T13:32:48.454Z","repository":{"id":37819186,"uuid":"129098058","full_name":"JoinColony/colonyToken","owner":"JoinColony","description":"Colony Token and Vesting contracts","archived":false,"fork":false,"pushed_at":"2023-02-04T17:07:08.000Z","size":8784,"stargazers_count":4,"open_issues_count":13,"forks_count":4,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-05-02T00:21:48.433Z","etag":null,"topics":["blockchain","ethereum","smart-contracts","solidity","token"],"latest_commit_sha":null,"homepage":"https://colony.io/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JoinColony.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-04-11T13:28:06.000Z","updated_at":"2022-10-10T15:06:29.000Z","dependencies_parsed_at":"2023-02-18T18:15:25.218Z","dependency_job_id":null,"html_url":"https://github.com/JoinColony/colonyToken","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/JoinColony/colonyToken","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoinColony%2FcolonyToken","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoinColony%2FcolonyToken/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoinColony%2FcolonyToken/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoinColony%2FcolonyToken/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JoinColony","download_url":"https://codeload.github.com/JoinColony/colonyToken/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoinColony%2FcolonyToken/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261042956,"owners_count":23101778,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","ethereum","smart-contracts","solidity","token"],"created_at":"2025-06-21T00:31:35.590Z","updated_at":"2025-06-29T13:32:48.436Z","avatar_url":"https://github.com/JoinColony.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Colony Logo](./horizontal_color.png)\n\n# Colony Token and Vesting contracts\n\n## About\n\nThis is the repository for the Colony token (CLNY) and Token Vesting contracts.\n\nThe contracts contained in this repo have been released under a GPL-3.0 license. \n\nIt 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.  \n\nIf you've found a bug, please reach out to us here on github or by [email](mailto:hello@colony.io).\n\n## Install\n\n```\ngit clone https://github.com/JoinColony/colonyToken.git\ncd colonyToken\nnpm ci\ngit submodule update --remote --init\nnpm run provision:multisig:contract\n```\n\n## Contracts\n\n[Token.sol](./contracts/Token.sol)\nCLNY Token contract based on an ERC20 token with `mint` and `burn` functionality. The Token is based on the `DSToken` implementation from [Dappsys library](https://github.com/dapphub/dappsys). Additionally implements a one-way unlock switch to open the token to transfers to all token holders. When deployed initially, token transfers will only be allowed for the Colony MultiSig and Vesting contracts, see `TokenAuthority` contract for details. \n\n[TokenAuthority.sol](./contracts/TokenAuthority.sol)\nActs as the Token Authority while CLNY Token is locked for token transfers. Implements `DSAuthority` to allow Colony MultiSig, Vesting and other necessary contracts to be able to transfer tokens for the purposes of pre-allocating tokens and token grants as well as the general functioning of the Colony Network. This is an immutable set of permissions which can be reviewed in the contract itself.\n\n[VestingSimple.sol](./contracts/VestingSimple.sol)\nStores and manages the CLNY Token grants via the following functions:\n\nSecured to contract owner only:\n* `setGrant` - Adds a new token grant for a given user. Only one grant per user is allowed. The grant may be increased or decreased after the fact, but not less than any amount already claimed. Grants may also be added after activation, with vesting calculated from the time of activation.\n\n* `setGrants` - Call `setGrant` on an array of addresses and values. A convenience function.\n\n* `activate` - Allows users to begin claiming token grants, with vesting calculated from the timestamp of the activating transaction.\n\n* `withdraw` - Withdraw any excess tokens from the contract and return them to the contract owner.\n\nPublic functions:\n* `claimGrant` - Allows a grant recipient to claim their vested tokens. Errors if no tokens have vested. Note that it is advised recipients check they are entitled to claim via `getClaimable` before calling this.\n\n* `getClaimable` - Calculates the amount of tokens currently claimable by a user.\n\n## Testing\n\nTo run all tests:\n```\nnpm run test:contracts\n```\nTo run tests with code coverage using [solidity-coverage](https://github.com/sc-forks/solidity-coverage):\n```\nnpm run test:contracts:coverage\n```\nTo lint contracts using [Solium](https://github.com/duaraghav8/Solium)\n```\nnpm run lint:contracts\n```\n\n## Deployment\n\nWe use a hosted Ethereum node cluster - [Infura](https://infura.io) for deployment to main and test networks.\n\nFlattened contracts are in source control under `flattened` folder and can be generated via `npm run flatten:contracts` which uses [/solidity-steamroller](https://github.com/JoinColony/solidity-steamroller)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoincolony%2Fcolonytoken","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoincolony%2Fcolonytoken","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoincolony%2Fcolonytoken/lists"}