28 lines
1.0 KiB
Solidity
28 lines
1.0 KiB
Solidity
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
pragma solidity ^0.8.17;
|
|
|
|
import "@openzeppelin/contracts/interfaces/IERC165.sol";
|
|
|
|
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
|
|
);
|
|
}
|