RioLRTRewardDistributor

Git Source

Inherits: IRioLRTRewardDistributor, OwnableUpgradeable, UUPSUpgradeable, RioLRTCore

State Variables

MAX_BPS

The maximum basis points value (100%).

uint16 public constant MAX_BPS = 10_000;

treasury

The treasury address.

address public treasury;

operatorRewardPool

The operator reward pool address.

address public operatorRewardPool;

treasuryETHValidatorRewardShareBPS

The treasury share of the ETH validator rewards in basis points.

uint16 public treasuryETHValidatorRewardShareBPS;

operatorETHValidatorRewardShareBPS

The operator share of the ETH validator rewards in basis points.

uint16 public operatorETHValidatorRewardShareBPS;

Functions

constructor

constructor(address issuer_) RioLRTCore(issuer_);

Parameters

initialize

Initializes the contract.

function initialize(address initialOwner, address token_, address treasury_, address operatorRewardPool_)
    external
    initializer;

Parameters

distributeETHValidatorRewards

Distributes ETH validator rewards held in this contract to the treasury, operator pool, and deposit pool.

All recipients are trusted internal contracts that require no reentrancy protection.

function distributeETHValidatorRewards() external;

setTreasuryAndOperatorETHValidatorRewardShareBPS

Sets the treasury and operator's share of ETH validator rewards.

function setTreasuryAndOperatorETHValidatorRewardShareBPS(
    uint16 newTreasuryETHValidatorRewardShareBPS,
    uint16 newOperatorETHValidatorRewardShareBPS
) external onlyOwner;

Parameters

setTreasuryETHValidatorRewardShareBPS

Sets the treasury's share of ETH validator rewards.

function setTreasuryETHValidatorRewardShareBPS(uint16 newTreasuryETHValidatorRewardShareBPS) external onlyOwner;

Parameters

setOperatorETHValidatorRewardShareBPS

Sets the operator's share of ETH validator rewards.

function setOperatorETHValidatorRewardShareBPS(uint16 newOperatorETHValidatorRewardShareBPS) external onlyOwner;

Parameters

_setTreasuryETHValidatorRewardShareBPS

Sets the treasury's share of Ethereum validator rewards.

function _setTreasuryETHValidatorRewardShareBPS(uint16 newTreasuryETHValidatorRewardShareBPS) internal;

Parameters

_setOperatorETHValidatorRewardShareBPS

Sets the operator's share of Ethereum validator rewards.

function _setOperatorETHValidatorRewardShareBPS(uint16 newOperatorETHValidatorRewardShareBPS) internal;

Parameters

receive

Receives ETH for distribution.

receive() external payable;

_authorizeUpgrade

Allows the owner to upgrade the reward distributor implementation.

function _authorizeUpgrade(address newImplementation) internal override onlyOwner;

Parameters

Last updated