Operatorslist, 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.
addOperatorfunction 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.
commitOperatorfunction in the PoolValidators contract, the node operator that has been added to the
Operatorslist by the Admin will signal to the
Oraclesabout its readiness to host the validators. The
Oracleswill not allocate any ETH from the Pool contract to the node operator's keys until
commitOperatorhas been called.
Operatorslist, DAO or the operator itself must call the
removeOperatorfunction of the PoolValidators contract, which requires passing only the address of the node operator.
Oraclerole can register a new validator.
Oraclesare 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:
registerValidatorfunction 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.