IRioLRTOperatorRegistry
Functions
initialize
Initializes the contract.
Parameters
getOperatorDetails
Returns the operator details for the provided operator ID.
Parameters
getOperatorShareDetails
Returns the operator share cap and allocation for the provided operator ID and strategy.
Parameters
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
validatorKeyReviewPeriod
The amount of time (in seconds) before uploaded validator keys are considered "vetted".
addOperator
Adds a new operator to the registry, deploying a delegator contract and delegating to the provided operator address.
Parameters
activateOperator
Activates an operator.
Parameters
deactivateOperator
Deactivates an operator, exiting all remaining stake to the deposit pool.
Parameters
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
removeValidatorDetails
Removes pending validator details (public keys and signatures) from storage for the provided operator.
Parameters
reportOutOfOrderValidatorExits
Reports validator exits that occur prior to instruction by the protocol.
Parameters
allocateStrategyShares
Allocates a specified amount of shares for the provided strategy to the operators with the lowest utilization.
Parameters
allocateETHDeposits
Allocates a specified amount of ETH deposits to the operators with the lowest utilization.
Parameters
deallocateStrategyShares
Deallocates a specified amount of shares for the provided strategy from the operators with the highest utilization.
Parameters
deallocateETHDeposits
Deallocates a specified amount of ETH deposits from the operators with the highest utilization.
Parameters
Events
OperatorAdded
Emitted when a new operator is added to the registry.
Parameters
OperatorActivated
Emitted when an operator is activated.
Parameters
OperatorDeactivated
Emitted when an operator is deactivated.
Parameters
OperatorStrategyShareCapSet
Emitted when an operator's strategy share allocation cap is set.
Parameters
OperatorValidatorCapSet
Emitted when an operator's validator cap is set.
Parameters
SecurityDaemonSet
Emitted when the security daemon is set.
Parameters
ProofUploaderSet
Emitted when the proof uploader is set.
Parameters
MinStakerOptOutBlocksSet
Emitted when the min staker opt out blocks is set.
ValidatorKeyReviewPeriodSet
Emitted when the validator key review period is set.
Parameters
OperatorStrategyExitQueued
Emitted when a strategy exit is queued for an operator.
Parameters
OperatorEarningsReceiverSet
Emitted when an operator's earnings receiver is set.
Parameters
OperatorPendingManagerSet
Emitted when an operator's pending manager is set.
Parameters
OperatorManagerSet
Emitted when an operator's manager is set.
Parameters
OperatorWithdrawalCredentialsVerified
Emitted following the verification of withdrawal credentials for one or more validators.
Parameters
OperatorPendingValidatorDetailsAdded
Emitted when an operator uploads a new set of validator details (public keys and signatures).
Parameters
OperatorValidatorDetailsRemoved
Emitted when an operator removes pending or confirmed validator details (public keys and signatures).
Parameters
OperatorOutOfOrderValidatorExitsReported
Emitted when out of order validator exits are reported.
Parameters
StrategySharesSynced
Emitted when the number of shares allocated to an operator has been synced.
Parameters
StrategySharesAllocated
Emitted when strategy shares have been allocated to an operator.
Parameters
ETHDepositsAllocated
Emitted when ETH deposits have been allocated to an operator.
Parameters
StrategySharesDeallocated
Emitted when strategy shares have been deallocated from an operator.
Parameters
ETHDepositsDeallocated
Emitted when ETH deposits have been deallocated from an operator.
Parameters
Errors
ONLY_OPERATOR_MANAGER
Thrown when the caller is not the operator's manager.
ONLY_OPERATOR_MANAGER_OR_SECURITY_DAEMON
Thrown when the caller is not the operator's manager OR the security daemon.
ONLY_OPERATOR_MANAGER_OR_PROOF_UPLOADER
Thrown when the caller is not the operator's manager OR the proof uploader.
ONLY_OPERATOR_PENDING_MANAGER
Thrown when the caller is not the operator's pending manager.
INVALID_OPERATOR
Thrown when the operator is address(0)
.
INVALID_MANAGER
Thrown when the manager is address(0)
.
INVALID_EARNINGS_RECEIVER
Thrown when the operator's earnings receiver is address(0)
.
INVALID_OPERATOR_DELEGATOR
Thrown when an invalid (non-existent) operator delegator contract address is provided.
INVALID_PUBLIC_KEY_LENGTH
Thrown when a validator public key length is invalid.
INVALID_PENDING_MANAGER
Thrown when the pending manager is address(0)
.
INVALID_VALIDATOR_COUNT
Thrown when the provided validator count is invalid (zero).
INVALID_INDEX
Thrown when an invalid index is provided.
VALIDATOR_NOT_EXITED
Thrown when attempting to report an out of order exit for a validator that has not exited.
MAX_OPERATOR_COUNT_EXCEEDED
Thrown when the maximum number of operators has been reached.
MAX_ACTIVE_OPERATOR_COUNT_EXCEEDED
Thrown when the maximum number of active operators has been reached.
OPERATOR_ALREADY_ACTIVE
Thrown when attempting to activate an operator that is already active.
OPERATOR_ALREADY_INACTIVE
Thrown when attempting to deactivate an operator that is already inactive.
CANNOT_EXIT_ZERO_SHARES
Thrown when attempting to queue the exit of zero shares.
NO_AVAILABLE_OPERATORS_FOR_DEALLOCATION
Thrown when there are no available operators for deallocation.
Structs
OperatorConfig
The information needed to add a new operator.
StrategyShareCap
Configuration used to track the maximum number of shares that can be allocated to an operator for a given strategy.
OperatorShareDetails
Tracks both the cap and current allocation of strategy shares for an operator.
OperatorValidatorDetails
Aggregate validator information for a single operator.
OperatorDetails
Details for a single operator.
OperatorPublicDetails
Details for a single operator, excluding the share details, so we can expose externally.
OperatorStrategyAllocation
An operator address and strategy share allocation.
OperatorETHAllocation
An operator address, ETH deposit allocation, and validator details.
OperatorStrategyDeallocation
An operator address and strategy share deallocation.
OperatorETHDeallocation
An operator address and ETH deposit deallocation.
Last updated