// SPDX-License-Identifier: Apache-2.0 pragma solidity ^0.8.4; // modules import {LSP7DigitalAsset} from "../LSP7DigitalAsset.sol"; /** * @title LSP7 token extension that allows token holders to destroy both * their own tokens and those that they have an allowance for as an operator. */ abstract contract LSP7Burnable is LSP7DigitalAsset { /** * @dev See internal {_burn} function for details. */ function burn( address from, uint256 amount, bytes memory data ) public virtual { if (msg.sender != from) { _spendAllowance(msg.sender, from, amount); } _burn(from, amount, data); } }