ed8e1cc9aa
Also update binary output due to metadata change. Agreed by all authors, including @chriseth, @MrChico, and @axic. |
||
---|---|---|
lib | ||
tests | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
AUTHORS | ||
LICENSE | ||
Makefile | ||
README.md | ||
circle.yml | ||
deposit_contract.json | ||
deposit_contract.sol | ||
shell.nix |
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
- Create the
deposit_contract.json
by runningmake
(this requiressolc
to be in the path) - Download eth2.0-specs
- Replace
eth2.0-specs/deposit_contract/contracts/validator_registration.json
withdeposit_contract.json
- In the
eth2.0-specs
directory runmake install_deposit_contract_tester
to install the tools needed (make sure to have Python 3.7 and pip installed) - Finally in the
eth2.0-specs
directory runmake 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