2023-03-21 21:46:08 +01:00
|
|
|
pragma solidity >=0.6.12;
|
|
|
|
|
|
|
|
// Author: Louis Holbrook <dev@holbrook.no> 0826EDA1702D1E87C6E2875121D2E7BB88C2A746
|
2023-03-25 13:32:56 +01:00
|
|
|
// SPDX-License-Identifier: AGPL-3.0-or-later
|
2023-03-25 12:14:46 +01:00
|
|
|
// File-version: 3
|
2023-03-21 21:46:08 +01:00
|
|
|
|
2023-03-25 13:32:56 +01:00
|
|
|
interface IBurner {
|
2023-03-25 12:14:46 +01:00
|
|
|
// Token(s) successfully burned; by who and how much.
|
|
|
|
event Burn(address indexed _burner, uint256 _burned);
|
2023-03-21 21:46:08 +01:00
|
|
|
|
2023-03-25 12:14:46 +01:00
|
|
|
// Satisfies ERC 5679
|
|
|
|
function burn(address _from, uint256 _amount, bytes calldata _data) external;
|
|
|
|
|
|
|
|
// Burn given amount of tokens held by signer.
|
2023-06-06 16:27:41 +02:00
|
|
|
function burn(uint256 _amount) external returns (bool);
|
2023-03-25 12:14:46 +01:00
|
|
|
|
|
|
|
// Burn all tokens held by signer.
|
2023-06-06 16:27:41 +02:00
|
|
|
// Returns the amount of tokens burned.
|
|
|
|
function burn() external returns (uint256);
|
2023-03-25 12:14:46 +01:00
|
|
|
|
|
|
|
// Total amount of tokens that have been burned.
|
2023-03-21 21:46:08 +01:00
|
|
|
function totalBurned() external returns (uint256);
|
2023-03-25 12:14:46 +01:00
|
|
|
|
|
|
|
// Total amount of tokens ever minted.
|
|
|
|
// If totalSupply() is available (ERC20, ERC721 Enumerable), this equals totalSupply() + totalBurned().
|
2023-03-21 21:46:08 +01:00
|
|
|
function totalMinted() external returns (uint256);
|
|
|
|
}
|