1234567891011121314151617181920212223242526 |
- // SPDX-License-Identifier: MIT
- // OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/extensions/ERC721Burnable.sol)
- pragma solidity ^0.8.20;
- import {ERC721} from "../ERC721.sol";
- import {Context} from "../../../utils/Context.sol";
- /**
- * @title ERC721 Burnable Token
- * @dev ERC721 Token that can be burned (destroyed).
- */
- abstract contract ERC721Burnable is Context, ERC721 {
- /**
- * @dev Burns `tokenId`. See {ERC721-_burn}.
- *
- * Requirements:
- *
- * - The caller must own `tokenId` or be an approved operator.
- */
- function burn(uint256 tokenId) public virtual {
- // Setting an "auth" arguments enables the `_isAuthorized` check which verifies that the token exists
- // (from != 0). Therefore, it is not needed to verify that the return value is not 0 here.
- _update(address(0), tokenId, _msgSender());
- }
- }
|