Project Wyvern Logo

Project Wyvern Ethereum Smart Contracts

https://badges.frapsoft.com/os/mit/mit.svg?v=102 Build Status Coverage Status

Synopsis

Autonomously governed decentralized digital asset exchange.

These are the Ethereum smart contracts for the Wyvern Protocol, the Wyvern ERC20 token (WYV), and the Wyvern DAO. For general information on the Wyvern project, please see the website.

Deployed Contracts

Please note: correct deployed contract addresses will always be in config.json. If you wish to import this repository directly, please use that file. The addresses in Truffle build output are not necessarily accurate.

Mainnet

Wyvern Exchange

Wyvern Proxy Registry

Wyvern Token

Wyvern DAO

Rinkeby Testnet

Wyvern Exchange

Wyvern Atomicizer

Wyvern DAO Proxy

Wyvern Token Transfer Proxy

Wyvern Proxy Registry

Wyvern Token

Wyvern DAO

Development Information

Setup

Node >= v6.9.1 and Yarn required.

Before any development, install the required NPM dependencies:

yarn

Testing

Start Ethereum’s testrpc tool to provide a Web3 interface (leave this running):

yarn testrpc

Compile the latest smart contracts:

yarn compile

Run the testsuite against the simulated network:

yarn test

Make sure to lint the Solidity files once you’re done:

yarn lint

Generating Documentation

Install the dependencies:

cd doxity
yarn
cd ..

Autogenerate documentation from Ethereum Natspec using Doxity:

yarn doc

Final output will be written to docs, which will be automatically published on push to GitHub Pages at docs.projectwyvern.com.

Misc

Run automated smart contract analysis (requires Oyente and Mythril):

yarn analyze

Flatten contract source (for e.g. Etherscan verification, requires solidity-flattener to be installed):

yarn flatten

Contributing

Contributions welcome! Please use GitHub issues for suggestions/concerns - if you prefer to express your intentions in code, feel free to submit a pull request.