ETH Price: $2,068.43 (-0.53%)
 

Overview

Max Total Supply

3,000,000 TAO

Holders

0

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xB6Ba6397...1073fadC3
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Token

Compiler Version
v0.4.11+commit.68ef5810

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-07-12
*/

pragma solidity ^0.4.11;

contract ContractReceiver {
     
    struct TKN {
        address sender;
        uint value;
        bytes data;
        bytes4 sig;
    }
    
    
    function tokenFallback(address _from, uint _value, bytes _data){
      TKN memory tkn;
      tkn.sender = _from;
      tkn.value = _value;
      tkn.data = _data;
      uint32 u = uint32(_data[3]) + (uint32(_data[2]) << 8) + (uint32(_data[1]) << 16) + (uint32(_data[0]) << 24);
      tkn.sig = bytes4(u);
 
    }
}

contract SafeMath {
    uint256 constant public MAX_UINT256 =
    0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;

    function safeAdd(uint256 x, uint256 y) constant internal returns (uint256 z) {
        if (x > MAX_UINT256 - y) throw;
        return x + y;
    }

    function safeSub(uint256 x, uint256 y) constant internal returns (uint256 z) {
        if (x < y) throw;
        return x - y;
    }

    function safeMul(uint256 x, uint256 y) constant internal returns (uint256 z) {
        if (y == 0) return 0;
        if (x > MAX_UINT256 / y) throw;
        return x * y;
    }
}

contract Token is SafeMath{

  mapping(address => uint) balances;
  
  string public symbol = "";
  string public name = "";
  uint8 public decimals = 18;
  uint256 public totalSupply = 0;
  address owner = 0;
  bool setupDone = false;
  
  event Transfer(address indexed from, address indexed to, uint value, bytes indexed data);
  
  function Token(address adr) {
		owner = adr;        
    }
	
	function SetupToken(string _tokenName, string _tokenSymbol, uint256 _tokenSupply)
	{
		if (msg.sender == owner && setupDone == false)
		{
			symbol = _tokenSymbol;
			name = _tokenName;
			totalSupply = _tokenSupply * 1000000000000000000;
			balances[owner] = totalSupply;
			setupDone = true;
		}
	}
  
  function name() constant returns (string _name) {
      return name;
  }

  function symbol() constant returns (string _symbol) {
      return symbol;
  }

  function decimals() constant returns (uint8 _decimals) {
      return decimals;
  }

  function totalSupply() constant returns (uint256 _totalSupply) {
      return totalSupply;
  }
  
  function transfer(address _to, uint _value, bytes _data) returns (bool success) {
      
    if(isContract(_to)) {
        return transferToContract(_to, _value, _data);
    }
    else {
        return transferToAddress(_to, _value, _data);
    }
}
  
  function transfer(address _to, uint _value) returns (bool success) {
      
    bytes memory empty;
    if(isContract(_to)) {
        return transferToContract(_to, _value, empty);
    }
    else {
        return transferToAddress(_to, _value, empty);
    }
}

  function isContract(address _addr) private returns (bool is_contract) {
      uint length;
	  
	  if (balanceOf(_addr) >=0 )
	  
      assembly {
            length := extcodesize(_addr)
        }
        if(length>0) {
            return true;
        }
        else {
            return false;
        }
    }

  function transferToAddress(address _to, uint _value, bytes _data) private returns (bool success) {
    if (balanceOf(msg.sender) < _value) throw;
    balances[msg.sender] = safeSub(balanceOf(msg.sender), _value);
    balances[_to] = safeAdd(balanceOf(_to), _value);
    Transfer(msg.sender, _to, _value, _data);
    return true;
  }
  
  function transferToContract(address _to, uint _value, bytes _data) private returns (bool success) {
    if (balanceOf(msg.sender) < _value) throw;
    balances[msg.sender] = safeSub(balanceOf(msg.sender), _value);
    balances[_to] = safeAdd(balanceOf(_to), _value);
    ContractReceiver reciever = ContractReceiver(_to);
    reciever.tokenFallback(msg.sender, _value, _data);
    Transfer(msg.sender, _to, _value, _data);
    return true;
}

  function balanceOf(address _owner) constant returns (uint balance) {
    return balances[_owner];
  }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"_name","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"_totalSupply","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"_decimals","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"MAX_UINT256","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"_symbol","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenName","type":"string"},{"name":"_tokenSymbol","type":"string"},{"name":"_tokenSupply","type":"uint256"}],"name":"SetupToken","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"inputs":[{"name":"adr","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":true,"name":"data","type":"bytes"}],"name":"Transfer","type":"event"}]

608060408190526000606081905261001991600191610097565b5060408051602081019182905260009081905261003891600291610097565b506003805460ff19166012179055600060045560058054600160a860020a0319169055341561006357fe5b604051602080610bfb83398101604052515b60058054600160a060020a031916600160a060020a0383161790555b50610137565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100d857805160ff1916838001178555610105565b82800160010185558215610105579182015b828111156101055782518255916020019190600101906100ea565b5b50610112929150610116565b5090565b61013491905b80821115610112576000815560010161011c565b5090565b90565b610ab5806101466000396000f300606060405236156100965763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461009857806318160ddd14610128578063313ce5671461014a57806333a581d21461017057806370a082311461019257806395d89b41146101c0578063a9059cbb14610250578063b6d2a9b914610283578063be45fd621461031a575bfe5b34156100a057fe5b6100a8610391565b6040805160208082528351818301528351919283929083019185019080838382156100ee575b8051825260208311156100ee57601f1990920191602091820191016100ce565b505050905090810190601f16801561011a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013057fe5b610138610427565b60408051918252519081900360200190f35b341561015257fe5b61015a61042e565b6040805160ff9092168252519081900360200190f35b341561017857fe5b610138610438565b60408051918252519081900360200190f35b341561019a57fe5b610138600160a060020a036004351661043e565b60408051918252519081900360200190f35b34156101c857fe5b6100a861045d565b6040805160208082528351818301528351919283929083019185019080838382156100ee575b8051825260208311156100ee57601f1990920191602091820191016100ce565b505050905090810190601f16801561011a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561025857fe5b61026f600160a060020a03600435166024356104f5565b604080519115158252519081900360200190f35b341561028b57fe5b610318600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284375050604080516020601f89358b01803591820183900483028401830190945280835297999881019791965091820194509250829150840183828082843750949650509335935061053592505050565b005b341561032257fe5b604080516020600460443581810135601f810184900484028501840190955284845261026f948235600160a060020a031694602480359560649492939190920191819084018382808284375094965061060495505050505050565b604080519115158252519081900360200190f35b6103996109c5565b6002805460408051602060018416156101000260001901909316849004601f8101849004840282018401909252818152929183018282801561041c5780601f106103f15761010080835404028352916020019161041c565b820191906000526020600020905b8154815290600101906020018083116103ff57829003601f168201915b505050505090505b90565b6004545b90565b60035460ff165b90565b60001981565b600160a060020a0381166000908152602081905260409020545b919050565b6104656109c5565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561041c5780601f106103f15761010080835404028352916020019161041c565b820191906000526020600020905b8154815290600101906020018083116103ff57829003601f168201915b505050505090505b90565b60006104ff6109c5565b6105088461063c565b1561051f57610518848483610672565b915061052d565b610518848483610876565b91505b5b5092915050565b60055433600160a060020a03908116911614801561056e575060055474010000000000000000000000000000000000000000900460ff16155b156105fe5781516105869060019060208501906109e9565b50825161059a9060029060208601906109e9565b50670de0b6b3a76400008102600481905560058054600160a060020a0316600090815260208190526040902091909155805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790555b5b505050565b600061060f8461063c565b156106265761061f848484610672565b9050610634565b61061f848484610876565b90505b5b9392505050565b60006000600061064b8461043e565b106106545750813b5b6000811115610666576001915061066b565b600091505b5b50919050565b60006000836106803361043e565b101561068c5760006000fd5b61069e6106983361043e565b8561098b565b600160a060020a0333166000908152602081905260409020556106c96106c38661043e565b856109a6565b600160a060020a038087166000818152602081815260409182902094909455517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081523392831660048201908152602482018990526060604483019081528851606484015288518b9750939563c0ee0b8a95948b948b949392608490910191908501908083838215610776575b80518252602083111561077657601f199092019160209182019101610756565b505050905090810190601f1680156107a25780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15156107bf57fe5b6102c65a03f115156107cd57fe5b505050826040518082805190602001908083835b602083106108005780518252601f1990920191602091820191016107e1565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208a83529351939550600160a060020a038b811695503316937fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c169350918290030190a4600191505b509392505050565b6000826108823361043e565b101561088e5760006000fd5b6108a061089a3361043e565b8461098b565b600160a060020a0333166000908152602081905260409020556108cb6108c58561043e565b846109a6565b600160a060020a038516600090815260208181526040918290209290925551835184928291908401908083835b602083106109175780518252601f1990920191602091820191016108f8565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208983529351939550600160a060020a038a811695503316937fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c169350918290030190a45060015b9392505050565b60008183101561099b5760006000fd5b508082035b92915050565b600081600019038311156109ba5760006000fd5b508181015b92915050565b60408051602081019091526000815290565b60408051602081019091526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610a2a57805160ff1916838001178555610a57565b82800160010185558215610a57579182015b82811115610a57578251825591602001919060010190610a3c565b5b50610a64929150610a68565b5090565b61042491905b80821115610a645760008155600101610a6e565b5090565b905600a165627a7a723058209e4b63a73ea863fa9afc0c03d6a2903a4281cc9ae91c49abeadb7135f19b9c180029000000000000000000000000abe3d12e5518bf8266bb91b56913962ce1f77cf4

Deployed Bytecode

0x606060405236156100965763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461009857806318160ddd14610128578063313ce5671461014a57806333a581d21461017057806370a082311461019257806395d89b41146101c0578063a9059cbb14610250578063b6d2a9b914610283578063be45fd621461031a575bfe5b34156100a057fe5b6100a8610391565b6040805160208082528351818301528351919283929083019185019080838382156100ee575b8051825260208311156100ee57601f1990920191602091820191016100ce565b505050905090810190601f16801561011a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013057fe5b610138610427565b60408051918252519081900360200190f35b341561015257fe5b61015a61042e565b6040805160ff9092168252519081900360200190f35b341561017857fe5b610138610438565b60408051918252519081900360200190f35b341561019a57fe5b610138600160a060020a036004351661043e565b60408051918252519081900360200190f35b34156101c857fe5b6100a861045d565b6040805160208082528351818301528351919283929083019185019080838382156100ee575b8051825260208311156100ee57601f1990920191602091820191016100ce565b505050905090810190601f16801561011a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561025857fe5b61026f600160a060020a03600435166024356104f5565b604080519115158252519081900360200190f35b341561028b57fe5b610318600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284375050604080516020601f89358b01803591820183900483028401830190945280835297999881019791965091820194509250829150840183828082843750949650509335935061053592505050565b005b341561032257fe5b604080516020600460443581810135601f810184900484028501840190955284845261026f948235600160a060020a031694602480359560649492939190920191819084018382808284375094965061060495505050505050565b604080519115158252519081900360200190f35b6103996109c5565b6002805460408051602060018416156101000260001901909316849004601f8101849004840282018401909252818152929183018282801561041c5780601f106103f15761010080835404028352916020019161041c565b820191906000526020600020905b8154815290600101906020018083116103ff57829003601f168201915b505050505090505b90565b6004545b90565b60035460ff165b90565b60001981565b600160a060020a0381166000908152602081905260409020545b919050565b6104656109c5565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561041c5780601f106103f15761010080835404028352916020019161041c565b820191906000526020600020905b8154815290600101906020018083116103ff57829003601f168201915b505050505090505b90565b60006104ff6109c5565b6105088461063c565b1561051f57610518848483610672565b915061052d565b610518848483610876565b91505b5b5092915050565b60055433600160a060020a03908116911614801561056e575060055474010000000000000000000000000000000000000000900460ff16155b156105fe5781516105869060019060208501906109e9565b50825161059a9060029060208601906109e9565b50670de0b6b3a76400008102600481905560058054600160a060020a0316600090815260208190526040902091909155805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790555b5b505050565b600061060f8461063c565b156106265761061f848484610672565b9050610634565b61061f848484610876565b90505b5b9392505050565b60006000600061064b8461043e565b106106545750813b5b6000811115610666576001915061066b565b600091505b5b50919050565b60006000836106803361043e565b101561068c5760006000fd5b61069e6106983361043e565b8561098b565b600160a060020a0333166000908152602081905260409020556106c96106c38661043e565b856109a6565b600160a060020a038087166000818152602081815260409182902094909455517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081523392831660048201908152602482018990526060604483019081528851606484015288518b9750939563c0ee0b8a95948b948b949392608490910191908501908083838215610776575b80518252602083111561077657601f199092019160209182019101610756565b505050905090810190601f1680156107a25780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15156107bf57fe5b6102c65a03f115156107cd57fe5b505050826040518082805190602001908083835b602083106108005780518252601f1990920191602091820191016107e1565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208a83529351939550600160a060020a038b811695503316937fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c169350918290030190a4600191505b509392505050565b6000826108823361043e565b101561088e5760006000fd5b6108a061089a3361043e565b8461098b565b600160a060020a0333166000908152602081905260409020556108cb6108c58561043e565b846109a6565b600160a060020a038516600090815260208181526040918290209290925551835184928291908401908083835b602083106109175780518252601f1990920191602091820191016108f8565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208983529351939550600160a060020a038a811695503316937fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c169350918290030190a45060015b9392505050565b60008183101561099b5760006000fd5b508082035b92915050565b600081600019038311156109ba5760006000fd5b508181015b92915050565b60408051602081019091526000815290565b60408051602081019091526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610a2a57805160ff1916838001178555610a57565b82800160010185558215610a57579182015b82811115610a57578251825591602001919060010190610a3c565b5b50610a64929150610a68565b5090565b61042491905b80821115610a645760008155600101610a6e565b5090565b905600a165627a7a723058209e4b63a73ea863fa9afc0c03d6a2903a4281cc9ae91c49abeadb7135f19b9c180029

Swarm Source

bzzr://9e4b63a73ea863fa9afc0c03d6a2903a4281cc9ae91c49abeadb7135f19b9c18
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.