Sponsored Link:  Up to 2% Cryptocurrency Cashback - Reserve your card - Monaco App - www.mona.co
Contract Overview
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 63 txns
  Latest 25 txns from a total Of 63 transactions View All

TxHash Age From To Value [TxFee]
0x2bd9926ed6ea9c01a3c055b13cc0b3bceac51aa1038c8caf812804f586aeb1e73 days 15 hrs ago0x4d77d7222a188d8b7522a2cef05d6780439ec354  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.486928057 Ether0.002606142
0x340ae97de0754c0ab14982ec6d9572464e023265e1ac53e05b9a7bb80ace96d34 days 16 hrs ago0x2aeb0e6162b5aefce178c4121ff88868fd2bd5b1  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.1247869523927 Ether0.007570222
0x4390222ed78da8b736ba6f33f687d8020df91d2058dde3f9eb332dec00cafa5b5 days 58 mins ago0x00e7291f19bb6ec7b989847aff92eac4ee9805a1  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.126987548 Ether0.005460488
0x227ade0f81c218519d0cca14bacdc389573a574674411ae0e80291028189b42b6 days 12 hrs ago0xe1fb6903ed8c3382e52b9f50a01d111095b73b65  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.1 Ether0.002606142
0x43a8bc745da073cc1d7cab2368c79ec7c0952ab0f78bf4279d6754412148621014 days 7 hrs ago0xdd8ea4e7dea8d79bbc8880139059302bd4600864  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.259 Ether0.002719706
0x69abec3361bb1f31a85a04a73f85003ed6167cb5f4e340154656286dd4584c4e20 days 12 hrs ago0x243bec9256c9a3469da22103891465b47583d9f1  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.1 Ether0.00160776
0xd7422c355fea57debd3f64021adfdd48f8eebf776e0fdc8fc5c657874715059823 days 24 mins ago0xb794b6c611bfc09abd206184417082d3ca570fb7  IN   0x4341852389bd149920cae3540dd88031ade8d0e60 Ether0.00057141
0xb333bcc986206b69c9eb5ec025b5e37026383be98d24a7eb0312816218cebee123 days 28 mins ago0x87127cb2a73ea9ba842b208455fa076cab03e844  IN   0x4341852389bd149920cae3540dd88031ade8d0e60 Ether0.000466263
0x127f289fd3520d9dd5b4641cf500dae918dc08625068a6edfc40c29536e5349323 days 4 hrs ago0x58f6c054d8c52a3b79c604b1ca4f1bc7e2eb2644  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.225 Ether0.002579136
0x15df8fc2622b00886cbe1a3d6515180e54d0950a6caa1a0ffbf4b2fb7b2190c125 days 54 mins ago0x9c94c11f8cc6548423fb54f877e12eaf943cae98  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.113 Ether0.001273524
0x55bed338a55e31fe2f32816d7973b6ff6d850bb4b8934331aff8291929962dd126 days 4 hrs ago0x64e1497ac67829a64c04513338d4ac13ced81856  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.11 Ether0.002562189
0xa38bd4efbde4b2a02fdaf6c040a74f296d8af35c7161371dff2d8e44bf79db9d26 days 13 hrs ago0x3b87b9f8170ff11a0ce1c506e31fddc60c20347a  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.1 Ether0.002562189
0xbd59476a681d08aa3c6ff6e9dd93b273925a0063d6f2b23508bd3483a890b7a826 days 15 hrs ago0xa49fdb01b57e943999aade25262cca6fc7f1b94f  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.25 Ether0.0025865908
0x884c89b96256b916121367bf9479f349e22b3d5746175ab319be1d76ccc4bdfc26 days 17 hrs ago0xa200023aa041351cc65e0560d0d79c2e67a06430  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.135 Ether0.002562189
0x8ad7245c49c6ea0b87b2c5e685dea7ee5538febb9775c0ef102f7d2299d896e026 days 23 hrs ago0xe8f6f3158291116e1f07b7ecf544e6971d8669ed  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.1 Ether0.001273524
0x634578e692d5ef2b3f4a0cc7abb2503ae2c0238b168b972893c17b018ed062ca26 days 23 hrs ago0xe8f6f3158291116e1f07b7ecf544e6971d8669ed  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.1 Ether0.002562189
0x255b8f39885d95a211f5a87d942378d5865c15bc155bc6a2826bd98c77c639be28 days 19 hrs ago0x7ed1e469fcb3ee19c0366d829e291451be638e59  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.1 Ether0.00366027
0x16ab2eb0ad07f5760ead7bea6c0b7c2d64ba7704c0128b19bc63905eb9cb960a29 days 2 hrs ago0x9c94c11f8cc6548423fb54f877e12eaf943cae98  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.107868798 Ether0.001273524
0x0a2282ba487ecb501d0de6d9e3f56f93d110f5996fad18ed43b944e05f0b33df29 days 6 hrs ago0x5f1d36fcefda3cb7848330d07054d15104407b6d  IN   0x4341852389bd149920cae3540dd88031ade8d0e611.43 Ether0.002545242
0x1c384150075ab8e603455fe9309e8263c75f1afba099264b873a80bb50d0de1a29 days 8 hrs ago0xabc05355ec8787a72e9fd29f9750f9fb64b37a04  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.202 Ether0.00121202
0xb3a1c01c3581a83091f95f94d94dd46ca7bf33032355bc95bc8640a7af432c1529 days 22 hrs ago0x14462b5ce639c3d381e6fd6f03af358a8cd0741b  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.3 Ether0.002545242
0x487ae3a86f1f18acfe6e3d777f549e548df0a74ff6e1fd93f8c16ee93509c59c29 days 22 hrs ago0x1470c0052b1387f68959eec5fb4c107f31a4c346  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.002263758 Ether0.000441
0x249c6fed9f3a5763e9028c96b16f2903c775fcfa97a274c4ace87f179fbe9ba929 days 22 hrs ago0x1470c0052b1387f68959eec5fb4c107f31a4c346  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.03941609 Ether0.002545242
0x79dbcd5f190bbeb861e41c43f94a880d08e0a8eaf4c1c980bd25a98221403d4f29 days 23 hrs ago0xff54308621eeddf887aa2d1470b480e2c0a195f5  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.21 Ether0.001256577
0x1ebe39667c8faed1e10f9c4a58335ae9df0502615b8a2f32636befb9b74bd56f30 days 2 hrs ago0xf7b41ff1154037261b8e5c7954cb124986a7cef4  IN   0x4341852389bd149920cae3540dd88031ade8d0e60.34 Ether0.002545242
[ 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
0x2bd9926ed6ea9c01a3c055b13cc0b3bceac51aa1038c8caf812804f586aeb1e747291193 days 15 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.486928057 Ether
0x340ae97de0754c0ab14982ec6d9572464e023265e1ac53e05b9a7bb80ace96d347231064 days 16 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.124786952392700285 Ether
0x4390222ed78da8b736ba6f33f687d8020df91d2058dde3f9eb332dec00cafa5b47212075 days 58 mins ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.126987548 Ether
0x227ade0f81c218519d0cca14bacdc389573a574674411ae0e80291028189b42b47127836 days 12 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.1 Ether
0x43a8bc745da073cc1d7cab2368c79ec7c0952ab0f78bf4279d67544121486210466813814 days 7 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.259 Ether
0x69abec3361bb1f31a85a04a73f85003ed6167cb5f4e340154656286dd4584c4e463035120 days 12 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.1 Ether
0x127f289fd3520d9dd5b4641cf500dae918dc08625068a6edfc40c29536e53493461381623 days 4 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.225 Ether
0x15df8fc2622b00886cbe1a3d6515180e54d0950a6caa1a0ffbf4b2fb7b2190c1460225525 days 54 mins ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.113 Ether
0x55bed338a55e31fe2f32816d7973b6ff6d850bb4b8934331aff8291929962dd1459505226 days 4 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.11 Ether
0xa38bd4efbde4b2a02fdaf6c040a74f296d8af35c7161371dff2d8e44bf79db9d459280926 days 13 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.1 Ether
0xbd59476a681d08aa3c6ff6e9dd93b273925a0063d6f2b23508bd3483a890b7a8459232426 days 15 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.25 Ether
0x884c89b96256b916121367bf9479f349e22b3d5746175ab319be1d76ccc4bdfc459168026 days 17 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.135 Ether
0x8ad7245c49c6ea0b87b2c5e685dea7ee5538febb9775c0ef102f7d2299d896e0459026426 days 23 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.1 Ether
0x634578e692d5ef2b3f4a0cc7abb2503ae2c0238b168b972893c17b018ed062ca459025726 days 23 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.1 Ether
0x255b8f39885d95a211f5a87d942378d5865c15bc155bc6a2826bd98c77c639be457884928 days 19 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.1 Ether
0x16ab2eb0ad07f5760ead7bea6c0b7c2d64ba7704c0128b19bc63905eb9cb960a457689629 days 2 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.107868798 Ether
0x0a2282ba487ecb501d0de6d9e3f56f93d110f5996fad18ed43b944e05f0b33df457607929 days 6 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e84411.43 Ether
0x1c384150075ab8e603455fe9309e8263c75f1afba099264b873a80bb50d0de1a457543929 days 8 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.202 Ether
0xb3a1c01c3581a83091f95f94d94dd46ca7bf33032355bc95bc8640a7af432c15457193429 days 22 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.3 Ether
0x249c6fed9f3a5763e9028c96b16f2903c775fcfa97a274c4ace87f179fbe9ba9457189929 days 22 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.03941609 Ether
0x79dbcd5f190bbeb861e41c43f94a880d08e0a8eaf4c1c980bd25a98221403d4f457148929 days 23 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.21 Ether
0x1ebe39667c8faed1e10f9c4a58335ae9df0502615b8a2f32636befb9b74bd56f457081930 days 2 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.34 Ether
0x154e36548747d9852a9b3168ff5b4db8807c87c7f87613816ff56a8c019140f0456965830 days 6 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.5 Ether
0xfa46abf270fe29e875d30cb9cc258c310d03e6d8414412383bdb9ecd081a1f8a456787130 days 13 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.0577 Ether
0xece2de2e91d788b6cc39e4b6f5919c4f461247cbfaef0924644952a3ab6327d1456761530 days 14 hrs ago0x4341852389bd149920cae3540dd88031ade8d0e60x87127cb2a73ea9ba842b208455fa076cab03e8440.57 Ether
[ Download CSV Export  ] 
Contract Source Code Verified
Contract Name: MilkCoinTokenCrowdsale
Compiler Version: v0.4.18+commit.9cf6e910
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
pragma solidity ^0.4.18;

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  uint256 public totalSupply;
  function balanceOf(address who) public constant returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public constant returns (uint256);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function approve(address spender, uint256 value) public returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) balances;

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[msg.sender]);

    // SafeMath.sub will throw if there is not enough balance.
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
    return true;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of.
  * @return An uint256 representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) public constant returns (uint256 balance) {
    return balances[_owner];
  }

}

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is ERC20, BasicToken {

  mapping (address => mapping (address => uint256)) internal allowed;


  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint256 the amount of tokens to be transferred
   */
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
    Transfer(_from, _to, _value);
    return true;
  }

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   *
   * Beware that changing an allowance with this method brings the risk that someone may use both the old
   * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
   * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
    return true;
  }

  /**
   * @dev Function to check the amount of tokens that an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint256 specifying the amount of tokens still available for the spender.
   */
  function allowance(address _owner, address _spender) public constant returns (uint256 remaining) {
    return allowed[_owner][_spender];
  }

  /**
   * approve should be called when allowed[_spender] == 0. To increment
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   */
  function increaseApproval (address _spender, uint _addedValue) public returns (bool success) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  function decreaseApproval (address _spender, uint _subtractedValue) public returns (bool success) {
    uint oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue > oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  function () public payable {
    revert();
  }

}

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() public {
    owner = msg.sender;
  }


  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }


  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) onlyOwner public {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

/**
 * @title Mintable token
 * @dev Simple ERC20 Token example, with mintable token creation
 * @dev Issue: * https://github.com/OpenZeppelin/zeppelin-solidity/issues/120
 * Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol
 */

contract MintableToken is StandardToken, Ownable {
  event Mint(address indexed to, uint256 amount);
  event MintFinished();

  bool public mintingFinished = false;


  modifier canMint() {
    require(!mintingFinished);
    _;
  }

  /**
   * @dev Function to mint tokens
   * @param _to The address that will receive the minted tokens.
   * @param _amount The amount of tokens to mint.
   * @return A boolean that indicates if the operation was successful.
   */
  function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) {
    totalSupply = totalSupply.add(_amount);
    balances[_to] = balances[_to].add(_amount);
    Mint(_to, _amount);
    Transfer(address(0), _to, _amount);
    return true;
  }

  /**
   * @dev Function to stop minting new tokens.
   * @return True if the operation was successful.
   */
  function finishMinting() onlyOwner public returns (bool) {
    mintingFinished = true;
    MintFinished();
    return true;
  }
}

contract MilkCoinToken is MintableToken {	
 
  event Burn(address indexed burner, uint256 value);

  uint public constant PERCENT_RATE = 100;

  uint public constant BUY_BACK_BONUS = 20;
   
  string public constant name = "Milkcoin";
   
  string public constant symbol = "MLCN";
    
  uint8 public constant decimals = 2;

  uint public invested;

  uint public tokensAfterCrowdsale;

  uint public startBuyBackDate;

  uint public endBuyBackDate;

  uint public toBuyBack;

  bool public dividendsCalculated;

  uint public dividendsIndex;

  uint public dividendsPayedIndex;
      
  bool public dividendsPayed;

  uint public ethToDividendsNeeds;

  uint public buyBackInvestedValue;

  address[] public addresses;

  mapping(address => bool) public savedAddresses;

  mapping(address => uint) public dividends;

  mapping(address => bool) public lockAddresses;

  function addAddress(address addr) internal {
    if(!savedAddresses[addr]) {
       savedAddresses[addr] = true;
       addresses.push(addr); 
    }
  }

  function countOfAddresses() public constant returns(uint) {
    return addresses.length;
  }

  function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) {
    bool result = super.mint(_to, _amount);
    if(result) {
      addAddress(_to);
    }
    return result;
  }

  function transfer(address _to, uint256 _value) public returns (bool) {
    return postProcessTransfer(super.transfer(_to, _value), msg.sender, _to, _value);
  }

  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
    return postProcessTransfer(super.transferFrom(_from, _to, _value), _from, _to, _value);
  }

  function postProcessTransfer(bool result, address _from, address _to, uint256 _value) internal returns (bool) {
    if(result) {
      if(_to == address(this)) {
        buyBack(_from, _value);
      } else { 
        addAddress(_to);
      }
    }
    return result;
  }

  function buyBack(address from, uint amount) internal {
    if(now > endBuyBackDate) {
      startBuyBackDate = endBuyBackDate;
      endBuyBackDate = startBuyBackDate + 1 years;      
      toBuyBack = tokensAfterCrowdsale.div(10);
    }
    require(now > startBuyBackDate && now < endBuyBackDate && amount <= toBuyBack); 
    balances[this] = balances[this].sub(amount);
    totalSupply = totalSupply.sub(amount);
    Burn(this, amount);
    toBuyBack = toBuyBack.sub(amount);
    uint valueInWei = amount.mul(buyBackInvestedValue).mul(PERCENT_RATE.add(BUY_BACK_BONUS)).div(PERCENT_RATE).div(totalSupply);
    buyBackInvestedValue = buyBackInvestedValue.sub(amount.mul(buyBackInvestedValue).div(totalSupply));
    from.transfer(valueInWei);
  }

  function retrieveTokens(address anotherToken) public onlyOwner {
    require(anotherToken != address(this));
    ERC20 alienToken = ERC20(anotherToken);
    alienToken.transfer(owner, alienToken.balanceOf(this));
  }

  function finishMinting(uint newInvested) onlyOwner public returns (bool) {
    invested = newInvested;
    buyBackInvestedValue = newInvested;
    tokensAfterCrowdsale = totalSupply;    
    startBuyBackDate = 1609459200;
    endBuyBackDate = startBuyBackDate + 365 * 1 days;      
    toBuyBack = tokensAfterCrowdsale.div(10);
    return super.finishMinting();
  }

  function lockAddress(address toLock) public onlyOwner {
    lockAddresses[toLock] = true;
  }

  function unlockAddress(address toLock) public onlyOwner {
    lockAddresses[toLock] = false;
  }

  // should use when payDividends is under re-entrance freeze
  function payDividendsManually() public {
    require(dividends[msg.sender] > 0);
    uint dividendsValue = dividends[msg.sender];
    dividends[msg.sender] = 0;
    ethToDividendsNeeds = ethToDividendsNeeds.sub(dividendsValue);
    msg.sender.transfer(dividendsValue);
  }

  // should use when payDividends is under re-entrance freeze
  function resetDividendsCalculation() public onlyOwner {
    dividendsCalculated = false;
    dividendsPayed = false;
  }

  // re-entrance attack can freeze all dividends calculation
  function payDividends(uint count) public onlyOwner {
    require(!dividendsPayed && dividendsCalculated);
    for(uint i = 0; dividendsPayedIndex < addresses.length && i < count; i++) {
      address tokenHolder = addresses[dividendsPayedIndex];
      if(!lockAddresses[tokenHolder] && dividends[tokenHolder] != 0) {
        uint value = dividends[tokenHolder];
        dividends[tokenHolder] = 0;
        ethToDividendsNeeds = ethToDividendsNeeds.sub(value);
        tokenHolder.transfer(value);
      }
      dividendsPayedIndex++;
    }
    if(dividendsPayedIndex == addresses.length) {  
      dividendsPayedIndex = 0;
      dividendsPayed = true;
      dividendsCalculated = false;
    }
  }
  

  // re-entrance attack can freeze all dividends calculation
  function calculateDividends(uint percent, uint count) public onlyOwner {
    require(!dividendsCalculated);
    for(uint i = 0; dividendsIndex < addresses.length && i < count; i++) {
      address tokenHolder = addresses[dividendsIndex];
      if(balances[tokenHolder] != 0) {
        uint valueInWei = balances[tokenHolder].mul(invested).mul(percent).div(PERCENT_RATE).div(totalSupply);
        ethToDividendsNeeds = ethToDividendsNeeds.add(valueInWei);
        dividends[tokenHolder] = dividends[tokenHolder].add(valueInWei);
      }
      dividendsIndex++;
    }
    if(dividendsIndex == addresses.length) {  
      dividendsIndex = 0;
      dividendsCalculated = true;
      dividendsPayed = false;
    }
  }

  function withdraw() public onlyOwner {
    owner.transfer(this.balance);
  }

  function deposit() public payable {
  }

  function () public payable {
    deposit();
  }

}

contract CommonCrowdsale is Ownable {

  using SafeMath for uint256;
 
  uint public constant DIVIDER = 10000000000000000;

  uint public constant PERCENT_RATE = 100;

  uint public price = 1500;

  uint public minInvestedLimit = 100000000000000000;

  uint public hardcap = 250000000000000000000000;

  uint public start = 1510758000;

  uint public invested;

  address public wallet;

  struct Milestone {
    uint periodInDays;
    uint bonus;
  }

  Milestone[] public milestones;

  MilkCoinToken public token = new MilkCoinToken();

  function setHardcap(uint newHardcap) public onlyOwner { 
    hardcap = newHardcap;
  }
 
  function setStart(uint newStart) public onlyOwner { 
    start = newStart;
  }

  function setWallet(address newWallet) public onlyOwner { 
    wallet = newWallet;
  }

  function setPrice(uint newPrice) public onlyOwner {
    price = newPrice;
  }

  function setMinInvestedLimit(uint newMinInvestedLimit) public onlyOwner {
    minInvestedLimit = newMinInvestedLimit;
  }
 
  function milestonesCount() public constant returns(uint) {
    return milestones.length;
  }

  function addMilestone(uint limit, uint bonus) public onlyOwner {
    milestones.push(Milestone(limit, bonus));
  }

  function end() public constant returns(uint) {
    uint last = start;
    for (uint i = 0; i < milestones.length; i++) {
      Milestone storage milestone = milestones[i];
      last += milestone.periodInDays * 1 days;
    }
    return last;
  }

  function getMilestoneBonus() public constant returns(uint) {
    uint prevTimeLimit = start;
    for (uint i = 0; i < milestones.length; i++) {
      Milestone storage milestone = milestones[i];
      prevTimeLimit += milestone.periodInDays * 1 days;
      if (now < prevTimeLimit)
        return milestone.bonus;
    }
    revert();
  }

  function createTokensManually(address to, uint amount) public onlyOwner {
    require(now >= start && now < end());
    token.mint(to, amount);
  }

  function createTokens() public payable {
    require(now >= start && now < end() && invested < hardcap);
    wallet.transfer(msg.value);
    invested = invested.add(msg.value);
    uint tokens = price.mul(msg.value).div(DIVIDER);
    uint bonusPercent = getMilestoneBonus();    
    if(bonusPercent > 0) {
      tokens = tokens.add(tokens.mul(bonusPercent).div(PERCENT_RATE));
    }
    token.mint(msg.sender, tokens);
  }

  function finishMinting() public onlyOwner {
    token.finishMinting(invested);
    token.transferOwnership(owner);
  }

  function() external payable {
    createTokens();
  }

  function retrieveTokens(address anotherToken) public onlyOwner {
    ERC20 alienToken = ERC20(anotherToken);
    alienToken.transfer(wallet, alienToken.balanceOf(this));
  }

}

contract MilkCoinTokenCrowdsale is CommonCrowdsale {

  function MilkCoinTokenCrowdsale() public {
    setHardcap(250000000000000000000000);
    setStart(1510758000);
    setPrice(1500);
    setWallet(0x87127Cb2a73eA9ba842b208455fa076cab03E844);
    addMilestone(3, 100);
    addMilestone(5, 67);
    addMilestone(5, 43);
    addMilestone(5, 25);
    addMilestone(12, 0);
    transferOwnership(0xb794B6c611bFC09ABD206184417082d3CA570FB7);
  }

}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"PERCENT_RATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMilestoneBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"limit","type":"uint256"},{"name":"bonus","type":"uint256"}],"name":"addMilestone","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"DIVIDER","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"amount","type":"uint256"}],"name":"createTokensManually","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newPrice","type":"uint256"}],"name":"setPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"price","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newMinInvestedLimit","type":"uint256"}],"name":"setMinInvestedLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"milestonesCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"anotherToken","type":"address"}],"name":"retrieveTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"hardcap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"createTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"start","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"invested","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minInvestedLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newWallet","type":"address"}],"name":"setWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newHardcap","type":"uint256"}],"name":"setHardcap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"milestones","outputs":[{"name":"periodInDays","type":"uint256"},{"name":"bonus","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"end","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newStart","type":"uint256"}],"name":"setStart","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60606040526105dc60015567016345785d8a00006002556934f086f3b33b68400000600355635a0c56706004556200003662000378565b604051809103906000f08015156200004d57600080fd5b60088054600160a060020a031916600160a060020a039290921691909117905534156200007957600080fd5b60008054600160a060020a03191633600160a060020a0316179055620000b76934f086f3b33b68400000640100000000620001db8102620009251704565b620000d4635a0c567064010000000062000a60620001fc82021704565b620000ef6105dc6401000000006200078c6200021d82021704565b6200011c7387127cb2a73ea9ba842b208455fa076cab03e844640100000000620008db6200023e82021704565b6200013860036064640100000000620005726200027c82021704565b6200015460056043640100000000620005726200027c82021704565b620001706005602b640100000000620005726200027c82021704565b6200018c60056019640100000000620005726200027c82021704565b620001a8600c6000640100000000620005726200027c82021704565b620001d573b794b6c611bfc09abd206184417082d3ca570fb7640100000000620009c5620002e882021704565b620003e7565b60005433600160a060020a03908116911614620001f757600080fd5b600355565b60005433600160a060020a039081169116146200021857600080fd5b600455565b60005433600160a060020a039081169116146200023957600080fd5b600155565b60005433600160a060020a039081169116146200025a57600080fd5b60068054600160a060020a031916600160a060020a0392909216919091179055565b60005433600160a060020a039081169116146200029857600080fd5b6007805460018101620002ac838262000389565b91600052602060002090600202016000604080519081016040528581526020810185905291905081518155602082015181600101555050505050565b60005433600160a060020a039081169116146200030457600080fd5b600160a060020a03811615156200031a57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b6040516119398062000f4b83390190565b815481835581811511620003b857600202816002028360005260206000209182019101620003b89190620003bd565b505050565b620003e491905b80821115620003e05760008082556001820155600201620003c4565b5090565b90565b610b5480620003f76000396000f30060606040526004361061012f5763ffffffff60e060020a6000350416632e6f3e4a81146101395780633a50ccb71461015e578063521eb273146101715780635601477b146101a057806362043bd8146101b95780636fd3a2bc146101cc5780637d64bcb4146101ee5780638da5cb5b1461020157806391b7f5ed14610214578063a035b1fe1461022a578063a34d92701461023d578063ab36e4a614610253578063ac4ddd9f14610266578063b071cbe614610285578063b44272631461012f578063be9a655514610298578063cafb2202146102ab578063d64196f8146102be578063deaa59df146102d1578063e28fa27d146102f0578063e89e4ed614610306578063efbe1c1c14610334578063f2fde38b14610347578063f6a03ebf14610366578063fc0c546a1461037c575b61013761038f565b005b341561014457600080fd5b61014c6104f5565b60405190815260200160405180910390f35b341561016957600080fd5b61014c6104fa565b341561017c57600080fd5b610184610563565b604051600160a060020a03909116815260200160405180910390f35b34156101ab57600080fd5b610137600435602435610572565b34156101c457600080fd5b61014c6105db565b34156101d757600080fd5b610137600160a060020a03600435166024356105e6565b34156101f957600080fd5b610137610683565b341561020c57600080fd5b61018461077d565b341561021f57600080fd5b61013760043561078c565b341561023557600080fd5b61014c6107ac565b341561024857600080fd5b6101376004356107b2565b341561025e57600080fd5b61014c6107d2565b341561027157600080fd5b610137600160a060020a03600435166107d9565b341561029057600080fd5b61014c6108c3565b34156102a357600080fd5b61014c6108c9565b34156102b657600080fd5b61014c6108cf565b34156102c957600080fd5b61014c6108d5565b34156102dc57600080fd5b610137600160a060020a03600435166108db565b34156102fb57600080fd5b610137600435610925565b341561031157600080fd5b61031c600435610945565b60405191825260208201526040908101905180910390f35b341561033f57600080fd5b61014c610971565b341561035257600080fd5b610137600160a060020a03600435166109c5565b341561037157600080fd5b610137600435610a60565b341561038757600080fd5b610184610a80565b60008060045442101580156103aa57506103a7610971565b42105b80156103b95750600354600554105b15156103c457600080fd5b600654600160a060020a03163480156108fc0290604051600060405180830381858888f1935050505015156103f857600080fd5b60055461040b903463ffffffff610a8f16565b60055560015461043a90662386f26fc100009061042e903463ffffffff610aa516565b9063ffffffff610ac916565b91506104446104fa565b9050600081111561047757610474610467606461042e858563ffffffff610aa516565b839063ffffffff610a8f16565b91505b600854600160a060020a03166340c10f19338460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156104d657600080fd5b6102c65a03f115156104e757600080fd5b505050604051805150505050565b606481565b60045460009081805b60075482101561055857600780548390811061051b57fe5b9060005260206000209060020201905080600001546201518002830192508242101561054d578060010154935061055d565b600190910190610503565b600080fd5b50505090565b600654600160a060020a031681565b60005433600160a060020a0390811691161461058d57600080fd5b600780546001810161059f8382610ae0565b91600052602060002090600202016000604080519081016040528581526020810185905291905081518155602082015181600101555050505050565b662386f26fc1000081565b60005433600160a060020a0390811691161461060157600080fd5b60045442101580156106195750610616610971565b42105b151561062457600080fd5b600854600160a060020a03166340c10f19838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156104d657600080fd5b60005433600160a060020a0390811691161461069e57600080fd5b600854600554600160a060020a03909116906314e2bc2a9060006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156106f557600080fd5b6102c65a03f1151561070657600080fd5b50505060405180515050600854600054600160a060020a039182169163f2fde38b911660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561076757600080fd5b6102c65a03f1151561077857600080fd5b505050565b600054600160a060020a031681565b60005433600160a060020a039081169116146107a757600080fd5b600155565b60015481565b60005433600160a060020a039081169116146107cd57600080fd5b600255565b6007545b90565b6000805433600160a060020a039081169116146107f557600080fd5b506006548190600160a060020a038083169163a9059cbb9116826370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561085c57600080fd5b6102c65a03f1151561086d57600080fd5b5050506040518051905060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156104d657600080fd5b60035481565b60045481565b60055481565b60025481565b60005433600160a060020a039081169116146108f657600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a0390811691161461094057600080fd5b600355565b600780548290811061095357fe5b60009182526020909120600290910201805460019091015490915082565b60045460009081805b6007548210156109bd57600780548390811061099257fe5b906000526020600020906002020190508060000154620151800283019250818060010192505061097a565b509092915050565b60005433600160a060020a039081169116146109e057600080fd5b600160a060020a03811615156109f557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a03908116911614610a7b57600080fd5b600455565b600854600160a060020a031681565b600082820183811015610a9e57fe5b9392505050565b6000828202831580610ac15750828482811515610abe57fe5b04145b1515610a9e57fe5b6000808284811515610ad757fe5b04949350505050565b81548183558181151161077857600083815260209020610778916107d69160029182028101918502015b80821115610b245760008082556001820155600201610b0a565b50905600a165627a7a7230582032e70bdf110557a03984b5ec8b2d6e84bed1001e41ef5c62a924b40eec0e67b50029606060405260038054600160a860020a03191633600160a060020a031617905561190b8061002e6000396000f3006060604052600436106102005763ffffffff60e060020a60003504166305d2035b811461020a57806306fdde0314610231578063095ea7b3146102bb578063128e87e0146102dd57806314e2bc2a1461030257806317a7f9b21461031857806318160ddd1461032b57806323b872dd1461033e578063261bd0f1146103665780632e6f3e4a14610379578063313ce5671461038c57806334a90d02146103b55780633ccfd60b146103d457806340c10f19146103e75780634e7e96f114610409578063661884631461041c57806368306e431461043e5780636adcef6b1461045d5780636b7fad1b1461047357806370a0823114610486578063787ed54f146104a55780637a6506f6146104b85780637d64bcb4146104cb57806383f2a8ca146104de5780638da5cb5b146104f157806395d89b4114610520578063a30fbae114610533578063a810362114610546578063a9059cbb14610559578063ac4ddd9f1461057b578063b19725671461059a578063b5919b48146105b9578063b7eb5e0a146105cc578063bc8caa47146105eb578063c5eab684146105fe578063ca7e321f14610617578063cafb22021461062a578063d0e30db014610200578063d73dd6231461063d578063dd62ed3e1461065f578063edf26d9b14610684578063ef5a3a881461069a578063f0cb8e77146106ad578063f2fde38b146106cc575b6102086106eb565b005b341561021557600080fd5b61021d6106ed565b604051901515815260200160405180910390f35b341561023c57600080fd5b6102446106fd565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610280578082015183820152602001610268565b50505050905090810190601f1680156102ad5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102c657600080fd5b61021d600160a060020a0360043516602435610734565b34156102e857600080fd5b6102f06107a0565b60405190815260200160405180910390f35b341561030d57600080fd5b61021d6004356107a6565b341561032357600080fd5b6102f0610808565b341561033657600080fd5b6102f061080f565b341561034957600080fd5b61021d600160a060020a0360043581169060243516604435610815565b341561037157600080fd5b6102f0610835565b341561038457600080fd5b6102f061083a565b341561039757600080fd5b61039f61083f565b60405160ff909116815260200160405180910390f35b34156103c057600080fd5b610208600160a060020a0360043516610844565b34156103df57600080fd5b610208610883565b34156103f257600080fd5b61021d600160a060020a03600435166024356108d7565b341561041457600080fd5b6102f0610930565b341561042757600080fd5b61021d600160a060020a0360043516602435610936565b341561044957600080fd5b6102f0600160a060020a0360043516610a30565b341561046857600080fd5b610208600435610a42565b341561047e57600080fd5b6102f0610bb1565b341561049157600080fd5b6102f0600160a060020a0360043516610bb7565b34156104b057600080fd5b610208610bd2565b34156104c357600080fd5b6102f0610c5f565b34156104d657600080fd5b61021d610c65565b34156104e957600080fd5b61021d610cd9565b34156104fc57600080fd5b610504610ce2565b604051600160a060020a03909116815260200160405180910390f35b341561052b57600080fd5b610244610cf1565b341561053e57600080fd5b6102f0610d28565b341561055157600080fd5b61021d610d2e565b341561056457600080fd5b61021d600160a060020a0360043516602435610d37565b341561058657600080fd5b610208600160a060020a0360043516610d4e565b34156105a557600080fd5b61021d600160a060020a0360043516610e7a565b34156105c457600080fd5b6102f0610e8f565b34156105d757600080fd5b610208600160a060020a0360043516610e95565b34156105f657600080fd5b610208610ed1565b341561060957600080fd5b610208600435602435610f04565b341561062257600080fd5b6102f0611089565b341561063557600080fd5b6102f061108f565b341561064857600080fd5b61021d600160a060020a0360043516602435611095565b341561066a57600080fd5b6102f0600160a060020a0360043581169060243516611139565b341561068f57600080fd5b610504600435611164565b34156106a557600080fd5b6102f061118c565b34156106b857600080fd5b61021d600160a060020a0360043516611192565b34156106d757600080fd5b610208600160a060020a03600435166111a7565b565b60035460a060020a900460ff1681565b60408051908101604052600881527f4d696c6b636f696e000000000000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60055481565b60035460009033600160a060020a039081169116146107c457600080fd5b6004829055600e8290556000546005819055635fee66006006556361cf99806007556107f790600a63ffffffff61124216565b600855610802610c65565b92915050565b600f545b90565b60005481565b600061082d610825858585611259565b8585856113db565b949350505050565b601481565b606481565b600281565b60035433600160a060020a0390811691161461085f57600080fd5b600160a060020a03166000908152601260205260409020805460ff19166001179055565b60035433600160a060020a0390811691161461089e57600080fd5b600354600160a060020a039081169030163180156108fc0290604051600060405180830381858888f1935050505015156106eb57600080fd5b600354600090819033600160a060020a039081169116146108f757600080fd5b60035460a060020a900460ff161561090e57600080fd5b610918848461141e565b90508015610929576109298461152b565b9392505050565b600e5481565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120548083111561099357600160a060020a0333811660009081526002602090815260408083209388168352929052908120556109ca565b6109a3818463ffffffff6115bc16565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b60116020526000908152604090205481565b6003546000908190819033600160a060020a03908116911614610a6457600080fd5b600c5460ff16158015610a79575060095460ff165b1515610a8457600080fd5b600092505b600f54600b54108015610a9b57508383105b15610b8057600f600b54815481101515610ab157fe5b6000918252602080832090910154600160a060020a0316808352601290915260409091205490925060ff16158015610b005750600160a060020a03821660009081526011602052604090205415155b15610b6a5750600160a060020a03811660009081526011602052604081208054919055600d54610b36908263ffffffff6115bc16565b600d55600160a060020a03821681156108fc0282604051600060405180830381858888f193505050501515610b6a57600080fd5b600b805460019081019091559290920191610a89565b600f54600b541415610bab576000600b55600c805460ff199081166001179091556009805490911690555b50505050565b600d5481565b600160a060020a031660009081526001602052604090205490565b600160a060020a033316600090815260116020526040812054819011610bf757600080fd5b50600160a060020a03331660009081526011602052604081208054919055600d54610c28908263ffffffff6115bc16565b600d55600160a060020a03331681156108fc0282604051600060405180830381858888f193505050501515610c5c57600080fd5b50565b600b5481565b60035460009033600160a060020a03908116911614610c8357600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b60095460ff1681565b600354600160a060020a031681565b60408051908101604052600481527f4d4c434e00000000000000000000000000000000000000000000000000000000602082015281565b60075481565b600c5460ff1681565b6000610929610d4684846115ce565b3385856113db565b60035460009033600160a060020a03908116911614610d6c57600080fd5b30600160a060020a031682600160a060020a031614151515610d8d57600080fd5b506003548190600160a060020a038083169163a9059cbb9116826370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610df457600080fd5b6102c65a03f11515610e0557600080fd5b5050506040518051905060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610e5b57600080fd5b6102c65a03f11515610e6c57600080fd5b505050604051805150505050565b60126020526000908152604090205460ff1681565b60085481565b60035433600160a060020a03908116911614610eb057600080fd5b600160a060020a03166000908152601260205260409020805460ff19169055565b60035433600160a060020a03908116911614610eec57600080fd5b6009805460ff19908116909155600c80549091169055565b6003546000908190819033600160a060020a03908116911614610f2657600080fd5b60095460ff1615610f3657600080fd5b600092505b600f54600a54108015610f4d57508383105b1561105757600f600a54815481101515610f6357fe5b6000918252602080832090910154600160a060020a03168083526001909152604090912054909250156110415760008054600454600160a060020a03851683526001602052604090922054610fe592610fd99160649183918b91610fcd919063ffffffff6116c916565b9063ffffffff6116c916565b9063ffffffff61124216565b600d54909150610ffb908263ffffffff6116ed16565b600d55600160a060020a038216600090815260116020526040902054611027908263ffffffff6116ed16565b600160a060020a0383166000908152601160205260409020555b600a805460019081019091559290920191610f3b565b600f54600a541415611082576000600a556009805460ff19908116600117909155600c805490911690555b5050505050565b60065481565b60045481565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120546110cd908363ffffffff6116ed16565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600f80548290811061117257fe5b600091825260209091200154600160a060020a0316905081565b600a5481565b60106020526000908152604090205460ff1681565b60035433600160a060020a039081169116146111c257600080fd5b600160a060020a03811615156111d757600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600080828481151561125057fe5b04949350505050565b6000600160a060020a038316151561127057600080fd5b600160a060020a03841660009081526001602052604090205482111561129557600080fd5b600160a060020a03808516600090815260026020908152604080832033909416835292905220548211156112c857600080fd5b600160a060020a0384166000908152600160205260409020546112f1908363ffffffff6115bc16565b600160a060020a038086166000908152600160205260408082209390935590851681522054611326908363ffffffff6116ed16565b600160a060020a0380851660009081526001602090815260408083209490945587831682526002815283822033909316825291909152205461136e908363ffffffff6115bc16565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b600084156114155730600160a060020a031683600160a060020a0316141561140c5761140784836116fc565b611415565b6114158361152b565b50929392505050565b60035460009033600160a060020a0390811691161461143c57600080fd5b60035460a060020a900460ff161561145357600080fd5b600054611466908363ffffffff6116ed16565b6000908155600160a060020a038416815260016020526040902054611491908363ffffffff6116ed16565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600160a060020a03811660009081526010602052604090205460ff161515610c5c57600160a060020a0381166000908152601060205260409020805460ff19166001908117909155600f80549091810161158583826118a2565b5060009182526020909120018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b6000828211156115c857fe5b50900390565b6000600160a060020a03831615156115e557600080fd5b600160a060020a03331660009081526001602052604090205482111561160a57600080fd5b600160a060020a033316600090815260016020526040902054611633908363ffffffff6115bc16565b600160a060020a033381166000908152600160205260408082209390935590851681522054611668908363ffffffff6116ed16565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b60008282028315806116e557508284828115156116e257fe5b04145b151561092957fe5b60008282018381101561092957fe5b6000600754421115611731576007805460068190556301e1338001905560055461172d90600a63ffffffff61124216565b6008555b60065442118015611743575060075442105b801561175157506008548211155b151561175c57600080fd5b600160a060020a033016600090815260016020526040902054611785908363ffffffff6115bc16565b600160a060020a033016600090815260016020526040812091909155546117b2908363ffffffff6115bc16565b600055600160a060020a0330167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a2600854611805908363ffffffff6115bc16565b60085560005461183a90610fd960648161182682601463ffffffff6116ed16565b600e54610fcd90899063ffffffff6116c916565b905061186961185a600054610fd9600e54866116c990919063ffffffff16565b600e549063ffffffff6115bc16565b600e55600160a060020a03831681156108fc0282604051600060405180830381858888f19350505050151561189d57600080fd5b505050565b81548183558181151161189d5760008381526020902061189d91810190830161080c91905b808211156118db57600081556001016118c7565b50905600a165627a7a7230582068d6ebd94c95ccd938fc66dce952ca6bbfec34af831465ff67d6066dfd24784a0029

   Swarm Source:
bzzr://68d6ebd94c95ccd938fc66dce952ca6bbfec34af831465ff67d6066dfd24784a

 

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.