ETH Price: $3,811.45 (+5.36%)

Contract

0xD939CDb6b110c96B1758ADAB5CAB1e836ddBdd2B
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Finalize43616952017-10-13 8:40:122609 days ago1507884012IN
0xD939CDb6...36ddBdd2B
0 ETH0.0013015924.00002
Transfer42341682017-09-03 14:06:082649 days ago1504447568IN
0xD939CDb6...36ddBdd2B
0.93 ETH0.00110
Transfer42339822017-09-03 12:43:452649 days ago1504442625IN
0xD939CDb6...36ddBdd2B
0.01 ETH0.00100025.001
Transfer42339722017-09-03 12:40:542649 days ago1504442454IN
0xD939CDb6...36ddBdd2B
0.01 ETH0.000750155.001
Transfer42339652017-09-03 12:35:072649 days ago1504442107IN
0xD939CDb6...36ddBdd2B
3 ETH0.0025375121
Transfer42339632017-09-03 12:34:322649 days ago1504442072IN
0xD939CDb6...36ddBdd2B
1 ETH0.0025375121
Transfer42339612017-09-03 12:32:402649 days ago1504441960IN
0xD939CDb6...36ddBdd2B
0.95 ETH0.006041750
Transfer42339432017-09-03 12:23:442649 days ago1504441424IN
0xD939CDb6...36ddBdd2B
0.89 ETH0.0025375121
Transfer42339412017-09-03 12:22:552649 days ago1504441375IN
0xD939CDb6...36ddBdd2B
0.5 ETH0.004541750
Transfer42339372017-09-03 12:21:142649 days ago1504441274IN
0xD939CDb6...36ddBdd2B
14 ETH0.0019075121
Transfer42339372017-09-03 12:21:142649 days ago1504441274IN
0xD939CDb6...36ddBdd2B
10 ETH0.006041750
Transfer42339372017-09-03 12:21:142649 days ago1504441274IN
0xD939CDb6...36ddBdd2B
1.1 ETH0.004541750
Transfer42339212017-09-03 12:14:072649 days ago1504440847IN
0xD939CDb6...36ddBdd2B
2 ETH0.004541750
Transfer42339092017-09-03 12:09:322649 days ago1504440572IN
0xD939CDb6...36ddBdd2B
6 ETH0.006041750
Transfer42339082017-09-03 12:09:102649 days ago1504440550IN
0xD939CDb6...36ddBdd2B
2.99 ETH0.006041750
Transfer42339032017-09-03 12:07:172649 days ago1504440437IN
0xD939CDb6...36ddBdd2B
10 ETH0.0025375121
Transfer42339032017-09-03 12:07:172649 days ago1504440437IN
0xD939CDb6...36ddBdd2B
0.22 ETH0.004541750
Transfer42339022017-09-03 12:06:472649 days ago1504440407IN
0xD939CDb6...36ddBdd2B
2 ETH0.0018921
Transfer42338992017-09-03 12:05:382649 days ago1504440338IN
0xD939CDb6...36ddBdd2B
7.29 ETH0.0022708525
Transfer42338982017-09-03 12:04:572649 days ago1504440297IN
0xD939CDb6...36ddBdd2B
0.5 ETH0.004541750
Transfer42338972017-09-03 12:02:402649 days ago1504440160IN
0xD939CDb6...36ddBdd2B
29 ETH0.0024166820
Transfer42338972017-09-03 12:02:402649 days ago1504440160IN
0xD939CDb6...36ddBdd2B
0.24 ETH0.004541750
Transfer42338962017-09-03 12:01:552649 days ago1504440115IN
0xD939CDb6...36ddBdd2B
1.23 ETH0.004541750
Transfer42338922017-09-03 12:00:172649 days ago1504440017IN
0xD939CDb6...36ddBdd2B
4.8 ETH0.006041750
Transfer42338882017-09-03 11:59:002649 days ago1504439940IN
0xD939CDb6...36ddBdd2B
0.25 ETH0.001150
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
42339652017-09-03 12:35:072649 days ago1504442107
0xD939CDb6...36ddBdd2B
3 ETH
42339632017-09-03 12:34:322649 days ago1504442072
0xD939CDb6...36ddBdd2B
1 ETH
42339612017-09-03 12:32:402649 days ago1504441960
0xD939CDb6...36ddBdd2B
0.95 ETH
42339432017-09-03 12:23:442649 days ago1504441424
0xD939CDb6...36ddBdd2B
0.89 ETH
42339412017-09-03 12:22:552649 days ago1504441375
0xD939CDb6...36ddBdd2B
0.5 ETH
42339372017-09-03 12:21:142649 days ago1504441274
0xD939CDb6...36ddBdd2B
14 ETH
42339372017-09-03 12:21:142649 days ago1504441274
0xD939CDb6...36ddBdd2B
10 ETH
42339372017-09-03 12:21:142649 days ago1504441274
0xD939CDb6...36ddBdd2B
1.1 ETH
42339212017-09-03 12:14:072649 days ago1504440847
0xD939CDb6...36ddBdd2B
2 ETH
42339092017-09-03 12:09:322649 days ago1504440572
0xD939CDb6...36ddBdd2B
6 ETH
42339082017-09-03 12:09:102649 days ago1504440550
0xD939CDb6...36ddBdd2B
2.99 ETH
42339032017-09-03 12:07:172649 days ago1504440437
0xD939CDb6...36ddBdd2B
10 ETH
42339032017-09-03 12:07:172649 days ago1504440437
0xD939CDb6...36ddBdd2B
0.22 ETH
42338992017-09-03 12:05:382649 days ago1504440338
0xD939CDb6...36ddBdd2B
7.29 ETH
42338982017-09-03 12:04:572649 days ago1504440297
0xD939CDb6...36ddBdd2B
0.5 ETH
42338972017-09-03 12:02:402649 days ago1504440160
0xD939CDb6...36ddBdd2B
29 ETH
42338972017-09-03 12:02:402649 days ago1504440160
0xD939CDb6...36ddBdd2B
0.24 ETH
42338962017-09-03 12:01:552649 days ago1504440115
0xD939CDb6...36ddBdd2B
1.23 ETH
42338922017-09-03 12:00:172649 days ago1504440017
0xD939CDb6...36ddBdd2B
4.8 ETH
42338862017-09-03 11:58:302649 days ago1504439910
0xD939CDb6...36ddBdd2B
201 ETH
42338582017-09-03 11:46:192649 days ago1504439179
0xD939CDb6...36ddBdd2B
4.9 ETH
42338562017-09-03 11:45:182649 days ago1504439118
0xD939CDb6...36ddBdd2B
5 ETH
42338442017-09-03 11:41:362649 days ago1504438896
0xD939CDb6...36ddBdd2B
0.57752915 ETH
42338442017-09-03 11:41:362649 days ago1504438896
0xD939CDb6...36ddBdd2B
2.5 ETH
42338442017-09-03 11:41:362649 days ago1504438896
0xD939CDb6...36ddBdd2B
1.01 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KeyTokenSale

Compiler Version
v0.4.15+commit.bbb8e64f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-09-01
*/

// Copyright (C) 2017 DappHub, LLC

pragma solidity ^0.4.11;

//import "ds-exec/exec.sol";

contract DSExec {
    function tryExec( address target, bytes calldata, uint value)
    internal
    returns (bool call_ret)
    {
        return target.call.value(value)(calldata);
    }
    function exec( address target, bytes calldata, uint value)
    internal
    {
        if(!tryExec(target, calldata, value)) {
            throw;
        }
    }

    // Convenience aliases
    function exec( address t, bytes c )
    internal
    {
        exec(t, c, 0);
    }
    function exec( address t, uint256 v )
    internal
    {
        bytes memory c; exec(t, c, v);
    }
    function tryExec( address t, bytes c )
    internal
    returns (bool)
    {
        return tryExec(t, c, 0);
    }
    function tryExec( address t, uint256 v )
    internal
    returns (bool)
    {
        bytes memory c; return tryExec(t, c, v);
    }
}

//import "ds-auth/auth.sol";
contract DSAuthority {
    function canCall(
    address src, address dst, bytes4 sig
    ) constant returns (bool);
}

contract DSAuthEvents {
    event LogSetAuthority (address indexed authority);
    event LogSetOwner     (address indexed owner);
}

contract DSAuth is DSAuthEvents {
    DSAuthority  public  authority;
    address      public  owner;

    function DSAuth() {
        owner = msg.sender;
        LogSetOwner(msg.sender);
    }

    function setOwner(address owner_)
    auth
    {
        owner = owner_;
        LogSetOwner(owner);
    }

    function setAuthority(DSAuthority authority_)
    auth
    {
        authority = authority_;
        LogSetAuthority(authority);
    }

    modifier auth {
        assert(isAuthorized(msg.sender, msg.sig));
        _;
    }

    function isAuthorized(address src, bytes4 sig) internal returns (bool) {
        if (src == address(this)) {
            return true;
        } else if (src == owner) {
            return true;
        } else if (authority == DSAuthority(0)) {
            return false;
        } else {
            return authority.canCall(src, this, sig);
        }
    }

    function assert(bool x) internal {
        if (!x) throw;
    }
}

//import "ds-note/note.sol";
contract DSNote {
    event LogNote(
    bytes4   indexed  sig,
    address  indexed  guy,
    bytes32  indexed  foo,
    bytes32  indexed  bar,
    uint        wad,
    bytes             fax
    ) anonymous;

    modifier note {
        bytes32 foo;
        bytes32 bar;

        assembly {
        foo := calldataload(4)
        bar := calldataload(36)
        }

        LogNote(msg.sig, msg.sender, foo, bar, msg.value, msg.data);

        _;
    }
}


//import "ds-math/math.sol";
contract DSMath {

    /*
    standard uint256 functions
     */

    function add(uint256 x, uint256 y) constant internal returns (uint256 z) {
        assert((z = x + y) >= x);
    }

    function sub(uint256 x, uint256 y) constant internal returns (uint256 z) {
        assert((z = x - y) <= x);
    }

    function mul(uint256 x, uint256 y) constant internal returns (uint256 z) {
        z = x * y;
        assert(x == 0 || z / x == y);
    }

    function div(uint256 x, uint256 y) constant internal returns (uint256 z) {
        z = x / y;
    }

    function min(uint256 x, uint256 y) constant internal returns (uint256 z) {
        return x <= y ? x : y;
    }
    function max(uint256 x, uint256 y) constant internal returns (uint256 z) {
        return x >= y ? x : y;
    }

    /*
    uint128 functions (h is for half)
     */


    function hadd(uint128 x, uint128 y) constant internal returns (uint128 z) {
        assert((z = x + y) >= x);
    }

    function hsub(uint128 x, uint128 y) constant internal returns (uint128 z) {
        assert((z = x - y) <= x);
    }

    function hmul(uint128 x, uint128 y) constant internal returns (uint128 z) {
        z = x * y;
        assert(x == 0 || z / x == y);
    }

    function hdiv(uint128 x, uint128 y) constant internal returns (uint128 z) {
        z = x / y;
    }

    function hmin(uint128 x, uint128 y) constant internal returns (uint128 z) {
        return x <= y ? x : y;
    }
    function hmax(uint128 x, uint128 y) constant internal returns (uint128 z) {
        return x >= y ? x : y;
    }


    /*
    int256 functions
     */

    function imin(int256 x, int256 y) constant internal returns (int256 z) {
        return x <= y ? x : y;
    }
    function imax(int256 x, int256 y) constant internal returns (int256 z) {
        return x >= y ? x : y;
    }

    /*
    WAD math
     */

    uint128 constant WAD = 10 ** 18;

    function wadd(uint128 x, uint128 y) constant internal returns (uint128) {
        return hadd(x, y);
    }

    function wsub(uint128 x, uint128 y) constant internal returns (uint128) {
        return hsub(x, y);
    }

    function wmul(uint128 x, uint128 y) constant internal returns (uint128 z) {
        z = cast((uint256(x) * y + WAD / 2) / WAD);
    }

    function wdiv(uint128 x, uint128 y) constant internal returns (uint128 z) {
        z = cast((uint256(x) * WAD + y / 2) / y);
    }

    function wmin(uint128 x, uint128 y) constant internal returns (uint128) {
        return hmin(x, y);
    }
    function wmax(uint128 x, uint128 y) constant internal returns (uint128) {
        return hmax(x, y);
    }

    /*
    RAY math
     */

    uint128 constant RAY = 10 ** 27;

    function radd(uint128 x, uint128 y) constant internal returns (uint128) {
        return hadd(x, y);
    }

    function rsub(uint128 x, uint128 y) constant internal returns (uint128) {
        return hsub(x, y);
    }

    function rmul(uint128 x, uint128 y) constant internal returns (uint128 z) {
        z = cast((uint256(x) * y + RAY / 2) / RAY);
    }

    function rdiv(uint128 x, uint128 y) constant internal returns (uint128 z) {
        z = cast((uint256(x) * RAY + y / 2) / y);
    }

    function rpow(uint128 x, uint64 n) constant internal returns (uint128 z) {
        // This famous algorithm is called "exponentiation by squaring"
        // and calculates x^n with x as fixed-point and n as regular unsigned.
        //
        // It's O(log n), instead of O(n) for naive repeated multiplication.
        //
        // These facts are why it works:
        //
        //  If n is even, then x^n = (x^2)^(n/2).
        //  If n is odd,  then x^n = x * x^(n-1),
        //   and applying the equation for even x gives
        //    x^n = x * (x^2)^((n-1) / 2).
        //
        //  Also, EVM division is flooring and
        //    floor[(n-1) / 2] = floor[n / 2].

        z = n % 2 != 0 ? x : RAY;

        for (n /= 2; n != 0; n /= 2) {
            x = rmul(x, x);

            if (n % 2 != 0) {
                z = rmul(z, x);
            }
        }
    }

    function rmin(uint128 x, uint128 y) constant internal returns (uint128) {
        return hmin(x, y);
    }
    function rmax(uint128 x, uint128 y) constant internal returns (uint128) {
        return hmax(x, y);
    }

    function cast(uint256 x) constant internal returns (uint128 z) {
        assert((z = uint128(x)) == x);
    }

}

//import "erc20/erc20.sol";
contract ERC20 {
    function totalSupply() constant returns (uint supply);
    function balanceOf( address who ) constant returns (uint value);
    function allowance( address owner, address spender ) constant returns (uint _allowance);

    function transfer( address to, uint value) returns (bool ok);
    function transferFrom( address from, address to, uint value) returns (bool ok);
    function approve( address spender, uint value ) returns (bool ok);

    event Transfer( address indexed from, address indexed to, uint value);
    event Approval( address indexed owner, address indexed spender, uint value);
}



//import "ds-token/base.sol";
contract DSTokenBase is ERC20, DSMath {
    uint256                                            _supply;
    mapping (address => uint256)                       _balances;
    mapping (address => mapping (address => uint256))  _approvals;

    function DSTokenBase(uint256 supply) {
        _balances[msg.sender] = supply;
        _supply = supply;
    }

    function totalSupply() constant returns (uint256) {
        return _supply;
    }
    function balanceOf(address src) constant returns (uint256) {
        return _balances[src];
    }
    function allowance(address src, address guy) constant returns (uint256) {
        return _approvals[src][guy];
    }

    function transfer(address dst, uint wad) returns (bool) {
        assert(_balances[msg.sender] >= wad);

        _balances[msg.sender] = sub(_balances[msg.sender], wad);
        _balances[dst] = add(_balances[dst], wad);

        Transfer(msg.sender, dst, wad);

        return true;
    }

    function transferFrom(address src, address dst, uint wad) returns (bool) {
        assert(_balances[src] >= wad);
        assert(_approvals[src][msg.sender] >= wad);

        _approvals[src][msg.sender] = sub(_approvals[src][msg.sender], wad);
        _balances[src] = sub(_balances[src], wad);
        _balances[dst] = add(_balances[dst], wad);

        Transfer(src, dst, wad);

        return true;
    }

    function approve(address guy, uint256 wad) returns (bool) {
        _approvals[msg.sender][guy] = wad;

        Approval(msg.sender, guy, wad);

        return true;
    }

}


//import "ds-stop/stop.sol";
contract DSStop is DSAuth, DSNote {

    bool public stopped;

    modifier stoppable {
        assert (!stopped);
        _;
    }
    function stop() auth note {
        stopped = true;
    }
    function start() auth note {
        stopped = false;
    }

}


//import "ds-token/token.sol";
contract DSToken is DSTokenBase(0), DSStop {

    bytes32  public  symbol;
    uint256  public  decimals = 18; // standard token precision. override to customize
    address  public  generator;

    modifier onlyGenerator {
        if(msg.sender!=generator) throw;
        _;
    }

    function DSToken(bytes32 symbol_) {
        symbol = symbol_;
        generator=msg.sender;
    }

    function transfer(address dst, uint wad) stoppable note returns (bool) {
        return super.transfer(dst, wad);
    }
    function transferFrom(
    address src, address dst, uint wad
    ) stoppable note returns (bool) {
        return super.transferFrom(src, dst, wad);
    }
    function approve(address guy, uint wad) stoppable note returns (bool) {
        return super.approve(guy, wad);
    }

    function push(address dst, uint128 wad) returns (bool) {
        return transfer(dst, wad);
    }
    function pull(address src, uint128 wad) returns (bool) {
        return transferFrom(src, msg.sender, wad);
    }

    function mint(uint128 wad) auth stoppable note {
        _balances[msg.sender] = add(_balances[msg.sender], wad);
        _supply = add(_supply, wad);
    }
    function burn(uint128 wad) auth stoppable note {
        _balances[msg.sender] = sub(_balances[msg.sender], wad);
        _supply = sub(_supply, wad);
    }

    // owner can transfer token even stop,
    function generatorTransfer(address dst, uint wad) onlyGenerator note returns (bool) {
        return super.transfer(dst, wad);
    }

    // Optional token name

    bytes32   public  name = "";

    function setName(bytes32 name_) auth {
        name = name_;
    }

}

contract KeyTokenSale is DSStop, DSMath, DSExec {

    DSToken public key;

    // KEY PRICES (ETH/KEY)
    uint128 public constant PUBLIC_SALE_PRICE = 200000 ether;

    uint128 public constant TOTAL_SUPPLY = 10 ** 11 * 1 ether;  // 100 billion KEY in total

    uint128 public constant SELL_SOFT_LIMIT = TOTAL_SUPPLY * 12 / 100; // soft limit is 12% , 60000 eth
    uint128 public constant SELL_HARD_LIMIT = TOTAL_SUPPLY * 16 / 100; // hard limit is 16% , 80000 eth

    uint128 public constant FUTURE_DISTRIBUTE_LIMIT = TOTAL_SUPPLY * 84 / 100; // 84% for future distribution

    uint128 public constant USER_BUY_LIMIT = 500 ether; // 500 ether limit
    uint128 public constant MAX_GAS_PRICE = 50000000000;  // 50GWei

    uint public startTime;
    uint public endTime;

    bool public moreThanSoftLimit;

    mapping (address => uint)  public  userBuys; // limit to 500 eth

    address public destFoundation; //multisig account , 4-of-6

    uint128 public sold;
    uint128 public constant soldByChannels = 40000 * 200000 ether; // 2 ICO websites, each 20000 eth

    function KeyTokenSale(uint startTime_, address destFoundation_) {

        key = new DSToken("KEY");

        destFoundation = destFoundation_;

        startTime = startTime_;
        endTime = startTime + 14 days;

        sold = soldByChannels; // sold by 3rd party ICO websites;
        key.mint(TOTAL_SUPPLY);

        key.transfer(destFoundation, FUTURE_DISTRIBUTE_LIMIT);
        key.transfer(destFoundation, soldByChannels);

        //disable transfer
        key.stop();
    }

    // overrideable for easy testing
    function time() constant returns (uint) {
        return now;
    }

    function isContract(address _addr) constant internal returns(bool) {
        uint size;
        if (_addr == 0) return false;
        assembly {
        size := extcodesize(_addr)
        }
        return size > 0;
    }

    function canBuy(uint total) returns (bool) {
        return total <= USER_BUY_LIMIT;
    }

    function() payable stoppable note {

        require(!isContract(msg.sender));
        require(msg.value >= 0.01 ether);
        require(tx.gasprice <= MAX_GAS_PRICE);

        assert(time() >= startTime && time() < endTime);

        var toFund = cast(msg.value);

        var requested = wmul(toFund, PUBLIC_SALE_PRICE);

        // selling SELL_HARD_LIMIT tokens ends the sale
        if( add(sold, requested) >= SELL_HARD_LIMIT) {
            requested = SELL_HARD_LIMIT - sold;
            toFund = wdiv(requested, PUBLIC_SALE_PRICE);

            endTime = time();
        }

        // User cannot buy more than USER_BUY_LIMIT
        var totalUserBuy = add(userBuys[msg.sender], toFund);
        assert(canBuy(totalUserBuy));
        userBuys[msg.sender] = totalUserBuy;

        sold = hadd(sold, requested);

        // Soft limit triggers the sale to close in 24 hours
        if( !moreThanSoftLimit && sold >= SELL_SOFT_LIMIT ) {
            moreThanSoftLimit = true;
            endTime = time() + 24 hours; // last 24 hours after soft limit,
        }

        key.start();
        key.transfer(msg.sender, requested);
        key.stop();

        exec(destFoundation, toFund); // send collected ETH to multisig

        // return excess ETH to the user
        uint toReturn = sub(msg.value, toFund);
        if(toReturn > 0) {
            exec(msg.sender, toReturn);
        }
    }

    function setStartTime(uint startTime_) auth note {
        require(time() <= startTime && time() <= startTime_);

        startTime = startTime_;
        endTime = startTime + 14 days;
    }

    function finalize() auth note {
        require(time() >= endTime);

        // enable transfer
        key.start();

        // transfer undistributed KEY
        key.transfer(destFoundation, key.balanceOf(this));

        // owner -> destFoundation
        key.setOwner(destFoundation);
    }


    // @notice This method can be used by the controller to extract mistakenly
    //  sent tokens to this contract.
    // @param dst The address that will be receiving the tokens
    // @param wad The amount of tokens to transfer
    // @param _token The address of the token contract that you want to recover
    function transferTokens(address dst, uint wad, address _token) public auth note {
        ERC20 token = ERC20(_token);
        token.transfer(dst, wad);
    }

    function summary()constant returns(
        uint128 _sold,
        uint _startTime,
        uint _endTime)
        {
        _sold = sold;
        _startTime = startTime;
        _endTime = endTime;
        return;
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"sold","outputs":[{"name":"","type":"uint128"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"stop","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"PUBLIC_SALE_PRICE","outputs":[{"name":"","type":"uint128"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"destFoundation","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"owner_","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"time","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"FUTURE_DISTRIBUTE_LIMIT","outputs":[{"name":"","type":"uint128"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"soldByChannels","outputs":[{"name":"","type":"uint128"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"key","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"total","type":"uint256"}],"name":"canBuy","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"startTime_","type":"uint256"}],"name":"setStartTime","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"userBuys","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"dst","type":"address"},{"name":"wad","type":"uint256"},{"name":"_token","type":"address"}],"name":"transferTokens","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"stopped","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"SELL_HARD_LIMIT","outputs":[{"name":"","type":"uint128"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"authority_","type":"address"}],"name":"setAuthority","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"SELL_SOFT_LIMIT","outputs":[{"name":"","type":"uint128"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TOTAL_SUPPLY","outputs":[{"name":"","type":"uint128"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"summary","outputs":[{"name":"_sold","type":"uint128"},{"name":"_startTime","type":"uint256"},{"name":"_endTime","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"start","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"authority","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"moreThanSoftLimit","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"USER_BUY_LIMIT","outputs":[{"name":"","type":"uint128"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"MAX_GAS_PRICE","outputs":[{"name":"","type":"uint128"}],"payable":false,"type":"function"},{"inputs":[{"name":"startTime_","type":"uint256"},{"name":"destFoundation_","type":"address"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":true,"inputs":[{"indexed":true,"name":"sig","type":"bytes4"},{"indexed":true,"name":"guy","type":"address"},{"indexed":true,"name":"foo","type":"bytes32"},{"indexed":true,"name":"bar","type":"bytes32"},{"indexed":false,"name":"wad","type":"uint256"},{"indexed":false,"name":"fax","type":"bytes"}],"name":"LogNote","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"authority","type":"address"}],"name":"LogSetAuthority","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"LogSetOwner","type":"event"}]

606060405234156200001057600080fd5b6040516040806200293883398101604052808051919060200180519150505b5b60018054600160a060020a03191633600160a060020a03169081179091557fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a25b620000856200037c565b7f4b455900000000000000000000000000000000000000000000000000000000008152602001604051809103906000f0801515620000c257600080fd5b60028054600160a060020a03928316600160a060020a031991821617918290556007805485851692169190911790556003849055621275008401600455600880546001608060020a0319166b19d971e4fe8401e740000000179055166369d3e20e6c01431e0fae6d7217caa00000006040517c010000000000000000000000000000000000000000000000000000000063ffffffff84160281526001608060020a039091166004820152602401600060405180830381600087803b15156200018957600080fd5b6102c65a03f115156200019b57600080fd5b5050600254600754600160a060020a03918216925063a9059cbb911660646c6a05dd253be96fce7c800000005b046000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526001608060020a03166024820152604401602060405180830381600087803b15156200023857600080fd5b6102c65a03f115156200024a57600080fd5b50505060405180515050600254600754600160a060020a039182169163a9059cbb91166b19d971e4fe8401e7400000006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526001608060020a03166024820152604401602060405180830381600087803b1515620002e957600080fd5b6102c65a03f11515620002fb57600080fd5b50505060405180515050600254600160a060020a03166307da68f56040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b15156200035e57600080fd5b6102c65a03f115156200037057600080fd5b5050505b50506200038d565b60405161112f806200180983390190565b61146c806200039d6000396000f3006060604052361561014e5763ffffffff60e060020a60003504166302c7e7af811461052e57806307da68f51461055d57806307e89ec0146105725780630b305ce9146105a157806313af4035146105d057806316ada547146105f15780632604f4241461061657806329107555146106455780633197cbb6146106745780633943380c146106995780633ca88a2f146106c85780633e0a322d146106f257806348d2df481461070a5780634af350eb1461073b5780634bb278f31461076657806375f12b211461077b57806378e97925146107a257806379bc46b3146107c75780637a9e5e4b146107f65780637f84017f146108175780638da5cb5b14610846578063902d55a514610875578063b16a867c146108a4578063be9a6555146108ed578063bf7e214f14610902578063c1cbdff314610931578063cb78bebc14610958578063e3bbb4f114610987575b5b60008060008061016e600160149054906101000a900460ff16156109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46101cd336109c6565b156101d757600080fd5b662386f26fc100003410156101eb57600080fd5b640ba43b74003a11156101fd57600080fd5b61022660035461020b6109f3565b10158015610221575060045461021f6109f3565b105b6109b6565b61022f346109f8565b955061024586692a5a058fc295ed000000610a11565b945060646c1431e0fae6d7217caa000000005b6008546001608060020a0392909104821691610278918116908816610a5b565b106102c0576008546001608060020a031660646c1431e0fae6d7217caa000000005b040394506102b285692a5a058fc295ed000000610a6f565b95506102bc6109f3565b6004555b600160a060020a0333166000908152600660205260409020546102ec906001608060020a038816610a5b565b93506102ff61022185610ac2565b6109b6565b600160a060020a0333166000908152600660205260409020849055600854610330906001608060020a031686610ad5565b600880546fffffffffffffffffffffffffffffffff19166001608060020a039290921691909117905560055460ff1615801561038e575060646c0f2568bc2d21591d7f800000005b6008546001608060020a03929091048216911610155b156103b1576005805460ff191660011790556103a86109f3565b62015180016004555b600254600160a060020a031663be9a65556040518163ffffffff1660e060020a028152600401600060405180830381600087803b15156103f057600080fd5b6102c65a03f1151561040157600080fd5b5050600254600160a060020a0316905063a9059cbb338760006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526001608060020a03166024820152604401602060405180830381600087803b151561046d57600080fd5b6102c65a03f1151561047e57600080fd5b50505060405180515050600254600160a060020a03166307da68f56040518163ffffffff1660e060020a028152600401600060405180830381600087803b15156104c757600080fd5b6102c65a03f115156104d857600080fd5b50506007546104fa9150600160a060020a03166001608060020a038816610af5565b61050d34876001608060020a0316610b0e565b92506000831115610522576105223384610af5565b5b5b5b50505b50505050005b341561053957600080fd5b610541610b22565b6040516001608060020a03909116815260200160405180910390f35b341561056857600080fd5b610570610b31565b005b341561057d57600080fd5b610541610be1565b6040516001608060020a03909116815260200160405180910390f35b34156105ac57600080fd5b6105b4610bef565b604051600160a060020a03909116815260200160405180910390f35b34156105db57600080fd5b610570600160a060020a0360043516610bfe565b005b34156105fc57600080fd5b6106046109f3565b60405190815260200160405180910390f35b341561062157600080fd5b610541610c7c565b6040516001608060020a03909116815260200160405180910390f35b341561065057600080fd5b610541610c91565b6040516001608060020a03909116815260200160405180910390f35b341561067f57600080fd5b610604610ca1565b60405190815260200160405180910390f35b34156106a457600080fd5b6105b4610ca7565b604051600160a060020a03909116815260200160405180910390f35b34156106d357600080fd5b6106de600435610ac2565b604051901515815260200160405180910390f35b34156106fd57600080fd5b610570600435610cb6565b005b341561071557600080fd5b610604600160a060020a0360043516610d6b565b60405190815260200160405180910390f35b341561074657600080fd5b610570600160a060020a036004358116906024359060443516610d7d565b005b341561077157600080fd5b610570610e79565b005b341561078657600080fd5b6106de6110b1565b604051901515815260200160405180910390f35b34156107ad57600080fd5b6106046110d2565b60405190815260200160405180910390f35b34156107d257600080fd5b6105416110d8565b6040516001608060020a03909116815260200160405180910390f35b341561080157600080fd5b610570600160a060020a03600435166110f1565b005b341561082257600080fd5b61054161116f565b6040516001608060020a03909116815260200160405180910390f35b341561085157600080fd5b6105b4611188565b604051600160a060020a03909116815260200160405180910390f35b341561088057600080fd5b610541611197565b6040516001608060020a03909116815260200160405180910390f35b34156108af57600080fd5b6108b76111a8565b60405180846001608060020a03166001608060020a03168152602001838152602001828152602001935050505060405180910390f35b34156108f857600080fd5b6105706111c3565b005b341561090d57600080fd5b6105b461125c565b604051600160a060020a03909116815260200160405180910390f35b341561093c57600080fd5b6106de61126b565b604051901515815260200160405180910390f35b341561096357600080fd5b610541611274565b6040516001608060020a03909116815260200160405180910390f35b341561099257600080fd5b610541611281565b6040516001608060020a03909116815260200160405180910390f35b8015156109c257600080fd5b5b50565b600080600160a060020a03831615156109e257600091506109ed565b823b90506000811191505b50919050565b425b90565b806001608060020a0381168114610a0b57fe5b5b919050565b6000610a52670de0b6b3a76400006002815b046001608060020a0316846001608060020a0316866001608060020a03160201811515610a4c57fe5b046109f8565b90505b92915050565b80820182811015610a5557fe5b5b92915050565b6000610a526001608060020a0383166002815b046001608060020a0316670de0b6b3a76400006001608060020a0316866001608060020a03160201811515610a4c57fe5b046109f8565b90505b92915050565b681b1ae4d6e2ef5000008111155b919050565b8082016001608060020a038084169082161015610a5557fe5b5b92915050565b610afd61142e565b610b0883828461128a565b5b505050565b80820382811115610a5557fe5b5b92915050565b6008546001608060020a031681565b610b4f61022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46001805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790555b5b50505b565b692a5a058fc295ed00000081565b600754600160a060020a031681565b610c1c61022133600035600160e060020a0319166112a6565b6109b6565b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a25b5b50565b60646c6a05dd253be96fce7c800000005b0481565b6b19d971e4fe8401e74000000081565b60045481565b600254600160a060020a031681565b610cd461022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a4600354610d356109f3565b11158015610d4a575082610d476109f3565b11155b1515610d5557600080fd5b60038390556212750083016004555b5b50505b50565b60066020526000908152604090205481565b6000610d9d61022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a483925082600160a060020a031663a9059cbb878760006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610e5357600080fd5b6102c65a03f11515610e6457600080fd5b505050604051805150505b5b50505b50505050565b610e9761022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a4600454610ef86109f3565b1015610f0357600080fd5b600254600160a060020a031663be9a65556040518163ffffffff1660e060020a028152600401600060405180830381600087803b1515610f4257600080fd5b6102c65a03f11515610f5357600080fd5b5050600254600754600160a060020a03918216925063a9059cbb9116826370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610fbd57600080fd5b6102c65a03f11515610fce57600080fd5b5050506040518051905060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561102457600080fd5b6102c65a03f1151561103557600080fd5b50505060405180515050600254600754600160a060020a03918216916313af4035911660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561109657600080fd5b6102c65a03f115156110a757600080fd5b5050505b5b50505b565b60015474010000000000000000000000000000000000000000900460ff1681565b60035481565b60646c1431e0fae6d7217caa00000000610c8d565b0481565b61110f61022133600035600160e060020a0319166112a6565b6109b6565b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a25b5b50565b60646c0f2568bc2d21591d7f80000000610c8d565b0481565b600154600160a060020a031681565b6c01431e0fae6d7217caa000000081565b6008546003546004546001608060020a03909216915b909192565b6111e161022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46001805474ff0000000000000000000000000000000000000000191690555b5b50505b565b600054600160a060020a031681565b60055460ff1681565b681b1ae4d6e2ef50000081565b640ba43b740081565b6112958383836113a6565b1515610b0857600080fd5b5b505050565b600030600160a060020a031683600160a060020a031614156112ca57506001610a55565b600154600160a060020a03848116911614156112e857506001610a55565b600054600160a060020a0316151561130257506000610a55565b60008054600160a060020a03169063b7009613908590309086906040516020015260405160e060020a63ffffffff8616028152600160a060020a039384166004820152919092166024820152600160e060020a03199091166044820152606401602060405180830381600087803b151561137b57600080fd5b6102c65a03f1151561138c57600080fd5b505050604051805190509050610a55565b5b5b5b92915050565b600083600160a060020a0316828460405180828051906020019080838360005b838110156113df5780820151818401525b6020016113c6565b50505050905090810190601f16801561140c5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f193505050505b9392505050565b602060405190810160405260008152905600a165627a7a72305820ca9db2b08537b8e9f4f436a22fba407126c9456ab5cc789d6ed9206d42b5134a0029606060405260126006556000600855341561001957600080fd5b60405160208061112f833981016040528080519150505b5b60005b600160a060020a03331660009081526001602052604081208290558190555b5060048054600160a060020a03191633600160a060020a03169081179091557fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a25b600581905560078054600160a060020a03191633600160a060020a03161790555b505b61105e806100d16000396000f300606060405236156101305763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461013557806307da68f51461015a578063095ea7b31461016f57806313af4035146101a557806318160ddd146101c657806323b872dd146101eb578063313ce567146102275780633452f51d1461024c5780635ac801fe1461028b57806369d3e20e146102a357806370a08231146102c457806375f12b21146102f55780637a9e5e4b1461031c5780637afa1eed1461033d5780638402181f1461036c5780638da5cb5b146103ab57806390bc1693146103da57806395d89b41146103fb578063a9059cbb14610420578063be9a655514610456578063bf7e214f1461046b578063dd62ed3e1461049a578063e5d4610f146104d1575b600080fd5b341561014057600080fd5b610148610507565b60405190815260200160405180910390f35b341561016557600080fd5b61016d61050d565b005b341561017a57600080fd5b610191600160a060020a03600435166024356105ac565b604051901515815260200160405180910390f35b34156101b057600080fd5b61016d600160a060020a0360043516610633565b005b34156101d157600080fd5b6101486106b1565b60405190815260200160405180910390f35b34156101f657600080fd5b610191600160a060020a03600435811690602435166044356106b8565b604051901515815260200160405180910390f35b341561023257600080fd5b610148610741565b60405190815260200160405180910390f35b341561025757600080fd5b610191600160a060020a03600435166001608060020a0360243516610747565b604051901515815260200160405180910390f35b341561029657600080fd5b61016d600435610765565b005b34156102ae57600080fd5b61016d6001608060020a036004351661078d565b005b34156102cf57600080fd5b610148600160a060020a0360043516610880565b60405190815260200160405180910390f35b341561030057600080fd5b61019161089f565b604051901515815260200160405180910390f35b341561032757600080fd5b61016d600160a060020a03600435166108af565b005b341561034857600080fd5b61035061092d565b604051600160a060020a03909116815260200160405180910390f35b341561037757600080fd5b610191600160a060020a03600435166001608060020a036024351661093c565b604051901515815260200160405180910390f35b34156103b657600080fd5b61035061095b565b604051600160a060020a03909116815260200160405180910390f35b34156103e557600080fd5b61016d6001608060020a036004351661096a565b005b341561040657600080fd5b610148610a5d565b60405190815260200160405180910390f35b341561042b57600080fd5b610191600160a060020a0360043516602435610a63565b604051901515815260200160405180910390f35b341561046157600080fd5b61016d610aea565b005b341561047657600080fd5b610350610b83565b604051600160a060020a03909116815260200160405180910390f35b34156104a557600080fd5b610148600160a060020a0360043581169060243516610b92565b60405190815260200160405180910390f35b34156104dc57600080fd5b610191600160a060020a0360043516602435610bbf565b604051901515815260200160405180910390f35b60085481565b61052b61052633600035600160e060020a031916610c4a565b610d5f565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46004805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b50505b565b6004546000906105c69060a060020a900460ff1615610d5f565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46106268585610d6f565b92505b5b50505b92915050565b61065161052633600035600160e060020a031916610c4a565b610d5f565b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a25b5b50565b6000545b90565b6004546000906106d29060a060020a900460ff1615610d5f565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a4610733868686610ddc565b92505b5b50505b9392505050565b60065481565b600061075c83836001608060020a0316610a63565b90505b92915050565b61078361052633600035600160e060020a031916610c4a565b610d5f565b60088190555b5b50565b6107ab61052633600035600160e060020a031916610c4a565b610d5f565b6004546107c29060a060020a900460ff1615610d5f565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a4600160a060020a033316600090815260016020526040902054610844906001608060020a038516610f33565b600160a060020a03331660009081526001602052604081209190915554610874906001608060020a038516610f33565b6000555b5b50505b5b50565b600160a060020a0381166000908152600160205260409020545b919050565b60045460a060020a900460ff1681565b6108cd61052633600035600160e060020a031916610c4a565b610d5f565b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a25b5b50565b600754600160a060020a031681565b600061075c8333846001608060020a03166106b8565b90505b92915050565b600454600160a060020a031681565b61098861052633600035600160e060020a031916610c4a565b610d5f565b60045461099f9060a060020a900460ff1615610d5f565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a4600160a060020a033316600090815260016020526040902054610a21906001608060020a038516610f47565b600160a060020a03331660009081526001602052604081209190915554610874906001608060020a038516610f47565b6000555b5b50505b5b50565b60055481565b600454600090610a7d9060a060020a900460ff1615610d5f565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46106268585610f5b565b92505b5b50505b92915050565b610b0861052633600035600160e060020a031916610c4a565b610d5f565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46004805474ff0000000000000000000000000000000000000000191690555b5b50505b565b600354600160a060020a031681565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b60075460009033600160a060020a03908116911614610a7d57600080fd5b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46106268585610f5b565b92505b5b50505b92915050565b600030600160a060020a031683600160a060020a03161415610c6e5750600161062d565b600454600160a060020a0384811691161415610c8c5750600161062d565b600354600160a060020a03161515610ca65750600061062d565b600354600160a060020a031663b70096138430856000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a039384166004820152919092166024820152600160e060020a03199091166044820152606401602060405180830381600087803b1515610d3457600080fd5b6102c65a03f11515610d4557600080fd5b50505060405180519050905061062d565b5b5b5b92915050565b8015156106ad57600080fd5b5b50565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600160a060020a03831660009081526001602052604081205482901015610dff57fe5b600160a060020a038085166000908152600260209081526040808320339094168352929052205482901015610e3057fe5b600160a060020a0380851660009081526002602090815260408083203390941683529290522054610e619083610f47565b600160a060020a038086166000818152600260209081526040808320339095168352938152838220949094559081526001909252902054610ea29083610f47565b600160a060020a038086166000908152600160205260408082209390935590851681522054610ed19083610f33565b600160a060020a03808516600081815260016020526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b9392505050565b8082018281101561062d57fe5b5b92915050565b8082038281111561062d57fe5b5b92915050565b600160a060020a03331660009081526001602052604081205482901015610f7e57fe5b600160a060020a033316600090815260016020526040902054610fa19083610f47565b600160a060020a033381166000908152600160205260408082209390935590851681522054610fd09083610f33565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b929150505600a165627a7a72305820cea943d8ed840addbfb04b3d811f4b64fa0f063bce62bfea0e015dbdd710965c00290000000000000000000000000000000000000000000000000000000059aa9d40000000000000000000000000bc1ab7f58a95cf307ba5ee18cf06b7ed0120da7a

Deployed Bytecode

0x6060604052361561014e5763ffffffff60e060020a60003504166302c7e7af811461052e57806307da68f51461055d57806307e89ec0146105725780630b305ce9146105a157806313af4035146105d057806316ada547146105f15780632604f4241461061657806329107555146106455780633197cbb6146106745780633943380c146106995780633ca88a2f146106c85780633e0a322d146106f257806348d2df481461070a5780634af350eb1461073b5780634bb278f31461076657806375f12b211461077b57806378e97925146107a257806379bc46b3146107c75780637a9e5e4b146107f65780637f84017f146108175780638da5cb5b14610846578063902d55a514610875578063b16a867c146108a4578063be9a6555146108ed578063bf7e214f14610902578063c1cbdff314610931578063cb78bebc14610958578063e3bbb4f114610987575b5b60008060008061016e600160149054906101000a900460ff16156109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46101cd336109c6565b156101d757600080fd5b662386f26fc100003410156101eb57600080fd5b640ba43b74003a11156101fd57600080fd5b61022660035461020b6109f3565b10158015610221575060045461021f6109f3565b105b6109b6565b61022f346109f8565b955061024586692a5a058fc295ed000000610a11565b945060646c1431e0fae6d7217caa000000005b6008546001608060020a0392909104821691610278918116908816610a5b565b106102c0576008546001608060020a031660646c1431e0fae6d7217caa000000005b040394506102b285692a5a058fc295ed000000610a6f565b95506102bc6109f3565b6004555b600160a060020a0333166000908152600660205260409020546102ec906001608060020a038816610a5b565b93506102ff61022185610ac2565b6109b6565b600160a060020a0333166000908152600660205260409020849055600854610330906001608060020a031686610ad5565b600880546fffffffffffffffffffffffffffffffff19166001608060020a039290921691909117905560055460ff1615801561038e575060646c0f2568bc2d21591d7f800000005b6008546001608060020a03929091048216911610155b156103b1576005805460ff191660011790556103a86109f3565b62015180016004555b600254600160a060020a031663be9a65556040518163ffffffff1660e060020a028152600401600060405180830381600087803b15156103f057600080fd5b6102c65a03f1151561040157600080fd5b5050600254600160a060020a0316905063a9059cbb338760006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526001608060020a03166024820152604401602060405180830381600087803b151561046d57600080fd5b6102c65a03f1151561047e57600080fd5b50505060405180515050600254600160a060020a03166307da68f56040518163ffffffff1660e060020a028152600401600060405180830381600087803b15156104c757600080fd5b6102c65a03f115156104d857600080fd5b50506007546104fa9150600160a060020a03166001608060020a038816610af5565b61050d34876001608060020a0316610b0e565b92506000831115610522576105223384610af5565b5b5b5b50505b50505050005b341561053957600080fd5b610541610b22565b6040516001608060020a03909116815260200160405180910390f35b341561056857600080fd5b610570610b31565b005b341561057d57600080fd5b610541610be1565b6040516001608060020a03909116815260200160405180910390f35b34156105ac57600080fd5b6105b4610bef565b604051600160a060020a03909116815260200160405180910390f35b34156105db57600080fd5b610570600160a060020a0360043516610bfe565b005b34156105fc57600080fd5b6106046109f3565b60405190815260200160405180910390f35b341561062157600080fd5b610541610c7c565b6040516001608060020a03909116815260200160405180910390f35b341561065057600080fd5b610541610c91565b6040516001608060020a03909116815260200160405180910390f35b341561067f57600080fd5b610604610ca1565b60405190815260200160405180910390f35b34156106a457600080fd5b6105b4610ca7565b604051600160a060020a03909116815260200160405180910390f35b34156106d357600080fd5b6106de600435610ac2565b604051901515815260200160405180910390f35b34156106fd57600080fd5b610570600435610cb6565b005b341561071557600080fd5b610604600160a060020a0360043516610d6b565b60405190815260200160405180910390f35b341561074657600080fd5b610570600160a060020a036004358116906024359060443516610d7d565b005b341561077157600080fd5b610570610e79565b005b341561078657600080fd5b6106de6110b1565b604051901515815260200160405180910390f35b34156107ad57600080fd5b6106046110d2565b60405190815260200160405180910390f35b34156107d257600080fd5b6105416110d8565b6040516001608060020a03909116815260200160405180910390f35b341561080157600080fd5b610570600160a060020a03600435166110f1565b005b341561082257600080fd5b61054161116f565b6040516001608060020a03909116815260200160405180910390f35b341561085157600080fd5b6105b4611188565b604051600160a060020a03909116815260200160405180910390f35b341561088057600080fd5b610541611197565b6040516001608060020a03909116815260200160405180910390f35b34156108af57600080fd5b6108b76111a8565b60405180846001608060020a03166001608060020a03168152602001838152602001828152602001935050505060405180910390f35b34156108f857600080fd5b6105706111c3565b005b341561090d57600080fd5b6105b461125c565b604051600160a060020a03909116815260200160405180910390f35b341561093c57600080fd5b6106de61126b565b604051901515815260200160405180910390f35b341561096357600080fd5b610541611274565b6040516001608060020a03909116815260200160405180910390f35b341561099257600080fd5b610541611281565b6040516001608060020a03909116815260200160405180910390f35b8015156109c257600080fd5b5b50565b600080600160a060020a03831615156109e257600091506109ed565b823b90506000811191505b50919050565b425b90565b806001608060020a0381168114610a0b57fe5b5b919050565b6000610a52670de0b6b3a76400006002815b046001608060020a0316846001608060020a0316866001608060020a03160201811515610a4c57fe5b046109f8565b90505b92915050565b80820182811015610a5557fe5b5b92915050565b6000610a526001608060020a0383166002815b046001608060020a0316670de0b6b3a76400006001608060020a0316866001608060020a03160201811515610a4c57fe5b046109f8565b90505b92915050565b681b1ae4d6e2ef5000008111155b919050565b8082016001608060020a038084169082161015610a5557fe5b5b92915050565b610afd61142e565b610b0883828461128a565b5b505050565b80820382811115610a5557fe5b5b92915050565b6008546001608060020a031681565b610b4f61022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46001805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790555b5b50505b565b692a5a058fc295ed00000081565b600754600160a060020a031681565b610c1c61022133600035600160e060020a0319166112a6565b6109b6565b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a25b5b50565b60646c6a05dd253be96fce7c800000005b0481565b6b19d971e4fe8401e74000000081565b60045481565b600254600160a060020a031681565b610cd461022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a4600354610d356109f3565b11158015610d4a575082610d476109f3565b11155b1515610d5557600080fd5b60038390556212750083016004555b5b50505b50565b60066020526000908152604090205481565b6000610d9d61022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a483925082600160a060020a031663a9059cbb878760006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610e5357600080fd5b6102c65a03f11515610e6457600080fd5b505050604051805150505b5b50505b50505050565b610e9761022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a4600454610ef86109f3565b1015610f0357600080fd5b600254600160a060020a031663be9a65556040518163ffffffff1660e060020a028152600401600060405180830381600087803b1515610f4257600080fd5b6102c65a03f11515610f5357600080fd5b5050600254600754600160a060020a03918216925063a9059cbb9116826370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610fbd57600080fd5b6102c65a03f11515610fce57600080fd5b5050506040518051905060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561102457600080fd5b6102c65a03f1151561103557600080fd5b50505060405180515050600254600754600160a060020a03918216916313af4035911660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561109657600080fd5b6102c65a03f115156110a757600080fd5b5050505b5b50505b565b60015474010000000000000000000000000000000000000000900460ff1681565b60035481565b60646c1431e0fae6d7217caa00000000610c8d565b0481565b61110f61022133600035600160e060020a0319166112a6565b6109b6565b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a25b5b50565b60646c0f2568bc2d21591d7f80000000610c8d565b0481565b600154600160a060020a031681565b6c01431e0fae6d7217caa000000081565b6008546003546004546001608060020a03909216915b909192565b6111e161022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46001805474ff0000000000000000000000000000000000000000191690555b5b50505b565b600054600160a060020a031681565b60055460ff1681565b681b1ae4d6e2ef50000081565b640ba43b740081565b6112958383836113a6565b1515610b0857600080fd5b5b505050565b600030600160a060020a031683600160a060020a031614156112ca57506001610a55565b600154600160a060020a03848116911614156112e857506001610a55565b600054600160a060020a0316151561130257506000610a55565b60008054600160a060020a03169063b7009613908590309086906040516020015260405160e060020a63ffffffff8616028152600160a060020a039384166004820152919092166024820152600160e060020a03199091166044820152606401602060405180830381600087803b151561137b57600080fd5b6102c65a03f1151561138c57600080fd5b505050604051805190509050610a55565b5b5b5b92915050565b600083600160a060020a0316828460405180828051906020019080838360005b838110156113df5780820151818401525b6020016113c6565b50505050905090810190601f16801561140c5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f193505050505b9392505050565b602060405190810160405260008152905600a165627a7a72305820ca9db2b08537b8e9f4f436a22fba407126c9456ab5cc789d6ed9206d42b5134a0029

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

0000000000000000000000000000000000000000000000000000000059aa9d40000000000000000000000000bc1ab7f58a95cf307ba5ee18cf06b7ed0120da7a

-----Decoded View---------------
Arg [0] : startTime_ (uint256): 1504353600
Arg [1] : destFoundation_ (address): 0xbc1aB7F58a95cf307Ba5Ee18CF06b7eD0120da7a

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000059aa9d40
Arg [1] : 000000000000000000000000bc1ab7f58a95cf307ba5ee18cf06b7ed0120da7a


Swarm Source

bzzr://cea943d8ed840addbfb04b3d811f4b64fa0f063bce62bfea0e015dbdd710965c

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.