Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gnosis/pm-contracts
Collection of smart contracts for the Gnosis prediction market platform.
https://github.com/gnosis/pm-contracts
ethereum gnosis prediction-markets
Last synced: 5 days ago
JSON representation
Collection of smart contracts for the Gnosis prediction market platform.
- Host: GitHub
- URL: https://github.com/gnosis/pm-contracts
- Owner: gnosis
- License: lgpl-3.0
- Created: 2017-05-19T12:38:57.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-06-09T19:01:28.000Z (7 months ago)
- Last Synced: 2024-12-27T03:04:54.362Z (7 days ago)
- Topics: ethereum, gnosis, prediction-markets
- Language: Solidity
- Homepage: https://www.gnosis.pm
- Size: 7.64 MB
- Stars: 177
- Watchers: 17
- Forks: 57
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Gnosis Prediction Market Contracts
==================================[![Logo](https://raw.githubusercontent.com/gnosis/pm-contracts/master/assets/logo.png)](https://gnosis.pm/)
[![Build Status](https://travis-ci.org/gnosis/pm-contracts.svg?branch=master)](https://travis-ci.org/gnosis/pm-contracts)
[![Codecov badge](https://codecov.io/gh/gnosis/pm-contracts/branch/master/graph/badge.svg)](https://codecov.io/gh/gnosis/pm-contracts/)
[![Greenkeeper badge](https://badges.greenkeeper.io/gnosis/pm-contracts.svg)](https://greenkeeper.io/)
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:
```bash
npm install @gnosis.pm/pm-contracts
```Testing and Linting
-------------------
### Run all tests (requires Node version >=7 for `async/await`, and will automatically run TestRPC in the background):```bash
npm test
```### Run all tests matching a regexp pattern by setting the `TEST_GREP` environment variable
```bash
TEST_GREP='short selling' npm test
```### Lint the JS
```bash
npm 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](http://truffleframework.com/docs/advanced/commands).### Compile all contracts to obtain ABI and bytecode:
```bash
npm run compile
```### Migrate all contracts required for the basic framework onto network associated with RPC provider:
```bash
npm run migrate
```Network Artifacts
-----------------### Show the deployed addresses of all contracts on all networks:
```bash
npm run networks
```Command line options for `truffle` can be passed down through NPM by preceding the options list with `--`. For example:
### Clean network artifacts:
```bash
npm 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.
```bash
npm run injectnetinfo
```### Extract all network information into `networks.json`.
Be aware that this will clobber `networks.json`, so be careful with this command:
```bash
npm run extractnetinfo
```Gas Measurements
----------------### Log gas measurements into `build/gas-stats.json`
```bash
npm 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](http://www.sphinx-doc.org/en/stable/) and [Solidity Domain for Sphinx](https://github.com/cag/sphinxcontrib-soliditydomain/):
```bash
cd docs
pip install -r requirements.txt
make html
```Audits
---------
- [Security Audit](docs/audit/Gnosis_Audit_Report.pdf): by Alexey AkhunovSecurity 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 LGPL v.3.Contributors
------------
- Stefan George ([Georgi87](https://github.com/Georgi87))
- Martin Koeppelmann ([koeppelmann](https://github.com/koeppelmann))
- Alan Lu ([cag](https://github.com/cag))
- Roland Kofler ([rolandkofler](https://github.com/rolandkofler))
- Collin Chin ([collinc97](https://github.com/collinc97))
- Christopher Gewecke ([cgewecke](https://github.com/cgewecke))