all files / contracts/interfaces/ IRewardPool.sol

100% Statements 0/0
100% Branches 0/0
100% Functions 0/0
100% Lines 0/0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30                                                           
// SPDX-License-Identifier: MIT
 
pragma solidity >=0.6.2;
 
interface IRewardPool {
    /**
     * @dev Keep track of slashers how much they slashed per allocations
     */
    struct Reward {
        address escrowAddress;
        address slasher;
        uint256 tokens; // Tokens allocated to a escrowAddress
    }
 
    function addReward(
        address _escrowAddress,
        address _staker,
        address _slasher,
        uint256 _tokens
    ) external;
 
    function getRewards(
        address _escrowAddress
    ) external view returns (Reward[] memory);
 
    function distributeReward(address _escrowAddress) external;
 
    function withdraw(address to) external;
}