Sponsored:   Ubex.com - Additional 17% of tokens are available for purchase! Trading on exchanges already started.
 Latest 25 txns from a total Of 7654 transactions

TxHash Age From To Value [TxFee]
0x6177b193274c92fe74e8187ee0ac5c0355394457a8a56325850f679a2a5229271 day 4 hrs ago0xb9c3e548ef21792b1bd7624fcae4b352d82eea59  IN   CommodityAdNetworkToken0 Ether0.000447944
0xc209d2a5c396a253de79452da887cc3e214ff230161b120aef3f00c5e1e60b321 day 20 hrs ago0x7c4a26630a9b78db5bd28e5e233d34ddea28116c  IN   CommodityAdNetworkToken0 Ether0.000615923
0xad05db68aad4cc3ff4e47c8fdfabd27b17c473c547161321eda996090b1586232 days 9 hrs ago0xff31beaeb4df68506a5d24406fc2d32f86895b61  IN   CommodityAdNetworkToken0 Ether0.0009566281
0xabc4a9a31f9009a2a558fd93fb5447eabc4e2bb45015619605c79e5b6890ce2d2 days 9 hrs ago0x32c3f4dcaed9ae7721c2294e84cbd1a56763135f  IN   CommodityAdNetworkToken0 Ether0.00426342
0x761c88e9a0648382a9cc19f0352843645ab2bdca7f00b1b3c669bf5ab4d1cd512 days 15 hrs ago0xb8bac7158623bb38de638a8a4893a0f76d0f5aaf  IN   CommodityAdNetworkToken0 Ether0.000983832
0x8cef68f731588b02c848b069b5d7365f06280d2b0bcee8f4b64e71e51a097bcb2 days 15 hrs ago0x32c3f4dcaed9ae7721c2294e84cbd1a56763135f  IN   CommodityAdNetworkToken0 Ether0.00425958
0xfd300141aec225ee2cab898eccb658560df9559f570e3f5efc11351a02f2851d2 days 16 hrs ago0xa03ad9ee9e30ef6d650c25ebbeb102aed7c78cde  IN   CommodityAdNetworkToken0 Ether0.00055929
0x7105804c7e3c4c29e631c9e62b070c39a2e70004de03df0e0ca1fdc6232478273 days 21 hrs ago0xcc014c6182b83c33c6e8c3a5baa825b1a600c167  IN   CommodityAdNetworkToken0 Ether0.0009618315
0x81ea7becb0adf693e9307189763a69932ba06d436fc7fc744dd8c13b99ff75ac3 days 21 hrs agoMercatox  IN   CommodityAdNetworkToken0 Ether0.001488165
0x6f94ca0b05bf9a102b6e48d1f4ba7c2fde03b355dc89d1351240820c8b0d26293 days 22 hrs agocoinexchange.io  IN   CommodityAdNetworkToken0 Ether0.0006105398
0x9662122188c3abc9822b654866e2e51f26f8f6236d16c0b38a9b0947ed49ed225 days 2 hrs agoHitBTC_2  IN   CommodityAdNetworkToken0 Ether0.003194685
0xdb3dacccaaddac9a42a7aa561ffe51edb946705acda5c238d2a08d4e1c5627a75 days 2 hrs ago0xa12431d0b9db640034b0cdfceef9cce161e62be4  IN   CommodityAdNetworkToken0 Ether0.00096587925
0xa4b9289c9da3c09f717db24ed9007d86c9936485c3869ed560fac9580a1299345 days 17 hrs ago0x32c3f4dcaed9ae7721c2294e84cbd1a56763135f  IN   CommodityAdNetworkToken0 Ether0.00336342
0x6814910159301643671b7afebd90c416580a5b0b98f155469040b015bdbf29c09 days 11 hrs ago0x7c494b9b92a9ed9fa29fefd20f5bd772e3b45169  IN   CommodityAdNetworkToken0 Ether0.0004624977
0x292ee59c4cc4d86923722fd075c677dabf3bf01e34fc31ab2071e8a7473a81019 days 12 hrs ago0x41c1974f2ee0bd810daa08eb39d2a31ba8ab81ed  IN   CommodityAdNetworkToken0 Ether0.000279645
0x75db6ffa5fff34ab97c5621d8984bf03a3b2878ac222e59891239dd841a6b89510 days 7 hrs ago0x41c1974f2ee0bd810daa08eb39d2a31ba8ab81ed  IN   CommodityAdNetworkToken0 Ether0.00040993
0xcc4457346d8e5d7e3276f5643157af12f16abe6431637ca33b25867f2de862f710 days 8 hrs ago0xf3f46b5aea84fad6408b1e02b9072339f4eecadb  IN   CommodityAdNetworkToken0 Ether0.001504629
0xd8b4172285e52cd5c306fa8db0982de9fbaf4708457767df1a8ffb57a1b27a4f10 days 8 hrs ago0x7223466d7540f2a6fd35289e0e88d0c1a01665d4  IN   CommodityAdNetworkToken0 Ether0.001511811
0xb2cca737d40505d636b2b31e80e773f8d86fb278632cd0797489d65102bcb4f212 days 2 hrs ago0x838da852e9b4ba5b6df40ba58917ed4d2578b69a  IN   CommodityAdNetworkToken0 Ether0.000111986
0xb3d6d8ad5c2a170d5720b16efc02aa5877304b8cff36d5655ce87dec3592d4bb12 days 14 hrs ago0x86540ff2c71323e0c01052bfd2166bffabaab0ca  IN   CommodityAdNetworkToken0 Ether0.0000657936
0x369a1c99e559270787ddbfc06b4a99901863ec588be998732a6252500fb7d00312 days 18 hrs agoHitBTC_2  IN   CommodityAdNetworkToken0 Ether0.0004311461
0xebb005a82ab4bf9a9de53ca8cefcbbc1940f9ea3f7a1d04008570b63e5c6e4db12 days 18 hrs ago0x24100742087785b7240eac2cf65d58f0461e0d74  IN   CommodityAdNetworkToken0 Ether0.002295713
0x0b9cc3308cc4e76802d05bbd711732c073dae47392d2726c3aba44126bdb184c12 days 23 hrs ago0x8dd7ae37bed525bc2554fdf8f68bc8dd415fd616  IN   CommodityAdNetworkToken0 Ether0.000222652
0x464a36757dc744a7c6fc19778c9a369e4ee0f721c7f525fa8b542bfcda7bca1413 days 7 hrs ago0x45f858643df6ff1ecfcec0354b3d30aaf94c137d  IN   CommodityAdNetworkToken0 Ether0.00279965
0xccf15328c42fb1bb1e8b2ded148de90900aff30255d38cceb4336da3a6e4232e15 days 10 hrs ago0x5fb1a0f5b544a0ca8a41406e9a4ab15e55a3c45c  IN   CommodityAdNetworkToken0 Ether0.002295713
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 8 Internal Transactions

ParentTxHash Block Age From To Value
0x1fb63061248f12073065e6aa6b74e829b9a749a29852f4f804f85bc28da411c34326139317 days 23 hrs ago0x6fff3806bbac52a20e0d79bc538d527f6a22c96b0xb40c57235dd1de1d4fed9d56e33b1b97d66479d2141.276637906 Ether
0x6b37bbd5c22378d81392f6dc0e34eb92fc95fe00feb758f84f49bb4e22f1a6c44302257326 days 6 hrs ago0x6fff3806bbac52a20e0d79bc538d527f6a22c96b0x6de44b90b364fb015ce8e4a62736845cab2129fe7.83999999999995841 Ether
0x76e17c87a45bf829ba7aeba3c3e0584912ea53668faceb8a3b43e6da8ffdbad64302228326 days 6 hrs ago0x6fff3806bbac52a20e0d79bc538d527f6a22c96b0x6de44b90b364fb015ce8e4a62736845cab2129fe7.82999999999995841 Ether
0x083fb5bd7cdd96c039c9401ebdedff15130486f686f61d7bcdc3461d8adc2b704302216326 days 7 hrs ago0x6fff3806bbac52a20e0d79bc538d527f6a22c96b0x6de44b90b364fb015ce8e4a62736845cab2129fe7.83999999999995841 Ether
0x84cbc5abc71c8a0553d17f703af36d7f189e2c0269efecbc67d2534ff5470c254302116326 days 7 hrs ago0x6fff3806bbac52a20e0d79bc538d527f6a22c96b0x5107efc5372705eea107bb378c6dc532c7fe744d1.02999999999995841 Ether
0x8e4c6203d356df2122b9bfa4c07ca351a662ef49b6ef9d6b722ebb45f706c1554302097326 days 8 hrs ago0x6fff3806bbac52a20e0d79bc538d527f6a22c96b0x5107efc5372705eea107bb378c6dc532c7fe744d1.02599999999995841 Ether
0xe2ec23d772817fd859f83d7ba342d23f3499f8c9aee178fbea80d9788c2e75864280531332 days 9 hrs ago0x6fff3806bbac52a20e0d79bc538d527f6a22c96b0xb40c57235dd1de1d4fed9d56e33b1b97d66479d22,234.459742608859748454 Ether
0xbee4270359c24fce1198595f79aa7be71a58c43140d7c43a5b53fe1038e689004226408347 days 14 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.