Ethereum 2.0 Specifications
Go to file
Alex Beregszaszi ebba752012
Upgrade to Solidity 0.6.11 (#39)
Also update binary output due to metadata change.
2020-08-13 21:02:56 +01:00
lib Add unit test and fuzzing against Vyper (#20) 2020-05-14 20:58:48 +01:00
tests Remove some warnings in tests (#32) 2020-05-15 19:25:45 +01:00
.gitattributes Add .gitattributes with Solidity 2020-04-15 14:37:41 +01:00
.gitignore Introduce build directory for artifacts (#31) 2020-05-15 18:23:58 +01:00
.gitmodules Add unit test and fuzzing against Vyper (#20) 2020-05-14 20:58:48 +01:00
AUTHORS Add authors file (#33) 2020-05-15 19:26:29 +01:00
LICENSE Genesis 2020-04-15 00:32:40 +01:00
Makefile Introduce build directory for artifacts (#31) 2020-05-15 18:23:58 +01:00
README.md Update README to reflect the current status (#37) 2020-06-23 22:41:20 +01:00
circle.yml Upgrade to Solidity 0.6.11 (#39) 2020-08-13 21:02:56 +01:00
deposit_contract.json Upgrade to Solidity 0.6.11 (#39) 2020-08-13 21:02:56 +01:00
deposit_contract.sol Upgrade to Solidity 0.6.11 (#39) 2020-08-13 21:02:56 +01:00
shell.nix Add unit test and fuzzing against Vyper (#20) 2020-05-14 20:58:48 +01:00

README.md

eth2-deposit-contract

This is a port of the Vyper Eth 2.0 deposit contract to Solidity.

The original motivation was to run the SMTChecker and the new Yul IR generator option (--ir) in the compiler.

As of June 2020, this contract (the version tagged as r1) has been verified and is considered for adoption. See this blog post for more information.

Using this with the tests

  1. Create the deposit_contract.json by running make (this requires solc to be in the path)
  2. Download eth2.0-specs
  3. Replace eth2.0-specs/deposit_contract/contracts/validator_registration.json with deposit_contract.json
  4. In the eth2.0-specs directory run make install_deposit_contract_tester to install the tools needed (make sure to have Python 3.7 and pip installed)
  5. Finally in the eth2.0-specs directory run make test_deposit_contract to execute the tests

The Makefile currently compiles the code without optimisations. To enable optimisations add --optimize to the solc line.

Running randomized dapp tests:

Install the latest version of dapp by following the instructions at dapp.tools. Then run

make test