Sponsored Link:    Adshares - Decentralized marketplace for advertising. Active ICO with a price floor and buyback option.
Contract Overview
ETH Balance: 24.766486178082217291 Ether
ETH USD Value: $5,521.69 (@ $222.95/ETH)
No Of Transactions: 1199 txns
  Latest 25 txns from a total Of 1199 transactions View All

TxHash Block Age From To Value [TxFee]
0x08c67efed919775b20e6b01232571d2bc9b1412715b9431b912ead4a1fd353c940131829 days 14 hrs ago0xe0c98896cc578e93df63adda89dfa7264156aeb9  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00104008
0x064ad3d15040a65491d5267f4610243e10437038be56f822b8764da8a774fb5040124539 days 18 hrs ago0x83915601a5d752278f3c87e9671ab2cd983b21b4  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00118867
0xa5c6641f875dd161adb44d10fe5530dc4d307303f63a75b56844df391d66b90640120539 days 20 hrs ago0xdc83e60f4a055cd80b5384c83f25188ac89d88e6  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00148584
0xe0f2d6246f937d44ff5ff74b02f2f764fc5134f1f92a4421ffeecc17276fd7a740114569 days 23 hrs ago0x52112c9f4c7bb09eae6f5a77f826ccf7d58b2f4b  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00143631
0xb49b9d0f9c21c13b594c6f2b6cbe205d31a6a81597ebd5c67892be474c7ac41640114499 days 23 hrs ago0x52112c9f4c7bb09eae6f5a77f826ccf7d58b2f4b  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00061688
0xef7b4b489066737488fa8dc41f3c578dedf6e24204780a7e2d784f1fe201dab0401115110 days 1 hr ago0x46f7699cc9a290d4888a6f7353e4bece12f01b01  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00135508
0x1914c0a3d591f3cbb798dbe54b3c98e59f7acc3be26f39dc67fe5593c7134a72401006110 days 7 hrs ago0x46fad21aaa4c79ee9cf4ffb83952ac3947351da8  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00024764
0x08a9a2b936da2f856834c5de54fa11fe6fe5338ae3b504dd48407f2c62f00490401002810 days 7 hrs ago0x1837f848dc079164d55d85c72d0a8e25481271d7  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00024764
0x3df0cef3735e8ece06563d6a30a1fa8c0e1add1ed80516637a310a61b95f7dbd400868110 days 14 hrs ago0xfefe078ace0cfde21043be8f08e30284bf665152  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00135508
0xd38f654459e12a593e4aee5484a2d51256342b26636e5e4ef1a01ff2b4784899400862610 days 14 hrs ago0xb71d05cf5cdf7a9b15b20b9aab5e91332c271c96  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00297168
0x8917a66517570ba9f407546a42af1ebedc5d8581ab175fbc957562fbf982b08f400841810 days 15 hrs ago0x6f8b25274a6efb4abb618e48047d94a022842318  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00099056
0x7d4eea480d8fe0da93d2e343deb956a18f729c7eb6291abbae7e8dc969d92e75400821210 days 16 hrs ago0xbf43e026906a904f98d3950d467d93ef51cf3afb  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00135508
0xf0fadc42a926507e5318eb0ee46a0350c86af37eaa15d94f81aba0bfd8bdc46b400779010 days 19 hrs ago0x83156c79d8e9adf4dbc940c6a56dc58f5e5f8cd5  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00099056
0xa908caeac02d9ca51b27f2a585fdeb7f5ed9dd80553d49011e4d4c4855fa1c48400649911 days 2 hrs ago0x50213ef01d9fa14dc48baf5e3fea8cfe6d089cd6  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00135508
0x4363db67cab1f50acb2fd7706cc169f0c1b772867055c5017210c911b01a65c1400610111 days 4 hrs ago0x6270e0691a8cca4863ef6bddb28d814598353e87  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00019811
0xc7ff5be37f7a32efce81b1c99e7beb293295471f67beae1583ecffae5a6a0157400560311 days 6 hrs ago0xe10276bfd5a71d43a83443c90aa9b3a9ed07f193  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00104008
0x9121ba227543fa21f88bf191153aad2c1ccd7691fa9fb9b1bb4baf0d110bd385400449911 days 12 hrs ago0x5589d4eb4834cdb738b32d96c8b37a879806127c  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00104008
0x8e878151452e9510b6f04c6ba1075ee8be57596528fdd0b7ec44c12187995ee4400449611 days 12 hrs ago0x5589d4eb4834cdb738b32d96c8b37a879806127c  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00044207
0xea89a18065584842cd36a197312468246afa6f0e4fb98ecdf222e978fb70c79a400446111 days 12 hrs ago0xc480334141e5abb335b8e931d8601b326d20da88  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00104008
0x87525a93cbd4dfdbaf10955cc24bd8be15fd94900c6f9730ede5de5d31523996400425111 days 13 hrs ago0x23ee1a1c83c2fff130448c9b22e5adc081a64eb9  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00019811
0xbebd4a92b25a02f608a02a1160ee2e4e74c0c1cb237181eda955a45eb7a1476e400425111 days 13 hrs ago0x19619d6c2e9409108727332b3fac037e73c83035  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00135508
0x95739848b3b133e3e2ad4de51d6cb91047b9308abce1e037b4e6d7325bffc9ca400412211 days 14 hrs ago0x4e06cf5913c1cc5ed9cab5ae065e6580dcb11e14  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00004952
0x26fa6859cf34d52bf04dc79a319bd2f9675283c0a5a524248cb2dcbd4a4b9756400388411 days 15 hrs ago0x1e9e4068eb2239e9103a203bc8471328d0bdaea7  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00105255
0x2a9933a64fd4403608a0707aa2d37db861ecd006d9d3cc6cd661322b75bbb08b400348411 days 17 hrs ago0x1b5855c3c0e089c240636a0e1828f778948c9c48  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00104008
0xd9966e965175d300ea1f4d70cff497da97db246978322a8b3003a0d3fbe11629400303511 days 20 hrs ago0x028399345b6aa86ccb958bb33a7ae942357ec90c  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00099056
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 25 Internal Txns, Click here to View More View All
ParentTxHash Block Age From To Value
0x89d2d362818418c2a90a51ae044eedce26d7102a30d16ab751640bb76afb4302405683039 mins ago0xdd98b423dc61a756e1070de151b14854255059540x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.002063577157195162 Ether
0xc1d8e5121eed2c290b538bc978f142dc312b3b4955e4eef8fdebb7fbb6b02495405678052 mins ago0xe8a51be86ad96447d45ddeddc55013f25157688c0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.002162577157195162 Ether
0x90b72847050eaf92bed22e924b9330864ce80967b51581b3f93c8551ee4a6a81405676658 mins ago0xdd98b423dc61a756e1070de151b14854255059540x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.017874777157195162 Ether
0x4b6e3ab2f09e9174b3d134f555c0192c233004be215e9ea120dcdcab737f97a840567521 hr ago0xdd98b423dc61a756e1070de151b14854255059540x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.026874777157195162 Ether
0x3b593cef583f308ee78bbffda2dba031633cf2eb88b995a339e7965c5ff9860540567421 hr 3 mins ago0xdd98b423dc61a756e1070de151b14854255059540x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.018864777157195162 Ether
0x4473adffccd7d3037b7a6ea078c3a53f886b7a3e613e746bd4e86009cf48a48440567321 hr 8 mins ago0xdd98b423dc61a756e1070de151b14854255059540x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.026064777157195162 Ether
0x16e1d6d5c622ac0ded0f5699bb2bc6565775ad80bd06ef2f5a840d9a07a1fd8940566651 hr 27 mins ago0x1e2fbe6be9eb39fc894d38be976111f332172d830x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.001984377157195162 Ether
0x6b528a07e3a8f2819bce798b9e2fa3e52625550f59ec1a8a64d6a6ff9cdd947940566601 hr 29 mins ago0xdd98b423dc61a756e1070de151b14854255059540x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.005364777157195162 Ether
0x071c546fc04dac4d5fbbc73a84fc544ef481b042677c6d53f937c63e1b22e00940566271 hr 39 mins ago0xdd98b423dc61a756e1070de151b14854255059540x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.011844777157195162 Ether
0x65b73d62f9e90fca1caf491054921cbb5cbcbbfeb904dc178fbacbff96f803e940565422 hrs 4 mins ago0xe642b6f79041c60d8447679b3a499f18d8b03b810x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.002162577157195162 Ether
0x20c142bd4367f8040727b2bd6cf85ff620ee9333aa10552f920978cee3a6992c40565302 hrs 9 mins ago0xdd98b423dc61a756e1070de151b14854255059540x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.002202177157195162 Ether
0x8c98efff829ed0350c5149280dbd1c5703432c9965f2ace5ce66c20601eb38c640562223 hrs 58 mins ago0xdd98b423dc61a756e1070de151b14854255059540x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.006264777157195162 Ether
0xbc42ac616af65a997c2518c6ee478adf71703a6b6b48ff4cb19d1f7158323d9f40560674 hrs 41 mins ago0xe8a51be86ad96447d45ddeddc55013f25157688c0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.002664777157195162 Ether
0x233da57a47e8c2ffd41aa8ace3f864c8448c70b51cc5e29e69d8185145058bd940558595 hrs 44 mins ago0xdd98b423dc61a756e1070de151b14854255059540x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.002182377157195162 Ether
0x71b8349e0539cf28bda2dc5c559389f176fbdcd9a554abee57f8a305fea2924d40558445 hrs 48 mins ago0xe8a51be86ad96447d45ddeddc55013f25157688c0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.002083377157195162 Ether
0xcab42008efd163ace310f9c45048d78822d984a387aab70259b933622a77855940558235 hrs 53 mins ago0x49fddeae0b521dab8d0c4b77e7161094f971320d0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.002083377157195162 Ether
0x77aab903ce8f8ccdc7f87e4920215e657560a72be31d4da0d8d1da26ca9a38ec40557986 hrs 2 mins ago0x49fddeae0b521dab8d0c4b77e7161094f971320d0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.013464777157195162 Ether
0xa7f3d24d2d489b2b531c6a3b5e16ca6172652129dd59d605d473b008239080b240557986 hrs 2 mins ago0xe8a51be86ad96447d45ddeddc55013f25157688c0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.002214777157195162 Ether
0xc580517a72c451a6ed5a9d2784895e4d215eb60e716c7485e80528a902c5364b40557916 hrs 7 mins ago0xe8a51be86ad96447d45ddeddc55013f25157688c0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.002214777157195162 Ether
0x774dc5cbcf5a001efa541acd2527e1a3fb0737e1e000f8aa1f04855c5667ed0940557916 hrs 7 mins ago0x49fddeae0b521dab8d0c4b77e7161094f971320d0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.008964777157195162 Ether
0x404ee7d331583d425455dcbe02ec9abbbd57f31271dee5caf9ea69d8e9801e8440557666 hrs 13 mins ago0x7da90089a73edd14c75b0c827cb54f4248d47ecc0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.001953777157195162 Ether
0x14d5585f0a59d25a68c2ab194cdb9530b7b016761b0f758ddcc8d2b4e5a7360d40556406 hrs 52 mins ago0x1e2fbe6be9eb39fc894d38be976111f332172d830x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.001964577157195162 Ether
0x3e98704b0350e582b0e9100c47c377e7f6d21712ea6055ae351a3695f05b6d5440556007 hrs 3 mins ago0x49fddeae0b521dab8d0c4b77e7161094f971320d0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.026964777157195162 Ether
0x7d6743103a35cc5c39cc322c34e2ac2339a6992286be4acf57bdcd38a3665dad40555777 hrs 10 mins ago0x4e646a576917a6a47d5b0896c3e207693870869d0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.002142777157195162 Ether
0x8732acd86ea3ebc8a308e905269a9d95480fba336174f18fe349c85bfc0e009540555477 hrs 18 mins ago0x7da90089a73edd14c75b0c827cb54f4248d47ecc0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.003564777157195162 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to SkipEmptyStringLiteral (low-severity), ConstantOptimizerSubtraction (low-severity), IdentityPrecompileReturnIgnored (low-severity) Solidity compiler bugs.

Contract Source Code Verified
Contract Name: ProfitContainer
Compiler Version: v0.4.6+commit.2dabbdf0
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
pragma solidity ^0.4.0;
/*
This vSlice token contract is based on the ERC20 token contract. Additional
functionality has been integrated:
* the contract Lockable, which is used as a parent of the Token contract
* the function mintTokens(), which makes use of the currentSwapRate() and safeToAdd() helpers
* the function disableTokenSwapLock()
*/

contract Lockable {
    uint public numOfCurrentEpoch;
    uint public creationTime;
    uint public constant UNLOCKED_TIME = 25 days;
    uint public constant LOCKED_TIME = 5 days;
    uint public constant EPOCH_LENGTH = 30 days;
    bool public lock;
    bool public tokenSwapLock;

    event Locked();
    event Unlocked();

    // This modifier should prevent tokens transfers while the tokenswap
    // is still ongoing
    modifier isTokenSwapOn {
        if (tokenSwapLock) throw;
        _;
    }

    // This modifier checks and, if needed, updates the value of current
    // token contract epoch, before executing a token transfer of any
    // kind
    modifier isNewEpoch {
        if (numOfCurrentEpoch * EPOCH_LENGTH + creationTime < now ) {
            numOfCurrentEpoch = (now - creationTime) / EPOCH_LENGTH + 1;
        }
        _;
    }

    // This modifier check whether the contract should be in a locked
    // or unlocked state, then acts and updates accordingly if
    // necessary
    modifier checkLock {
        if ((creationTime + numOfCurrentEpoch * UNLOCKED_TIME) +
        (numOfCurrentEpoch - 1) * LOCKED_TIME < now) {
            // avoids needless lock state change and event spamming
            if (lock) throw;

            lock = true;
            Locked();
            return;
        }
        else {
            // only set to false if in a locked state, to avoid
            // needless state change and event spam
            if (lock) {
                lock = false;
                Unlocked();
            }
        }
        _;
    }

    function Lockable() {
        creationTime = now;
        numOfCurrentEpoch = 1;
        tokenSwapLock = true;
    }
}


contract ERC20 {
    function totalSupply() constant returns (uint);
    function balanceOf(address who) constant returns (uint);
    function allowance(address owner, address spender) constant returns (uint);

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

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

contract Token is ERC20, Lockable {

  mapping( address => uint ) _balances;
  mapping( address => mapping( address => uint ) ) _approvals;
  uint _supply;
  address public walletAddress;

  event TokenMint(address newTokenHolder, uint amountOfTokens);
  event TokenSwapOver();

  modifier onlyFromWallet {
      if (msg.sender != walletAddress) throw;
      _;
  }

  function Token( uint initial_balance, address wallet) {
    _balances[msg.sender] = initial_balance;
    _supply = initial_balance;
    walletAddress = wallet;
  }

  function totalSupply() constant returns (uint supply) {
    return _supply;
  }

  function balanceOf( address who ) constant returns (uint value) {
    return _balances[who];
  }

  function allowance(address owner, address spender) constant returns (uint _allowance) {
    return _approvals[owner][spender];
  }

  // A helper to notify if overflow occurs
  function safeToAdd(uint a, uint b) internal returns (bool) {
    return (a + b >= a && a + b >= b);
  }

  function transfer( address to, uint value)
    isTokenSwapOn
    isNewEpoch
    checkLock
    returns (bool ok) {

    if( _balances[msg.sender] < value ) {
        throw;
    }
    if( !safeToAdd(_balances[to], value) ) {
        throw;
    }

    _balances[msg.sender] -= value;
    _balances[to] += value;
    Transfer( msg.sender, to, value );
    return true;
  }

  function transferFrom( address from, address to, uint value)
    isTokenSwapOn
    isNewEpoch
    checkLock
    returns (bool ok) {
    // if you don't have enough balance, throw
    if( _balances[from] < value ) {
        throw;
    }
    // if you don't have approval, throw
    if( _approvals[from][msg.sender] < value ) {
        throw;
    }
    if( !safeToAdd(_balances[to], value) ) {
        throw;
    }
    // transfer and return true
    _approvals[from][msg.sender] -= value;
    _balances[from] -= value;
    _balances[to] += value;
    Transfer( from, to, value );
    return true;
  }

  function approve(address spender, uint value)
    isTokenSwapOn
    isNewEpoch
    checkLock
    returns (bool ok) {
    _approvals[msg.sender][spender] = value;
    Approval( msg.sender, spender, value );
    return true;
  }

  // The function currentSwapRate() returns the current exchange rate
  // between vSlice tokens and Ether during the token swap period
  function currentSwapRate() constant returns(uint) {
      if (creationTime + 1 weeks > now) {
          return 130;
      }
      else if (creationTime + 2 weeks > now) {
          return 120;
      }
      else if (creationTime + 4 weeks > now) {
          return 100;
      }
      else {
          return 0;
      }
  }

  // The function mintTokens is only usable by the chosen wallet
  // contract to mint a number of tokens proportional to the
  // amount of ether sent to the wallet contract. The function
  // can only be called during the tokenswap period
  function mintTokens(address newTokenHolder, uint etherAmount)
    external
    onlyFromWallet {

        uint tokensAmount = currentSwapRate() * etherAmount;
        if(!safeToAdd(_balances[newTokenHolder],tokensAmount )) throw;
        if(!safeToAdd(_supply,tokensAmount)) throw;

        _balances[newTokenHolder] += tokensAmount;
        _supply += tokensAmount;

        TokenMint(newTokenHolder, tokensAmount);
  }

  // The function disableTokenSwapLock() is called by the wallet
  // contract once the token swap has reached its end conditions
  function disableTokenSwapLock()
    external
    onlyFromWallet {
        tokenSwapLock = false;
        TokenSwapOver();
  }
}


pragma solidity ^0.4.0;
/*
The ProfitContainer contract receives profits from the vDice games and allows a
a fair distribution between token holders.
*/

contract Ownable {
  address public owner;

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

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

  function transferOwnership(address _newOwner)
      external
      onlyOwner {
      if (_newOwner == address(0x0)) throw;
      owner = _newOwner;
  }

}

contract ProfitContainer is Ownable {
    uint public currentEpoch;
    //This is to mitigate supersend and the possibility of
    //different payouts for same token ownership during payout phase
    uint public initEpochBalance;
    mapping (address => uint) lastPaidOutEpoch;
    Token public tokenCtr;

    event WithdrawalEnabled();
    event ProfitWithdrawn(address tokenHolder, uint amountPaidOut);
    event TokenContractChanged(address newTokenContractAddr);

    // The modifier onlyNotPaidOut prevents token holders who have
    // already withdrawn their share of profits in the epoch, to cash
    // out additional shares.
    modifier onlyNotPaidOut {
        if (lastPaidOutEpoch[msg.sender] == currentEpoch) throw;
        _;
    }

    // The modifier onlyLocked prevents token holders from collecting
    // their profits when the token contract is in an unlocked state
    modifier onlyLocked {
        if (!tokenCtr.lock()) throw;
        _;
    }

    // The modifier resetPaidOut updates the currenct epoch, and
    // enables the smart contract to track when a token holder
    // has already received their fair share of profits or not
    // and sets the balance for the epoch using current balance
    modifier resetPaidOut {
        if(currentEpoch < tokenCtr.numOfCurrentEpoch()) {
            currentEpoch = tokenCtr.numOfCurrentEpoch();
            initEpochBalance = this.balance;
            WithdrawalEnabled();
        }
        _;
    }

    function ProfitContainer(address _token) {
        tokenCtr = Token(_token);
    }

    function ()
        payable {

    }

    // The function withdrawalProfit() enables token holders
    // to collect a fair share of profits from the ProfitContainer,
    // proportional to the amount of tokens they own. Token holders
    // will be able to collect their profits only once
    function withdrawalProfit()
        external
        resetPaidOut
        onlyLocked
        onlyNotPaidOut {
        uint currentEpoch = tokenCtr.numOfCurrentEpoch();
        uint tokenBalance = tokenCtr.balanceOf(msg.sender);
        uint totalSupply = tokenCtr.totalSupply();

        if (tokenBalance == 0) throw;

        lastPaidOutEpoch[msg.sender] = currentEpoch;

        // Overflow risk only exists if balance is greater than
        // 1e+33 ether, assuming max of 96M tokens minted.
        // Functions throws, as such a state should never be reached
        // Unless significantly more tokens are minted
        if (!safeToMultiply(tokenBalance, initEpochBalance)) throw;
        uint senderPortion = (tokenBalance * initEpochBalance);

        uint amountToPayOut = senderPortion / totalSupply;

        if(!msg.sender.send(amountToPayOut)) {
            throw;
        }

        ProfitWithdrawn(msg.sender, amountToPayOut);
    }

    function changeTokenContract(address _newToken)
        external
        onlyOwner {

        if (_newToken == address(0x0)) throw;

        tokenCtr = Token(_newToken);
        TokenContractChanged(_newToken);
    }

    // returns expected payout for tokenholder during lock phase
    function expectedPayout(address _tokenHolder)
        external
        constant returns (uint) {

        if (!tokenCtr.lock())
            return 0;

        return (tokenCtr.balanceOf(_tokenHolder) * initEpochBalance) / tokenCtr.totalSupply();
    }

    function safeToMultiply(uint _a, uint _b)
        private
        constant returns (bool) {

        return (_b == 0 || ((_a * _b) / _b) == _a);
    }
}

  Contract ABI  
[{"constant":false,"inputs":[],"name":"withdrawalProfit","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenHolder","type":"address"}],"name":"expectedPayout","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"initEpochBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newToken","type":"address"}],"name":"changeTokenContract","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"currentEpoch","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenCtr","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"_token","type":"address"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[],"name":"WithdrawalEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenHolder","type":"address"},{"indexed":false,"name":"amountPaidOut","type":"uint256"}],"name":"ProfitWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newTokenContractAddr","type":"address"}],"name":"TokenContractChanged","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6060604052346100005760405160208061085483398101604052515b5b60008054600160a060020a0319166c01000000000000000000000000338102041790555b60048054600160a060020a0319166c01000000000000000000000000838102041790555b505b6107e0806100746000396000f36060604052361561006c5760e060020a60003504632ebec916811461007557806336bc32a21461008457806350148ed2146100a6578063523aee69146100c557806376671808146100d75780638da5cb5b146100f6578063aef251a71461011f578063f2fde38b14610148575b6100735b5b565b005b346100005761007361015a565b005b346100005761009460043561052c565b60408051918252519081900360200190f35b3461000057610094610694565b60408051918252519081900360200190f35b346100005761007360043561069a565b005b3461000057610094610739565b60408051918252519081900360200190f35b346100005761010361073f565b60408051600160a060020a039092168252519081900360200190f35b346100005761010361074e565b60408051600160a060020a039092168252519081900360200190f35b346100005761007360043561075d565b005b60006000600060006000600460009054906101000a9004600160a060020a0316600160a060020a031663018e13d06000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f115610000575050604051516001541015905061026d57600460009054906101000a9004600160a060020a0316600160a060020a031663018e13d06000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750506040518051600155600160a060020a033016316002557f66f7d730c9ba098beec19ac6c1d94380c4f8b016455b36cb348ca4c646a075bc9150600090a15b600460009054906101000a9004600160a060020a0316600160a060020a031663f83d08ba6000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f11561000057505060405151151590506102dc57610000565b600154600160a060020a033316600090815260036020526040902054141561030357610000565b600460009054906101000a9004600160a060020a0316600160a060020a031663018e13d06000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f115610000575050604080518051600480546000602094850181905285517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a03338116948201949094529551939b50911694506370a08231936024808201949392918390030190829087803b156100005760325a03f115610000575050604080518051600480546000602094850181905285517f18160ddd0000000000000000000000000000000000000000000000000000000081529551939a50600160a060020a0390911695506318160ddd94808301949392908390030190829087803b156100005760325a03f1156100005750506040515193505083151561046557610000565b600160a060020a033316600090815260036020526040902085905560025461048e9085906107bf565b151561049957610000565b6002548402915082828115610000576040519190049150600160a060020a0333169082156108fc029083906000818181858888f1935050505015156104dd57610000565b60408051600160a060020a03331681526020810183905281517f016e128b6bdadd9e9068abd0b18db2fc8b27ed3dbced50e4aa6cc0a6934251ab929181900390910190a15b5b5b5b5050505050565b6000600460009054906101000a9004600160a060020a0316600160a060020a031663f83d08ba6000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f11561000057505060405151151590506105a05750600061068f565b600460009054906101000a9004600160a060020a0316600160a060020a03166318160ddd6000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750505060405180519060200150600254600460009054906101000a9004600160a060020a0316600160a060020a03166370a08231856000604051602001526040518260e060020a0281526004018082600160a060020a03168152602001915050602060405180830381600087803b156100005760325a03f115610000575050604051519190910290508115610000570490505b919050565b60025481565b60005433600160a060020a039081169116141561073457600160a060020a03811615156106c657610000565b6004805473ffffffffffffffffffffffffffffffffffffffff19166c010000000000000000000000008381020417905560408051600160a060020a038316815290517fe89f98a27789c8313baa22de83cdb921b7026d66af0ee02973c97d45f952b6be916020908290030190a15b5b5b50565b60015481565b600054600160a060020a031681565b600454600160a060020a031681565b60005433600160a060020a039081169116141561073457600160a060020a038116151561078957610000565b6000805473ffffffffffffffffffffffffffffffffffffffff19166c01000000000000000000000000838102041790555b5b5b50565b60008115806107d75750828283850281156100005704145b90505b9291505056

    Constructor Arguments (ABI-encoded and appended to the ByteCode above)
0000000000000000000000005c543e7ae0a1104f78406c340e9c64fd9fce5170

-----Decoded View---------------
Found 1 constructor arguments :
Arg [0] : 0000000000000000000000005c543e7ae0a1104f78406c340e9c64fd9fce5170

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.