Docs

ERC1155Burnable

import "@thirdweb-dev/contracts/extension/interface/IBurnableERC721.sol";

ERC1155Burnable allows the NFTs in the contract to be burned (transferred to a non-recoverable address).


View on GitHub

Usage

This is an example smart contract demonstrating how to inherit from this extension and override the functions to add (optional) custom functionality.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@thirdweb-dev/contracts/eip/ERC1155.sol";
import "@thirdweb-dev/contracts/extension/interface/IBurnableERC1155.sol";

contract Contract is ERC1155, IBurnableERC1155 {
    constructor(
        string memory _name,
        string memory _symbol
    )
        ERC1155(
            _name,
            _symbol
        )
    {}

    function burn(address account, uint256 id, uint256 value) external override {
        // Your custom implementation here
    }

    function burnBatch(
        address account, uint256[] memory ids, uint256[] memory values) external override {
        // Your custom implementation here
    }
}

Base Contracts Implementing This Extension