Stakewithus ETH Staking Contracts with EigenLayer integration.
The main differences between native ETH staking and EigenLayer restaking are:
- Validator withdrawal credentials are set to to EigenLayer smart contracts
- Users verify ETH deposits and withdrawals by comparing proofs to EigenLayer's Beacon Chain oracle
- Users have the option to restake ETH to EigenLayer Operators for additional rewards
forge install
cp .env.sample .env # and fill in values
forge test
source .env
forge script Script/Staking.s.sol:Deploy --rpc_url $RPC_HOLESKY --broadcast --verify # or RPC_MAINNET
EigenLayer Beacon Chain ETH withdrawals are queued via verifyAndProcessWithdrawals()
, which is an unpermissioned function anyone can call with a valid proof.