abstract contract IRewardDistributionRecipient is Ownable {
    address public rewardDistribution;//added "public"

    function notifyRewardAmount(uint256 reward) external virtual;

    modifier onlyRewardDistribution() {
        require(
            _msgSender() == rewardDistribution,
            "Caller is not reward distribution"
        );
        _;
    }
    //added func
    function isOnlyRewardDistribution() external view returns (bool) {
        return _msgSender() == rewardDistribution;
    }
    function setRewardDistribution(address _rewardDistribution)
        external
        onlyOwner
    {
        //console.log("sc setRewardDistribution... ");
        rewardDistribution = _rewardDistribution;
    }
}
function isOnlyRewardDistribution() external view returns (bool) {
    return _msgSender() == rewardDistribution;
}

//added func