Skip to content
OpenST is a framework for building token economies on Ethereum
Branch: develop
Clone or download
abhayks1 Merge pull request #170 from schemar/gnosis_safe_submodule
Update gnosis-safe to point to our fork
Latest commit 77e5b57 Mar 15, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
contracts PR Feedback changes Mar 1, 2019
external/gnosis Delayed recovery module firts/draft implementation. Jan 30, 2019
images Test directory structure clean up. Jan 8, 2019
test documentation update eip20TokenConfig Mar 1, 2019
.gitignore Apply review comments. Feb 8, 2019
.soliumignore Initial version of README. Configuration files, build files, package.… Feb 7, 2019
.travis.yml Changelog for 0.10.0 version. Feb 7, 2019
LICENSE Applies Martin's review comments. Sep 14, 2018
truffle.js Initial version of README. Configuration files, build files, package.… Feb 7, 2019

OpenST Contracts - Empowering Decentralized Economies

OpenST Contracts is a collection of smart contracts that enable developers to program Token Economies.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.


Project requires node and npm to be installed on dev machine.


In case of fresh clone, use --recursive-submodules option while cloning:

git clone --recursive-submodules

To update git submodules for already cloned repos, run:

git submodule update --init --recursive


Install npm packages, by running:

npm install

Afterwards, add ./node_modules/.bin to PATH environment variable:

export PATH=./node_modules/.bin:${PATH}

Compiling the contracts

The following npm script compiles updated contracts from the last call:

npm run compile

, to compile all contracts, run:

npm run compile-all



In openst-contracts to lint solidity files we use Ethlint. The following npm script lints all contracts within ./contracts directory:

npm run lint:sol

Ethlint is able to fix a subset of rules. The following npm script fixes (only a subset of rules) contracts within ./contracts directory:

npm run lint:sol:fix


ESLint is used to lint js files.

To lint all js files within ./test directory, run:

npm run lint:js

ESLint is able to fix a subset of rules. To fix js files, run:

npm run lint:js:fix

Running the tests

Before running the tests run ganache-cli by:

npm run ganache-cli

Run tests by calling:

npm run test


Please read for details on our code of conduct, and the process for submitting pull requests to us.


We use SemVer for versioning. For the versions available, see the tags on this repository.


See also the list of contributors who participated in this project.


This contracts are licensed under the Apache License Version 2.0 - see the file for details.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.