Sponsored Link:  Download the Monaco app for Android and iOS on Aug 31 - www.mona.co
Contract Overview
ETH Balance: 15.514580543434475507 Ether
ETH USD Value: $4,389.54 (@ $282.93/ETH)
No Of Transactions: 1389 txns
  Latest 25 txns from a total Of 1389 transactions View All

TxHash Age From To Value [TxFee]
0x9957e5bfbfd7beb142d022a66fa580d72d45f7b447517e6962b0aae9b1d4e69314 days 2 hrs ago0xc480334141e5abb335b8e931d8601b326d20da88  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.001040088
0xa0a5478138c4fb9d52d1837f71d2dbe9e6934ad7896d0d1f575f2a4ad27e970d14 days 10 hrs ago0xca6ad8d41a1bda07edfb3001551ebb383e76d3c8  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.001040088
0x38a46a946ab35afe11efc11ae1fa7c2c1326c2801b5f9f319a3e5fc907b2819c14 days 11 hrs ago0xebc95bc7925d5b6995e12c77a50d3f12fa2c73f5  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.0032264
0x35a1b573f584b702355df39db8c2cf6b2b3c096b2976c8ccb9a03fb04cf2be7315 days 5 hrs ago0xdc83e60f4a055cd80b5384c83f25188ac89d88e6  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.000049528
0x26fac39f21f708f91f1379c19dd2cd4ac01571f8b5ffffedc5328690b007295315 days 5 hrs ago0xdc83e60f4a055cd80b5384c83f25188ac89d88e6  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00005
0x7266cee014b17e8ac533dcf92283bd034652a594754bfdc3951fcd3904d5400215 days 5 hrs ago0xdc83e60f4a055cd80b5384c83f25188ac89d88e6  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.000021272
0xbb0a2cc8eb168eb59639acd0f97f4f5383ec05656422ca5adcba35c304eeec8415 days 5 hrs ago0x1e7349e40a8970ad95fbbbc9fff6bfe969068a82  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.000049528
0x17e6791a6e5030a1c7384e17f90af2c727667d3dce6c22d3f8e3d4314c95bd3415 days 5 hrs ago0x9cfa10422a5da37c15aabeec39963c3a23481d4e  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00148584
0x6d0713937a6efeaf556f794534149eaeecb75346a6a48435e80ec79749f890a715 days 6 hrs ago0x7bbb6e620481c4ccf33acfb8e26ca2e13f04d50c  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.001040088
0x72293b87fe88e5546624781e32fa4f6e199209b38b613d2ca931af84e555c24115 days 6 hrs ago0x526acfb4f2c25cabe21fc78ed6407571f8f2caf2  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.01
0x84d1d93e7fa8c8e06920fa5545c985919f4c3d6348f097f7e8f2163d5d528e3015 days 6 hrs ago0x526acfb4f2c25cabe21fc78ed6407571f8f2caf2  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00105
0x8ff17322a1704970044cbd836cd97252df0bed3b0e57d7f551b4dcf601ebe03c15 days 8 hrs ago0x3aed2e24a953904fed7e1498df70495980f3d6f3  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.0042
0xc65378d8e58a4c78d160155c586936b1abd15d8855d6df5945c3822c4d7dfb4b15 days 8 hrs ago0x3aed2e24a953904fed7e1498df70495980f3d6f3  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.001040088
0xefceaceb10efe5106cf3f19c4461ca784a1169a16f369f9230babf36e9543f6415 days 8 hrs ago0x34331f7296250646b6ed86c5e1fbec55ce35f425  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.001040088
0x5cc7a37318bac173364408ef14ad26b25962c22bf76000ff7137b360e9de68c515 days 8 hrs ago0x47743cec7af4bef67be022267ff11eadac1da43b  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.001040088
0x732898e37c372695a2b172e10184c64292d4d892f00d458be7ae72c8231dfbef15 days 9 hrs ago0x1b5855c3c0e089c240636a0e1828f778948c9c48  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.000049528
0x38f56874ae88fce1ebf3fc873dc96f7aa8484815191ec5dcc86f8d55f13b827915 days 11 hrs ago0x1ede65828aa959eaca3148ce743d9e6ac753214f  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.001355088
0x56e10b1af67e224ca9deb565d465e27ffee16fb4837b1ba832d70f3ed682657315 days 15 hrs ago0x46fad21aaa4c79ee9cf4ffb83952ac3947351da8  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.000266829078
0x315a7754c21911284f81c4dfe05e2a4c1fa6534e7260ed221c90506b4231034615 days 15 hrs ago0x1837f848dc079164d55d85c72d0a8e25481271d7  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.000266829078
0x8648b5360a84cffc87377e4170066f0c61c315001f3574305ceb23a06308ef4f16 days 1 hr ago0xc0e88c12f107c160e17f53e57bd2aa66ce2b7f2d  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.00148584
0xbc1ffcb27f4e0db5b3e57561be9f8f5b39059462d843f1186ee6f916cb27f07b16 days 7 hrs ago0x9f1f6da2442f3822a7c70205cbd27ab70aa52fcb  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.001040088
0x079bcac26dceb402d5812a550b6a2e2489da4f0d4b26fae7b3b35b6c18f0168b16 days 9 hrs ago0x00317cd2da2044840b1ebe775c676530a7c65ba3  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.001040088
0x9af0b618d3c8860389b599ddf9e5bcb92ef8d91129e0959f977eca84d1f6967216 days 10 hrs ago0x57347d3fcb71deee70a3e25f801e1c6bb6eca135  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.001040088
0x05d7b9f1822599067a2bae4f8ef43f736fa190cdf1c3d594724b6225ddc07a8916 days 10 hrs ago0x311949a1230dbc30eaaac3dc315ec8c4236429ba  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.001040088
0x61795df336979e36f271685bda9ff7bdb5e636c7098917a9fe0e8944e01d800916 days 10 hrs ago0x9b465a0229cd3e061e2098e01de6b47e731ad803  IN   0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50 Ether0.001040088
[ 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
0xd6b0f60691c1ad58b7f588b109d3fe749eeeb194f525a6b0cf8d4f4c25999fc4430824643 mins ago0x4e646a576917a6a47d5b0896c3e207693870869d0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00194658878606116 Ether
0xb4768d05038f409c0595a9f6c6ac8c26bb2e8328b470a84f565422008fe170b643081541 hr 24 mins ago0x49fddeae0b521dab8d0c4b77e7161094f971320d0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00222378878606116 Ether
0xf345e11fb776984881e9c211b2f28ce7756fa1c04ab87295d0f18cdb27e2d7a543080831 hr 55 mins ago0xdd98b423dc61a756e1070de151b14854255059540x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00196638878606116 Ether
0x24dffe1a8afc0e999c1f4aa1bf70e61bdcec6cdbd58b29f94e894c19c108f2e543080562 hrs 10 mins ago0xe8a51be86ad96447d45ddeddc55013f25157688c0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00195558878606116 Ether
0xaecfe8e8c9f0ab2de83b75e5d3a65e8b09b05fb5e46a2b1206a1968f2445422b43080552 hrs 11 mins ago0x4e646a576917a6a47d5b0896c3e207693870869d0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00195558878606116 Ether
0x2d09114762cc3e92bdd108ddf7a1741d5969f804c053c9515b5f41edad7eed0843080182 hrs 30 mins ago0x4e646a576917a6a47d5b0896c3e207693870869d0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00206538878606116 Ether
0xfc90fba10dc5e8ba431efec9673baab0741c1fd0019bb7eb424131a2f5e8c8d243079892 hrs 45 mins ago0xdd98b423dc61a756e1070de151b14854255059540x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00194658878606116 Ether
0x7a150b5b6ff130b8ca5018bb93e4892455dace40ea55c2dd2de31a8c955a26d543079652 hrs 57 mins ago0x1e2fbe6be9eb39fc894d38be976111f332172d830x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00206538878606116 Ether
0xec207aed8bfc9e013480bdb3e105e75f0a6571c6c9e552b4d99b1a3152fcbf2043079313 hrs 13 mins ago0xe8a51be86ad96447d45ddeddc55013f25157688c0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00204558878606116 Ether
0xd639c4e89be59215460994990981368f1045f62a3cc46ae8ae5ebeeb6443d4e943078483 hrs 52 mins ago0x1e2fbe6be9eb39fc894d38be976111f332172d830x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00204558878606116 Ether
0x54068cdd9cabbe84cf5195bedad0e18b74d1a5ff68616766edb23a4280ae44fb43078054 hrs 15 mins ago0x4e646a576917a6a47d5b0896c3e207693870869d0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00208518878606116 Ether
0x796ee7cbf884055d79ca94e9144508a0b4700e49dc6b1a39af57592c64e1410e43077994 hrs 18 mins ago0x4e646a576917a6a47d5b0896c3e207693870869d0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00196638878606116 Ether
0xc019f2f850bb9815bdb14e6be8c078f05bcf9c21dfc161bc9f44d5c7b97686b843077824 hrs 29 mins ago0xdd98b423dc61a756e1070de151b14854255059540x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00216438878606116 Ether
0x1562df27ceab0fb0472044ff334acbce4f555e52aab58b3153193ee611099b1043077474 hrs 48 mins ago0xe8a51be86ad96447d45ddeddc55013f25157688c0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00202578878606116 Ether
0x2847ec5940734869888f12131a6a31fe7c40e96b87feec1bc747561e2245839f43076395 hrs 42 mins ago0x7da90089a73edd14c75b0c827cb54f4248d47ecc0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00220398878606116 Ether
0x2471eebe406774b78c70fa6556ec9f9842f776097c1a3be4da7a6c715f1f5e4e43076165 hrs 51 mins ago0x1e2fbe6be9eb39fc894d38be976111f332172d830x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00200598878606116 Ether
0xf1167d032146414d7448fdcaf842f270cc950ef11b1d914076f9e7454c1e930a43076085 hrs 55 mins ago0x1e2fbe6be9eb39fc894d38be976111f332172d830x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00206538878606116 Ether
0x8107f000a8c365f5724a1e39e299e1f957631d2998fdd42cc98c6e14e029516643075366 hrs 34 mins ago0x1e2fbe6be9eb39fc894d38be976111f332172d830x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00218418878606116 Ether
0x2c4d39bd06659495c47cd0e1fdf1cd2ac3db09768a2df689cc93e83b200f381643075026 hrs 50 mins ago0x49fddeae0b521dab8d0c4b77e7161094f971320d0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00210498878606116 Ether
0xf2b0bc98b32fc0eb8012dd9778fdf73c97c6e3a5db51f40f0b12461b0f00f30943074107 hrs 34 mins ago0xe8a51be86ad96447d45ddeddc55013f25157688c0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00218418878606116 Ether
0x66e2679379d248cdf27a0c99c805d690ab37d5417c6bf87a1ec3d64eb0bccd1a43073917 hrs 44 mins ago0x1e2fbe6be9eb39fc894d38be976111f332172d830x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00206538878606116 Ether
0xa0c77258a46eddde2804abccec9c764dd070504bf4bf09e5b00d60bb30dff72343073318 hrs 15 mins ago0xdd98b423dc61a756e1070de151b14854255059540x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00212478878606116 Ether
0xa3568e82623acf4fff45c3e12b295104fd2c312b4ecd5434998234f9b523ebd543072918 hrs 37 mins ago0xe642b6f79041c60d8447679b3a499f18d8b03b810x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00196638878606116 Ether
0x212cbd0bb8b485bc8881573c7b484f78e3c1f3854211c6d840a7a16adce8fea943072448 hrs 55 mins ago0x4e646a576917a6a47d5b0896c3e207693870869d0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00196638878606116 Ether
0x1e67489d91fa25da0e2a0686f23d5632c08f792ae92fae25e1583fd2eea860d143072239 hrs 8 mins ago0x4e646a576917a6a47d5b0896c3e207693870869d0x51ffc1b089392a5bb65bf24eaf04d07d0e6f88b50.00200598878606116 Ether
[ Download CSV Export  ] 
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.