ETH Price: $3,404.19 (+1.39%)

Contract

0x13C2fab6354d3790D8ece4f0f1a3280b4A25aD96
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve196071662024-04-07 23:44:59233 days ago1712533499IN
0x13C2fab6...b4A25aD96
0 ETH0.0002839810.00137511
Approve195985892024-04-06 18:51:47234 days ago1712429507IN
0x13C2fab6...b4A25aD96
0 ETH0.0002839510.0000628
Approve195934442024-04-06 1:35:35235 days ago1712367335IN
0x13C2fab6...b4A25aD96
0 ETH0.0002840210.00256333
Transfer188851502023-12-28 15:58:59334 days ago1703779139IN
0x13C2fab6...b4A25aD96
0 ETH0.0016499232.77752759
Transfer188559752023-12-24 13:39:23338 days ago1703425163IN
0x13C2fab6...b4A25aD96
0 ETH0.0011402122.65702531
Approve183564792023-10-15 14:49:47408 days ago1697381387IN
0x13C2fab6...b4A25aD96
0 ETH0.00017056.00491099
Approve183551882023-10-15 10:29:47408 days ago1697365787IN
0x13C2fab6...b4A25aD96
0 ETH0.000165515.82906609
Approve183509182023-10-14 20:10:59409 days ago1697314259IN
0x13C2fab6...b4A25aD96
0 ETH0.000154745.44975866
Transfer176869332023-07-13 20:24:23502 days ago1689279863IN
0x13C2fab6...b4A25aD96
0 ETH0.0027225854.1
Transfer167501012023-03-03 19:38:11634 days ago1677872291IN
0x13C2fab6...b4A25aD96
0 ETH0.0020259340.24736815
Transfer166582822023-02-18 21:47:59647 days ago1676756879IN
0x13C2fab6...b4A25aD96
0 ETH0.0009877126
Transfer166568362023-02-18 16:55:11647 days ago1676739311IN
0x13C2fab6...b4A25aD96
0 ETH0.0012473724.79238503
Transfer166141332023-02-12 17:20:23653 days ago1676222423IN
0x13C2fab6...b4A25aD96
0 ETH0.0008524916.93969733
Transfer165978992023-02-10 10:56:11655 days ago1676026571IN
0x13C2fab6...b4A25aD96
0 ETH0.0009049817.98279115
Transfer165467862023-02-03 7:32:47663 days ago1675409567IN
0x13C2fab6...b4A25aD96
0 ETH0.0015957928.95495823
Transfer164977902023-01-27 11:15:47669 days ago1674818147IN
0x13C2fab6...b4A25aD96
0 ETH0.0009880226
Transfer164967362023-01-27 7:43:59670 days ago1674805439IN
0x13C2fab6...b4A25aD96
0 ETH0.0009880226
Transfer162344352022-12-21 17:01:23706 days ago1671642083IN
0x13C2fab6...b4A25aD96
0 ETH0.0012537224.91247092
Transfer154464842022-08-31 11:50:21818 days ago1661946621IN
0x13C2fab6...b4A25aD96
0 ETH0.000603912
Transfer153454092022-08-15 10:04:16834 days ago1660557856IN
0x13C2fab6...b4A25aD96
0 ETH0.000486816
Transfer153134452022-08-10 9:02:57840 days ago1660122177IN
0x13C2fab6...b4A25aD96
0 ETH0.0006543813
Transfer152578342022-08-01 16:47:48848 days ago1659372468IN
0x13C2fab6...b4A25aD96
0 ETH0.0009091918.06649439
Transfer150259112022-06-25 22:34:43885 days ago1656196483IN
0x13C2fab6...b4A25aD96
0 ETH0.002214344
Approve148223662022-05-22 8:34:19920 days ago1653208459IN
0x13C2fab6...b4A25aD96
0 ETH0.0007020314.44275781
Transfer144098632022-03-18 10:27:58984 days ago1647599278IN
0x13C2fab6...b4A25aD96
0 ETH0.003019560
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PhiToken

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-02-28
*/

pragma solidity ^0.4.18;

 /*
 * Contract that is working with ERC223 tokens
 * https://github.com/ethereum/EIPs/issues/223
 */

/// @title ERC223ReceivingContract - Standard contract implementation for compatibility with ERC223 tokens.
contract ERC223ReceivingContract {

    /// @dev Function that is called when a user or another contract wants to transfer funds.
    /// @param _from Transaction initiator, analogue of msg.sender
    /// @param _value Number of tokens to transfer.
    /// @param _data Data containig a function signature and/or parameters
    function tokenFallback(address _from, uint256 _value, bytes _data) public;
}

/// @title Base Token contract - Functions to be implemented by token contracts.
contract Token {
    /*
     * Implements ERC 20 standard.
     * https://github.com/ethereum/EIPs/blob/f90864a3d2b2b45c4decf95efd26b3f0c276051a/EIPS/eip-20-token-standard.md
     * https://github.com/ethereum/EIPs/issues/20
     *
     *  Added support for the ERC 223 "tokenFallback" method in a "transfer" function with a payload.
     *  https://github.com/ethereum/EIPs/issues/223
     */

    /*
     * ERC 20
     */
    function balanceOf(address _owner) public constant returns (uint256 balance);
    function transfer(address _to, uint256 _value) public returns (bool success);
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
    function approve(address _spender, uint256 _value) public returns (bool success);
    function allowance(address _owner, address _spender) public constant returns (uint256 remaining);
    function burn(uint num) public;

    /*
     * ERC 223
     */
    function transfer(address _to, uint256 _value, bytes _data) public returns (bool success);

    /*
     * Events
     */
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
    event Burn(address indexed _burner, uint _value);

    // There is no ERC223 compatible Transfer event, with `_data` included.
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  /**
  * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

/// @title PHI ERC223 Token with burn functionality
contract PhiToken is Token {

    /*
     *  Terminology:
     *  1 token unit = PHI
     *  1 token = PHI = sphi * multiplier
     *  multiplier set from token's number of decimals (i.e. 10 ** decimals)
     */

    /*  
     *  Section 1
     *  - Variables
     */
    /// Token metadata
    string constant public name = "PHI Token";
    string constant public symbol = "PHI";
    uint8 constant public decimals = 18;
    using SafeMath for uint;
    uint constant multiplier = 10 ** uint(decimals);

    mapping (address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;

    /*
     * This is a slight change to the ERC20 base standard.
     * function totalSupply() constant returns (uint256 supply);
     * is replaced with:
     * uint256 public totalSupply;
     * This automatically creates a getter function for the totalSupply.
     * This is moved to the base contract since public getter functions are not
     * currently recognised as an implementation of the matching abstract
     * function by the compiler.
     *
     * Hardcoded total supply (in sphi), it can be decreased only by burning tokens
     */
    uint256 public totalSupply =  24157817 * multiplier;

    /// Keep track of assigned tokens at deploy
    bool initialTokensAssigned = false;

    /// Store pre-ico and ico address
    address public PRE_ICO_ADDR;
    address public ICO_ADDR;

    /// Where tokens for team will be sent, used also for function-auth
    address public WALLET_ADDR;

    /// How long the tokens should be locked for transfers
    uint public lockTime;

    /* 
     *  Section 2
     *  - modifiers
     */
    /// Do not allow transfers if lockTime is active, allow only
    /// pre-ico and ico if it is (to distribute tokens)
    modifier onlyIfLockTimePassed () {
        require(now > lockTime || (msg.sender == PRE_ICO_ADDR || msg.sender == ICO_ADDR));
        _;
    }

    /* 
     *  Section 3
     *  - Events
     */
    event Deployed(uint indexed _total_supply);

    /*
     *  Public functions
     */
    /// @dev Contract constructor function, assigns tokens to ico, pre-ico,
    /// wallet address and pre sale investors.
    /// @param ico_address Address of the ico contract.
    /// @param pre_ico_address Address of the pre-ico contract.
    /// @param wallet_address Address of tokens to be sent to the PHI team.
    /// @param _lockTime Epoch Timestamp describing how long the tokens should be
    /// locked for transfers.
    function PhiToken(
        address ico_address,
        address pre_ico_address,
        address wallet_address,
        uint _lockTime)
        public
    {
        // Check destination address
        require(ico_address != 0x0);
        require(pre_ico_address != 0x0);
        require(wallet_address != 0x0);
        require(ico_address != pre_ico_address && wallet_address != ico_address);
        require(initialTokensAssigned == false);
        // _lockTime should be in the future
        require(_lockTime > now);
        lockTime = _lockTime;

        WALLET_ADDR = wallet_address;

        // Check total supply
        require(totalSupply > multiplier);

        // tokens to be assigned to pre-ico, ico and wallet address
        uint initAssign = 0;

        // to be sold in the ico
        initAssign += assignTokens(ico_address, 7881196 * multiplier);
        ICO_ADDR = ico_address;
        // to be sold in the pre-ico
        initAssign += assignTokens(pre_ico_address, 3524578 * multiplier);
        PRE_ICO_ADDR = pre_ico_address;
        // Reserved for the team, airdrop, marketing, business etc..
        initAssign += assignTokens(wallet_address, 9227465 * multiplier);

        // Pre sale allocations
        uint presaleTokens = 0;
        presaleTokens += assignTokens(address(0x72B16DC0e5f85aA4BBFcE81687CCc9D6871C2965), 230387 * multiplier);
        presaleTokens += assignTokens(address(0x7270cC02d88Ea63FC26384f5d08e14EE87E75154), 132162 * multiplier);
        presaleTokens += assignTokens(address(0x25F92f21222969BB0b1f14f19FBa770D30Ff678f), 132162 * multiplier);
        presaleTokens += assignTokens(address(0xAc99C59D3353a34531Fae217Ba77139BBe4eDBb3), 443334 * multiplier);
        presaleTokens += assignTokens(address(0xbe41D37eB2d2859143B9f1D29c7BC6d7e59174Da), 970826500000000000000000); // 970826.5 PHI
        presaleTokens += assignTokens(address(0x63e9FA0e43Fcc7C702ed5997AfB8E215C5beE3c9), 970826500000000000000000); // 970826.5 PHI
        presaleTokens += assignTokens(address(0x95c67812c5C41733419aC3b1916d2F282E7A15A4), 396486 * multiplier);
        presaleTokens += assignTokens(address(0x1f5d30BB328498fF6E09b717EC22A9046C41C257), 20144 * multiplier);
        presaleTokens += assignTokens(address(0x0a1ac564e95dAEDF8d454a3593b75CCdd474fc42), 19815 * multiplier);
        presaleTokens += assignTokens(address(0x0C5448D5bC4C40b4d2b2c1D7E58E0541698d3e6E), 19815 * multiplier);
        presaleTokens += assignTokens(address(0xFAe11D521538F067cE0B13B6f8C929cdEA934D07), 75279 * multiplier);
        presaleTokens += assignTokens(address(0xEE51304603887fFF15c6d12165C6d96ff0f0c85b), 45949 * multiplier);
        presaleTokens += assignTokens(address(0xd7Bab04C944faAFa232d6EBFE4f60FF8C4e9815F), 6127 * multiplier);
        presaleTokens += assignTokens(address(0x603f39C81560019c8360F33bA45Bc1E4CAECb33e), 45949 * multiplier);
        presaleTokens += assignTokens(address(0xBB5128f1093D1aa85F6d7D0cC20b8415E0104eDD), 15316 * multiplier);
        
        initialTokensAssigned = true;

        Deployed(totalSupply);

        assert(presaleTokens == 3524578 * multiplier);
        assert(totalSupply == (initAssign.add(presaleTokens)));
    }

    /// @dev Helper function to assign tokens (team, pre-sale, ico, pre-ico etc..).
    /// @notice It will be automatically called on deploy.
    /// @param addr Receiver of the tokens.
    /// @param amount Tokens (in sphi).
    /// @return Tokens assigned
    function assignTokens (address addr, uint amount) internal returns (uint) {
        require(addr != 0x0);
        require(initialTokensAssigned == false);
        balances[addr] = amount;
        Transfer(0x0, addr, balances[addr]);
        return balances[addr];
    }

    /// @notice Allows `msg.sender` to simply destroy `_value` token units (sphi). This means the total
    /// token supply will decrease.
    /// @dev Allows to destroy token units (sphi).
    /// @param _value Number of token units (sphi) to burn.
    function burn(uint256 _value) public onlyIfLockTimePassed {
        require(_value > 0);
        require(balances[msg.sender] >= _value);
        require(totalSupply >= _value);

        uint pre_balance = balances[msg.sender];
        address burner = msg.sender;
        balances[burner] = balances[burner].sub(_value);
        totalSupply = totalSupply.sub(_value);
        Burn(burner, _value);
        Transfer(burner, 0x0, _value);
        assert(balances[burner] == pre_balance.sub(_value));
    }

    /*
     * Token functions
     */

    /// @notice Send `_value` tokens to `_to` from `msg.sender`.
    /// @dev Transfers sender's tokens to a given address. Returns success.
    /// @param _to Address of token receiver.
    /// @param _value Number of tokens to transfer.
    /// @return Returns success of function call.
    function transfer(address _to, uint256 _value) public onlyIfLockTimePassed returns (bool) {
        require(_to != 0x0);
        require(_to != address(this));
        require(balances[msg.sender] >= _value);
        require(balances[_to].add(_value) >= balances[_to]);

        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);

        Transfer(msg.sender, _to, _value);

        return true;
    }

    /// @notice Send `_value` tokens to `_to` from `msg.sender` and trigger
    /// tokenFallback if sender is a contract.
    /// @dev Function that is called when a user or another contract wants to transfer funds.
    /// @param _to Address of token receiver.
    /// @param _value Number of tokens to transfer.
    /// @param _data Data to be sent to tokenFallback
    /// @return Returns success of function call.
    function transfer(
        address _to,
        uint256 _value,
        bytes _data)
        public
        onlyIfLockTimePassed
        returns (bool)
    {
        require(transfer(_to, _value));

        uint codeLength;

        assembly {
            // Retrieve the size of the code on target address, this needs assembly.
            codeLength := extcodesize(_to)
        }

        if (codeLength > 0) {
            ERC223ReceivingContract receiver = ERC223ReceivingContract(_to);
            receiver.tokenFallback(msg.sender, _value, _data);
        }

        return true;
    }

    /// @notice Transfer `_value` tokens from `_from` to `_to` if `msg.sender` is allowed.
    /// @dev Allows for an approved third party to transfer tokens from one
    /// address to another. Returns success.
    /// @param _from Address from where tokens are withdrawn.
    /// @param _to Address to where tokens are sent.
    /// @param _value Number of tokens to transfer.
    /// @return Returns success of function call.
    function transferFrom(address _from, address _to, uint256 _value)
        public
        onlyIfLockTimePassed
        returns (bool)
    {
        require(_from != 0x0);
        require(_to != 0x0);
        require(_to != address(this));
        require(balances[_from] >= _value);
        require(allowed[_from][msg.sender] >= _value);
        require(balances[_to].add(_value) >= balances[_to]);

        balances[_to] = balances[_to].add(_value);
        balances[_from] = balances[_from].sub(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);

        Transfer(_from, _to, _value);

        return true;
    }

    /// @notice Allows `_spender` to transfer `_value` tokens from `msg.sender` to any address.
    /// @dev Sets approved amount of tokens for spender. Returns success.
    /// @param _spender Address of allowed account.
    /// @param _value Number of approved tokens.
    /// @return Returns success of function call.
    function approve(address _spender, uint256 _value) public onlyIfLockTimePassed returns (bool) {
        require(_spender != 0x0);

        // To change the approve amount you first have to reduce the addresses`
        // allowance to zero by calling `approve(_spender, 0)` if it is not
        // already 0 to mitigate the race condition described here:
        // https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
        require(_value == 0 || allowed[msg.sender][_spender] == 0);

        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    /*
     * Read functions
     */
    /// @dev Returns number of allowed tokens that a spender can transfer on
    /// behalf of a token owner.
    /// @param _owner Address of token owner.
    /// @param _spender Address of token spender.
    /// @return Returns remaining allowance for spender.
    function allowance(address _owner, address _spender)
        constant
        public
        returns (uint256)
    {
        return allowed[_owner][_spender];
    }

    /// @dev Returns number of tokens owned by the given address.
    /// @param _owner Address of token owner.
    /// @return Returns balance of owner.
    function balanceOf(address _owner) constant public returns (uint256) {
        return balances[_owner];
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lockTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"WALLET_ADDR","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ICO_ADDR","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PRE_ICO_ADDR","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"ico_address","type":"address"},{"name":"pre_ico_address","type":"address"},{"name":"wallet_address","type":"address"},{"name":"_lockTime","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_total_supply","type":"uint256"}],"name":"Deployed","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"},{"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":"_burner","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Burn","type":"event"}]

60606040526a13fb9de239dbf9d64400006002556003805460ff1916905534156200002957600080fd5b604051608080620013958339810160405280805191906020018051919060200180519190602001805191506000905080600160a060020a03861615156200006f57600080fd5b600160a060020a03851615156200008557600080fd5b600160a060020a03841615156200009b57600080fd5b84600160a060020a031686600160a060020a031614158015620000d0575085600160a060020a031684600160a060020a031614155b1515620000dc57600080fd5b60035460ff1615620000ed57600080fd5b428311620000fa57600080fd5b600683905560058054600160a060020a031916600160a060020a038616179055600254670de0b6b3a764000090116200013257600080fd5b600091506200015b866a0684e87dc281feb430000064010000000062000c40620005cc82021704565b60048054600160a060020a031916600160a060020a0389161790559190910190620001a0856a02ea5bc198996c82480000640100000000620005cc810262000c401704565b6003805461010060a860020a031916610100600160a060020a038916021790559190910190620001ea846a07a1fde14627221d840000640100000000620005cc810262000c401704565b90910190506000620002297372b16dc0e5f85aa4bbfce81687ccc9d6871c29656930c94de6515c0fec000064010000000062000c40620005cc82021704565b0162000262737270cc02d88ea63fc26384f5d08e14ee87e75154691bfc843137b6b7c8000064010000000062000c40620005cc82021704565b016200029b7325f92f21222969bb0b1f14f19fba770d30ff678f691bfc843137b6b7c8000064010000000062000c40620005cc82021704565b01620002d473ac99c59d3353a34531fae217ba77139bbe4edbb3695de12f2e13cca358000064010000000062000c40620005cc82021704565b016200030d73be41d37eb2d2859143b9f1d29c7bc6d7e59174da69cd949c2a4ac1769a000064010000000062000c40620005cc82021704565b01620003467363e9fa0e43fcc7c702ed5997afb8e215c5bee3c969cd949c2a4ac1769a000064010000000062000c40620005cc82021704565b016200037f7395c67812c5c41733419ac3b1916d2f282e7a15a46953f58c93a7242758000064010000000062000c40620005cc82021704565b01620003b8731f5d30bb328498ff6e09b717ec22a9046c41c257690444022858838cc0000064010000000062000c40620005cc82021704565b01620003f1730a1ac564e95daedf8d454a3593b75ccdd474fc426904322c5d8ba16d3c000064010000000062000c40620005cc82021704565b016200042a730c5448d5bc4c40b4d2b2c1d7e58e0541698d3e6e6904322c5d8ba16d3c000064010000000062000c40620005cc82021704565b016200046373fae11d521538f067ce0b13b6f8c929cdea934d07690ff0e1fd06c3a6dc000064010000000062000c40620005cc82021704565b016200049c73ee51304603887fff15c6d12165c6d96ff0f0c85b6909bae678d3c3a7d4000064010000000062000c40620005cc82021704565b01620004d573d7bab04c944faafa232d6ebfe4f60ff8c4e9815f69014c2534b5c3425c000064010000000062000c40620005cc82021704565b016200050e73603f39c81560019c8360f33ba45bc1e4caecb33e6909bae678d3c3a7d4000064010000000062000c40620005cc82021704565b016200054773bb5128f1093d1aa85f6d7d0cc20b8415e0104edd69033e4832b45aaad0000064010000000062000c40620005cc82021704565b6003805460ff191660011790556002549101907fb94ae47ec9f4248692e2ecf9740b67ab493f3dcc8452bedc7d9cd911c28d1ca560405160405180910390a26a02ea5bc198996c8248000081146200059b57fe5b620005b5828264010000000062000c186200066182021704565b60025414620005c057fe5b50505050505062000678565b6000600160a060020a0383161515620005e457600080fd5b60035460ff1615620005f557600080fd5b600160a060020a0383166000818152602081905260408082208590557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35050600160a060020a031660009081526020819052604090205490565b6000828201838110156200067157fe5b9392505050565b610d0d80620006886000396000f3006060604052600436106100da5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100df578063095ea7b3146101695780630d6680871461019f57806318160ddd146101c457806323b872dd146101d7578063313ce567146101ff57806342966c6814610228578063441697521461024057806354e0b4641461026f57806370a0823114610282578063799b7bb8146102a157806395d89b41146102b4578063a9059cbb146102c7578063be45fd62146102e9578063dd62ed3e1461034e575b600080fd5b34156100ea57600080fd5b6100f2610373565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561012e578082015183820152602001610116565b50505050905090810190601f16801561015b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561017457600080fd5b61018b600160a060020a03600435166024356103aa565b604051901515815260200160405180910390f35b34156101aa57600080fd5b6101b26104ab565b60405190815260200160405180910390f35b34156101cf57600080fd5b6101b26104b1565b34156101e257600080fd5b61018b600160a060020a03600435811690602435166044356104b7565b341561020a57600080fd5b6102126106d2565b60405160ff909116815260200160405180910390f35b341561023357600080fd5b61023e6004356106d7565b005b341561024b57600080fd5b610253610858565b604051600160a060020a03909116815260200160405180910390f35b341561027a57600080fd5b610253610867565b341561028d57600080fd5b6101b2600160a060020a0360043516610876565b34156102ac57600080fd5b610253610891565b34156102bf57600080fd5b6100f26108a5565b34156102d257600080fd5b61018b600160a060020a03600435166024356108dc565b34156102f457600080fd5b61018b60048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610a7895505050505050565b341561035957600080fd5b6101b2600160a060020a0360043581169060243516610bed565b60408051908101604052600981527f50484920546f6b656e0000000000000000000000000000000000000000000000602082015281565b60006006544211806103e7575060035433600160a060020a039081166101009092041614806103e7575060045433600160a060020a039081169116145b15156103f257600080fd5b600160a060020a038316151561040757600080fd5b8115806104375750600160a060020a03338116600090815260016020908152604080832093871683529290522054155b151561044257600080fd5b600160a060020a03338116600081815260016020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60065481565b60025481565b60006006544211806104f4575060035433600160a060020a039081166101009092041614806104f4575060045433600160a060020a039081169116145b15156104ff57600080fd5b600160a060020a038416151561051457600080fd5b600160a060020a038316151561052957600080fd5b30600160a060020a031683600160a060020a03161415151561054a57600080fd5b600160a060020a0384166000908152602081905260409020548290101561057057600080fd5b600160a060020a0380851660009081526001602090815260408083203390941683529290522054829010156105a457600080fd5b600160a060020a0383166000908152602081905260409020546105cd818463ffffffff610c1816565b10156105d857600080fd5b600160a060020a038316600090815260208190526040902054610601908363ffffffff610c1816565b600160a060020a038085166000908152602081905260408082209390935590861681522054610636908363ffffffff610c2e16565b600160a060020a038086166000908152602081815260408083209490945560018152838220339093168252919091522054610677908363ffffffff610c2e16565b600160a060020a0380861660008181526001602090815260408083203386168452909152908190209390935590851691600080516020610cc28339815191529085905190815260200160405180910390a35060019392505050565b601281565b600080600654421180610715575060035433600160a060020a03908116610100909204161480610715575060045433600160a060020a039081169116145b151561072057600080fd5b6000831161072d57600080fd5b600160a060020a0333166000908152602081905260409020548390101561075357600080fd5b6002548390101561076357600080fd5b505033600160a060020a0381166000908152602081905260409020549061078a8284610c2e565b600160a060020a0382166000908152602081905260409020556002546107b6908463ffffffff610c2e16565b600255600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58460405190815260200160405180910390a2600081600160a060020a0316600080516020610cc28339815191528560405190815260200160405180910390a3610833828463ffffffff610c2e16565b600160a060020a0382166000908152602081905260409020541461085357fe5b505050565b600554600160a060020a031681565b600454600160a060020a031681565b600160a060020a031660009081526020819052604090205490565b6003546101009004600160a060020a031681565b60408051908101604052600381527f5048490000000000000000000000000000000000000000000000000000000000602082015281565b6000600654421180610919575060035433600160a060020a03908116610100909204161480610919575060045433600160a060020a039081169116145b151561092457600080fd5b600160a060020a038316151561093957600080fd5b30600160a060020a031683600160a060020a03161415151561095a57600080fd5b600160a060020a0333166000908152602081905260409020548290101561098057600080fd5b600160a060020a0383166000908152602081905260409020546109a9818463ffffffff610c1816565b10156109b457600080fd5b600160a060020a0333166000908152602081905260409020546109dd908363ffffffff610c2e16565b600160a060020a033381166000908152602081905260408082209390935590851681522054610a12908363ffffffff610c1816565b60008085600160a060020a0316600160a060020a031681526020019081526020016000208190555082600160a060020a031633600160a060020a0316600080516020610cc28339815191528460405190815260200160405180910390a350600192915050565b6000806000600654421180610ab8575060035433600160a060020a03908116610100909204161480610ab8575060045433600160a060020a039081169116145b1515610ac357600080fd5b610acd86866108dc565b1515610ad857600080fd5b853b91506000821115610be1575084600160a060020a03811663c0ee0b8a3387876040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b7f578082015183820152602001610b67565b50505050905090810190601f168015610bac5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515610bcc57600080fd5b6102c65a03f11515610bdd57600080fd5b5050505b50600195945050505050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600082820183811015610c2757fe5b9392505050565b600082821115610c3a57fe5b50900390565b6000600160a060020a0383161515610c5757600080fd5b60035460ff1615610c6757600080fd5b600160a060020a038316600081815260208190526040808220859055600080516020610cc28339815191529085905190815260200160405180910390a35050600160a060020a0316600090815260208190526040902054905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058206762d56fc8f0ccd3db3270c48ca0481f5105a61f0ce21bdfda6c6d43914425490029000000000000000000000000ac65447589555ec19cbafc5cec717318ec811874000000000000000000000000a17f2bc6b11b4dd60ab38c94e7784634646749c90000000000000000000000008e36256fa656adcf951bb458ba6e5439432780f0000000000000000000000000000000000000000000000000000000005ac60fc0

Deployed Bytecode

0x6060604052600436106100da5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100df578063095ea7b3146101695780630d6680871461019f57806318160ddd146101c457806323b872dd146101d7578063313ce567146101ff57806342966c6814610228578063441697521461024057806354e0b4641461026f57806370a0823114610282578063799b7bb8146102a157806395d89b41146102b4578063a9059cbb146102c7578063be45fd62146102e9578063dd62ed3e1461034e575b600080fd5b34156100ea57600080fd5b6100f2610373565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561012e578082015183820152602001610116565b50505050905090810190601f16801561015b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561017457600080fd5b61018b600160a060020a03600435166024356103aa565b604051901515815260200160405180910390f35b34156101aa57600080fd5b6101b26104ab565b60405190815260200160405180910390f35b34156101cf57600080fd5b6101b26104b1565b34156101e257600080fd5b61018b600160a060020a03600435811690602435166044356104b7565b341561020a57600080fd5b6102126106d2565b60405160ff909116815260200160405180910390f35b341561023357600080fd5b61023e6004356106d7565b005b341561024b57600080fd5b610253610858565b604051600160a060020a03909116815260200160405180910390f35b341561027a57600080fd5b610253610867565b341561028d57600080fd5b6101b2600160a060020a0360043516610876565b34156102ac57600080fd5b610253610891565b34156102bf57600080fd5b6100f26108a5565b34156102d257600080fd5b61018b600160a060020a03600435166024356108dc565b34156102f457600080fd5b61018b60048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610a7895505050505050565b341561035957600080fd5b6101b2600160a060020a0360043581169060243516610bed565b60408051908101604052600981527f50484920546f6b656e0000000000000000000000000000000000000000000000602082015281565b60006006544211806103e7575060035433600160a060020a039081166101009092041614806103e7575060045433600160a060020a039081169116145b15156103f257600080fd5b600160a060020a038316151561040757600080fd5b8115806104375750600160a060020a03338116600090815260016020908152604080832093871683529290522054155b151561044257600080fd5b600160a060020a03338116600081815260016020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60065481565b60025481565b60006006544211806104f4575060035433600160a060020a039081166101009092041614806104f4575060045433600160a060020a039081169116145b15156104ff57600080fd5b600160a060020a038416151561051457600080fd5b600160a060020a038316151561052957600080fd5b30600160a060020a031683600160a060020a03161415151561054a57600080fd5b600160a060020a0384166000908152602081905260409020548290101561057057600080fd5b600160a060020a0380851660009081526001602090815260408083203390941683529290522054829010156105a457600080fd5b600160a060020a0383166000908152602081905260409020546105cd818463ffffffff610c1816565b10156105d857600080fd5b600160a060020a038316600090815260208190526040902054610601908363ffffffff610c1816565b600160a060020a038085166000908152602081905260408082209390935590861681522054610636908363ffffffff610c2e16565b600160a060020a038086166000908152602081815260408083209490945560018152838220339093168252919091522054610677908363ffffffff610c2e16565b600160a060020a0380861660008181526001602090815260408083203386168452909152908190209390935590851691600080516020610cc28339815191529085905190815260200160405180910390a35060019392505050565b601281565b600080600654421180610715575060035433600160a060020a03908116610100909204161480610715575060045433600160a060020a039081169116145b151561072057600080fd5b6000831161072d57600080fd5b600160a060020a0333166000908152602081905260409020548390101561075357600080fd5b6002548390101561076357600080fd5b505033600160a060020a0381166000908152602081905260409020549061078a8284610c2e565b600160a060020a0382166000908152602081905260409020556002546107b6908463ffffffff610c2e16565b600255600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58460405190815260200160405180910390a2600081600160a060020a0316600080516020610cc28339815191528560405190815260200160405180910390a3610833828463ffffffff610c2e16565b600160a060020a0382166000908152602081905260409020541461085357fe5b505050565b600554600160a060020a031681565b600454600160a060020a031681565b600160a060020a031660009081526020819052604090205490565b6003546101009004600160a060020a031681565b60408051908101604052600381527f5048490000000000000000000000000000000000000000000000000000000000602082015281565b6000600654421180610919575060035433600160a060020a03908116610100909204161480610919575060045433600160a060020a039081169116145b151561092457600080fd5b600160a060020a038316151561093957600080fd5b30600160a060020a031683600160a060020a03161415151561095a57600080fd5b600160a060020a0333166000908152602081905260409020548290101561098057600080fd5b600160a060020a0383166000908152602081905260409020546109a9818463ffffffff610c1816565b10156109b457600080fd5b600160a060020a0333166000908152602081905260409020546109dd908363ffffffff610c2e16565b600160a060020a033381166000908152602081905260408082209390935590851681522054610a12908363ffffffff610c1816565b60008085600160a060020a0316600160a060020a031681526020019081526020016000208190555082600160a060020a031633600160a060020a0316600080516020610cc28339815191528460405190815260200160405180910390a350600192915050565b6000806000600654421180610ab8575060035433600160a060020a03908116610100909204161480610ab8575060045433600160a060020a039081169116145b1515610ac357600080fd5b610acd86866108dc565b1515610ad857600080fd5b853b91506000821115610be1575084600160a060020a03811663c0ee0b8a3387876040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b7f578082015183820152602001610b67565b50505050905090810190601f168015610bac5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515610bcc57600080fd5b6102c65a03f11515610bdd57600080fd5b5050505b50600195945050505050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600082820183811015610c2757fe5b9392505050565b600082821115610c3a57fe5b50900390565b6000600160a060020a0383161515610c5757600080fd5b60035460ff1615610c6757600080fd5b600160a060020a038316600081815260208190526040808220859055600080516020610cc28339815191529085905190815260200160405180910390a35050600160a060020a0316600090815260208190526040902054905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058206762d56fc8f0ccd3db3270c48ca0481f5105a61f0ce21bdfda6c6d43914425490029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000ac65447589555ec19cbafc5cec717318ec811874000000000000000000000000a17f2bc6b11b4dd60ab38c94e7784634646749c90000000000000000000000008e36256fa656adcf951bb458ba6e5439432780f0000000000000000000000000000000000000000000000000000000005ac60fc0

-----Decoded View---------------
Arg [0] : ico_address (address): 0xaC65447589555EC19CbAfC5cEC717318eC811874
Arg [1] : pre_ico_address (address): 0xa17f2bc6b11b4Dd60ab38C94E7784634646749c9
Arg [2] : wallet_address (address): 0x8E36256fA656Adcf951Bb458Ba6E5439432780F0
Arg [3] : _lockTime (uint256): 1522929600

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000ac65447589555ec19cbafc5cec717318ec811874
Arg [1] : 000000000000000000000000a17f2bc6b11b4dd60ab38c94e7784634646749c9
Arg [2] : 0000000000000000000000008e36256fa656adcf951bb458ba6e5439432780f0
Arg [3] : 000000000000000000000000000000000000000000000000000000005ac60fc0


Swarm Source

bzzr://6762d56fc8f0ccd3db3270c48ca0481f5105a61f0ce21bdfda6c6d4391442549

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  ]

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.