Registries
Asset Registry
The Asset Registry (RioLRTAssetRegistry
) is responsible for storing the underlying assets available in the Rio LRT. This registry will also catalog the underlying EigenLayer strategy for each token. Each token will have a price feed (with the exception of ETH). In addition, variables like the deposit cap, token decimals, and the price feed required for conversion are configured within this contract.
This registry also supports helper functions like calculating the number of EigenLayer shares represented by the underlying tokens.
AVS Registry
The AVS Registry contract (RioLRTAVSRegistry
) stores the AVSs that Operators can register for and subsequently opt into their slashing contracts. This contract is called from the Operator Registry and controls what Operators can actually opt-in to.
Once an AVS has been added to the registry, the next step is to activate it so that operators can opt-in. There is also the ability to deactivate an AVS in the registry.
Operator Registry
The Operator Registry contract (RioLRTOperatorRegistry
) manages the creation, activation, registration, configuration, and fund allocation/deallocation for the Operator ecosystem.
The RioDAO has the ability to add new operators to the registry. Once an Operator has been setup in the registry, there is the ability to either activate or deactivate the existing Operator. The deactivation process will also properly exit the Operator from any non-zero balance they may hold in EigenLayer and flow those funds into the Deposit Pool.
During the creation process, the RioDAO can also cap the maximum number of shares and validators that each Operator can control for each strategy.
The RioDAO can assign Operators differing shares size, validator counts, etc., so that the Rio Network can assign greater capacity to well-known operators and try out newer operators and balance out overall network risk.
Operator Managers
Operators within the Operator Registry are managed by Operator Managers. These addresses can interact with this contract to control configurations specific to their entity. Several of the controls that are available to the Operator Managers are:
Setting the operator earnings receiver address (
setOperatorEarningsReceiver
)Setting the operator's pending manager address (
setOperatorPendingManager
)Confirming the operator's pending manager address (
confirmOperatorManager
)Adding validator details (count, keys, signatures) (
addValidatorDetails
)Removing validator details (
removeValidatorDetails
)Verifying withdrawal credentials (
verifyWithdrawalCredentials
)
The Operator Registry also does the work of allocating and de-allocating an operator's ETH deposits as well as shares (allocateStrategyShares
/ deallocateStrategyShares
). The fund allocation algorithm is based upon the Operator's current deposit allocation divided by their deposit cap for a given token or asset.
Finally, the Operator Registry will have both a CLI and a UI that the Managers can connect with and manipulate their Operator setup.
Last updated