ETH Price: $2,368.91 (-2.93%)
Gas: 9.15 Gwei

Contract

0x87E8D8b9cf1a6C6d3C1D3f3a263FEcB47F3a6422
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer154699182022-09-04 5:51:06766 days ago1662270666IN
ZooomEx Token
0 ETH0.000211674.52126007
Transfer154695882022-09-04 4:30:44766 days ago1662265844IN
ZooomEx Token
0 ETH0.000215414.60233195
Transfer153761692022-08-20 6:53:20781 days ago1660978400IN
ZooomEx Token
0 ETH0.000229964.9119633
Approve108465212020-09-12 10:19:051488 days ago1599905945IN
ZooomEx Token
0 ETH0.003804685
Transfer102701022020-06-15 11:42:271577 days ago1592221347IN
ZooomEx Token
0 ETH0.0011045430
Transfer100841362020-05-17 14:27:461606 days ago1589725666IN
ZooomEx Token
0 ETH0.0014911240.5
Transfer99649022020-04-29 3:06:351624 days ago1588129595IN
ZooomEx Token
0 ETH0.000087274
Transfer99639642020-04-28 23:37:281624 days ago1588117048IN
ZooomEx Token
0 ETH0.000155453
Approve99564942020-04-27 19:47:341626 days ago1588016854IN
ZooomEx Token
0 ETH0.000179044
Transfer99564612020-04-27 19:39:301626 days ago1588016370IN
ZooomEx Token
0 ETH0.000165624.5
Transfer99564232020-04-27 19:32:311626 days ago1588015951IN
ZooomEx Token
0 ETH0.000107994.95
Transfer99561862020-04-27 18:38:201626 days ago1588012700IN
ZooomEx Token
0 ETH0.00013096
Transfer99037972020-04-19 15:54:391634 days ago1587311679IN
ZooomEx Token
0 ETH0.000207224
Transfer99037682020-04-19 15:48:261634 days ago1587311306IN
ZooomEx Token
0 ETH0.000207274
Transfer98842732020-04-16 15:20:011637 days ago1587050401IN
ZooomEx Token
0 ETH0.000207224
Transfer97935222020-04-02 16:10:541651 days ago1585843854IN
ZooomEx Token
0 ETH0.000184095
Approve97248792020-03-23 1:47:131661 days ago1584928033IN
ZooomEx Token
0 ETH0.000044761
Transfer97248692020-03-23 1:45:221661 days ago1584927922IN
ZooomEx Token
0 ETH0.000103632
Transfer96674962020-03-14 4:53:421670 days ago1584161622IN
ZooomEx Token
0 ETH0.000207274
Transfer96369202020-03-09 11:14:341675 days ago1583752474IN
ZooomEx Token
0 ETH0.000147224
Transfer96178962020-03-06 13:19:231678 days ago1583500763IN
ZooomEx Token
0 ETH0.000207274
Transfer96167572020-03-06 9:05:181678 days ago1583485518IN
ZooomEx Token
0 ETH0.000207224
Transfer95956972020-03-03 3:07:591681 days ago1583204879IN
ZooomEx Token
0 ETH0.000073632
Transfer95869612020-03-01 19:08:081683 days ago1583089688IN
ZooomEx Token
0 ETH0.000110413
Transfer95795842020-02-29 15:52:361684 days ago1582991556IN
ZooomEx Token
0 ETH0.000087274
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
80222402019-06-24 18:05:061934 days ago1561399506  Contract Creation0 ETH
Loading...
Loading

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

Contract Name:
TokenEmission

Compiler Version
v0.4.4+commit.4633f3de

Optimization Enabled:
Yes with 200 runs

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

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 Security Audit

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"}]

Deployed Bytecode

0x606060405236156100cf5760e060020a600035046306fdde0381146100d4578063095ea7b31461013957806313af4035146101b557806318160ddd146101db57806323b872dd146101e9578063313ce5671461026057806342966c6814610271578063457f4d41146102c757806358292a3d146102de57806370a082311461030457806383197ef0146103375780638da5cb5b1461035a57806395d89b4114610371578063a9059cbb146103d6578063d31fdffd14610473578063dd62ed3e14610499578063fbf1f78a146104d2575b610002565b346100025761050860038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281529291908301828280156105e95780601f106105be576101008083540402835291602001916105e9565b3461000257610576600435602435600160a060020a03338116600081815260086020908152604080832094871680845294825280832080548701905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b346100025761058a60043560005433600160a060020a039081169116146105f157610002565b346100025761032560055481565b3461000257610576600435602435604435600160a060020a038084166000908152600760209081526040808320546008835281842033909516845293909152812054909182911161063257600160a060020a038086166000908152600860209081526040808320339094168352929052205461064c565b346100025761058c60065460ff1681565b346100025761058a600435600160a060020a03331660009081526007602052604090205481901061062257600160a060020a03331660009081526007602052604090208054829003905560058054829003905550565b34610002576105a2600154600160a060020a031681565b346100025761058a60043560005433600160a060020a039081169116146106e057610002565b3461000257600160a060020a03600435166000908152600760205260409020545b60408051918252519081900360200190f35b346100025761058a60015433600160a060020a0390811691161461071a57610002565b34610002576105a2600054600160a060020a031681565b346100025761050860048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281529291908301828280156105e95780601f106105be576101008083540402835291602001916105e9565b3461000257610576600435602435600160a060020a03331660009081526007602052604081205482901061072657600160a060020a03338116600081815260076020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060016101af565b346100025761058a60043560015433600160a060020a0390811691161461072e57610002565b3461000257610325600435602435600160a060020a038083166000908152600860209081526040808320938516835292905220546101af565b346100025761058a600435600160a060020a03338116600090815260086020908152604080832093851683529290529081205550565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156105685780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b604080519115158252519081900360200190f35b005b6040805160ff9092168252519081900360200190f35b60408051600160a060020a039092168252519081900360200190f35b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b505050505081565b6000805473ffffffffffffffffffffffffffffffffffffffff19166c01000000000000000000000000838102041790555b50565b600091505b509392505050565b600160a060020a0385166000908152600760205260409020545b905082811061062557600160a060020a03808616600081815260086020908152604080832033861684528252808320805489900390558383526007825280832080548990039055938816808352918490208054880190558351878152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a36001915061062a565b60055481810110156106f157610002565b600580548201905560008054600160a060020a0316815260076020526040902080548201905550565b33600160a060020a0316ff5b5060006101af565b600180546c010000000000000000000000008084020473ffffffffffffffffffffffffffffffffffffffff199091161790555056

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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.