ERC20Mock.t.sol
1 pragma solidity >=0.6.0; 2 3 import "../../../contracts/utils/ERC20.sol"; 4 import "../../../contracts/utils/SafeMath.sol"; 5 6 contract ERC20Mock is ERC20 { 7 8 using SafeMath for uint; 9 10 string private constant _name = "ERC20Mock"; 11 string private constant _symbol = "MOCK"; 12 13 uint8 private _decimals; 14 15 constructor(uint8 decimals) ERC20(_name) public { 16 17 _decimals = decimals; 18 } 19 20 function name() override external view returns (string memory) { 21 22 return _name; 23 } 24 25 function symbol() override external view returns (string memory) { 26 27 return _symbol; 28 } 29 30 function decimals() override external view returns (uint8) { 31 32 return _decimals; 33 } 34 35 function reset() external { 36 37 _totalSupply = 0; 38 } 39 40 function reset(address addr) external { 41 42 removeBalance(addr, balanceOf(addr)); 43 } 44 45 function issue(address to, uint value) external { 46 47 addBalance(to, value); 48 _totalSupply = _totalSupply.add(value); 49 emitTransfer(address(0), to, value); 50 } 51 }