Ethereum 2.0 Specifications
Go to file
Alex Beregszaszi 2ac62c4b17
Lock in the generated deposit_contract.json and compare it on CircleCI (#29)
2020-05-15 22:23:27 +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 Use less constants and fold the expressions into require statements (#24) 2020-05-15 17:46:38 +01:00
circle.yml Lock in the generated deposit_contract.json and compare it on CircleCI (#29) 2020-05-15 22:23:27 +01:00
deposit_contract.json Lock in the generated deposit_contract.json and compare it on CircleCI (#29) 2020-05-15 22:23:27 +01:00
deposit_contract.sol Fix typo in Natspec (#35) 2020-05-15 21:07:17 +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 just for fun port of the Vyper Eth 2.0 deposit contract to Solidity.

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

THIS IS NOT THE OFFICIAL DEPOSIT CONTRACT. NOT SUITABLE FOR ANY USE

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