<a href="https://gitcoin.co/explorer/?q=https://github.com/ProjectWyvern/wyvern-ethereum" title=”Push Open Source Forward”> <img src='https://gitcoin.co/static/v2/images/promo_buttons/slice_01.png' alt=’Browse Gitcoin Bounties’ width="267px" height="52px"/>
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.
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.
Wyvern Exchange (latest, by ENS)
Wyvern Token Transfer Proxy (latest, by ENS)
Wyvern Proxy Registry (latest, by ENS)
Node >= v8 and Yarn required.
Before any development, install the required NPM dependencies:
yarn
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
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.
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
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.