@levelk/pm-contracts v1.2.0
Gnosis Prediction Market Contracts
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:
npm install @gnosis.pm/pm-contractsTesting and Linting
Run all tests (requires Node version >=7 for async/await, and will automatically run TestRPC in the background):
npm testRun all tests matching a regexp pattern by setting the TEST_GREP environment variable
TEST_GREP='short selling' npm testLint the JS
npm run lintCompile 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:
npm run compileMigrate all contracts required for the basic framework onto network associated with RPC provider:
npm run migrateNetwork Artifacts
Show the deployed addresses of all contracts on all networks:
npm run networksCommand line options for truffle can be passed down through NPM by preceding the options list with --. For example:
Clean network artifacts:
npm run networks -- --cleanNetwork 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.
npm run injectnetinfoExtract all network information into networks.json.
Be aware that this will clobber networks.json, so be careful with this command:
npm run extractnetinfoGas Measurements
Log gas measurements into build/gas-stats.json
npm run measuregasstatsDocumentation
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:
cd docs
pip install -r requirements.txt
make htmlAudits
- Security Audit: by Alexey Akhunov
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 LGPL v.3.
Contributors
- Stefan George (Georgi87)
- Martin Koeppelmann (koeppelmann)
- Alan Lu (cag)
- Roland Kofler (rolandkofler)
- Collin Chin (collinc97)
- Christopher Gewecke (cgewecke)
6 years ago
