Why use this method?
Opting-in validators through the RocketMinipool Registry is ideal for validators that already exist through Rocket Pool and want to earn additional rewards.How the Registry integrates with Rocket Pool
The registry relies on Rocket Pool’s contracts to check for each validator’s associated minipool and determine the authorized operators. The registry itself does not remap keys to minipools and operators; Rocket Pool contract data is checked at the time of the relevant call.Registering validators
Registering using a withdrawal address
Simple registration can currently be executed on Hoodi etherscan from a Rocket Pool withdrawal address 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 Rocket Pool minipool.
- The validator must not already be registered.
- The caller must be the withdrawal address for that minipool.
Registering using a signature from your node address
Users can also register by authorizing an executor with a signature from their node address, signed locally via Smart Node. Full front-end support for generating these signatures will be available soon.⚠️ Caution: Do not use your node address in a web browser For node security, it is best practice to avoid putting node address keys into web browsers. When registering via a browser, use your withdrawal address instead, or perform the action locally via so keys never touch a website.
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
deregistrationPeriodhas 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.