ETH Price: $2,559.60 (-0.02%)

Contract

0xc16CF13922C18DE7842374F9Baace4489f1D24AF
 

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve183653622023-10-16 20:35:47340 days ago1697488547IN
0xc16CF139...89f1D24AF
0 ETH0.0005420711.65707129
Approve127346002021-06-30 9:51:131179 days ago1625046673IN
0xc16CF139...89f1D24AF
0 ETH0.0009247620
Transfer120294062021-03-13 9:30:231288 days ago1615627823IN
0xc16CF139...89f1D24AF
0 ETH0.00656259115
Transfer120294042021-03-13 9:29:581288 days ago1615627798IN
0xc16CF139...89f1D24AF
0 ETH0.00324792120
Transfer117973172021-02-05 16:19:021323 days ago1612541942IN
0xc16CF139...89f1D24AF
0 ETH0.01988046348.45
Transfer115244142020-12-25 18:28:241365 days ago1608920904IN
0xc16CF139...89f1D24AF
0 ETH0.0016821640.00000123
Approve114014232020-12-06 20:47:241384 days ago1607287644IN
0xc16CF139...89f1D24AF
0 ETH0.0006660315
Transfer113794262020-12-03 11:47:141388 days ago1606996034IN
0xc16CF139...89f1D24AF
0 ETH0.0024356942.7
Approve112617662020-11-15 10:08:441406 days ago1605434924IN
0xc16CF139...89f1D24AF
0 ETH0.0015006934
Transfer112322082020-11-10 21:30:421410 days ago1605043842IN
0xc16CF139...89f1D24AF
0 ETH0.0009473135
Transfer112322002020-11-10 21:28:591410 days ago1605043739IN
0xc16CF139...89f1D24AF
0 ETH0.0018831733
Approve112302392020-11-10 14:05:531411 days ago1605017153IN
0xc16CF139...89f1D24AF
0 ETH0.0021756949
Transfer112299482020-11-10 12:56:291411 days ago1605012989IN
0xc16CF139...89f1D24AF
0 ETH0.0020539436
Approve112250982020-11-09 19:03:361411 days ago1604948616IN
0xc16CF139...89f1D24AF
0 ETH0.0010212423
Transfer112250882020-11-09 19:00:501411 days ago1604948450IN
0xc16CF139...89f1D24AF
0 ETH0.0012616230
Transfer112250422020-11-09 18:49:411411 days ago1604947781IN
0xc16CF139...89f1D24AF
0 ETH0.0017116230
Transfer112203202020-11-09 1:24:401412 days ago1604885080IN
0xc16CF139...89f1D24AF
0 ETH0.0006495824
Transfer112202312020-11-09 1:04:041412 days ago1604883844IN
0xc16CF139...89f1D24AF
0 ETH0.0010516525
Transfer112201822020-11-09 0:51:151412 days ago1604883075IN
0xc16CF139...89f1D24AF
0 ETH0.0013695824
Transfer111076942020-10-22 18:37:461429 days ago1603391866IN
0xc16CF139...89f1D24AF
0 ETH0.0022709154
Transfer111076872020-10-22 18:36:231429 days ago1603391783IN
0xc16CF139...89f1D24AF
0 ETH0.0026358946.2
Transfer110974252020-10-21 4:49:481431 days ago1603255788IN
0xc16CF139...89f1D24AF
0 ETH0.0018041142.9
Transfer110749002020-10-17 17:50:001434 days ago1602957000IN
0xc16CF139...89f1D24AF
0 ETH0.0008410820
Transfer110331552020-10-11 8:38:441441 days ago1602405524IN
0xc16CF139...89f1D24AF
0 ETH0.001480335.2
Transfer110331452020-10-11 8:36:321441 days ago1602405392IN
0xc16CF139...89f1D24AF
0 ETH0.0013877833
View all transactions

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
51717072018-02-28 14:08:122397 days ago1519826892
0xc16CF139...89f1D24AF
8,213.70047237 ETH
46339462017-11-27 21:37:542489 days ago1511818674
0xc16CF139...89f1D24AF
3,410.43762958 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DEEX

Compiler Version
v0.4.15+commit.bbb8e64f

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.15;


/*
*  deex.exchange pre-ICO tokens smart contract
*  implements [ERC-20 Token Standard](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md)
*
*  Style
*  1) before start coding, run Python and type 'import this' in Python console.
*  2) we avoid using inheritance (contract B is A) as it makes code less clear for observer
*  ("Flat is better than nested", "Readability counts")
*  3) we avoid using -= ; =- ; +=; =+
*  see: https://github.com/ether-camp/virtual-accelerator/issues/8
*  https://www.ethnews.com/ethercamps-hkg-token-has-a-bug-and-needs-to-be-reissued
*  4) always explicitly mark variables and functions visibility ("Explicit is better than implicit")
*  5) every function except constructor should trigger at leas one event.
*  6) smart contracts have to be audited and reviewed, comment your code.
*
*  Code is published on https://github.com/thedeex/thedeex.github.io
*/


/* "Interfaces" */

//  this is expected from another contracts
//  if it wants to spend tokens of behalf of the token owner in our contract
//  this can be used in many situations, for example to convert pre-ICO tokens to ICO tokens
//  see 'approveAndCall' function
contract allowanceRecipient {
    function receiveApproval(address _from, uint256 _value, address _inContract, bytes _extraData) returns (bool success);
}


// see:
// https://github.com/ethereum/EIPs/issues/677
contract tokenRecipient {
    function tokenFallback(address _from, uint256 _value, bytes _extraData) returns (bool success);
}


contract DEEX {

    // ver. 2.0

    /* ---------- Variables */

    /* --- ERC-20 variables */

    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md#name
    // function name() constant returns (string name)
    string public name = "deex";

    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md#symbol
    // function symbol() constant returns (string symbol)
    string public symbol = "deex";

    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md#decimals
    // function decimals() constant returns (uint8 decimals)
    uint8 public decimals = 0;

    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md#totalsupply
    // function totalSupply() constant returns (uint256 totalSupply)
    // we start with zero and will create tokens as SC receives ETH
    uint256 public totalSupply;

    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md#balanceof
    // function balanceOf(address _owner) constant returns (uint256 balance)
    mapping (address => uint256) public balanceOf;

    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md#allowance
    // function allowance(address _owner, address _spender) constant returns (uint256 remaining)
    mapping (address => mapping (address => uint256)) public allowance;

    /* ----- For tokens sale */

    uint256 public salesCounter = 0;

    uint256 public maxSalesAllowed;

    bool private transfersBetweenSalesAllowed;

    // initial value should be changed by the owner
    uint256 public tokenPriceInWei = 0;

    uint256 public saleStartUnixTime = 0; // block.timestamp
    uint256 public saleEndUnixTime = 0;  // block.timestamp

    /* --- administrative */
    address public owner;

    // account that can set prices
    address public priceSetter;

    // 0 - not set
    uint256 private priceMaxWei = 0;
    // 0 - not set
    uint256 private priceMinWei = 0;

    // accounts holding tokens for for the team, for advisers and for the bounty campaign
    mapping (address => bool) public isPreferredTokensAccount;

    bool public contractInitialized = false;


    /* ---------- Constructor */
    // do not forget about:
    // https://medium.com/@codetractio/a-look-into-paritys-multisig-wallet-bug-affecting-100-million-in-ether-and-tokens-356f5ba6e90a
    function DEEX() {
        owner = msg.sender;

        // for testNet can be more than 2
        // --------------------------------2------------------------------------------------------change  in production!
        maxSalesAllowed = 2;
        //
        transfersBetweenSalesAllowed = true;
    }


    function initContract(address team, address advisers, address bounty) public onlyBy(owner) returns (bool){

        require(contractInitialized == false);
        contractInitialized = true;

        priceSetter = msg.sender;

        totalSupply = 100000000;

        // tokens for sale go SC own account
        balanceOf[this] = 75000000;

        // for the team
        balanceOf[team] = balanceOf[team] + 15000000;
        isPreferredTokensAccount[team] = true;

        // for advisers
        balanceOf[advisers] = balanceOf[advisers] + 7000000;
        isPreferredTokensAccount[advisers] = true;

        // for the bounty campaign
        balanceOf[bounty] = balanceOf[bounty] + 3000000;
        isPreferredTokensAccount[bounty] = true;

    }

    /* ---------- Events */

    /* --- ERC-20 events */
    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md#events

    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md#transfer-1
    event Transfer(address indexed from, address indexed to, uint256 value);

    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md#approval
    event Approval(address indexed _owner, address indexed spender, uint256 value);

    /* --- Administrative events:  */
    event OwnerChanged(address indexed oldOwner, address indexed newOwner);

    /* ---- Tokens creation and sale events  */

    event PriceChanged(uint256 indexed newTokenPriceInWei);

    event SaleStarted(uint256 startUnixTime, uint256 endUnixTime, uint256 indexed saleNumber);

    event NewTokensSold(uint256 numberOfTokens, address indexed purchasedBy, uint256 indexed priceInWei);

    event Withdrawal(address indexed to, uint sumInWei);

    /* --- Interaction with other contracts events  */
    event DataSentToAnotherContract(address indexed _from, address indexed _toContract, bytes _extraData);

    /* ---------- Functions */

    /* --- Modifiers  */
    modifier onlyBy(address _account){
        require(msg.sender == _account);

        _;
    }

    /* --- ERC-20 Functions */
    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md#methods

    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md#transfer
    function transfer(address _to, uint256 _value) public returns (bool){
        return transferFrom(msg.sender, _to, _value);
    }

    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md#transferfrom
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool){

        // transfers are possible only after sale is finished
        // except for manager and preferred accounts

        bool saleFinished = saleIsFinished();
        require(saleFinished || msg.sender == owner || isPreferredTokensAccount[msg.sender]);

        // transfers can be forbidden until final ICO is finished
        // except for manager and preferred accounts
        require(transfersBetweenSalesAllowed || salesCounter == maxSalesAllowed || msg.sender == owner || isPreferredTokensAccount[msg.sender]);

        // Transfers of 0 values MUST be treated as normal transfers and fire the Transfer event (ERC-20)
        require(_value >= 0);

        // The function SHOULD throw unless the _from account has deliberately authorized the sender of the message via some mechanism
        require(msg.sender == _from || _value <= allowance[_from][msg.sender]);

        // check if _from account have required amount
        require(_value <= balanceOf[_from]);

        // Subtract from the sender
        balanceOf[_from] = balanceOf[_from] - _value;
        //
        // Add the same to the recipient
        balanceOf[_to] = balanceOf[_to] + _value;

        // If allowance used, change allowances correspondingly
        if (_from != msg.sender) {
            allowance[_from][msg.sender] = allowance[_from][msg.sender] - _value;
        }

        // event
        Transfer(_from, _to, _value);

        return true;
    }

    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md#approve
    // there is and attack, see:
    // https://github.com/CORIONplatform/solidity/issues/6,
    // https://drive.google.com/file/d/0ByMtMw2hul0EN3NCaVFHSFdxRzA/view
    // but this function is required by ERC-20
    function approve(address _spender, uint256 _value) public returns (bool success){

        require(_value >= 0);

        allowance[msg.sender][_spender] = _value;

        // event
        Approval(msg.sender, _spender, _value);

        return true;
    }

    /*  ---------- Interaction with other contracts  */

    /* User can allow another smart contract to spend some shares in his behalf
    *  (this function should be called by user itself)
    *  @param _spender another contract's address
    *  @param _value number of tokens
    *  @param _extraData Data that can be sent from user to another contract to be processed
    *  bytes - dynamically-sized byte array,
    *  see http://solidity.readthedocs.io/en/v0.4.15/types.html#dynamically-sized-byte-array
    *  see possible attack information in comments to function 'approve'
    *  > this may be used to convert pre-ICO tokens to ICO tokens
    */
    function approveAndCall(address _spender, uint256 _value, bytes _extraData) public returns (bool success) {

        approve(_spender, _value);

        // 'spender' is another contract that implements code as prescribed in 'allowanceRecipient' above
        allowanceRecipient spender = allowanceRecipient(_spender);

        // our contract calls 'receiveApproval' function of another contract ('allowanceRecipient') to send information about
        // allowance and data sent by user
        // 'this' is this (our) contract address
        if (spender.receiveApproval(msg.sender, _value, this, _extraData)) {
            DataSentToAnotherContract(msg.sender, _spender, _extraData);
            return true;
        }
        else return false;
    }

    function approveAllAndCall(address _spender, bytes _extraData) public returns (bool success) {
        return approveAndCall(_spender, balanceOf[msg.sender], _extraData);
    }

    /* https://github.com/ethereum/EIPs/issues/677
    * transfer tokens with additional info to another smart contract, and calls its correspondent function
    * @param address _to - another smart contract address
    * @param uint256 _value - number of tokens
    * @param bytes _extraData - data to send to another contract
    * > this may be used to convert pre-ICO tokens to ICO tokens
    */
    function transferAndCall(address _to, uint256 _value, bytes _extraData) public returns (bool success){

        transferFrom(msg.sender, _to, _value);

        tokenRecipient receiver = tokenRecipient(_to);

        if (receiver.tokenFallback(msg.sender, _value, _extraData)) {
            DataSentToAnotherContract(msg.sender, _to, _extraData);
            return true;
        }
        else return false;
    }

    // for example for conveting ALL tokens of user account to another tokens
    function transferAllAndCall(address _to, bytes _extraData) public returns (bool success){
        return transferAndCall(_to, balanceOf[msg.sender], _extraData);
    }

    /* --- Administrative functions */

    function changeOwner(address _newOwner) public onlyBy(owner) returns (bool success){
        //
        require(_newOwner != address(0));

        address oldOwner = owner;
        owner = _newOwner;

        OwnerChanged(oldOwner, _newOwner);

        return true;
    }

    /* ---------- Create and sell tokens  */

    /* set time for start and time for end pre-ICO
    * time is integer representing block timestamp
    * in UNIX Time,
    * see: https://www.epochconverter.com
    * @param uint256 startTime - time to start
    * @param uint256 endTime - time to end
    * should be taken into account that
    * "block.timestamp" can be influenced by miners to a certain degree.
    * That means that a miner can "choose" the block.timestamp, to a certain degree,
    * to change the outcome of a transaction in the mined block.
    * see:
    * http://solidity.readthedocs.io/en/v0.4.15/frequently-asked-questions.html#are-timestamps-now-block-timestamp-reliable
    */

    function startSale(uint256 _startUnixTime, uint256 _endUnixTime) public onlyBy(owner) returns (bool success){

        require(balanceOf[this] > 0);
        require(salesCounter < maxSalesAllowed);

        // time for sale can be set only if:
        // this is first sale (saleStartUnixTime == 0 && saleEndUnixTime == 0) , or:
        // previous sale finished ( saleIsFinished() )
        require(
        (saleStartUnixTime == 0 && saleEndUnixTime == 0) || saleIsFinished()
        );
        // time can be set only for future
        require(_startUnixTime > now && _endUnixTime > now);
        // end time should be later than start time
        require(_endUnixTime - _startUnixTime > 0);

        saleStartUnixTime = _startUnixTime;
        saleEndUnixTime = _endUnixTime;
        salesCounter = salesCounter + 1;

        SaleStarted(_startUnixTime, _endUnixTime, salesCounter);

        return true;
    }

    function saleIsRunning() public constant returns (bool){

        if (balanceOf[this] == 0) {
            return false;
        }

        if (saleStartUnixTime == 0 && saleEndUnixTime == 0) {
            return false;
        }

        if (now > saleStartUnixTime && now < saleEndUnixTime) {
            return true;
        }

        return false;
    }

    function saleIsFinished() public constant returns (bool){

        if (balanceOf[this] == 0) {
            return true;
        }

        else if (
        (saleStartUnixTime > 0 && saleEndUnixTime > 0)
        && now > saleEndUnixTime) {

            return true;
        }

        // <<<
        return false;
    }

    function changePriceSetter(address _priceSetter) public onlyBy(owner) returns (bool success) {
        priceSetter = _priceSetter;
        return true;
    }

    function setMinMaxPriceInWei(uint256 _priceMinWei, uint256 _priceMaxWei) public onlyBy(owner) returns (bool success){
        require(_priceMinWei >= 0 && _priceMaxWei >= 0);
        priceMinWei = _priceMinWei;
        priceMaxWei = _priceMaxWei;
        return true;
    }


    function setTokenPriceInWei(uint256 _priceInWei) public onlyBy(priceSetter) returns (bool success){

        require(_priceInWei >= 0);

        // if 0 - not set
        if (priceMinWei != 0 && _priceInWei < priceMinWei) {
            tokenPriceInWei = priceMinWei;
        }
        else if (priceMaxWei != 0 && _priceInWei > priceMaxWei) {
            tokenPriceInWei = priceMaxWei;
        }
        else {
            tokenPriceInWei = _priceInWei;
        }

        PriceChanged(tokenPriceInWei);

        return true;
    }

    // allows sending ether and receiving tokens just using contract address
    // warning:
    // 'If the fallback function requires more than 2300 gas, the contract cannot receive Ether'
    // see:
    // https://ethereum.stackexchange.com/questions/21643/fallback-function-best-practices-when-registering-information
    function() public payable {
        buyTokens();
    }

    //
    function buyTokens() public payable returns (bool success){

        if (saleIsRunning() && tokenPriceInWei > 0) {

            uint256 numberOfTokens = msg.value / tokenPriceInWei;

            if (numberOfTokens <= balanceOf[this]) {

                balanceOf[msg.sender] = balanceOf[msg.sender] + numberOfTokens;
                balanceOf[this] = balanceOf[this] - numberOfTokens;

                NewTokensSold(numberOfTokens, msg.sender, tokenPriceInWei);

                return true;
            }
            else {
                // (payable)
                revert();
            }
        }
        else {
            // (payable)
            revert();
        }
    }

    /*  After sale contract owner
    *  (can be another contract or account)
    *  can withdraw all collected Ether
    */
    function withdrawAllToOwner() public onlyBy(owner) returns (bool) {

        // only after sale is finished:
        require(saleIsFinished());
        uint256 sumInWei = this.balance;

        if (
        // makes withdrawal and returns true or false
        !msg.sender.send(this.balance)
        ) {
            return false;
        }
        else {
            // event
            Withdrawal(msg.sender, sumInWei);
            return true;
        }
    }

    /* ---------- Referral System */

    // list of registered referrers
    // represented by keccak256(address) (returns bytes32)
    // ! referrers can not be removed !
    mapping (bytes32 => bool) private isReferrer;

    uint256 private referralBonus = 0;

    uint256 private referrerBonus = 0;
    // tokens owned by referrers:
    mapping (bytes32 => uint256) public referrerBalanceOf;

    mapping (bytes32 => uint) public referrerLinkedSales;

    function addReferrer(bytes32 _referrer) public onlyBy(owner) returns (bool success){
        isReferrer[_referrer] = true;
        return true;
    }

    function removeReferrer(bytes32 _referrer) public onlyBy(owner) returns (bool success){
        isReferrer[_referrer] = false;
        return true;
    }

    // bonuses are set in as integers (20%, 30%), initial 0%
    function setReferralBonuses(uint256 _referralBonus, uint256 _referrerBonus) public onlyBy(owner) returns (bool success){
        require(_referralBonus > 0 && _referrerBonus > 0);
        referralBonus = _referralBonus;
        referrerBonus = _referrerBonus;
        return true;
    }

    function buyTokensWithReferrerAddress(address _referrer) public payable returns (bool success){

        bytes32 referrer = keccak256(_referrer);

        if (saleIsRunning() && tokenPriceInWei > 0) {

            if (isReferrer[referrer]) {

                uint256 numberOfTokens = msg.value / tokenPriceInWei;

                if (numberOfTokens <= balanceOf[this]) {

                    referrerLinkedSales[referrer] = referrerLinkedSales[referrer] + numberOfTokens;

                    uint256 referralBonusTokens = (numberOfTokens * (100 + referralBonus) / 100) - numberOfTokens;
                    uint256 referrerBonusTokens = (numberOfTokens * (100 + referrerBonus) / 100) - numberOfTokens;

                    balanceOf[this] = balanceOf[this] - numberOfTokens - referralBonusTokens - referrerBonusTokens;

                    balanceOf[msg.sender] = balanceOf[msg.sender] + (numberOfTokens + referralBonusTokens);

                    referrerBalanceOf[referrer] = referrerBalanceOf[referrer] + referrerBonusTokens;

                    NewTokensSold(numberOfTokens + referralBonusTokens, msg.sender, tokenPriceInWei);

                    return true;
                }
                else {
                    // (payable)
                    revert();
                }
            }
            else {
                // (payable)
                buyTokens();
            }
        }
        else {
            // (payable)
            revert();
        }
    }

    event ReferrerBonusTokensTaken(address referrer, uint256 bonusTokensValue);

    function getReferrerBonusTokens() public returns (bool success){
        require(saleIsFinished());
        uint256 bonusTokens = referrerBalanceOf[keccak256(msg.sender)];
        balanceOf[msg.sender] = balanceOf[msg.sender] + bonusTokens;
        ReferrerBonusTokensTaken(msg.sender, bonusTokens);
        return true;
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"contractInitialized","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"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":"_referrer","type":"bytes32"}],"name":"addReferrer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_referrer","type":"bytes32"}],"name":"removeReferrer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"saleStartUnixTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"maxSalesAllowed","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"saleIsRunning","outputs":[{"name":"","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":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_priceSetter","type":"address"}],"name":"changePriceSetter","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"priceSetter","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isPreferredTokensAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenPriceInWei","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"transferAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_priceMinWei","type":"uint256"},{"name":"_priceMaxWei","type":"uint256"}],"name":"setMinMaxPriceInWei","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"referrerLinkedSales","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"saleEndUnixTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"salesCounter","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"withdrawAllToOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_extraData","type":"bytes"}],"name":"approveAllAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_referrer","type":"address"}],"name":"buyTokensWithReferrerAddress","outputs":[{"name":"success","type":"bool"}],"payable":true,"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":"team","type":"address"},{"name":"advisers","type":"address"},{"name":"bounty","type":"address"}],"name":"initContract","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"changeOwner","outputs":[{"name":"success","type":"bool"}],"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":"_priceInWei","type":"uint256"}],"name":"setTokenPriceInWei","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"referrerBalanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"getReferrerBonusTokens","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"saleIsFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"buyTokens","outputs":[{"name":"success","type":"bool"}],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_extraData","type":"bytes"}],"name":"transferAllAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_referralBonus","type":"uint256"},{"name":"_referrerBonus","type":"uint256"}],"name":"setReferralBonuses","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_startUnixTime","type":"uint256"},{"name":"_endUnixTime","type":"uint256"}],"name":"startSale","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"inputs":[],"payable":false,"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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"oldOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newTokenPriceInWei","type":"uint256"}],"name":"PriceChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"startUnixTime","type":"uint256"},{"indexed":false,"name":"endUnixTime","type":"uint256"},{"indexed":true,"name":"saleNumber","type":"uint256"}],"name":"SaleStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"numberOfTokens","type":"uint256"},{"indexed":true,"name":"purchasedBy","type":"address"},{"indexed":true,"name":"priceInWei","type":"uint256"}],"name":"NewTokensSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"sumInWei","type":"uint256"}],"name":"Withdrawal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_toContract","type":"address"},{"indexed":false,"name":"_extraData","type":"bytes"}],"name":"DataSentToAnotherContract","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"referrer","type":"address"},{"indexed":false,"name":"bonusTokensValue","type":"uint256"}],"name":"ReferrerBonusTokensTaken","type":"event"}]

606060405260408051908101604052600481527f6465657800000000000000000000000000000000000000000000000000000000602082015260009080516200004d92916020019062000118565b5060408051908101604052600481527f6465657800000000000000000000000000000000000000000000000000000000602082015260019080516200009792916020019062000118565b506002805460ff19908116909155600060068190556009819055600a819055600b819055600e819055600f8190556011805490921690915560138190556014553415620000e357600080fd5b5b600c8054600160a060020a03191633600160a060020a031617905560026007556008805460ff191660011790555b620001c2565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200015b57805160ff19168380011785556200018b565b828001600101855582156200018b579182015b828111156200018b5782518255916020019190600101906200016e565b5b506200019a9291506200019e565b5090565b620001bf91905b808211156200019a5760008155600101620001a5565b5090565b90565b611cb380620001d26000396000f300606060405236156101c65763ffffffff60e060020a600035041662b3474781146101d357806306fdde03146101fa578063095ea7b3146102855780630f79cfa2146102bb57806318160ddd146102e55780631b19f6a31461030a5780631e06c41f146103345780631ff1a37814610359578063206885821461037e57806323b872dd146103a557806325f281b4146103e15780632c09bef7146104145780632cf975af146104435780632f8de81014610476578063313ce5671461049b5780634000aea0146104c45780634f36fbdc1461053d5780635daa0c371461056a57806370a08231146105925780637c7d809b146105c35780637f37b905146105e857806380710f391461060d578063816c7da41461063457806388c0bc8e146106a75780638da5cb5b146106cf57806395d89b41146106fe5780639b1bb32314610789578063a6f9dae1146107c8578063a9059cbb146107fb578063b597e78414610831578063b67d50b51461085b578063bb7c62cb14610883578063cae9ca51146108aa578063cfdafde414610923578063d0febe4c1461094a578063d87692d914610966578063dd62ed3e146109d9578063eec48ca514610a10578063f4f3122e14610a3d575b5b6101cf610a6a565b505b005b34156101de57600080fd5b6101e6610b3d565b604051901515815260200160405180910390f35b341561020557600080fd5b61020d610b46565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561024a5780820151818401525b602001610231565b50505050905090810190601f1680156102775780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561029057600080fd5b6101e6600160a060020a0360043516602435610be4565b604051901515815260200160405180910390f35b34156102c657600080fd5b6101e6600435610c5d565b604051901515815260200160405180910390f35b34156102f057600080fd5b6102f8610ca2565b60405190815260200160405180910390f35b341561031557600080fd5b6101e6600435610ca8565b604051901515815260200160405180910390f35b341561033f57600080fd5b6102f8610ce9565b60405190815260200160405180910390f35b341561036457600080fd5b6102f8610cef565b60405190815260200160405180910390f35b341561038957600080fd5b6101e6610cf5565b604051901515815260200160405180910390f35b34156103b057600080fd5b6101e6600160a060020a0360043581169060243516604435610d5f565b604051901515815260200160405180910390f35b34156103ec57600080fd5b6101e6600160a060020a0360043516610f4c565b604051901515815260200160405180910390f35b341561041f57600080fd5b610427610f9f565b604051600160a060020a03909116815260200160405180910390f35b341561044e57600080fd5b6101e6600160a060020a0360043516610fae565b604051901515815260200160405180910390f35b341561048157600080fd5b6102f8610fc3565b60405190815260200160405180910390f35b34156104a657600080fd5b6104ae610fc9565b60405160ff909116815260200160405180910390f35b34156104cf57600080fd5b6101e660048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610fd295505050505050565b604051901515815260200160405180910390f35b341561054857600080fd5b6101e66004356024356111a2565b604051901515815260200160405180910390f35b341561057557600080fd5b6102f86004356111f5565b60405190815260200160405180910390f35b341561059d57600080fd5b6102f8600160a060020a0360043516611207565b60405190815260200160405180910390f35b34156105ce57600080fd5b6102f8611219565b60405190815260200160405180910390f35b34156105f357600080fd5b6102f861121f565b60405190815260200160405180910390f35b341561061857600080fd5b6101e6611225565b604051901515815260200160405180910390f35b341561063f57600080fd5b6101e660048035600160a060020a03169060446024803590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506112f095505050505050565b604051901515815260200160405180910390f35b6101e6600160a060020a036004351661131e565b604051901515815260200160405180910390f35b34156106da57600080fd5b6104276114b5565b604051600160a060020a03909116815260200160405180910390f35b341561070957600080fd5b61020d6114c4565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561024a5780820151818401525b602001610231565b50505050905090810190601f1680156102775780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561079457600080fd5b6101e6600160a060020a0360043581169060243581169060443516611562565b604051901515815260200160405180910390f35b34156107d357600080fd5b6101e6600160a060020a0360043516611663565b604051901515815260200160405180910390f35b341561080657600080fd5b6101e6600160a060020a0360043516602435611702565b604051901515815260200160405180910390f35b341561083c57600080fd5b6101e6600435611718565b604051901515815260200160405180910390f35b341561086657600080fd5b6102f86004356117cb565b60405190815260200160405180910390f35b341561088e57600080fd5b6101e66117dd565b604051901515815260200160405180910390f35b34156108b557600080fd5b6101e660048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506118a595505050505050565b604051901515815260200160405180910390f35b341561092e57600080fd5b6101e6611a8e565b604051901515815260200160405180910390f35b6101e6610a6a565b604051901515815260200160405180910390f35b341561097157600080fd5b6101e660048035600160a060020a03169060446024803590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650611aeb95505050505050565b604051901515815260200160405180910390f35b34156109e457600080fd5b6102f8600160a060020a0360043581169060243516611b19565b60405190815260200160405180910390f35b3415610a1b57600080fd5b6101e6600435602435611b36565b604051901515815260200160405180910390f35b3415610a4857600080fd5b6101e6600435602435611b87565b604051901515815260200160405180910390f35b600080610a75610cf5565b8015610a8357506000600954115b15610b295760095434811515610a9557fe5b600160a060020a03301660009081526004602052604090205491900491508111610b2957600160a060020a0333811660008181526004602052604080822080548601905530909316815282902080548490039055600954917fca4a2bf7d59318f19c3cd42dde6c0c5e52e7810110f7b0774cc048b6f3047cad9084905190815260200160405180910390a360019150610b38565b600080fd5b610b38565b600080fd5b5b5090565b60115460ff1681565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bdc5780601f10610bb157610100808354040283529160200191610bdc565b820191906000526020600020905b815481529060010190602001808311610bbf57829003601f168201915b505050505081565b600080821015610bf357600080fd5b600160a060020a03338116600081815260056020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600c54600090600160a060020a039081169033168114610c7c57600080fd5b6000838152601260205260409020805460ff1916600190811790915591505b5b50919050565b60035481565b600c54600090600160a060020a039081169033168114610cc757600080fd5b6000838152601260205260409020805460ff19169055600191505b5b50919050565b600a5481565b60075481565b600160a060020a0330166000908152600460205260408120541515610d1c57506000610d5c565b600a54158015610d2c5750600b54155b15610d3957506000610d5c565b600a5442118015610d4b5750600b5442105b15610d5857506001610d5c565b5060005b90565b600080610d6a611a8e565b90508080610d865750600c5433600160a060020a039081169116145b80610da95750600160a060020a03331660009081526010602052604090205460ff165b1515610db457600080fd5b60085460ff1680610dc85750600754600654145b80610de15750600c5433600160a060020a039081169116145b80610e045750600160a060020a03331660009081526010602052604090205460ff165b1515610e0f57600080fd5b6000831015610e1d57600080fd5b84600160a060020a031633600160a060020a03161480610e635750600160a060020a03808616600090815260056020908152604080832033909416835292905220548311155b1515610e6e57600080fd5b600160a060020a038516600090815260046020526040902054831115610e9357600080fd5b600160a060020a0380861660008181526004602052604080822080548890039055878416825290208054860190553390911614610ef857600160a060020a03858116600090815260056020908152604080832033909416835292905220805484900390555b83600160a060020a031685600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a3600191505b509392505050565b600c54600090600160a060020a039081169033168114610f6b57600080fd5b600d805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038516179055600191505b5b50919050565b600d54600160a060020a031681565b60106020526000908152604090205460ff1681565b60095481565b60025460ff1681565b600080610fe0338686610d5f565b5084905080600160a060020a031663c0ee0b8a3386866000604051602001526040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561106d5780820151818401525b602001611054565b50505050905090810190601f16801561109a5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b15156110ba57600080fd5b6102c65a03f115156110cb57600080fd5b50505060405180519050156111905784600160a060020a031633600160a060020a03167f21ef8368734ad953ed9ae3c3035d58f91f69a15ebc986c4e008bc18f8cdc4d698560405160208082528190810183818151815260200191508051906020019080838360005b8381101561114d5780820151818401525b602001611134565b50505050905090810190601f16801561117a5780820380516001836020036101000a031916815260200191505b509250505060405180910390a360019150610f44565b60009150610f44565b5b509392505050565b600c54600090600160a060020a0390811690331681146111c157600080fd5b600084101580156111d3575060008310155b15156111de57600080fd5b600f849055600e839055600191505b5b5092915050565b60166020526000908152604090205481565b60046020526000908152604090205481565b600b5481565b60065481565b600c546000908190600160a060020a03908116903316811461124657600080fd5b61124e611a8e565b151561125957600080fd5b30600160a060020a031631915033600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f1935050505015156112a757600092506112e9565b33600160a060020a03167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b658360405190815260200160405180910390a2600192505b5b5b505090565b600160a060020a033316600090815260046020526040812054611315908490846118a5565b90505b92915050565b600080600080600085604051600160a060020a03919091166c010000000000000000000000000281526014016040518091039020935061135c610cf5565b801561136a57506000600954115b15610b295760008481526012602052604090205460ff1615611497576009543481151561139357fe5b600160a060020a03301660009081526004602052604090205491900493508311610b295760008481526016602052604090208054840190556013548390606490810182025b0403915082606460145460640185028115156113f057fe5b600160a060020a033081166000908152600460209081526040808320805496909504969096039489900388900385900390935533909116808252848220805489890190810190915589835260159093529084902080548401905560095492945091927fca4a2bf7d59318f19c3cd42dde6c0c5e52e7810110f7b0774cc048b6f3047cad91905190815260200160405180910390a3600194506114ab565b600080fd5b6114a1565b61149f610a6a565b505b6114ab565b600080fd5b5b50505050919050565b600c54600160a060020a031681565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bdc5780601f10610bb157610100808354040283529160200191610bdc565b820191906000526020600020905b815481529060010190602001808311610bbf57829003601f168201915b505050505081565b600c54600090600160a060020a03908116903316811461158157600080fd5b60115460ff161561159157600080fd5b60118054600160ff199182168117909255600d805473ffffffffffffffffffffffffffffffffffffffff191633600160a060020a03908116919091179091556305f5e100600355308116600090815260046020818152604080842063047868c090558b85168452808420805462e4e1c0019055601080835281852080548816891790558b861685528383528185208054626acfc00190558083528185208054881689179055948a1684529181528183208054622dc6c00190559290925220805490911690911790555b5b509392505050565b600c546000908190600160a060020a03908116903316811461168457600080fd5b600160a060020a038416151561169957600080fd5b600c8054600160a060020a0386811673ffffffffffffffffffffffffffffffffffffffff1983168117909355169250827fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60405160405180910390a3600192505b5b5050919050565b6000611315338484610d5f565b90505b92915050565b600d54600090600160a060020a03908116903316811461173757600080fd5b600083101561174557600080fd5b600f54158015906117575750600f5483105b1561176757600f5460095561178f565b600e54158015906117795750600e5483115b1561178957600e5460095561178f565b60098390555b5b6009547fa6dc15bdb68da224c66db4b3838d9a2b205138e8cff6774e57d0af91e196d62260405160405180910390a2600191505b5b50919050565b60156020526000908152604090205481565b6000806117e8611a8e565b15156117f357600080fd5b6015600033604051600160a060020a03919091166c010000000000000000000000000281526014016040519081900390208152602080820192909252604090810160009081205433600160a060020a038116835260049094529082902080548201905592507f3e78afd8b9d30e929b555c423b8ac8156b03d8b3a0579359e04d3d85ed2c500a9190839051600160a060020a03909216825260208201526040908101905180910390a1600191505b5090565b6000806118b28585610be4565b5084905080600160a060020a0316638f4ffcb1338630876000604051602001526040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156119585780820151818401525b60200161193f565b50505050905090810190601f1680156119855780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15156110ba57600080fd5b6102c65a03f115156110cb57600080fd5b50505060405180519050156111905784600160a060020a031633600160a060020a03167f21ef8368734ad953ed9ae3c3035d58f91f69a15ebc986c4e008bc18f8cdc4d698560405160208082528190810183818151815260200191508051906020019080838360005b8381101561114d5780820151818401525b602001611134565b50505050905090810190601f16801561117a5780820380516001836020036101000a031916815260200191505b509250505060405180910390a360019150610f44565b60009150610f44565b5b509392505050565b600160a060020a0330166000908152600460205260408120541515611ab557506001610d5c565b6000600a54118015611ac957506000600b54115b8015610d4b5750600b5442115b15610d5857506001610d5c565b5b5060005b90565b600160a060020a03331660009081526004602052604081205461131590849084610fd2565b90505b92915050565b600560209081526000928352604080842090915290825290205481565b600c54600090600160a060020a039081169033168114611b5557600080fd5b600084118015611b655750600083115b1515611b7057600080fd5b60138490556014839055600191505b5b5092915050565b600c54600090600160a060020a039081169033168114611ba657600080fd5b600160a060020a03301660009081526004602052604081205411611bc957600080fd5b60075460065410611bd957600080fd5b600a54158015611be95750600b54155b80611bf75750611bf7611a8e565b5b1515611c0357600080fd5b4284118015611c1157504283115b1515611c1c57600080fd5b600084840311611c2b57600080fd5b600a849055600b83905560068054600101908190557f5ee5e9eecd6fd27ba20784f8da118fe26b697aca487c80f605baec0b88ed3636858560405191825260208201526040908101905180910390a2600191505b5b50929150505600a165627a7a72305820b3bc60739f58c8f425c79647d2af7493c578cc19633611a33f4bc7917b51cf430029

Deployed Bytecode

0x606060405236156101c65763ffffffff60e060020a600035041662b3474781146101d357806306fdde03146101fa578063095ea7b3146102855780630f79cfa2146102bb57806318160ddd146102e55780631b19f6a31461030a5780631e06c41f146103345780631ff1a37814610359578063206885821461037e57806323b872dd146103a557806325f281b4146103e15780632c09bef7146104145780632cf975af146104435780632f8de81014610476578063313ce5671461049b5780634000aea0146104c45780634f36fbdc1461053d5780635daa0c371461056a57806370a08231146105925780637c7d809b146105c35780637f37b905146105e857806380710f391461060d578063816c7da41461063457806388c0bc8e146106a75780638da5cb5b146106cf57806395d89b41146106fe5780639b1bb32314610789578063a6f9dae1146107c8578063a9059cbb146107fb578063b597e78414610831578063b67d50b51461085b578063bb7c62cb14610883578063cae9ca51146108aa578063cfdafde414610923578063d0febe4c1461094a578063d87692d914610966578063dd62ed3e146109d9578063eec48ca514610a10578063f4f3122e14610a3d575b5b6101cf610a6a565b505b005b34156101de57600080fd5b6101e6610b3d565b604051901515815260200160405180910390f35b341561020557600080fd5b61020d610b46565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561024a5780820151818401525b602001610231565b50505050905090810190601f1680156102775780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561029057600080fd5b6101e6600160a060020a0360043516602435610be4565b604051901515815260200160405180910390f35b34156102c657600080fd5b6101e6600435610c5d565b604051901515815260200160405180910390f35b34156102f057600080fd5b6102f8610ca2565b60405190815260200160405180910390f35b341561031557600080fd5b6101e6600435610ca8565b604051901515815260200160405180910390f35b341561033f57600080fd5b6102f8610ce9565b60405190815260200160405180910390f35b341561036457600080fd5b6102f8610cef565b60405190815260200160405180910390f35b341561038957600080fd5b6101e6610cf5565b604051901515815260200160405180910390f35b34156103b057600080fd5b6101e6600160a060020a0360043581169060243516604435610d5f565b604051901515815260200160405180910390f35b34156103ec57600080fd5b6101e6600160a060020a0360043516610f4c565b604051901515815260200160405180910390f35b341561041f57600080fd5b610427610f9f565b604051600160a060020a03909116815260200160405180910390f35b341561044e57600080fd5b6101e6600160a060020a0360043516610fae565b604051901515815260200160405180910390f35b341561048157600080fd5b6102f8610fc3565b60405190815260200160405180910390f35b34156104a657600080fd5b6104ae610fc9565b60405160ff909116815260200160405180910390f35b34156104cf57600080fd5b6101e660048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610fd295505050505050565b604051901515815260200160405180910390f35b341561054857600080fd5b6101e66004356024356111a2565b604051901515815260200160405180910390f35b341561057557600080fd5b6102f86004356111f5565b60405190815260200160405180910390f35b341561059d57600080fd5b6102f8600160a060020a0360043516611207565b60405190815260200160405180910390f35b34156105ce57600080fd5b6102f8611219565b60405190815260200160405180910390f35b34156105f357600080fd5b6102f861121f565b60405190815260200160405180910390f35b341561061857600080fd5b6101e6611225565b604051901515815260200160405180910390f35b341561063f57600080fd5b6101e660048035600160a060020a03169060446024803590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506112f095505050505050565b604051901515815260200160405180910390f35b6101e6600160a060020a036004351661131e565b604051901515815260200160405180910390f35b34156106da57600080fd5b6104276114b5565b604051600160a060020a03909116815260200160405180910390f35b341561070957600080fd5b61020d6114c4565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561024a5780820151818401525b602001610231565b50505050905090810190601f1680156102775780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561079457600080fd5b6101e6600160a060020a0360043581169060243581169060443516611562565b604051901515815260200160405180910390f35b34156107d357600080fd5b6101e6600160a060020a0360043516611663565b604051901515815260200160405180910390f35b341561080657600080fd5b6101e6600160a060020a0360043516602435611702565b604051901515815260200160405180910390f35b341561083c57600080fd5b6101e6600435611718565b604051901515815260200160405180910390f35b341561086657600080fd5b6102f86004356117cb565b60405190815260200160405180910390f35b341561088e57600080fd5b6101e66117dd565b604051901515815260200160405180910390f35b34156108b557600080fd5b6101e660048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506118a595505050505050565b604051901515815260200160405180910390f35b341561092e57600080fd5b6101e6611a8e565b604051901515815260200160405180910390f35b6101e6610a6a565b604051901515815260200160405180910390f35b341561097157600080fd5b6101e660048035600160a060020a03169060446024803590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650611aeb95505050505050565b604051901515815260200160405180910390f35b34156109e457600080fd5b6102f8600160a060020a0360043581169060243516611b19565b60405190815260200160405180910390f35b3415610a1b57600080fd5b6101e6600435602435611b36565b604051901515815260200160405180910390f35b3415610a4857600080fd5b6101e6600435602435611b87565b604051901515815260200160405180910390f35b600080610a75610cf5565b8015610a8357506000600954115b15610b295760095434811515610a9557fe5b600160a060020a03301660009081526004602052604090205491900491508111610b2957600160a060020a0333811660008181526004602052604080822080548601905530909316815282902080548490039055600954917fca4a2bf7d59318f19c3cd42dde6c0c5e52e7810110f7b0774cc048b6f3047cad9084905190815260200160405180910390a360019150610b38565b600080fd5b610b38565b600080fd5b5b5090565b60115460ff1681565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bdc5780601f10610bb157610100808354040283529160200191610bdc565b820191906000526020600020905b815481529060010190602001808311610bbf57829003601f168201915b505050505081565b600080821015610bf357600080fd5b600160a060020a03338116600081815260056020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600c54600090600160a060020a039081169033168114610c7c57600080fd5b6000838152601260205260409020805460ff1916600190811790915591505b5b50919050565b60035481565b600c54600090600160a060020a039081169033168114610cc757600080fd5b6000838152601260205260409020805460ff19169055600191505b5b50919050565b600a5481565b60075481565b600160a060020a0330166000908152600460205260408120541515610d1c57506000610d5c565b600a54158015610d2c5750600b54155b15610d3957506000610d5c565b600a5442118015610d4b5750600b5442105b15610d5857506001610d5c565b5060005b90565b600080610d6a611a8e565b90508080610d865750600c5433600160a060020a039081169116145b80610da95750600160a060020a03331660009081526010602052604090205460ff165b1515610db457600080fd5b60085460ff1680610dc85750600754600654145b80610de15750600c5433600160a060020a039081169116145b80610e045750600160a060020a03331660009081526010602052604090205460ff165b1515610e0f57600080fd5b6000831015610e1d57600080fd5b84600160a060020a031633600160a060020a03161480610e635750600160a060020a03808616600090815260056020908152604080832033909416835292905220548311155b1515610e6e57600080fd5b600160a060020a038516600090815260046020526040902054831115610e9357600080fd5b600160a060020a0380861660008181526004602052604080822080548890039055878416825290208054860190553390911614610ef857600160a060020a03858116600090815260056020908152604080832033909416835292905220805484900390555b83600160a060020a031685600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a3600191505b509392505050565b600c54600090600160a060020a039081169033168114610f6b57600080fd5b600d805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038516179055600191505b5b50919050565b600d54600160a060020a031681565b60106020526000908152604090205460ff1681565b60095481565b60025460ff1681565b600080610fe0338686610d5f565b5084905080600160a060020a031663c0ee0b8a3386866000604051602001526040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561106d5780820151818401525b602001611054565b50505050905090810190601f16801561109a5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b15156110ba57600080fd5b6102c65a03f115156110cb57600080fd5b50505060405180519050156111905784600160a060020a031633600160a060020a03167f21ef8368734ad953ed9ae3c3035d58f91f69a15ebc986c4e008bc18f8cdc4d698560405160208082528190810183818151815260200191508051906020019080838360005b8381101561114d5780820151818401525b602001611134565b50505050905090810190601f16801561117a5780820380516001836020036101000a031916815260200191505b509250505060405180910390a360019150610f44565b60009150610f44565b5b509392505050565b600c54600090600160a060020a0390811690331681146111c157600080fd5b600084101580156111d3575060008310155b15156111de57600080fd5b600f849055600e839055600191505b5b5092915050565b60166020526000908152604090205481565b60046020526000908152604090205481565b600b5481565b60065481565b600c546000908190600160a060020a03908116903316811461124657600080fd5b61124e611a8e565b151561125957600080fd5b30600160a060020a031631915033600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f1935050505015156112a757600092506112e9565b33600160a060020a03167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b658360405190815260200160405180910390a2600192505b5b5b505090565b600160a060020a033316600090815260046020526040812054611315908490846118a5565b90505b92915050565b600080600080600085604051600160a060020a03919091166c010000000000000000000000000281526014016040518091039020935061135c610cf5565b801561136a57506000600954115b15610b295760008481526012602052604090205460ff1615611497576009543481151561139357fe5b600160a060020a03301660009081526004602052604090205491900493508311610b295760008481526016602052604090208054840190556013548390606490810182025b0403915082606460145460640185028115156113f057fe5b600160a060020a033081166000908152600460209081526040808320805496909504969096039489900388900385900390935533909116808252848220805489890190810190915589835260159093529084902080548401905560095492945091927fca4a2bf7d59318f19c3cd42dde6c0c5e52e7810110f7b0774cc048b6f3047cad91905190815260200160405180910390a3600194506114ab565b600080fd5b6114a1565b61149f610a6a565b505b6114ab565b600080fd5b5b50505050919050565b600c54600160a060020a031681565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bdc5780601f10610bb157610100808354040283529160200191610bdc565b820191906000526020600020905b815481529060010190602001808311610bbf57829003601f168201915b505050505081565b600c54600090600160a060020a03908116903316811461158157600080fd5b60115460ff161561159157600080fd5b60118054600160ff199182168117909255600d805473ffffffffffffffffffffffffffffffffffffffff191633600160a060020a03908116919091179091556305f5e100600355308116600090815260046020818152604080842063047868c090558b85168452808420805462e4e1c0019055601080835281852080548816891790558b861685528383528185208054626acfc00190558083528185208054881689179055948a1684529181528183208054622dc6c00190559290925220805490911690911790555b5b509392505050565b600c546000908190600160a060020a03908116903316811461168457600080fd5b600160a060020a038416151561169957600080fd5b600c8054600160a060020a0386811673ffffffffffffffffffffffffffffffffffffffff1983168117909355169250827fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60405160405180910390a3600192505b5b5050919050565b6000611315338484610d5f565b90505b92915050565b600d54600090600160a060020a03908116903316811461173757600080fd5b600083101561174557600080fd5b600f54158015906117575750600f5483105b1561176757600f5460095561178f565b600e54158015906117795750600e5483115b1561178957600e5460095561178f565b60098390555b5b6009547fa6dc15bdb68da224c66db4b3838d9a2b205138e8cff6774e57d0af91e196d62260405160405180910390a2600191505b5b50919050565b60156020526000908152604090205481565b6000806117e8611a8e565b15156117f357600080fd5b6015600033604051600160a060020a03919091166c010000000000000000000000000281526014016040519081900390208152602080820192909252604090810160009081205433600160a060020a038116835260049094529082902080548201905592507f3e78afd8b9d30e929b555c423b8ac8156b03d8b3a0579359e04d3d85ed2c500a9190839051600160a060020a03909216825260208201526040908101905180910390a1600191505b5090565b6000806118b28585610be4565b5084905080600160a060020a0316638f4ffcb1338630876000604051602001526040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156119585780820151818401525b60200161193f565b50505050905090810190601f1680156119855780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15156110ba57600080fd5b6102c65a03f115156110cb57600080fd5b50505060405180519050156111905784600160a060020a031633600160a060020a03167f21ef8368734ad953ed9ae3c3035d58f91f69a15ebc986c4e008bc18f8cdc4d698560405160208082528190810183818151815260200191508051906020019080838360005b8381101561114d5780820151818401525b602001611134565b50505050905090810190601f16801561117a5780820380516001836020036101000a031916815260200191505b509250505060405180910390a360019150610f44565b60009150610f44565b5b509392505050565b600160a060020a0330166000908152600460205260408120541515611ab557506001610d5c565b6000600a54118015611ac957506000600b54115b8015610d4b5750600b5442115b15610d5857506001610d5c565b5b5060005b90565b600160a060020a03331660009081526004602052604081205461131590849084610fd2565b90505b92915050565b600560209081526000928352604080842090915290825290205481565b600c54600090600160a060020a039081169033168114611b5557600080fd5b600084118015611b655750600083115b1515611b7057600080fd5b60138490556014839055600191505b5b5092915050565b600c54600090600160a060020a039081169033168114611ba657600080fd5b600160a060020a03301660009081526004602052604081205411611bc957600080fd5b60075460065410611bd957600080fd5b600a54158015611be95750600b54155b80611bf75750611bf7611a8e565b5b1515611c0357600080fd5b4284118015611c1157504283115b1515611c1c57600080fd5b600084840311611c2b57600080fd5b600a849055600b83905560068054600101908190557f5ee5e9eecd6fd27ba20784f8da118fe26b697aca487c80f605baec0b88ed3636858560405191825260208201526040908101905180910390a2600191505b5b50929150505600a165627a7a72305820b3bc60739f58c8f425c79647d2af7493c578cc19633611a33f4bc7917b51cf430029

Swarm Source

bzzr://b3bc60739f58c8f425c79647d2af7493c578cc19633611a33f4bc7917b51cf43

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.