How it ties to a minipool
The registry relies on Rocketpool’s contracts to check for each validator’s associated minipool, confirm whether the minipool is active (Staking), and determine the authorized operators (the node operator and the withdrawal address). The registry itself does not remap keys to minipools and operators; Rocketpool contract data is checked at the time of the relevant call.Registering validators
Registration can currently be done on Hoodi etherscan using the “Write as Proxy” tab on the RocketMinipoolRegistry contract (address ). Mainnet deployment is planned in the near future. Call:- The pubkey must be associated with an active Rocketpool minipool.
- The validator must not already be registered.
- The caller must be the node operator or the withdrawal address for that minipool.
Freezing & unfreezing
- Freeze: The freeze oracle can call
freeze(bytes[] valPubKeys)
for validators that violate protocol rules. Frozen validators are considered opted out. - Unfreeze: Anyone can call
unfreeze(bytes[] valPubKeys)
and payunfreezeFee * numberOfKeys
. The current fee and receiver can be checked on-chain. The owner can also override withownerUnfreeze(bytes[] valPubKeys)
.
Deregistration
Deregistration is a two-step process:- Call
requestValidatorDeregistration(bytes[] valPubKeys)
to start the timer. - After
deregistrationPeriod
has passed, callderegisterValidators(bytes[] valPubKeys)
to complete it. Validators must not be frozen.
getEligibleTimeForDeregistration(bytes pubkey)
returns the timestamp when a validator can be deregistered. A value of 0 indicates that no deregistration request has been made for the key.