RioLRTOperatorRegistry
Inherits: OwnableUpgradeable, UUPSUpgradeable, RioLRTCore, RioLRTOperatorRegistryStorageV1
State Variables
strategyManager
The primary entry and exit-point for funds into and out of EigenLayer.
operatorDelegatorBeacon
The operator delegator beacon contract.
Functions
onlyOperatorManager
Require that the caller is the operator's manager.
Parameters
Name | Type | Description |
---|---|---|
|
| The operator's ID. |
onlyOperatorManagerOrSecurityDaemon
Require that the caller is the operator's manager OR the security daemon's wallet that has been configured by the security council.
Parameters
Name | Type | Description |
---|---|---|
|
| The operator's ID. |
onlyOperatorManagerOrProofUploader
Require that the caller is the operator's manager OR the proof uploader
Parameters
Name | Type | Description |
---|---|---|
|
| The operator's ID. |
constructor
Parameters
Name | Type | Description |
---|---|---|
|
| The LRT issuer that's authorized to deploy this contract. |
|
| The primary entry and exit-point for funds into and out of EigenLayer. |
|
| The operator delegator beacon contract. |
initialize
Initializes the contract.
Parameters
Name | Type | Description |
---|---|---|
|
| The initial owner of the contract. |
|
| The address of the liquid restaking token. |
operatorCount
Returns the total number of operators in the registry.
activeOperatorCount
Returns the total number of active operators in the registry.
minStakerOptOutBlocks
The minimum acceptable delay between an operator signaling intent to register
securityDaemon
The security daemon, which is responsible for removal of duplicate or invalid validator keys.
validatorKeyReviewPeriod
The amount of time (in seconds) before uploaded validator keys are considered "vetted".
getOperatorDetails
Returns the operator details for the provided operator ID.
Parameters
Name | Type | Description |
---|---|---|
|
| The operator's ID. |
getOperatorShareDetails
Returns the operator's share details for the provided operator ID and strategy.
Parameters
Name | Type | Description |
---|---|---|
|
| The operator's ID. |
|
| The strategy to get the share details for. |
addOperator
Adds a new operator to the registry, deploying a delegator contract and delegating to the provided operator address.
Parameters
Name | Type | Description |
---|---|---|
|
| The new operator's configuration. |
activateOperator
Activates an operator.
Parameters
Name | Type | Description |
---|---|---|
|
| The operator's ID. |
deactivateOperator
Deactivates an operator, exiting all remaining stake to the deposit pool.
Parameters
Name | Type | Description |
---|---|---|
|
| The operator's ID. |
setOperatorStrategyShareCaps
Sets the operator's strategy share allocation caps.
Parameters
Name | Type | Description |
---|---|---|
|
| The operator's ID. |
|
| The new strategy share allocation caps. |
setOperatorValidatorCap
Sets the operator's maximum active validator cap.
Parameters
Name | Type | Description |
---|---|---|
|
| The operator's ID. |
|
| The new maximum active validator cap. |
setSecurityDaemon
Sets the security daemon to a new account (newSecurityDaemon
).
Parameters
Name | Type | Description |
---|---|---|
|
| The new security daemon address. |
setProofUploader
Sets the proof uploader to a new account (newProofUploader
).
Parameters
Name | Type | Description |
---|---|---|
|
| The new proof uploader address. |
setMinStakerOptOutBlocks
Sets the minimum acceptable delay between an operator signaling intent to register
Parameters
Name | Type | Description |
---|---|---|
|
| The new min staker opt out blocks. |
setValidatorKeyReviewPeriod
Sets the amount of time (in seconds) before uploaded validator keys are considered "vetted".
Parameters
Name | Type | Description |
---|---|---|
|
| The new validator key review period. |
setOperatorEarningsReceiver
Sets an operator's earnings receiver.
Parameters
Name | Type | Description |
---|---|---|
|
| The operator's ID. |
|
| The new reward address of the operator. |
setOperatorPendingManager
Sets an operator's pending manager.
Parameters
Name | Type | Description |
---|---|---|
|
| The operator's ID. |
|
| The new pending manager of the operator. |
confirmOperatorManager
Confirms an operator's pending manager.
Parameters
Name | Type | Description |
---|---|---|
|
| The operator's ID. |
verifyWithdrawalCredentials
Verifies withdrawal credentials of validator(s) owned by the provided operator's EigenPod. It also verifies the effective balance of the validator(s).
Parameters
Name | Type | Description |
---|---|---|
|
| The operator's ID. |
|
| The timestamp of the oracle that submitted the proof. |
|
| The state root proof. |
|
| The indices of the validators to verify. |
|
| The validator fields proofs. |
|
| The validator fields. |
addValidatorDetails
Adds pending validator details (public keys and signatures) to storage for the provided operator. Each added batch extends the timestamp at which the details will be considered confirmed.
Parameters
Name | Type | Description |
---|---|---|
|
| The operator's ID. |
|
| The number of validators in the batch. |
|
| The validator public keys. |
|
| The validator signatures. |
removeValidatorDetails
Removes pending or confirmed validator details (public keys and signatures) from storage for the provided operator.
Parameters
Name | Type | Description |
---|---|---|
|
| The operator's ID. |
|
| The index of the first validator to remove. |
|
| The number of validator to remove. |
reportOutOfOrderValidatorExits
Reports validator exits that occur prior to instruction by the protocol.
Parameters
Name | Type | Description |
---|---|---|
|
| The operator's ID. |
|
| The index of the first validator to report. |
|
| The number of validators to report. |
syncStrategyShares
Syncs the stored strategy share allocations for the provided operator IDs with EigenLayer.
Parameters
Name | Type | Description |
---|---|---|
|
| The operator IDs to sync. |
|
| The strategy to sync. |
allocateStrategyShares
Allocates a specified amount of shares for the provided strategy to the operators with the lowest utilization.
Parameters
Name | Type | Description |
---|---|---|
|
| The strategy to allocate the shares to. |
|
| The amount of shares to allocate. |
allocateETHDeposits
Allocates a specified amount of ETH deposits to the operators with the lowest utilization.
Parameters
Name | Type | Description |
---|---|---|
|
| The amount of deposits to allocate (32 ETH each) |
deallocateStrategyShares
Deallocates a specified amount of shares for the provided strategy from the operators with the highest utilization.
Parameters
Name | Type | Description |
---|---|---|
|
| The strategy to deallocate the shares from. |
|
| The amount of shares to deallocate. |
deallocateETHDeposits
Deallocates a specified amount of ETH deposits from the operators with the highest utilization.
Parameters
Name | Type | Description |
---|---|---|
|
| The amount of deposits to deallocate (32 ETH each) |
_hashValidatorBLSPubKey
Hashes a validator's BLS public key and returns the hash.
Parameters
Name | Type | Description |
---|---|---|
|
| The validator's BLS public key. |
_authorizeUpgrade
Allows the owner to upgrade the operator registry implementation.
Parameters
Name | Type | Description |
---|---|---|
|
| The implementation to upgrade to. |
Last updated