mirror of
https://github.com/ethereum/consensus-specs.git
synced 2026-02-02 03:15:11 -05:00
bc9b7ccfd3a318a1db9bc406ca6c174348065851
Also use python:3.8.1 docker image.
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
- Create the
deposit_contract.jsonwith runningmake(this requiressolcto be in the path) - Download eth2.0-specs
- Replace
eth2.0-specs/deposit_contract/contracts/validator_registration.jsonwithdeposit_contract.json - In the
eth2.0-specsdirectory runmake install_deposit_contract_testerto install the tools needed (make sure to have Python 3.7 and pip installed) - Finally in the
eth2.0-specsdirectory runmake test_deposit_contractto execute the tests
The Makefile currently compiles the code without optimisations. To enable optimisations add --optimize to the solc line.
Languages
Python
98.3%
Solidity
1.2%
Makefile
0.5%