Transactions:
328 txns
TokenTracker:
Latest 25 transactions from a total of 328 transactions
[ Download CSV Export ]
Latest 1 Internal Transaction Internal Transactions as a result of Contract Execution
Parent TxHash | Block | Age | From | To | Value | |
---|---|---|---|---|---|---|
0xd77803fd4c22b2ab7abf833b6073bd65245bbf36ca04437c8e827a7ef859b3dc | 3748908 | 642 days 11 hrs ago | 0x7b52427cec68182c74d0b5f9dec57ddd8f727de9 | Contract Creation | 0 Ether |
[ Download CSV Export ]
Warning: The compiled contract might be susceptible to ExpExponentCleanup (medium/high-severity), NestedArrayFunctionCallDecoder (medium-severity), ZeroFunctionSelector (very low-severity), DelegateCallReturnValue (low-severity), ECRecoverMalformedInput (medium-severity), SkipEmptyStringLiteral (low-severity), ConstantOptimizerSubtraction (low-severity), IdentityPrecompileReturnIgnored (low-severity) Solidity Compiler Bugs.
Contract Source Code Verified (Similar Match)
Note: This contract matches the deployed ByteCode of the Verified Source Code for Contract 0xd8f960a98524ccd3194bcd30a714e3c4e387da01
Contract Source Code Verified (Similar Match)
Note: This contract matches the deployed ByteCode of the Verified Source Code for Contract 0xd8f960a98524ccd3194bcd30a714e3c4e387da01
Contract Name: | TokenEmission |
Compiler Version: | v0.4.4+commit.4633f3de |
Optimization Enabled: | Yes |
Runs (Optimizer): | 200 |
Contract Source Code
pragma solidity ^0.4.4; // Standard token interface (ERC 20) // https://github.com/ethereum/EIPs/issues/20 contract ERC20 { // Functions: /// @return total amount of tokens uint256 public totalSupply; /// @param _owner The address from which the balance will be retrieved /// @return The balance function balanceOf(address _owner) constant returns (uint256); /// @notice send `_value` token to `_to` from `msg.sender` /// @param _to The address of the recipient /// @param _value The amount of token to be transferred /// @return Whether the transfer was successful or not function transfer(address _to, uint256 _value) returns (bool); /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from` /// @param _from The address of the sender /// @param _to The address of the recipient /// @param _value The amount of token to be transferred /// @return Whether the transfer was successful or not function transferFrom(address _from, address _to, uint256 _value) returns (bool); /// @notice `msg.sender` approves `_addr` to spend `_value` tokens /// @param _spender The address of the account able to transfer the tokens /// @param _value The amount of wei to be approved for transfer /// @return Whether the approval was successful or not function approve(address _spender, uint256 _value) returns (bool); /// @param _owner The address of the account owning tokens /// @param _spender The address of the account able to transfer the tokens /// @return Amount of remaining tokens allowed to spent function allowance(address _owner, address _spender) constant returns (uint256); // Events: event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); } /** * @title Contract for object that have an owner */ contract Owned { /** * Contract owner address */ address public owner; /** * @dev Delegate contract to another person * @param _owner New owner address */ function setOwner(address _owner) onlyOwner { owner = _owner; } /** * @dev Owner check modifier */ modifier onlyOwner { if (msg.sender != owner) throw; _; } } /** * @title Common pattern for destroyable contracts */ contract Destroyable { address public hammer; /** * @dev Hammer setter * @param _hammer New hammer address */ function setHammer(address _hammer) onlyHammer { hammer = _hammer; } /** * @dev Destroy contract and scrub a data * @notice Only hammer can call it */ function destroy() onlyHammer { suicide(msg.sender); } /** * @dev Hammer check modifier */ modifier onlyHammer { if (msg.sender != hammer) throw; _; } } /** * @title Generic owned destroyable contract */ contract Object is Owned, Destroyable { function Object() { owner = msg.sender; hammer = msg.sender; } } /** * @title Token contract represents any asset in digital economy */ contract Token is Object, ERC20 { /* Short description of token */ string public name; string public symbol; /* Total count of tokens exist */ uint public totalSupply; /* Fixed point position */ uint8 public decimals; /* Token approvement system */ mapping(address => uint) balances; mapping(address => mapping(address => uint)) allowances; /** * @dev Get balance of plain address * @param _owner is a target address * @return amount of tokens on balance */ function balanceOf(address _owner) constant returns (uint256) { return balances[_owner]; } /** * @dev Take allowed tokens * @param _owner The address of the account owning tokens * @param _spender The address of the account able to transfer the tokens * @return Amount of remaining tokens allowed to spent */ function allowance(address _owner, address _spender) constant returns (uint256) { return allowances[_owner][_spender]; } /* Token constructor */ function Token(string _name, string _symbol, uint8 _decimals, uint _count) { name = _name; symbol = _symbol; decimals = _decimals; totalSupply = _count; balances[msg.sender] = _count; } /** * @dev Transfer self tokens to given address * @param _to destination address * @param _value amount of token values to send * @notice `_value` tokens will be sended to `_to` * @return `true` when transfer done */ function transfer(address _to, uint _value) returns (bool) { if (balances[msg.sender] >= _value) { balances[msg.sender] -= _value; balances[_to] += _value; Transfer(msg.sender, _to, _value); return true; } return false; } /** * @dev Transfer with approvement mechainsm * @param _from source address, `_value` tokens shold be approved for `sender` * @param _to destination address * @param _value amount of token values to send * @notice from `_from` will be sended `_value` tokens to `_to` * @return `true` when transfer is done */ function transferFrom(address _from, address _to, uint256 _value) returns (bool) { var avail = allowances[_from][msg.sender] > balances[_from] ? balances[_from] : allowances[_from][msg.sender]; if (avail >= _value) { allowances[_from][msg.sender] -= _value; balances[_from] -= _value; balances[_to] += _value; Transfer(_from, _to, _value); return true; } return false; } /** * @dev Give to target address ability for self token manipulation without sending * @param _spender target address (future requester) * @param _value amount of token values for approving */ function approve(address _spender, uint256 _value) returns (bool) { allowances[msg.sender][_spender] += _value; Approval(msg.sender, _spender, _value); return true; } /** * @dev Reset count of tokens approved for given address * @param _spender target address (future requester) */ function unapprove(address _spender) { allowances[msg.sender][_spender] = 0; } } contract TokenEmission is Token { function TokenEmission(string _name, string _symbol, uint8 _decimals, uint _start_count) Token(_name, _symbol, _decimals, _start_count) {} /** * @dev Token emission * @param _value amount of token values to emit * @notice owner balance will be increased by `_value` */ function emission(uint _value) onlyOwner { // Overflow check if (_value + totalSupply < totalSupply) throw; totalSupply += _value; balances[owner] += _value; } /** * @dev Burn the token values from sender balance and from total * @param _value amount of token values for burn * @notice sender balance will be decreased by `_value` */ function burn(uint _value) { if (balances[msg.sender] >= _value) { balances[msg.sender] -= _value; totalSupply -= _value; } } }
Contract ABI
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","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":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"hammer","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"emission","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"destroy","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_hammer","type":"address"}],"name":"setHammer","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"}],"name":"unapprove","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"},{"name":"_start_count","type":"uint256"}],"type":"constructor"},{"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"},{"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"}]
Contract Creation Code
606060405260405161095338038061095383398101604052805160805160a05160c05192840193919091019183838383600080546c0100000000000000000000000033810204600160a060020a031991821681179092556001805490911690911790558360036000509080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061013357805160ff19168380011785555b506101639291505b808211156101bc57600081556001016100b5565b5050600680547f01000000000000000000000000000000000000000000000000000000000000008085020460ff199091161790556005819055600160a060020a03331660009081526007602052604090208190555050505050505050610763806101f06000396000f35b828001600101855582156100ad579182015b828111156100ad578251826000505591602001919060010190610145565b50508260046000509080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101c057805160ff19168380011785555b506100c99291506100b5565b5090565b828001600101855582156101b0579182015b828111156101b05782518260005055916020019190600101906101d256606060405236156100cf5760e060020a600035046306fdde0381146100d4578063095ea7b31461013957806313af4035146101b557806318160ddd146101db57806323b872dd146101e9578063313ce5671461026057806342966c6814610271578063457f4d41146102c757806358292a3d146102de57806370a082311461030457806383197ef0146103375780638da5cb5b1461035a57806395d89b4114610371578063a9059cbb146103d6578063d31fdffd14610473578063dd62ed3e14610499578063fbf1f78a146104d2575b610002565b346100025761050860038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281529291908301828280156105e95780601f106105be576101008083540402835291602001916105e9565b3461000257610576600435602435600160a060020a03338116600081815260086020908152604080832094871680845294825280832080548701905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b346100025761058a60043560005433600160a060020a039081169116146105f157610002565b346100025761032560055481565b3461000257610576600435602435604435600160a060020a038084166000908152600760209081526040808320546008835281842033909516845293909152812054909182911161063257600160a060020a038086166000908152600860209081526040808320339094168352929052205461064c565b346100025761058c60065460ff1681565b346100025761058a600435600160a060020a03331660009081526007602052604090205481901061062257600160a060020a03331660009081526007602052604090208054829003905560058054829003905550565b34610002576105a2600154600160a060020a031681565b346100025761058a60043560005433600160a060020a039081169116146106e057610002565b3461000257600160a060020a03600435166000908152600760205260409020545b60408051918252519081900360200190f35b346100025761058a60015433600160a060020a0390811691161461071a57610002565b34610002576105a2600054600160a060020a031681565b346100025761050860048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281529291908301828280156105e95780601f106105be576101008083540402835291602001916105e9565b3461000257610576600435602435600160a060020a03331660009081526007602052604081205482901061072657600160a060020a03338116600081815260076020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060016101af565b346100025761058a60043560015433600160a060020a0390811691161461072e57610002565b3461000257610325600435602435600160a060020a038083166000908152600860209081526040808320938516835292905220546101af565b346100025761058a600435600160a060020a03338116600090815260086020908152604080832093851683529290529081205550565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156105685780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b604080519115158252519081900360200190f35b005b6040805160ff9092168252519081900360200190f35b60408051600160a060020a039092168252519081900360200190f35b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b505050505081565b6000805473ffffffffffffffffffffffffffffffffffffffff19166c01000000000000000000000000838102041790555b50565b600091505b509392505050565b600160a060020a0385166000908152600760205260409020545b905082811061062557600160a060020a03808616600081815260086020908152604080832033861684528252808320805489900390558383526007825280832080548990039055938816808352918490208054880190558351878152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a36001915061062a565b60055481810110156106f157610002565b600580548201905560008054600160a060020a0316815260076020526040902080548201905550565b33600160a060020a0316ff5b5060006101af565b600180546c010000000000000000000000008084020473ffffffffffffffffffffffffffffffffffffffff199091161790555056000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000c4269746c6c6520546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000442544c4c00000000000000000000000000000000000000000000000000000000
Block | Age | transaction | Difficulty | GasUsed | Reward |
---|
Block | Age | Uncle Number | Difficulty | GasUsed | Reward |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.