RioLRTCore

Git Source

Inherits: Initializable

State Variables

issuer

The LRT issuer that's authorized to deploy this contract.

address public immutable issuer;

token

The liquid restaking token (LRT) address.

IRioLRT public token;

Functions

onlyCoordinator

Require that the caller is the coordinator.

modifier onlyCoordinator();

onlyDepositPool

Require that the caller is the deposit pool.

modifier onlyDepositPool();

onlyWithdrawalQueue

Require that the caller is the withdrawal queue.

modifier onlyWithdrawalQueue();

onlyOperatorRegistry

Require that the caller is the LRT's operator registry.

modifier onlyOperatorRegistry();

constructor

Prevent any future reinitialization.

constructor(address issuer_);

Parameters

Name
Type
Description

issuer_

address

The LRT issuer that's authorized to deploy this contract.

__RioLRTCore_init

Initializes the restaking contract.

function __RioLRTCore_init(address token_) internal onlyInitializing;

Parameters

Name
Type
Description

token_

address

The address of the liquid restaking token.

__RioLRTCore_init_noVerify

Initializes the restaking contract without verifying the caller.

function __RioLRTCore_init_noVerify(address token_) internal onlyInitializing;

Parameters

Name
Type
Description

token_

address

The address of the liquid restaking token.

coordinator

The LRT coordinator contract.

function coordinator() internal view returns (IRioLRTCoordinator);

assetRegistry

The LRT asset registry contract.

function assetRegistry() internal view returns (IRioLRTAssetRegistry);

operatorRegistry

The LRT operator registry contract.

function operatorRegistry() internal view returns (IRioLRTOperatorRegistry);

avsRegistry

The LRT AVS registry contract.

function avsRegistry() internal view returns (IRioLRTAVSRegistry);

depositPool

The LRT deposit pool contract.

function depositPool() internal view returns (IRioLRTDepositPool);

withdrawalQueue

The LRT withdrawal queue contract.

function withdrawalQueue() internal view returns (IRioLRTWithdrawalQueue);

rewardDistributor

The LRT reward distributor contract.

function rewardDistributor() internal view returns (IRioLRTRewardDistributor);

operatorDelegator

Calculates the address of an operator delegator.

function operatorDelegator(IRioLRTOperatorRegistry registry, uint8 operatorId)
    internal
    pure
    returns (IRioLRTOperatorDelegator);

Parameters

Name
Type
Description

registry

IRioLRTOperatorRegistry

The operator registry address.

operatorId

uint8

The operator's ID.

Errors

ONLY_ISSUER

Thrown when the initializer is not the LRT issuer.

error ONLY_ISSUER();

ONLY_COORDINATOR

Thrown when the caller is not the LRT coordinator.

error ONLY_COORDINATOR();

ONLY_DEPOSIT_POOL

Thrown when the caller is not the LRT deposit pool.

error ONLY_DEPOSIT_POOL();

ONLY_WITHDRAWAL_QUEUE

Thrown when the caller is not the LRT withdrawal queue.

error ONLY_WITHDRAWAL_QUEUE();

ONLY_OPERATOR_REGISTRY

Thrown when the caller is not the operator registry.

error ONLY_OPERATOR_REGISTRY();

Last updated