pragma solidity >=0.6.12; // Author: Louis Holbrook 0826EDA1702D1E87C6E2875121D2E7BB88C2A746 // SPDX-License-Identifier: AGPL-3.0-or-later // File-version: 3 interface IBurner { // Token(s) successfully burned; by who and how much. event Burn(address indexed _burner, uint256 _burned); // Satisfies ERC 5679 function burn(address _from, uint256 _amount, bytes calldata _data) external; // Burn given amount of tokens held by signer. function burn(uint256 _amount) external returns (bool); // Burn all tokens held by signer. // Returns the amount of tokens burned. function burn() external returns (uint256); // Total amount of tokens that have been burned. function totalBurned() external returns (uint256); // Total amount of tokens ever minted. // If totalSupply() is available (ERC20, ERC721 Enumerable), this equals totalSupply() + totalBurned(). function totalMinted() external returns (uint256); }