ETH Price: $2,520.43 (-0.34%)

Contract

0xb582baaF5e749d6aA98A22355A9d08B4c4d013C8
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve184756552023-11-01 7:05:59302 days ago1698822359IN
HackerGold: Old Token
0 ETH0.0003140212.04006909
Transfer44409782017-10-27 19:15:062498 days ago1509131706IN
HackerGold: Old Token
0 ETH0.000018080.5
Transfer31838812017-02-14 20:39:172753 days ago1487104757IN
HackerGold: Old Token
0 ETH0.0018344477
Create HKG29801742017-01-12 3:48:312786 days ago1484192911IN
HackerGold: Old Token
0.4622573 ETH0.01260
Transfer29665172017-01-09 21:38:242789 days ago1483997904IN
HackerGold: Old Token
0 ETH0.0014830941
Transfer29664962017-01-09 21:34:092789 days ago1483997649IN
HackerGold: Old Token
0 ETH0.0009767841
Transfer29449672017-01-06 8:20:212792 days ago1483690821IN
HackerGold: Old Token
0 ETH0.0008654641
Transfer From29416242017-01-05 19:09:202793 days ago1483643360IN
HackerGold: Old Token
0 ETH0.0008556620
Transfer From29416202017-01-05 19:07:302793 days ago1483643250IN
HackerGold: Old Token
0 ETH0.0008582220
Transfer From29416112017-01-05 19:05:142793 days ago1483643114IN
HackerGold: Old Token
0 ETH0.0008582220
Transfer From29416112017-01-05 19:05:142793 days ago1483643114IN
HackerGold: Old Token
0 ETH0.0008582220
Transfer From29416112017-01-05 19:05:142793 days ago1483643114IN
HackerGold: Old Token
0 ETH0.0008582220
Transfer From29416112017-01-05 19:05:142793 days ago1483643114IN
HackerGold: Old Token
0 ETH0.0008582220
Transfer From29416112017-01-05 19:05:142793 days ago1483643114IN
HackerGold: Old Token
0 ETH0.0008582220
Transfer From29416112017-01-05 19:05:142793 days ago1483643114IN
HackerGold: Old Token
0 ETH0.0008582220
Transfer From29416112017-01-05 19:05:142793 days ago1483643114IN
HackerGold: Old Token
0 ETH0.0008582220
Transfer From29416112017-01-05 19:05:142793 days ago1483643114IN
HackerGold: Old Token
0 ETH0.0008582220
Transfer From29416112017-01-05 19:05:142793 days ago1483643114IN
HackerGold: Old Token
0 ETH0.0008569420
Transfer From29416112017-01-05 19:05:142793 days ago1483643114IN
HackerGold: Old Token
0 ETH0.0008582220
Transfer From29416112017-01-05 19:05:142793 days ago1483643114IN
HackerGold: Old Token
0 ETH0.0008569420
Transfer From29416112017-01-05 19:05:142793 days ago1483643114IN
HackerGold: Old Token
0 ETH0.0008582220
Transfer From29416112017-01-05 19:05:142793 days ago1483643114IN
HackerGold: Old Token
0 ETH0.0008582220
Transfer From29416112017-01-05 19:05:142793 days ago1483643114IN
HackerGold: Old Token
0 ETH0.0008582220
Transfer From29416112017-01-05 19:05:142793 days ago1483643114IN
HackerGold: Old Token
0 ETH0.0008582220
Transfer From29416112017-01-05 19:05:142793 days ago1483643114IN
HackerGold: Old Token
0 ETH0.0008582220
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
28555592016-12-22 13:50:282807 days ago1482414628
HackerGold: Old Token
3.5 ETH
28555542016-12-22 13:49:572807 days ago1482414597
HackerGold: Old Token
16 ETH
28555502016-12-22 13:47:162807 days ago1482414436
HackerGold: Old Token
30 ETH
28554942016-12-22 13:33:402807 days ago1482413620
HackerGold: Old Token
0.14207 ETH
28554222016-12-22 13:15:022807 days ago1482412502
HackerGold: Old Token
50 ETH
28552822016-12-22 12:42:442807 days ago1482410564
HackerGold: Old Token
100 ETH
28552172016-12-22 12:23:002807 days ago1482409380
HackerGold: Old Token
597 ETH
28549872016-12-22 11:28:342807 days ago1482406114
HackerGold: Old Token
4.90492941 ETH
28549662016-12-22 11:21:432807 days ago1482405703
HackerGold: Old Token
0.99 ETH
28549512016-12-22 11:18:392807 days ago1482405519
HackerGold: Old Token
0.38 ETH
28549462016-12-22 11:17:282807 days ago1482405448
HackerGold: Old Token
9.99 ETH
28548722016-12-22 10:58:462807 days ago1482404326
HackerGold: Old Token
6 ETH
28548242016-12-22 10:45:462807 days ago1482403546
HackerGold: Old Token
2 ETH
28545702016-12-22 9:47:532807 days ago1482400073
HackerGold: Old Token
5 ETH
28541332016-12-22 7:59:082807 days ago1482393548
HackerGold: Old Token
10 ETH
28540602016-12-22 7:44:182807 days ago1482392658
HackerGold: Old Token
10 ETH
28539702016-12-22 7:21:092807 days ago1482391269
HackerGold: Old Token
10 ETH
28535662016-12-22 5:47:212807 days ago1482385641
HackerGold: Old Token
53.91172311 ETH
28534292016-12-22 5:14:572807 days ago1482383697
HackerGold: Old Token
50 ETH
28533662016-12-22 5:02:052807 days ago1482382925
HackerGold: Old Token
110.21425983 ETH
28532552016-12-22 4:36:462807 days ago1482381406
HackerGold: Old Token
119.98733434 ETH
28530342016-12-22 3:41:062807 days ago1482378066
HackerGold: Old Token
10 ETH
28527702016-12-22 2:38:592807 days ago1482374339
HackerGold: Old Token
10 ETH
28524722016-12-22 1:27:562808 days ago1482370076
HackerGold: Old Token
0.1 ETH
28521752016-12-22 0:13:402808 days ago1482365620
HackerGold: Old Token
0.80493352 ETH
View All Internal Transactions
Loading...
Loading

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

Contract Name:
HackerGold

Compiler Version
v0.4.2-nightly.2016.9.9+commit.51a98ab

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2016-10-19
*/

pragma solidity ^0.4.0;

/*
 * Token - is a smart contract interface 
 * for managing common functionality of 
 * a token.
 *
 * ERC.20 Token standard: https://github.com/eth ereum/EIPs/issues/20
 */
contract TokenInterface {

        
    // total amount of tokens
    uint totalSupply;

    
    /**
     *
     * balanceOf() - constant function check concrete tokens balance  
     *
     *  @param owner - account owner
     *  
     *  @return the value of balance 
     */                               
    function balanceOf(address owner) constant returns (uint256 balance);
    
    function transfer(address to, uint256 value) returns (bool success);

    function transferFrom(address from, address to, uint256 value) returns (bool success);

    /**
     *
     * approve() - function approves to a person to spend some tokens from 
     *           owner balance. 
     *
     *  @param spender - person whom this right been granted.
     *  @param value   - value to spend.
     * 
     *  @return true in case of succes, otherwise failure
     * 
     */
    function approve(address spender, uint256 value) returns (bool success);

    /**
     *
     * allowance() - constant function to check how much is 
     *               permitted to spend to 3rd person from owner balance
     *
     *  @param owner   - owner of the balance
     *  @param spender - permitted to spend from this balance person 
     *  
     *  @return - remaining right to spend 
     * 
     */
    function allowance(address owner, address spender) constant returns (uint256 remaining);

    // events notifications
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

/*
 * StandardToken - is a smart contract  
 * for managing common functionality of 
 * a token.
 *
 * ERC.20 Token standard: 
 *         https://github.com/eth ereum/EIPs/issues/20
 */
contract StandardToken is TokenInterface {


    // token ownership
    mapping (address => uint256) balances;

    // spending permision management
    mapping (address => mapping (address => uint256)) allowed;
    
    
    
    function StandardToken(){
    }
    
    
    /**
     * transfer() - transfer tokens from msg.sender balance 
     *              to requested account
     *
     *  @param to    - target address to transfer tokens
     *  @param value - ammount of tokens to transfer
     *
     *  @return - success / failure of the transaction
     */    
    function transfer(address to, uint256 value) returns (bool success) {
        
        
        if (balances[msg.sender] >= value && value > 0) {

            // do actual tokens transfer       
            balances[msg.sender] -= value;
            balances[to]         += value;
            
            // rise the Transfer event
            Transfer(msg.sender, to, value);
            return true;
        } else {
            
            return false; 
        }
    }
    
    

    
    /**
     * transferFrom() - 
     *
     *  @param from  - 
     *  @param to    - 
     *  @param value - 
     *
     *  @return 
     */
    function transferFrom(address from, address to, uint256 value) returns (bool success) {
    
        if ( balances[from] >= value && 
             allowed[from][msg.sender] >= value && 
             value > 0) {
                                          
    
            // do the actual transfer
            balances[from] -= value;    
            balances[to] =+ value;            
            

            // addjust the permision, after part of 
            // permited to spend value was used
            allowed[from][msg.sender] -= value;
            
            // rise the Transfer event
            Transfer(from, to, value);
            return true;
        } else { 
            
            return false; 
        }
    }

    

    
    /**
     *
     * balanceOf() - constant function check concrete tokens balance  
     *
     *  @param owner - account owner
     *  
     *  @return the value of balance 
     */                               
    function balanceOf(address owner) constant returns (uint256 balance) {
        return balances[owner];
    }

    
    
    /**
     *
     * approve() - function approves to a person to spend some tokens from 
     *           owner balance. 
     *
     *  @param spender - person whom this right been granted.
     *  @param value   - value to spend.
     * 
     *  @return true in case of succes, otherwise failure
     * 
     */
    function approve(address spender, uint256 value) returns (bool success) {
        
        // now spender can use balance in 
        // ammount of value from owner balance
        allowed[msg.sender][spender] = value;
        
        // rise event about the transaction
        Approval(msg.sender, spender, value);
        
        return true;
    }

    /**
     *
     * allowance() - constant function to check how mouch is 
     *               permited to spend to 3rd person from owner balance
     *
     *  @param owner   - owner of the balance
     *  @param spender - permited to spend from this balance person 
     *  
     *  @return - remaining right to spend 
     * 
     */
    function allowance(address owner, address spender) constant returns (uint256 remaining) {
      return allowed[owner][spender];
    }

}

/**
 *
 * @title Hacker Gold
 * 
 * The official token powering the hack.ether.camp virtual accelerator.
 * This is the only way to acquire tokens from startups during the event.
 *
 * Whitepaper https://hack.ether.camp/whitepaper
 *
 */
contract HackerGold is StandardToken {

    // Name of the token    
    string public name = "HackerGold";

    // Decimal places
    uint8  public decimals = 3;
    // Token abbreviation        
    string public symbol = "HKG";
    
    // 1 ether = 200 hkg
    uint BASE_PRICE = 200;
    // 1 ether = 150 hkg
    uint MID_PRICE = 150;
    // 1 ether = 100 hkg
    uint FIN_PRICE = 100;
    // Safety cap
    uint SAFETY_LIMIT = 4000000 ether;
    // Zeros after the point
    uint DECIMAL_ZEROS = 1000;
    
    // Total value in wei
    uint totalValue;
    
    // Address of multisig wallet holding ether from sale
    address wallet;

    // Structure of sale increase milestones
    struct milestones_struct {
      uint p1;
      uint p2; 
      uint p3;
      uint p4;
      uint p5;
      uint p6;
    }
    // Milestones instance
    milestones_struct milestones;
    
    /**
     * Constructor of the contract.
     * 
     * Passes address of the account holding the value.
     * HackerGold contract itself does not hold any value
     * 
     * @param multisig address of MultiSig wallet which will hold the value
     */
    function HackerGold(address multisig) {
        
        wallet = multisig;

        // set time periods for sale
        milestones = milestones_struct(
        
          1476799200,  // P1: GMT: 18-Oct-2016 14:00  => The Sale Starts
          1478181600,  // P2: GMT: 03-Nov-2016 14:00  => 1st Price Ladder 
          1479391200,  // P3: GMT: 17-Nov-2016 14:00  => Price Stable, 
                       //                                Hackathon Starts
          1480600800,  // P4: GMT: 01-Dec-2016 14:00  => 2nd Price Ladder
          1481810400,  // P5: GMT: 15-Dec-2016 14:00  => Price Stable
          1482415200   // P6: GMT: 22-Dec-2016 14:00  => Sale Ends, Hackathon Ends
        );
                
    }
    
    
    /**
     * Fallback function: called on ether sent.
     * 
     * It calls to createHKG function with msg.sender 
     * as a value for holder argument
     */
    function () payable {
        createHKG(msg.sender);
    }
    
    /**
     * Creates HKG tokens.
     * 
     * Runs sanity checks including safety cap
     * Then calculates current price by getPrice() function, creates HKG tokens
     * Finally sends a value of transaction to the wallet
     * 
     * Note: due to lack of floating point types in Solidity,
     * contract assumes that last 3 digits in tokens amount are stood after the point.
     * It means that if stored HKG balance is 100000, then its real value is 100 HKG
     * 
     * @param holder token holder
     */
    function createHKG(address holder) payable {
        
        if (now < milestones.p1) throw;
        if (now >= milestones.p6) throw;
        if (msg.value == 0) throw;
    
        // safety cap
        if (getTotalValue() + msg.value > SAFETY_LIMIT) throw; 
    
        uint tokens = msg.value * getPrice() * DECIMAL_ZEROS / 1 ether;

        totalSupply += tokens;
        balances[holder] += tokens;
        totalValue += msg.value;
        
        if (!wallet.send(msg.value)) throw;
    }
    
    /**
     * Denotes complete price structure during the sale.
     *
     * @return HKG amount per 1 ETH for the current moment in time
     */
    function getPrice() constant returns (uint result) {
        
        if (now < milestones.p1) return 0;
        
        if (now >= milestones.p1 && now < milestones.p2) {
        
            return BASE_PRICE;
        }
        
        if (now >= milestones.p2 && now < milestones.p3) {
            
            uint days_in = 1 + (now - milestones.p2) / 1 days; 
            return BASE_PRICE - days_in * 25 / 7;  // daily decrease 3.5
        }

        if (now >= milestones.p3 && now < milestones.p4) {
        
            return MID_PRICE;
        }
        
        if (now >= milestones.p4 && now < milestones.p5) {
            
            days_in = 1 + (now - milestones.p4) / 1 days; 
            return MID_PRICE - days_in * 25 / 7;  // daily decrease 3.5
        }

        if (now >= milestones.p5 && now < milestones.p6) {
        
            return FIN_PRICE;
        }
        
        if (now >= milestones.p6){

            return 0;
        }

     }
    
    /**
     * Returns total stored HKG amount.
     * 
     * Contract assumes that last 3 digits of this value are behind the decimal place. i.e. 10001 is 10.001
     * Thus, result of this function should be divided by 1000 to get HKG value
     * 
     * @return result stored HKG amount
     */
    function getTotalSupply() constant returns (uint result) {
        return totalSupply;
    } 

    /**
     * It is used for test purposes.
     * 
     * Returns the result of 'now' statement of Solidity language
     * 
     * @return unix timestamp for current moment in time
     */
    function getNow() constant returns (uint result) {
        return now;
    }

    /**
     * Returns total value passed through the contract
     * 
     * @return result total value in wei
     */
    function getTotalValue() constant returns (uint result) {
        return totalValue;  
    }
}

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":"success","type":"bool"}],"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":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"holder","type":"address"}],"name":"createHKG","outputs":[],"payable":true,"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":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getPrice","outputs":[{"name":"result","type":"uint256"}],"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":true,"inputs":[],"name":"getNow","outputs":[{"name":"result","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getTotalSupply","outputs":[{"name":"result","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getTotalValue","outputs":[{"name":"result","type":"uint256"}],"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":"multisig","type":"address"}],"type":"constructor"},{"payable":true,"type":"fallback"},{"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

0x606060405236156100a35760e060020a600035046306fdde0381146100af578063095ea7b31461011257806323b872dd1461018b578063313ce5671461027b5780635fe27ab01461028c57806370a08231146102a557806395d89b41146102d857806398d5fdca1461033b578063a9059cbb14610348578063bbe4fd50146103f3578063c4e41b2214610400578063caa648b414610410578063dd62ed3e1461041d575b61045661045833610293565b34610002576040805160038054602060026001831615610100026000190190921691909104601f810182900482028401820190945283835261045a93908301828280156105eb5780601f106105c0576101008083540402835291602001916105eb565b34610002576104c8600435602435600160a060020a03338116600081815260026020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b34610002576104c8600435602435604435600160a060020a0383166000908152600160205260408120548290108015906101e35750600260209081526040808320600160a060020a0333168452909152812054829010155b80156101ef5750600082115b156105f357600160a060020a0384811660008181526001602090815260408083208054889003905587851680845281842088905584845260028352818420339690961684529482529182902080548790039055815186815291517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35060016105f7565b34610002576104dc60045460ff1681565b6104566004355b600d5460009042101561052b57610002565b3461000257600435600160a060020a03166000908152600160205260409020545b60408051918252519081900360200190f35b346100025761045a6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105eb5780601f106105c0576101008083540402835291602001916105eb565b34610002576102c6610503565b34610002576104c8600435602435600160a060020a03331660009081526001602052604081205482901080159061037f5750600082115b156106f057600160a060020a03338116600081815260016020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610185565b34610002576102c6425b90565b34610002576102c66000546103fd565b34610002576102c6610523565b34610002576102c6600435602435600160a060020a03828116600090815260026020908152604080832093851683529290522054610185565b005b565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156104ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b604080519115158252519081900360200190f35b6040805160ff9092168252519081900360200190f35b600a54670de0b6b3a7640000906105535b600d5460009081904210156105fe57600091505b5090565b600954346105475b600b546103fd565b601254421061053957610002565b346000141561051b57610002565b0111156104f257610002565b34020281156100025760008054929091049182018155600160a060020a03848116825260016020526040808320805485019055600b8054349081019091559051600c54949550939091169281156108fc0292818181858888f1935050505015156105bc57610002565b5050565b820191906000526020600020905b8154815290600101906020018083116105ce57829003601f168201915b505050505081565b5060005b9392505050565b600d5442108015906106115750600e5442105b15610620576006549150610517565b600e5442108015906106335750600f5442105b1561065d57600e546201518090420304600101905060076019820204600660005054039150610517565b600f544210801590610670575060105442105b1561067f576007549150610517565b6010544210801590610692575060115442105b156106bc576010546201518090420304600101905060076019820204600760005054039150610517565b60115442108015906106cf575060125442105b156106de576008549150610517565b60125442106105175760009150610517565b50600061018556

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.