12345678910111213141516171819202122232425262728293031 |
- // SPDX-License-Identifier: MIT
- pragma solidity ^0.6.0;
- import "./ERC1155.sol";
- /**
- * @dev Extension of {ERC1155} that allows token holders to destroy both their
- * own tokens and those that they have been approved to use.
- *
- * _Available since v3.1._
- */
- abstract contract ERC1155Burnable is ERC1155 {
- function burn(address account, uint256 id, uint256 value) public virtual {
- require(
- account == _msgSender() || isApprovedForAll(account, _msgSender()),
- "ERC1155: caller is not owner nor approved"
- );
- _burn(account, id, value);
- }
- function burnBatch(address account, uint256[] memory ids, uint256[] memory values) public virtual {
- require(
- account == _msgSender() || isApprovedForAll(account, _msgSender()),
- "ERC1155: caller is not owner nor approved"
- );
- _burnBatch(account, ids, values);
- }
- }
|