pragma solidity ^0.4.23; contract FPTToken { uint256 public totalSupply = 0; string public name = "FPTToken"; string public symbol ="FPT"; string public standard ="FPT token v1.0"; uint8 public constant decimals = 6; mapping(address => bool) owners; address[] private admins; //mapping(address => uint256) public holders; mapping(address => uint256) public balanceOf; //constructor constructor (uint256 _initialSupply) public payable{ owners[msg.sender] = true; balanceOf[address(this)] = _initialSupply; admins.push(msg.sender); totalSupply = _initialSupply; } //tranfer token from sender function tranferTokenFromContract(address _to, uint256 _value) public payable{ require(balanceOf[address(this)] >= _value); require(owners[msg.sender]); balanceOf[_to] += _value; balanceOf[address(this)] -= _value; } //trannfer token from sender function tranferToken(address _to, uint256 _value) public payable{ require(balanceOf[msg.sender]>= _value); require(owners[msg.sender]); balanceOf[_to] += _value; balanceOf[msg.sender]-= _value; } // Add owner function addOwners(address _newAddress) public returns (bool success){ require(_newAddress != 0x0 && !owners[_newAddress] && owners[msg.sender]); owners[_newAddress] = true; admins.push(_newAddress); return true; } //function tranfer function transfer(address _to, uint256 _value) public payable{ require(msg.sender.balance >= _value); _to.transfer(_value); } function transferEthFromContract(uint256 _value) public payable { // require _From has enough Tokens require(address(this).balance >= _value); // allowance has big enough require(owners[msg.sender]); //update balance value address(this).transfer(_value); } //View Owners function viewOwners()public view returns (address[]){ require(owners[msg.sender]); return admins; } function viewBalanceToken(address _address) public view returns (uint256){ return balanceOf[_address]; } function () public payable {} }
0.4.23