# Unikura Collectibles

This Contract is for minting and operating tokens associated with collections managed by Unikura, and is extended to Openzeppelin's [ERC721EnumerableUpgradeable](https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/blob/master/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol), [AccessCon trolEnumerableUpgradeable](https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/blob/master/contracts/access/extensions/AccessControlEnumerableUpgradeable.sol) provided by Openzeppelin.

## Extended Methods

### burn

```solidity
function burn(uint256 tokenId) external override onlyBurner
```

* Only burners set by the contract owner can call.
* Burners need to be approved by the token owner.

### mint

```solidity
function mint(address to, uint256 tokenId) external override onlyMinter
```

* Only minters set by the contract owner can call.

### updateBurnerRole

```solidity
function updateBurnerRole(address account, bool status) external override onlyOwner
```

* Only the contract owner can call.

### updateMinterRole

```solidity
function updateMinterRole(address account, bool status) external override onlyOwner
```

* Only the contract owner can call.
