contract ERC20Mintable is ERC20, MinterRole {
    /**
     *  See `ERC20._mint`.
     *
     * Requirements:
     * - the caller must have the `MinterRole`.
     */
    function mint(address account, uint256 amount) public onlyMinter returns (bool) {
        _mint(account, amount);
        return true;
    }
}
/**
 *  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.
 */
function mint(address account, uint256 amount) public onlyMinter returns (bool) {
    _mint(account, amount);
    return true;
}

/**
 *  See `ERC20._mint`.
 *
 * Requirements:
 * - the caller must have the `MinterRole`.
 */