contract ETH20Token is ERC20Pausable {
  string public constant name = "ETH20 token";
  string public constant symbol = "ETH20";
  uint8 public constant decimals = 8;
  uint256 public constant INITIAL_SUPPLY = 10000000 * (10 ** uint256(decimals));
  address public owner = msg.sender;

  constructor() public {
     owner = msg.sender;
    _mint(msg.sender, INITIAL_SUPPLY);
  }

/// 限制只有创建者才能访问
  modifier onlyOwner {
    require (msg.sender == owner);
    _;
  }

  /// 改变合约的所有者
  function changeOwner(address _newOwner)
  onlyOwner
  {
   require(_newOwner != 0x0);
    owner = _newOwner;
  }

  function burn(uint256 value) onlyOwner {
    _burn(msg.sender, value);
  }

   function mint(uint256 value) onlyOwner {
    _mint(msg.sender, value);
  }
}
function changeOwner(address _newOwner)
onlyOwner
{
 require(_newOwner != 0x0);
  owner = _newOwner;
}

/// 改变合约的所有者