Skip to content
UMA Protocol Running on Ethereum
JavaScript Solidity CSS Shell Other
Branch: master
Clone or download
mrice32 Update prettier (#757)
Signed-off-by: Matthew Rice <>
Latest commit b898926 Nov 14, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Remove outdated config options in Voting.js (#750) Nov 13, 2019
.github Disable DCO for members of UMA team (#440) May 21, 2019
common Add expiry and settlement functions to ViewPositions button (#702) Sep 18, 2019
core Update prettier (#757) Nov 14, 2019
documentation Table indents (#754) Nov 14, 2019
sponsor-dapp-v2 Update prettier (#757) Nov 14, 2019
voter-dapp Fix incorrect loop causing edit state to not get reset (#600) Aug 20, 2019
.gitignore Add Docs Site (#723) Oct 30, 2019
.prettierrc Add remaining data sources to AVS (#708) Oct 21, 2019
.solhintignore Stab at steps to set up automated voting system (#516) Jun 26, 2019
LICENSE Update LICENSE (#354) Mar 25, 2019 Update (#747) Nov 9, 2019 Update style guide (#18) Oct 11, 2018
playbook.yml Add Docs Site (#723) Oct 30, 2019

UMA Protocol


  • Slack: to join, use this invite link. Please use Slack for all technical questions and discussions.
  • Email: for anything non-technical.


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 report all security vulnerabilities through our HackerOne bug bounty page. Please run all security tests against the testnet deployment or a local Ganache to preserve the integrity of the mainnet deployment.

Developer Information and Tools

Solhint - Solidity Linter

Find more information about solhint here. There are plugins available to see solhint errors inline in many IDEs.

  • Make sure you've run npm install.
  • To run over all contracts under contracts/:
$(npm bin)/solhint contracts/**/*.sol

Running Prettier JS Formatter

To run prettier over the .js files in the repo, run:

npm run prettier


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:

npm run coverage

The full report can be viewed by opening the coverage/index.html file in a browser.

Style Guide


Roadmap for the Oracle

The current iteration of the system relies on a centrally controlled oracle to settle financial contracts with correct prices. To provide truly universal market access, future iterations will open up the system to allow outside participation while still providing guarantees about correct behavior, even with assumptions of arbitrary (byzantine) behavior. Look forward to our second whitepaper where we outline our vision for a trustless oracle.

You can’t perform that action at this time.