fluid-contracts-public/contracts/protocols/lending/interfaces/iStakingRewards.sol
2024-07-11 13:05:09 +00:00

44 lines
1.2 KiB
Solidity

// SPDX-License-Identifier: MIT
pragma solidity 0.8.21;
import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
interface IFluidLendingStakingRewards {
// Views
function lastTimeRewardApplicable() external view returns (uint256);
function rewardPerToken() external view returns (uint256);
function earned(address account) external view returns (uint256);
function getRewardForDuration() external view returns (uint256);
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function periodFinish() external view returns (uint256);
function rewardRate() external view returns (uint256);
function lastUpdateTime() external view returns (uint256);
function rewardPerTokenStored() external view returns (uint256);
function rewardsDuration() external view returns (uint256);
function rewardsToken() external view returns (IERC20);
function stakingToken() external view returns (IERC20);
// Mutative
function stake(uint256 amount) external;
function withdraw(uint256 amount) external;
function getReward() external;
function exit() external;
}