Do you see any functions missing in the interface? I definitely do....
This will inhibit adoption and ease of use for the protocol.
Replace the old current interface with code below which is a complete interface for the FjordPoints.sol contract. This will replace the current IFjordPoints.sol interface.
pragma solidity ^0.8.4;
interface Interface {
    error CallerDisallowed();
    error DistributionNotAllowedYet();
    error InvalidAddress();
    error NotAuthorized();
    error TotalStakedAmountZero();
    error UnstakingAmountExceedsStakedAmount();
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Debugging(uint256 indexed pendingPoints);
    event PointsClaimed(address indexed user, uint256 amount);
    event PointsDistributed(uint256 points, uint256 pointsPerToken);
    event Staked(address indexed user, uint256 amount);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Unstaked(address indexed user, uint256 amount);
    function EPOCH_DURATION() external view returns (uint256);
    function PRECISION_18() external view returns (uint256);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
    function burn(uint256 amount) external;
    function burnFrom(address account, uint256 amount) external;
    function claimPoints() external;
    function decimals() external view returns (uint8);
    function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool);
    function distributePoints() external;
    function increaseAllowance(address spender, uint256 addedValue) external returns (bool);
    function lastDistribution() external view returns (uint256);
    function name() external view returns (string memory);
    function onStaked(address user, uint256 amount) external;
    function onUnstaked(address user, uint256 amount) external;
    function owner() external view returns (address);
    function pointsPerEpoch() external view returns (uint256);
    function pointsPerToken() external view returns (uint256);
    function setOwner(address _newOwner) external;
    function setPointsPerEpoch(uint256 _points) external;
    function setStakingContract(address _staking) external;
    function staking() external view returns (address);
    function symbol() external view returns (string memory);
    function totalPoints() external view returns (uint256);
    function totalStaked() external view returns (uint256);
    function totalSupply() external view returns (uint256);
    function transfer(address to, uint256 amount) external returns (bool);
    function transferFrom(address from, address to, uint256 amount) external returns (bool);
    function users(address)
        external
        view
        returns (uint256 stakedAmount, uint256 pendingPoints, uint256 lastPointsPerToken);
}