Sponsored Link:   Revain - How to find moon tokens to invest? See what crypto experts are saying. Read reviews!
 Latest 25 txns from a total Of 7417 transactions
View All

TxHash Age From To Value [TxFee]
0xb89ea84c4d92a0d25a304b1528ce604ab0457a54d950eee07064ec77721360d62 hrs 10 mins ago0xca4980c0a0e1c951c2221dc2e5fd9ac7ce61c41f  IN   CommodityAdNetworkToken0 Ether0.002293089
0x4f5e9d4d6b09d24a27cbb2024799136ac2d323b921200c8930f595da8fd5924b8 hrs 33 mins ago0x44d124098ca55f8844fe63dce22c7d8d3c7903c6  IN   CommodityAdNetworkToken0 Ether0.002125302
0x096ddc8180f7886ffe44533a0bb6285b9c58860d38e2a33f8f1321164ae705ad10 hrs 36 mins ago0xd4209ca5eb53a66759ed2fbe921a7a50bf3b0d8e  IN   CommodityAdNetworkToken0 Ether0.00111326
0x0581d73fb9a923977a043503e600970c39db48aa95394556da948b49ffc15f7c10 hrs 56 mins agocoinexchange.io  IN   CommodityAdNetworkToken0 Ether0.000922077
0xeb1d7c255460ccab9fae02da70f5cb22ee10a8c3cecd9ec3b536bcdd677ade7312 hrs 19 mins ago0x896a3df009bc67acf11a87f57a1e49903278656a  IN   CommodityAdNetworkToken0 Ether0.000368936979
0x0345939378217e3624193712ac57facdbd12c812aeaa551272a8c749ce5c14af14 hrs 57 mins ago0x2df9cc6e294770948db2278318bfe72bba91885b  IN   CommodityAdNetworkToken0 Ether0.000895888
0x458c07aa7dc0df9b9db9a1a48a8cbb4c0b5f410ca9d278ddd224ecf67201e65915 hrs 2 mins agocoinexchange.io  IN   CommodityAdNetworkToken0 Ether0.000950793
0x43bd7dd21e8b2de687e61599e24b8e3a0240bc53dfde7f10cc803cf8838cd7ed15 hrs 15 mins ago0x2df9cc6e294770948db2278318bfe72bba91885b  IN   CommodityAdNetworkToken0 Ether0.001134864
0xad373c4f39b0f782f3849c226400280d228075b0bfc5b977ab25812c7d35e21015 hrs 18 mins ago0x2df9cc6e294770948db2278318bfe72bba91885b  IN   CommodityAdNetworkToken0 Ether0.000595144
0x055c2f813137d131b457513f39692cecae90e7b323cc06b1f6aa2f891047c38315 hrs 20 mins ago0xe67bb0db705a1cf28dce4af33960e08c3b910c3a  IN   CommodityAdNetworkToken0 Ether0.00055929
0xdbe42b0e0e1f7074a26923246a7455b8a8fac525a70996c83c250b1e0a7bc83915 hrs 25 mins ago0x2df9cc6e294770948db2278318bfe72bba91885b  IN   CommodityAdNetworkToken0 Ether0.000649248
0xc8c47dc1d6b500e9343ebf5525212b16717fb90d571bf7f8f3e9453d08ee3eab15 hrs 47 mins ago0xa08e4d7a6363a590cba8c930b0da0dab1701f671  IN   CommodityAdNetworkToken0 Ether0.001175853
0x087e7bd85afabce2ec34aaa594573f83ab38907460f0976d7a42b73bd4ea310216 hrs 1 min ago0x55d35116e5ddfc16d89f552984274ec377539f3c  IN   CommodityAdNetworkToken0 Ether0.001680713
0xd0e9bdcde9d0c14d5f4efb7b6ca4eb1bba602209de56763527b4565fb8b51c8717 hrs 45 mins ago0x9c765f402e4b9fc5c5f81b6de5730db10d825032  IN   CommodityAdNetworkToken0 Ether0.002293089
0x214c4a32b0ec604754d226bd7209e7ea2e7ab5caa6decc00a20dbc732cf1367217 hrs 49 mins ago0x7a2e864526180a3b81d914d8d1ea2084265f96d3  IN   CommodityAdNetworkToken0 Ether0.002660385
0x35594d66d5c59ebecd2280b044e75d10892b45a38c1dd485237c996b2495120018 hrs 4 mins ago0x9c765f402e4b9fc5c5f81b6de5730db10d825032  IN   CommodityAdNetworkToken0 Ether0.002908089
0xf390c60ae5c690c2a2f5e7b6a2f69011d45882d24a82a582ee0464acc063a4cd18 hrs 19 mins ago0x7a2e864526180a3b81d914d8d1ea2084265f96d3  IN   CommodityAdNetworkToken0 Ether0.004610385
0xdcfff7786b57aa582b60683c874a810ee87466ddca716eb60aad1336d45ccab518 hrs 48 mins ago0xb9e1b3348e773457d505ed8c1104789a548f532d  IN   CommodityAdNetworkToken0 Ether0.002293089
0x73bab01edd9c99c35986637408e9910e5d1e73c0a3042d9b307a9c6fa9d2786218 hrs 57 mins agocoinexchange.io  IN   CommodityAdNetworkToken0 Ether0.000951881
0x6315636978824aa24ef45c61b1f791ba44752b70beca7c0007d98b809e2d0dac18 hrs 58 mins agocoinexchange.io  IN   CommodityAdNetworkToken0 Ether0.000951881
0x9534c427537c1693d030ec3c1b542a6f2f1947d57b5da2d05469116ad7dce08220 hrs 46 mins agoHitBTC_2  IN   CommodityAdNetworkToken0 Ether0.001068868299
0x90be99cdfea5f550188c060cfa4abd50320882b97b8f3c10ca6af6505291059220 hrs 47 mins ago0xa12431d0b9db640034b0cdfceef9cce161e62be4  IN   CommodityAdNetworkToken0 Ether0.000839895
0x5194cd5dbc9e168c88b0dfa53338c31583b9de8bcec0b1263fbb16381d7864291 day 4 hrs ago0xd3b7f92f7580ce244242409dc79b0ff2f8fdb305  IN   CommodityAdNetworkToken0 Ether0.00055929
0x4072a48362173908ac954772d4df3166099d8351d4f6aba2b32a277d5bada2931 day 6 hrs ago0xdb18ab4398ff180d1cf935be146bf18dd4c01075  IN   CommodityAdNetworkToken0 Ether0.002282183
0x5b0c06859e22b4f2d2e8d043bc3d98a4b26c8a97fafdba153df3b8040a94a6631 day 6 hrs agoHitBTC_2  IN   CommodityAdNetworkToken0 Ether0.00055929
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 8 Internal Transactions

ParentTxHash Block Age From To Value
0x1fb63061248f12073065e6aa6b74e829b9a749a29852f4f804f85bc28da411c34326139235 days 5 hrs ago0x6fff3806bbac52a20e0d79bc538d527f6a22c96b0xb40c57235dd1de1d4fed9d56e33b1b97d66479d2141.276637906 Ether
0x6b37bbd5c22378d81392f6dc0e34eb92fc95fe00feb758f84f49bb4e22f1a6c44302257243 days 13 hrs ago0x6fff3806bbac52a20e0d79bc538d527f6a22c96b0x6de44b90b364fb015ce8e4a62736845cab2129fe7.83999999999995841 Ether
0x76e17c87a45bf829ba7aeba3c3e0584912ea53668faceb8a3b43e6da8ffdbad64302228243 days 13 hrs ago0x6fff3806bbac52a20e0d79bc538d527f6a22c96b0x6de44b90b364fb015ce8e4a62736845cab2129fe7.82999999999995841 Ether
0x083fb5bd7cdd96c039c9401ebdedff15130486f686f61d7bcdc3461d8adc2b704302216243 days 13 hrs ago0x6fff3806bbac52a20e0d79bc538d527f6a22c96b0x6de44b90b364fb015ce8e4a62736845cab2129fe7.83999999999995841 Ether
0x84cbc5abc71c8a0553d17f703af36d7f189e2c0269efecbc67d2534ff5470c254302116243 days 14 hrs ago0x6fff3806bbac52a20e0d79bc538d527f6a22c96b0x5107efc5372705eea107bb378c6dc532c7fe744d1.02999999999995841 Ether
0x8e4c6203d356df2122b9bfa4c07ca351a662ef49b6ef9d6b722ebb45f706c1554302097243 days 14 hrs ago0x6fff3806bbac52a20e0d79bc538d527f6a22c96b0x5107efc5372705eea107bb378c6dc532c7fe744d1.02599999999995841 Ether
0xe2ec23d772817fd859f83d7ba342d23f3499f8c9aee178fbea80d9788c2e75864280531249 days 16 hrs ago0x6fff3806bbac52a20e0d79bc538d527f6a22c96b0xb40c57235dd1de1d4fed9d56e33b1b97d66479d22,234.459742608859748454 Ether
0xbee4270359c24fce1198595f79aa7be71a58c43140d7c43a5b53fe1038e689004226408264 days 21 hrs ago0x6fff3806bbac52a20e0d79bc538d527f6a22c96b0xb40c57235dd1de1d4fed9d56e33b1b97d66479d24,892.398672530591304793 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to ZeroFunctionSelector (very low-severity), DelegateCallReturnValue (low-severity) Solidity compiler bugs.

Contract Source Code Verified (Exact match)
Contract Name: Token
Compiler Version: v0.4.14+commit.c2215d46
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

/// auth.sol -- widely-used access control pattern for Ethereum

// Copyright (C) 2015, 2016, 2017  DappHub, LLC

// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.

// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND (express or implied).

pragma solidity ^0.4.13;

contract Authority {
    function canCall(address src, address dst, bytes4 sig) constant returns (bool);
}

contract AuthEvents {
    event LogSetAuthority (address indexed authority);
    event LogSetOwner     (address indexed owner);
    event UnauthorizedAccess (address caller, bytes4 sig);
}

contract Auth is AuthEvents {
    Authority  public  authority;
    address public owner;

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

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

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

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

    function isAuthorized(address src, bytes4 sig) internal returns (bool) {
        if (src == address(this)) {
            return true;
        } else if (src == owner && authority == Authority(0)) {
            /*the owner has privileges only as long as no Authority has been defined*/
            return true;
        } else if (authority == Authority(0)) {
            UnauthorizedAccess(src, sig);
            return false;
        } else {
            return authority.canCall(src, this, sig);
        }
    }
}
/*
   Copyright 2017 DappHub, LLC

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
*/

// Token standard API
// https://github.com/ethereum/EIPs/issues/20

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

contract ERC20 is ERC20Events{
    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);

}
/// math.sol -- mixin for inline numerical wizardry

// Copyright (C) 2015, 2016, 2017  DappHub, LLC

// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.

// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND (express or implied).

contract Math {
    
    /*
    standard uint256 functions
     */

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

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

    function mul(uint256 x, uint256 y) constant internal returns (uint256 z) {
        z = x * y;
        require(z == 0 || z >= (x > y ? x : y));
    }

    function div(uint256 x, uint256 y) constant internal returns (uint256 z) {
        require(y > 0);
        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) {
        require((z = x + y) >= x);
    }

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

    function hmul(uint128 x, uint128 y) constant internal returns (uint128 z) {
        require((z = x * y) >= x);
    }

    function hdiv(uint128 x, uint128 y) constant internal returns (uint128 z) {
        require(y > 0);
        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) {
        require((z = uint128(x)) == x);
    }

}

contract Migrations {
  address public owner;
  uint public last_completed_migration;

  modifier restricted() {
    if (msg.sender == owner) _;
  }

  function Migrations() {
    owner = msg.sender;
  }

  function setCompleted(uint completed) restricted {
    last_completed_migration = completed;
  }

  function upgrade(address new_address) restricted {
    Migrations upgraded = Migrations(new_address);
    upgraded.setCompleted(last_completed_migration);
  }
}
/// note.sol -- the `note' modifier, for logging calls as events

// Copyright (C) 2017  DappHub, LLC
//
// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND (express or implied).


contract Note {
    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);

        _;
    }
}
/// stop.sol -- mixin for enable/disable functionality

// Copyright (C) 2017  DappHub, LLC

// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.

// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND (express or implied).


contract Stoppable is Auth, Note {

    bool public stopped;

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

}// token.sol -- ERC20 implementation with minting and burning

// Copyright (C) 2015, 2016, 2017  DappHub, LLC

// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.

// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND (express or implied).


contract Token is ERC20, Stoppable {

    bytes32 public symbol;    
    string public name; // Optional token name
    uint256 public decimals = 18; // standard token precision. override to customize
    TokenLogic public logic;

    function Token(string name_, bytes32 symbol_) {
        name = name_;
        symbol = symbol_;
    }

    function setLogic(TokenLogic logic_) auth note returns(bool){
        logic = logic_;
        return true;
    }

    function setOwner(address owner_) auth {
        uint wad = balanceOf(owner);
        logic.transfer(owner, owner_, wad);
        Transfer(owner, owner_, wad);
        logic.setOwner(owner_);
        super.setOwner(owner_);
    }


    function totalSupply() constant returns (uint256){
        return logic.totalSupply();
    }

    function balanceOf( address who ) constant returns (uint value) {
        return logic.balanceOf(who);
    }

    function allowance( address owner, address spender ) constant returns (uint _allowance) {
        return logic.allowance(owner, spender);
    }

    function transfer(address dst, uint wad) stoppable note returns (bool) {
        bool retVal = logic.transfer(msg.sender, dst, wad);
        Transfer(msg.sender, dst, wad);
        return retVal;
    }
    
    function transferFrom(address src, address dst, uint wad) stoppable note returns (bool) {
        bool retVal = logic.transferFrom(src, dst, wad);
        Transfer(src, dst, wad);
        return retVal;
    }

    function approve(address guy, uint wad) stoppable note returns (bool) {
        return logic.approve(msg.sender, 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 {
        logic.mint(wad);
        Transfer(this, msg.sender, wad);
    }

    function burn(uint128 wad) auth stoppable note {
        logic.burn(msg.sender, wad);
    }

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

    function setSymbol(bytes32 symbol_) auth {
        symbol = symbol_;
    }

    function () payable {
        require(msg.value > 0);
        uint wad = logic.handlePayment(msg.sender, msg.value);
        Transfer(this, msg.sender, wad);
    }

/*special functions for ICO*/
    function transferEth(address dst, uint wad) {
        require(msg.sender == address(logic));
        require(wad < this.balance);
        dst.transfer(wad);
    }

/*this function is called from logic to trigger the correct event upon receiving ETH*/
    function triggerTansferEvent(address src,  address dst, uint wad) {
        require(msg.sender == address(logic));
        Transfer(src, dst, wad);
    }

    function payout(address dst) auth {
        require(dst != address(0));
        dst.transfer(this.balance);
    }

}

contract TokenData is Auth {
    uint256 public supply;
    mapping (address => uint256) public balances;
    mapping (address => mapping (address => uint256)) public approvals;
    address token;

    modifier tokenOnly {
        assert(msg.sender == token);
        _;
    }

    function TokenData(address token_, uint supply_, address owner_) {
        token = token_;
        supply = supply_;
        owner = owner_;
        balances[owner] = supply;
    }

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

    function setToken(address token_) auth {
        token = token_;
    }

    function setSupply(uint supply_) tokenOnly {
        supply = supply_;
    }

    function setBalances(address guy, uint balance) tokenOnly {
        balances[guy] = balance;
    }

    function setApprovals(address src, address guy, uint wad) tokenOnly {
        approvals[src][guy] = wad;
    }

}/// base.sol -- basic ERC20 implementation

// Copyright (C) 2015, 2016, 2017  DappHub, LLC

// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.

// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND (express or implied).

contract TokenLogic is ERC20Events, Math, Stoppable {

    TokenData public data;
    Token public token;
    uint public tokensPerWei=300;
    uint public icoStart=1503756000; // = Aug 26 2017 2pm GMT
    uint public icoEnd;   //1504188000 = Aug 31 2017 2pm GMT
    uint public icoSale; //the number of tokens sold during the ICO
    uint public maxIco = 90000000000000000000000000; // the maximum number of tokens sold during ICO

    address[] contributors;

    function TokenLogic(Token token_, TokenData data_, uint icoStart_, uint icoHours_) {
        require(token_ != Token(0x0));

        if(data_ == address(0x0)) {
            data = new TokenData(this, 120000000000000000000000000, msg.sender);
        } else {
            data = data_;
        }
        token = token_;
        icoStart = icoStart_;
        icoEnd = icoStart + icoHours_ * 3600;
    }

    modifier tokenOnly {
        assert(msg.sender == address(token) || msg.sender == address(this));
        _;
    }

    function contributorCount() constant returns(uint) {
        return contributors.length;
    }

    function setOwner(address owner_) tokenOnly {
        owner = owner_;
        LogSetOwner(owner);
        data.setOwner(owner);
    }

    function setToken(Token token_) auth {
        token = token_;
    }

    function setIcoStart(uint icoStart_, uint icoHours_) auth {
        icoStart = icoStart_;
        icoEnd = icoStart + icoHours_ * 3600;
    }

    function setTokensPerWei(uint tokensPerWei_) auth {
        require(tokensPerWei_ > 0);
        tokensPerWei = tokensPerWei_;
    }

    function totalSupply() constant returns (uint256) {
        return data.supply();
    }

    function balanceOf(address src) constant returns (uint256) {
        return data.balances(src);
    }

    function allowance(address src, address guy) constant returns (uint256) {
        return data.approvals(src, guy);
    }
    
    function transfer(address src, address dst, uint wad) tokenOnly returns (bool) {
        require(balanceOf(src) >= wad);
        
        data.setBalances(src, sub(data.balances(src), wad));
        data.setBalances(dst, add(data.balances(dst), wad));
        
        return true;
    }
    
    function transferFrom(address src, address dst, uint wad) tokenOnly returns (bool) {
        require(data.balances(src) >= wad);
        require(data.approvals(src, dst) >= wad);
        
        data.setApprovals(src, dst, sub(data.approvals(src, dst), wad));
        data.setBalances(src, sub(data.balances(src), wad));
        data.setBalances(dst, add(data.balances(dst), wad));
        
        return true;
    }
    
    function approve(address src, address guy, uint256 wad) tokenOnly returns (bool) {

        data.setApprovals(src, guy, wad);
        
        Approval(src, guy, wad);
        
        return true;
    }

    function mint(uint128 wad) tokenOnly {
        data.setBalances(data.owner(), add(data.balances(data.owner()), wad));
        data.setSupply(add(data.supply(), wad));
    }

    function burn(address src, uint128 wad) tokenOnly {
        data.setBalances(src, sub(data.balances(src), wad));
        data.setSupply(sub(data.supply(), wad));
    }

    function returnIcoInvestments(uint contributorIndex) auth {
        /*this can only be done after the ICO close date and if less than 20mio tokens were sold*/
        require(now > icoEnd && icoSale < 20000000000000000000000000);

        address src = contributors[contributorIndex];
        require(src != address(0));

        uint srcBalance = balanceOf(src);

        /*transfer the sent ETH amount minus a 5 finney (0.005 ETH ~ 1USD) tax to pay for Gas*/
        token.transferEth(src, sub(div(srcBalance, tokensPerWei), 5 finney));

        /*give back the tokens*/
        data.setBalances(src, sub(data.balances(src), srcBalance));
        data.setBalances(owner, add(data.balances(owner), srcBalance));
        token.triggerTansferEvent(src, owner, srcBalance);

        /*reset the address after the transfer to avoid errors*/
        contributors[contributorIndex] = address(0);
    }

    function handlePayment(address src, uint eth) tokenOnly returns (uint){
        require(eth > 0);
        /*the time stamp has to be between the start and end times of the ICO*/
        require(now >= icoStart && now <= icoEnd);
        /*no more than 90 mio tokens shall be sold in the ICO*/
        require(icoSale < maxIco);

        uint tokenAmount = mul(tokensPerWei, eth);
//first 10 hours
        if(now < icoStart + (10 * 3600)) {
            tokenAmount = tokenAmount * 125 / 100;
        }
//10 to 34 hours
        else if(now < icoStart + (34 * 3600)) {
            tokenAmount = tokenAmount * 115 / 100;
        }
//34 to 58 hours
        else if(now < icoStart + (58 * 3600)) {
            tokenAmount = tokenAmount * 105 / 100;
        }

        icoSale += tokenAmount;
        if(icoSale > maxIco) {
            uint excess = sub(icoSale, maxIco);
            tokenAmount = sub(tokenAmount, excess);
            token.transferEth(src, div(excess, tokensPerWei));
            icoSale = maxIco;
        }

        require(balanceOf(owner) >= tokenAmount);

        data.setBalances(owner, sub(data.balances(owner), tokenAmount));
        data.setBalances(src, add(data.balances(src), tokenAmount));
        contributors.push(src);

        token.triggerTansferEvent(owner, src, tokenAmount);

        return tokenAmount;
    }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"stop","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"guy","type":"address"},{"name":"wad","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"dst","type":"address"}],"name":"payout","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"owner_","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"src","type":"address"},{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"dst","type":"address"},{"name":"wad","type":"uint128"}],"name":"push","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"symbol_","type":"bytes32"}],"name":"setSymbol","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"wad","type":"uint128"}],"name":"mint","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"value","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"logic_","type":"address"}],"name":"setLogic","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"stopped","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"authority_","type":"address"}],"name":"setAuthority","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"src","type":"address"},{"name":"wad","type":"uint128"}],"name":"pull","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"wad","type":"uint128"}],"name":"burn","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"bytes32"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"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":false,"inputs":[{"name":"name_","type":"string"}],"name":"setName","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"logic","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"_allowance","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"transferEth","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"src","type":"address"},{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"triggerTansferEvent","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"name_","type":"string"},{"name":"symbol_","type":"bytes32"}],"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"},{"anonymous":false,"inputs":[{"indexed":false,"name":"caller","type":"address"},{"indexed":false,"name":"sig","type":"bytes4"}],"name":"UnauthorizedAccess","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6060604052601260045534156200001557600080fd5b604051620018ff380380620018ff833981016040528080518201919060200180519150505b5b60018054600160a060020a03191633600160a060020a03169081179091557fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a25b60038280516200009b929160200190620000aa565b5060028190555b505062000154565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000ed57805160ff19168380011785556200011d565b828001600101855582156200011d579182015b828111156200011d57825182559160200191906001019062000100565b5b506200012c92915062000130565b5090565b6200015191905b808211156200012c576000815560010162000137565b5090565b90565b61179b80620001646000396000f300606060405236156101435763ffffffff60e060020a60003504166306fdde03811461020857806307da68f514610293578063095ea7b3146102a85780630b7e9c44146102de57806313af4035146102ff57806318160ddd1461032057806323b872dd14610345578063313ce567146103815780633452f51d146103a657806349e65440146103e557806369d3e20e146103fd57806370a082311461041e578063718570001461044f57806375f12b21146104825780637a9e5e4b146104a95780638402181f146104ca5780638da5cb5b1461050957806390bc16931461053857806395d89b4114610559578063a9059cbb1461057e578063be9a6555146105b4578063bf7e214f146105c9578063c47f0027146105f8578063d7dfa0dd1461064b578063dd62ed3e1461067a578063e9bb84c2146106b1578063f36d29e7146106d5575b5b60003481901161015357600080fd5b600554600160a060020a03166368ce90ac333460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156101b257600080fd5b6102c65a03f115156101c357600080fd5b50505060405180519050905033600160a060020a031630600160a060020a03166000805160206117508339815191528360405190815260200160405180910390a35b50005b341561021357600080fd5b61021b6106ff565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102585780820151818401525b60200161023f565b50505050905090810190601f1680156102855780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561029e57600080fd5b6102a661079d565b005b34156102b357600080fd5b6102ca600160a060020a036004351660243561083f565b604051901515815260200160405180910390f35b34156102e957600080fd5b6102a6600160a060020a0360043516610942565b005b341561030a57600080fd5b6102a6600160a060020a03600435166109ba565b005b341561032b57600080fd5b610333610b27565b60405190815260200160405180910390f35b341561035057600080fd5b6102ca600160a060020a0360043581169060243516604435610b91565b604051901515815260200160405180910390f35b341561038c57600080fd5b610333610cd1565b60405190815260200160405180910390f35b34156103b157600080fd5b6102ca600160a060020a03600435166001608060020a0360243516610cd7565b604051901515815260200160405180910390f35b34156103f057600080fd5b6102a6600435610cf5565b005b341561040857600080fd5b6102a66001608060020a0360043516610d20565b005b341561042957600080fd5b610333600160a060020a0360043516610e5a565b60405190815260200160405180910390f35b341561045a57600080fd5b6102ca600160a060020a0360043516610ed7565b604051901515815260200160405180910390f35b341561048d57600080fd5b6102ca610f86565b604051901515815260200160405180910390f35b34156104b457600080fd5b6102a6600160a060020a0360043516610f96565b005b34156104d557600080fd5b6102ca600160a060020a03600435166001608060020a0360243516611017565b604051901515815260200160405180910390f35b341561051457600080fd5b61051c611036565b604051600160a060020a03909116815260200160405180910390f35b341561054357600080fd5b6102a66001608060020a0360043516611045565b005b341561056457600080fd5b61033361114f565b60405190815260200160405180910390f35b341561058957600080fd5b6102ca600160a060020a0360043516602435611155565b604051901515815260200160405180910390f35b34156105bf57600080fd5b6102a6611294565b005b34156105d457600080fd5b61051c611330565b604051600160a060020a03909116815260200160405180910390f35b341561060357600080fd5b6102a660046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061133f95505050505050565b005b341561065657600080fd5b61051c611379565b604051600160a060020a03909116815260200160405180910390f35b341561068557600080fd5b610333600160a060020a0360043581169060243516611388565b60405190815260200160405180910390f35b34156106bc57600080fd5b6102a6600160a060020a036004351660243561140e565b005b34156106e057600080fd5b6102a6600160a060020a0360043581169060243516604435611475565b005b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107955780601f1061076a57610100808354040283529160200191610795565b820191906000526020600020905b81548152906001019060200180831161077857829003601f168201915b505050505081565b6107b333600035600160e060020a0319166114cb565b15156107be57600080fd5b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46001805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b50505b565b60015460009060a060020a900460ff161561085957600080fd5b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a4600554600160a060020a031663e1f21c6733878760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561091b57600080fd5b6102c65a03f1151561092c57600080fd5b50505060405180519350505b5b50505b92915050565b61095833600035600160e060020a0319166114cb565b151561096357600080fd5b600160a060020a038116151561097857600080fd5b80600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f1935050505015156109b557600080fd5b5b5b50565b60006109d233600035600160e060020a0319166114cb565b15156109dd57600080fd5b6001546109f290600160a060020a0316610e5a565b600554600154919250600160a060020a039081169163beabacc89116848460006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610a6857600080fd5b6102c65a03f11515610a7957600080fd5b50505060405180515050600154600160a060020a0380841691166000805160206117508339815191528360405190815260200160405180910390a3600554600160a060020a03166313af40358360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b1515610b0457600080fd5b6102c65a03f11515610b1557600080fd5b5050506108398261162e565b5b5b5050565b600554600090600160a060020a03166318160ddd82604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610b7157600080fd5b6102c65a03f11515610b8257600080fd5b50505060405180519150505b90565b600154600090819060a060020a900460ff1615610bad57600080fd5b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a4600554600160a060020a03166323b872dd88888860006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610c6f57600080fd5b6102c65a03f11515610c8057600080fd5b50505060405180519050925085600160a060020a031687600160a060020a03166000805160206117508339815191528760405190815260200160405180910390a38293505b5b50505b509392505050565b60045481565b6000610cec83836001608060020a0316611155565b90505b92915050565b610d0b33600035600160e060020a0319166114cb565b1515610d1657600080fd5b60028190555b5b50565b610d3633600035600160e060020a0319166114cb565b1515610d4157600080fd5b60015460a060020a900460ff1615610d5857600080fd5b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a4600554600160a060020a03166369d3e20e8460405160e060020a63ffffffff84160281526001608060020a039091166004820152602401600060405180830381600087803b1515610dfe57600080fd5b6102c65a03f11515610e0f57600080fd5b50505033600160a060020a031630600160a060020a0316600080516020611750833981519152856040516001608060020a03909116815260200160405180910390a35b5b50505b5b50565b600554600090600160a060020a03166370a0823183836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610eb557600080fd5b6102c65a03f11515610ec657600080fd5b50505060405180519150505b919050565b6000610eef33600035600160e060020a0319166114cb565b1515610efa57600080fd5b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038616179055600192505b5b50505b919050565b60015460a060020a900460ff1681565b610fac33600035600160e060020a0319166114cb565b1515610fb757600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a25b5b50565b6000610cec8333846001608060020a0316610b91565b90505b92915050565b600154600160a060020a031681565b61105b33600035600160e060020a0319166114cb565b151561106657600080fd5b60015460a060020a900460ff161561107d57600080fd5b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a4600554600160a060020a0316637261e469338560405160e060020a63ffffffff8516028152600160a060020a0390921660048301526001608060020a03166024820152604401600060405180830381600087803b151561113257600080fd5b6102c65a03f1151561114357600080fd5b5050505b5b50505b5b50565b60025481565b600154600090819060a060020a900460ff161561117157600080fd5b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a4600554600160a060020a031663beabacc833888860006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561123357600080fd5b6102c65a03f1151561124457600080fd5b50505060405180519050925085600160a060020a031633600160a060020a03166000805160206117508339815191528760405190815260200160405180910390a38293505b5b50505b5092915050565b6112aa33600035600160e060020a0319166114cb565b15156112b557600080fd5b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46001805474ff0000000000000000000000000000000000000000191690555b5b50505b565b600054600160a060020a031681565b61135533600035600160e060020a0319166114cb565b151561136057600080fd5b60038180516108399291602001906116af565b505b5b50565b600554600160a060020a031681565b600554600090600160a060020a031663dd62ed3e8484846040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b15156113eb57600080fd5b6102c65a03f115156113fc57600080fd5b50505060405180519150505b92915050565b60055433600160a060020a0390811691161461142957600080fd5b600160a060020a03301631811061143f57600080fd5b600160a060020a03821681156108fc0282604051600060405180830381858888f19350505050151561083957600080fd5b5b5050565b60055433600160a060020a0390811691161461149057600080fd5b81600160a060020a031683600160a060020a03166000805160206117508339815191528360405190815260200160405180910390a35b505050565b600030600160a060020a031683600160a060020a031614156114ef5750600161093c565b600154600160a060020a0384811691161480156115155750600054600160a060020a0316155b156115225750600161093c565b600054600160a060020a0316151561158a577feb91385a0d70e44b915093d9ddfe6c8b41f2c56729431b1405f40aee5d874be78383604051600160a060020a039092168252600160e060020a03191660208201526040908101905180910390a150600061093c565b60008054600160a060020a03169063b7009613908590309086906040516020015260405160e060020a63ffffffff8616028152600160a060020a039384166004820152919092166024820152600160e060020a03199091166044820152606401602060405180830381600087803b151561160357600080fd5b6102c65a03f1151561161457600080fd5b50505060405180519050905061093c565b5b5b5b92915050565b61164433600035600160e060020a0319166114cb565b151561164f57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a25b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106116f057805160ff191683800117855561171d565b8280016001018555821561171d579182015b8281111561171d578251825591602001919060010190611702565b5b5061172a92915061172e565b5090565b610b8e91905b8082111561172a5760008155600101611734565b5090565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058202d06e9b24ac1b5012982abbebf364f7b9ef9bdbdacf7ebdd4958a13035b2abe200290000000000000000000000000000000000000000000000000000000000000040434458000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074e6574776f726b00000000000000000000000000000000000000000000000000

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

-----Decoded View---------------
Found 4 constructor arguments :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 4344580000000000000000000000000000000000000000000000000000000000
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [3] : 4e6574776f726b00000000000000000000000000000000000000000000000000


   Swarm Source:
bzzr://2d06e9b24ac1b5012982abbebf364f7b9ef9bdbdacf7ebdd4958a13035b2abe2

 

View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.