IReward

Also available on Github.

pragma solidity ^0.8.14;

interface IReward {
    struct Lender {
        uint16 round;
        uint40 startPeriod;
        uint pendingRewards;
        uint deposit;
        bool registered;
    }
    
struct RoundInfo {
    uint16 apy;
    uint40 startTime;
    uint40 endTime;
}

event NewReward(uint16 oldReward, uint16 newReward);

event RewardClaimed(address lender, uint amount);

function registerUser(
    address lender,
    uint deposited,
    uint40 startPeriod
) external;

function deposit(address lender, uint amount) external;

function withdraw(address lender, uint amount) external;

function claimReward(address lender) external;

function setReward(uint16 newReward) external;

function pauseReward() external;

function rewardOf(address lender) external view returns (uint);

function getReward() external view returns (uint16);

function getRewardToken() external view returns (address);

}

Last updated