1234567891011121314151617181920212223242526 |
- // SPDX-License-Identifier: MIT
- // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC2981.sol)
- pragma solidity ^0.8.20;
- import {IERC165} from "../utils/introspection/IERC165.sol";
- /**
- * @dev Interface for the NFT Royalty Standard.
- *
- * A standardized way to retrieve royalty payment information for non-fungible tokens (NFTs) to enable universal
- * support for royalty payments across all NFT marketplaces and ecosystem participants.
- */
- interface IERC2981 is IERC165 {
- /**
- * @dev Returns how much royalty is owed and to whom, based on a sale price that may be denominated in any unit of
- * exchange. The royalty amount is denominated and should be paid in that same unit of exchange.
- *
- * NOTE: ERC-2981 allows setting the royalty to 100% of the price. In that case all the price would be sent to the
- * royalty receiver and 0 tokens to the seller. Contracts dealing with royalty should consider empty transfers.
- */
- function royaltyInfo(
- uint256 tokenId,
- uint256 salePrice
- ) external view returns (address receiver, uint256 royaltyAmount);
- }
|