Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds functions to Rewards Distributor Interface #47

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/RewardsDistributor.sol
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ contract RewardsDistributor is Initializable, AccessControlUpgradeable, RewardsD
//---------------------------------- VARIABLES ---------------------------------------
//--------------------------------------------------------------------------------------

IynETH ynETH;
IynETH public ynETH;

/// @notice The contract receiving execution layer rewards, both tips and MEV rewards.
RewardsReceiver public executionLayerReceiver;
Expand Down
27 changes: 25 additions & 2 deletions src/interfaces/IRewardsDistributor.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,37 @@ pragma solidity ^0.8.24;
import {IRewardsReceiver} from "./IRewardsReceiver.sol";

interface IRewardsDistributor {

/// @notice Returns the address of the ynETH token.
/// @return address of the ynETH token.
function ynETH() external view returns (address);

/// @notice Processes the rewards for the execution and consensus layer.
/// @dev This function should be called by off-chain rewards distribution service.
function processRewards() external;

/// @notice Returns the address of the execution layer rewards receiver.
/// @return The address of the execution layer rewards receiver.
/// @return address of the execution layer rewards receiver.
function executionLayerReceiver() external view returns (IRewardsReceiver);

/// @notice Returns the address of the consensus layer rewards receiver.
/// @return The address of the consensus layer rewards receiver.
/// @return address of the consensus layer rewards receiver.
function consensusLayerReceiver() external view returns (IRewardsReceiver);

/// @notice Returns the address of the fees receiver.
/// @return address of the fees receiver.
function feesReceiver() external view returns (address);

/// @notice Returns the protocol fees in basis points (1/10000).
/// @return uint16 fees in basis points.
function feesBasisPoints() external view returns (uint16);

/// @notice Sets the address to receive protocol fees.
/// @param newReceiver The new fees receiver address.
function setFeesReceiver(address payable newReceiver) external;

/// @notice Sets the protocol fees in basis points (1/10000).
/// @param newFeesBasisPoints The new fees in basis points.
function setFeesBasisPoints(uint16 newFeesBasisPoints) external;
}

Loading