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).
info
This extension is an interface and requires all of the functions to be implemented
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
}
}
SDK Usage
By adding this extension to a smart contract, the following features, hooks and functions are unlocked in the SDK: