2020-11-02 13:44:11 +00:00
|
|
|
// SPDX-License-Identifier: agpl-3.0
|
2020-11-20 10:45:20 +00:00
|
|
|
pragma solidity 0.6.12;
|
2020-11-02 13:44:11 +00:00
|
|
|
|
|
|
|
import {ERC20} from '../../dependencies/openzeppelin/contracts/ERC20.sol';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @title ERC20Mintable
|
|
|
|
* @dev ERC20 minting logic
|
|
|
|
*/
|
|
|
|
contract MintableDelegationERC20 is ERC20 {
|
|
|
|
address public delegatee;
|
|
|
|
|
|
|
|
constructor(
|
|
|
|
string memory name,
|
|
|
|
string memory symbol,
|
|
|
|
uint8 decimals
|
|
|
|
) public ERC20(name, symbol) {
|
|
|
|
_setupDecimals(decimals);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @dev Function to mint tokensp
|
|
|
|
* @param value The amount of tokens to mint.
|
|
|
|
* @return A boolean that indicates if the operation was successful.
|
|
|
|
*/
|
|
|
|
function mint(uint256 value) public returns (bool) {
|
|
|
|
_mint(msg.sender, value);
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
function delegate(address delegateeAddress) external {
|
|
|
|
delegatee = delegateeAddress;
|
|
|
|
}
|
|
|
|
}
|