UMA Protocol
Documentation ๐
Our docs site is here. It contains tutorials, explainers, and smart contract documentation. If you'd like to view these docs on github instead, check out the documentation folder.
Security and Bug Bounty ๐
Please see here for details on our bug bounty.
Developer Information and Tools ๐ฉโ๐ป
For information on how to initialize and interact with our smart contracts, please see the documentation site.
Install dependencies ๐ทโโ๏ธ
You'll need the latest LTS release of nodejs and npm installed. Assuming that's done, run:
npm install
Running the linter ๐งฝ
To run the formatter, run:
npm run lint-fix
Coverage ๐
We use the solidity-coverage package to generate our coverage reports. These can be generated manually by developers. There are no regression tests or published reports. CircleCI does generate a coverage report automatically, but if you'd like to generate it locally, run:
./ci/coverage.sh core
The full report can be viewed by opening the core/coverage/index.html
file in a browser. The full report can be viewed by opening the core/coverage/index.html
file in a browser. You can also find an online version of our covarge report on coveralls.
Style Guide ๐บ
See STYLE.md.
Roadmap for the DVM ๐ฃ
Version 1 of the UMA Token and DVM have been released and launched. You can find the addresses of relevant contracts here. This version implements most of what's described in the whitepaper. Notable exceptions include:
- The voting process uses a simple modal majority. If there is no majority, the vote is retried in the next round.
- Defense against parasitic usage as described in section 8.1.
- The buyback-and-burn mechanism is currently run by the UMA Foundation rather than other automated mechanisms mentioned in section 5.2.
The goal is to bring the implementation closer to the whitepaper in future DVM upgrades. Please see the documentation site for more details.