This contract enables depositing to the ETH2 Deposit Contract multiple times in a single transaction.
This project uses Hardhat.
- Clone the repository
npm install
npx hardhat compileRun the full test suite against the built-in Hardhat network:
npm test
# or
npx hardhat testStart a local Hardhat node, then deploy or interact with it:
npx hardhat nodeDeployment is handled by scripts/deploy.js, which deploys BatchDeposit,
waits for confirmations, and verifies the contract on Etherscan. Supported
networks are configured in hardhat.config.js (mainnet, hoodi, holesky).
npx hardhat run scripts/deploy.js --network <network>The script reads RPC URLs, private keys, and the Etherscan API key from
environment variables (see .env):
MAINNET_RPC_URL/MAINNET_PRIVATE_KEYHOODI_RPC_URL/HOODI_PRIVATE_KEYHOLESKY_RPC_URL/HOLESKY_PRIVATE_KEYETHERSCAN_API_KEY
The supported assertion libraries are the chai
assertion library and hardhat-chai-matchers
(bundled with @nomicfoundation/hardhat-toolbox). Tests are written with
Mocha.
You can find the tests under the test folder and run them all with npm test.
Run code coverage with:
npm run coverage
# or
npx hardhat coveragenpm run formatRefer to https://github.com/crytic/solc-select
Refer to https://github.com/crytic/slither