Feature Tip: Add private address tag to any address under My Name Tag !
More Info
[ Download CSV Export ]
Latest 1 internal transaction
Parent Txn Hash | Block | From | To | Value | |||
---|---|---|---|---|---|---|---|
0x11e2048f6908a7826a5fc6f206744d7d383c22ccaebeb07314d5d2c6ed37b63b | 3792049 | 1902 days 13 hrs ago | Alphabitcoinfund.com: Deployer | Contract Creation | 0 Ether |
[ Download CSV Export ]
Contract Name:
ABCToken
Compiler Version
v0.4.11+commit.68ef5810
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-05-30 */ pragma solidity ^0.4.11; /* Author: Victor Mezrin [email protected] */ /* Interface of the ERC223 token */ contract ERC223TokenInterface { function name() constant returns (string _name); function symbol() constant returns (string _symbol); function decimals() constant returns (uint8 _decimals); function totalSupply() constant returns (uint256 _supply); function balanceOf(address _owner) constant returns (uint256 _balance); function approve(address _spender, uint256 _value) returns (bool _success); function allowance(address _owner, address spender) constant returns (uint256 _remaining); function transfer(address _to, uint256 _value) returns (bool _success); function transfer(address _to, uint256 _value, bytes _metadata) returns (bool _success); function transferFrom(address _from, address _to, uint256 _value) returns (bool _success); event Approval(address indexed owner, address indexed spender, uint256 value); event Transfer(address indexed from, address indexed to, uint256 value); event Transfer(address indexed from, address indexed to, uint256 value, bytes metadata); } /* Interface of the contract that is going to receive ERC223 tokens */ contract ERC223ContractInterface { function erc223Fallback(address _from, uint256 _value, bytes _data){ // to avoid warnings during compilation _from = _from; _value = _value; _data = _data; // Incoming transaction code here throw; } } /* https://github.com/LykkeCity/EthereumApiDotNetCore/blob/master/src/ContractBuilder/contracts/token/SafeMath.sol */ 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 ERC223Token is ERC223TokenInterface, SafeMath { /* Storage of the contract */ mapping (address => uint256) balances; mapping (address => mapping (address => uint256)) allowances; string public name; string public symbol; uint8 public decimals; uint256 public totalSupply; /* Getters */ 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 _supply) { return totalSupply; } function balanceOf(address _owner) constant returns (uint256 _balance) { return balances[_owner]; } /* Allow to spend */ function approve(address _spender, uint256 _value) returns (bool _success) { allowances[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } function allowance(address _owner, address _spender) constant returns (uint256 _remaining) { return allowances[_owner][_spender]; } /* Transfer */ function transfer(address _to, uint256 _value) returns (bool _success) { bytes memory emptyMetadata; __transfer(msg.sender, _to, _value, emptyMetadata); return true; } function transfer(address _to, uint256 _value, bytes _metadata) returns (bool _success) { __transfer(msg.sender, _to, _value, _metadata); Transfer(msg.sender, _to, _value, _metadata); return true; } function transferFrom(address _from, address _to, uint256 _value) returns (bool _success) { if (allowances[_from][msg.sender] < _value) throw; allowances[_from][msg.sender] = safeSub(allowances[_from][msg.sender], _value); bytes memory emptyMetadata; __transfer(_from, _to, _value, emptyMetadata); return true; } function __transfer(address _from, address _to, uint256 _value, bytes _metadata) internal { if (_from == _to) throw; if (_value == 0) throw; if (balanceOf(_from) < _value) throw; balances[_from] = safeSub(balanceOf(_from), _value); balances[_to] = safeAdd(balanceOf(_to), _value); if (isContract(_to)) { ERC223ContractInterface receiverContract = ERC223ContractInterface(_to); receiverContract.erc223Fallback(_from, _value, _metadata); } Transfer(_from, _to, _value); } /* Helpers */ // Assemble the given address bytecode. If bytecode exists then the _addr is a contract. function isContract(address _addr) internal returns (bool _isContract) { _addr = _addr; // to avoid warnings during compilation uint256 length; assembly { //retrieve the size of the code on target address, this needs assembly length := extcodesize(_addr) } return (length > 0); } } contract ABCToken is ERC223Token { // Constructor function ABCToken( string _name, string _symbol, uint8 _decimals, uint256 _totalSupply, address _initialTokensHolder) { name = _name; symbol = _symbol; decimals = _decimals; totalSupply = _totalSupply; balances[_initialTokensHolder] = _totalSupply; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"_name","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"_success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"_supply","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"_success","type":"bool"}],"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":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_metadata","type":"bytes"}],"name":"transfer","outputs":[{"name":"_success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"_remaining","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"},{"name":"_totalSupply","type":"uint256"},{"name":"_initialTokensHolder","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
6060604052341561000c57fe5b604051610b34380380610b3483398101604090815281516020830151918301516060840151608085015192850194939093019290915b84516100559060029060208801906100a4565b5083516100699060039060208701906100a4565b506004805460ff191660ff85161790556005829055600160a060020a03811660009081526020819052604090208290555b5050505050610144565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100e557805160ff1916838001178555610112565b82800160010185558215610112579182015b828111156101125782518255916020019190600101906100f7565b5b5061011f929150610123565b5090565b61014191905b8082111561011f5760008155600101610129565b5090565b90565b6109e1806101536000396000f300606060405236156100ac5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100ae578063095ea7b31461013e57806318160ddd1461017157806323b872dd14610193578063313ce567146101cc57806333a581d2146101f257806370a082311461021457806395d89b4114610242578063a9059cbb146102d2578063be45fd6214610305578063dd62ed3e1461037c575bfe5b34156100b657fe5b6100be6103b0565b604080516020808252835181830152835191928392908301918501908083838215610104575b80518252602083111561010457601f1990920191602091820191016100e4565b505050905090810190601f1680156101305780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014657fe5b61015d600160a060020a0360043516602435610446565b604080519115158252519081900360200190f35b341561017957fe5b6101816104b1565b60408051918252519081900360200190f35b341561019b57fe5b61015d600160a060020a03600435811690602435166044356104b8565b604080519115158252519081900360200190f35b34156101d457fe5b6101dc610568565b6040805160ff9092168252519081900360200190f35b34156101fa57fe5b610181610572565b60408051918252519081900360200190f35b341561021c57fe5b610181600160a060020a0360043516610578565b60408051918252519081900360200190f35b341561024a57fe5b6100be610597565b604080516020808252835181830152835191928392908301918501908083838215610104575b80518252602083111561010457601f1990920191602091820191016100e4565b505050905090810190601f1680156101305780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102da57fe5b61015d600160a060020a0360043516602435610630565b604080519115158252519081900360200190f35b341561030d57fe5b604080516020600460443581810135601f810184900484028501840190955284845261015d948235600160a060020a031694602480359560649492939190920191819084018382808284375094965061065295505050505050565b604080519115158252519081900360200190f35b341561038457fe5b610181600160a060020a036004358116906024351661072d565b60408051918252519081900360200190f35b6103b8610991565b6002805460408051602060018416156101000260001901909316849004601f8101849004840282018401909252818152929183018282801561043b5780601f106104105761010080835404028352916020019161043b565b820191906000526020600020905b81548152906001019060200180831161041e57829003601f168201915b505050505090505b90565b600160a060020a03338116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b6005545b90565b60006104c2610991565b600160a060020a0380861660009081526001602090815260408083203390941683529290522054839010156104f75760006000fd5b600160a060020a0380861660009081526001602090815260408083203390941683529290522054610528908461075a565b600160a060020a038087166000908152600160209081526040808320339094168352929052205561055b85858584610775565b600191505b509392505050565b60045460ff165b90565b60001981565b600160a060020a0381166000908152602081905260409020545b919050565b61059f610991565b6003805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561043b5780601f106104105761010080835404028352916020019161043b565b820191906000526020600020905b81548152906001019060200180831161041e57829003601f168201915b505050505090505b90565b600061063a610991565b61064633858584610775565b600191505b5092915050565b600061066033858585610775565b83600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16858560405180838152602001806020018281038252838181518152602001915080519060200190808383600083146106e8575b8051825260208311156106e857601f1990920191602091820191016106c8565b505050905090810190601f1680156107145780820380516001836020036101000a031916815260200191505b50935050505060405180910390a35060015b9392505050565b600160a060020a038083166000908152600160209081526040808320938516835292905220545b92915050565b60008183101561076a5760006000fd5b508082035b92915050565b600083600160a060020a031685600160a060020a031614156107975760006000fd5b8215156107a45760006000fd5b826107ae86610578565b10156107ba5760006000fd5b6107cc6107c686610578565b8461075a565b600160a060020a0386166000908152602081905260409020556107f76107f185610578565b84610963565b600160a060020a03851660009081526020819052604090205561081984610982565b1561091057506040517fa7b4b60f000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483019081526024830185905260606044840190815284516064850152845187949385169363a7b4b60f938a938993899360840190602085019080838382156108b5575b8051825260208311156108b557601f199092019160209182019101610895565b505050905090810190601f1680156108e15780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15156108fe57fe5b6102c65a03f1151561090c57fe5b5050505b83600160a060020a031685600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b5050505050565b600081600019038311156109775760006000fd5b508181015b92915050565b6000813b908111905b50919050565b60408051602081019091526000815290565b604080516020810190915260008152905600a165627a7a7230582077a28d286f2aa576701f47aaebe1763ff750e315212c7dc56e626c5d81a306cc002900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000adb53acfa41aee120000000000000000000000000000008e090955f93376bdd758464f80920f8567d0152a0000000000000000000000000000000000000000000000000000000000000008416c70686162697400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034142430000000000000000000000000000000000000000000000000000000000
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000adb53acfa41aee120000000000000000000000000000008e090955f93376bdd758464f80920f8567d0152a0000000000000000000000000000000000000000000000000000000000000008416c70686162697400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034142430000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _name (string): Alphabit
Arg [1] : _symbol (string): ABC
Arg [2] : _decimals (uint8): 18
Arg [3] : _totalSupply (uint256): 210000000000000000000000000
Arg [4] : _initialTokensHolder (address): 0x8e090955f93376bdd758464f80920f8567d0152a
-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 000000000000000000000000000000000000000000adb53acfa41aee12000000
Arg [4] : 0000000000000000000000008e090955f93376bdd758464f80920f8567d0152a
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [6] : 416c706861626974000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [8] : 4142430000000000000000000000000000000000000000000000000000000000
Swarm Source
bzzr://77a28d286f2aa576701f47aaebe1763ff750e315212c7dc56e626c5d81a306cc
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.