Operators
list, a node operator must generate deposit data for the number of validators it is planning to run and submit the merkle root of this data, along with the merkle proof, to be approved by the protocol governance (e.g. DAO or multisig). More details can be found in the node operator onboarding guide.addOperator
function of the PoolValidators contract, which requires passing the address of the node operator, a merkle root of the deposit data for all the keys, as well as its merkle proof. commitOperator
function in the PoolValidators contract, the node operator that has been added to the Operators
list by the Admin will signal to the Oracles
about its readiness to host the validators. The Oracles
will not allocate any ETH from the Pool contract to the node operator's keys until commitOperator
has been called.Operators
list, DAO or the operator itself must call the removeOperator
function of the PoolValidators contract, which requires passing only the address of the node operator. Oracle
role can register a new validator. Oracles
are automated entities that run off-chain and listen to the Pool's events. As soon as there is enough ETH collected, the following sequence of events occurs:Oracles
will submit a vote containing the next deposit data (previously registered by the Operators
using the StakeWise CLI) to the Oracles contract. registerValidator
function in the PoolValidators contract to verify the deposit data is contained in the operator's merkle root that has been submitted by the operator during the application process. This is necessary to ensure that the ETH allocations are given to the correct node operators and that the ETH allocations are made only to keys with correct withdrawal credentials. registerValidator
function in the Pool contract to register the validator by sending ether and the verified deposit data to the ETH2 Validator Registration Contract.