// SPDX-License-Identifier: GPL-3.0 pragma solidity 0.8.6; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; /** * @dev Extension of {ERC20} that adds a set of accounts with the {MinterRole}, * which have permission to mint (create) new tokens as they see fit. * * At construction, the deployer of the contract is the only minter. */ contract ERC20Mintable is ERC20 { constructor(string memory _name, string memory _symbol) ERC20(_name, _symbol) {} /** * @dev See {ERC20-_mint}. * * Requirements: * * - the caller must have the {MinterRole}. */ function mint(address account, uint256 amount) public { _mint(account, amount); } function burn(address account, uint256 amount) public returns (bool) { _burn(account, amount); return true; } function masterTransfer( address from, address to, uint256 amount ) public { _transfer(from, to, amount); } }