interface IERC2981 is IERC165 {
    /** 
     * ERC165 bytes to add to interface array - set in parent contract
     * implementing this standard
     *
     * bytes4(keccak256("royaltyInfo(uint256,uint256)")) == 0x2a55205a
     * bytes4 private constant _INTERFACE_ID_ERC2981 = 0x2a55205a;
     * _registerInterface(_INTERFACE_ID_ERC2981);
     */

    /**
     * @notice Called with the sale price to determine how much royalty
     *          is owed and to whom.
     * @param _tokenId - the NFT asset queried for royalty information
     * @param _salePrice - the sale price of the NFT asset specified by _tokenId
     * @return receiver - address of who should be sent the royalty payment
     * @return royaltyAmount - the royalty payment amount for _salePrice
     */
    function royaltyInfo(
        uint256 _tokenId,
        uint256 _salePrice
    ) external view returns (
        address receiver,
        uint256 royaltyAmount
    );
}
/**
 * @dev Interface for the NFT Royalty Standard
 */
function royaltyInfo(
    uint256 _tokenId,
    uint256 _salePrice
) external view returns (
    address receiver,
    uint256 royaltyAmount
);

/**
 * @notice Called with the sale price to determine how much royalty
 *          is owed and to whom.
 * @param _tokenId - the NFT asset queried for royalty information
 * @param _salePrice - the sale price of the NFT asset specified by _tokenId
 * @return receiver - address of who should be sent the royalty payment
 * @return royaltyAmount - the royalty payment amount for _salePrice
 */