gnosis/pm-contracts

Name: pm-contracts

Owner: GNOSIS

Description: Collection of smart contracts for the Gnosis prediction market platform.

Created: 2017-05-19 12:38:57.0

Updated: 2018-05-21 15:26:12.0

Pushed: 2018-05-23 16:00:55.0

Homepage: https://www.gnosis.pm

Size: 4887

Language: Solidity

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Gnosis Prediction Market Contracts

Logo

Build Status

Codecov badge

Greenkeeper badge

Slack Status

Collection of smart contracts for the Gnosis prediction market platform (https://www.gnosis.pm). To interact with those contracts have a look at (https://github.com/gnosis/pm-js/).

Install
Install requirements with npm:
install
Testing and Linting
Run all tests (requires Node version >=7 for async/await, and will automatically run TestRPC in the background):
test
Run all tests matching a regexp pattern by setting the TEST_GREP environment variable
_GREP='short selling' npm test
Lint the JS
run lint
Compile and Deploy

These commands apply to the RPC provider running on port 8545. You may want to have TestRPC running in the background. They are really wrappers around the corresponding Truffle commands.

Compile all contracts to obtain ABI and bytecode:
run compile
Migrate all contracts required for the basic framework onto network associated with RPC provider:
run migrate
Network Artifacts
Show the deployed addresses of all contracts on all networks:
run networks

Command line options for truffle can be passed down through NPM by preceding the options list with --. For example:

Clean network artifacts:
run networks -- --clean

Network artifacts from running migrations will contain addresses of deployed contracts on the Kovan and Rinkeby testnets.

Take network info from networks.json and inject it into contract build artifacts. This is done prepublish as well.
run injectnetinfo
Extract all network information into networks.json.

Be aware that this will clobber networks.json, so be careful with this command:

run extractnetinfo
Gas Measurements
Log gas measurements into build/gas-stats.json
run measuregasstats
Documentation

There is a copy version hosted online at https://gnosis-pm-contracts.readthedocs.io/en/latest/

Locally build docs for readthedocs

Will install Sphinx and Solidity Domain for Sphinx:

ocs
install -r requirements.txt
 html
Security and Liability

All contracts are WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

License

All smart contracts are released under GPL v.3.

Contributors

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.