IRioLRTIssuer

Git Source

Functions

initialize

Initializes the contract.

function initialize(address initialOwner) external;

Parameters

NameTypeDescription

initialOwner

address

The initial owner of the contract.

isTokenFromFactory

Returns whether the provided token was issued by this factory.

function isTokenFromFactory(address token) external view returns (bool);

Parameters

NameTypeDescription

token

address

The token to check.

Events

LiquidRestakingTokenIssued

Emitted when a new liquid restaking token is issued.

event LiquidRestakingTokenIssued(string name, string symbol, LRTConfig config, LRTDeployment deployment);

Parameters

NameTypeDescription

name

string

The name of the new LRT.

symbol

string

The symbol of the new LRT.

config

LRTConfig

The LRT configuration.

deployment

LRTDeployment

The LRT deployment addresses.

Errors

INSUFFICIENT_SACRIFICIAL_DEPOSIT

Thrown when the sacrificial deposit amount is less than the minimum.

error INSUFFICIENT_SACRIFICIAL_DEPOSIT();

INVALID_ETH_PROVIDED

Thrown when an incorrect amount of ETH is provided for a sacrificial deposit.

error INVALID_ETH_PROVIDED();

Structs

SacrificialDeposit

A sacrificial deposit used to prevent inflation attacks.

struct SacrificialDeposit {
    address asset;
    uint256 amount;
}

LRTConfig

Information required to issue a new liquid restaking token.

struct LRTConfig {
    IRioLRTAssetRegistry.AssetConfig[] assets;
    SacrificialDeposit deposit;
    uint8 priceFeedDecimals;
    address operatorRewardPool;
    address treasury;
}

LRTDeployment

Deployed addresses for a given liquid restaking token.

struct LRTDeployment {
    address token;
    address coordinator;
    address assetRegistry;
    address operatorRegistry;
    address avsRegistry;
    address depositPool;
    address withdrawalQueue;
    address rewardDistributor;
}

Last updated