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
|
||
|
);
|
||
|
}
|