This is a rewrite of the official beacon chain deposit contract. Eth 2.0 deposit contract.
The following things were changed:
- Upgraded to Solidity 0.8.9
- Deposit is made via ERC20 tokens instead of native ETH
- Deposits can be done in batches
- Contract can be made upgradeable
- Contract can be made claimable (allowing to claim mistakenly sent third-party tokens back)
- Contract can be made pausable
- Withdrawals functionality was added
yarn compile
yarn test