Contract 0xefab21b4de8b0a8c167e9afa8183e0e14cef400f

 

TxHash Block Age From To Value [TxFee]
0xf415a9e859774e0f321051b87b5ec3afbfd4bfcab15bbdb172ff7fe1f4142eca712452953 days 11 hrs ago0x77733defb072d75af02a4415f60212925e6bcf95 IN  MEX_TokenSale0 Ether0.001375181
0xefcb2a23b2e92e7d6b5862cb60d79c496b14a90b55270c58ffbfc2683f475794712452153 days 11 hrs ago0x77733defb072d75af02a4415f60212925e6bcf95 IN  MEX_TokenSale0 Ether0.001264399
0x0cea1d36874c5c2573b9f3ea0517c57e25f50c6bf40e1f06d03e7e5521025f305523979325 days 17 mins ago0x57a715a921f0b5586d5937e330c0e65382df1f9d IN  MEX_TokenSale0.10625 Ether0.00112875
0x8e37fde64ae02edc6bcda508f8b1b7d5f40ec555e9ed02cc15ba1dd8cc23189f5521574325 days 10 hrs ago0xcee5e248ab56a9f7485ae8d839dbaf2882436d09 IN  MEX_TokenSale0.2 Ether0.00575504
0x1d5933ade5b05cb831c60c3c2c7b331d5146340e0b2b9d419a6cb5e0f33be9795520850325 days 13 hrs ago0x2f118a7fb8f5b232bca1a674f9e6ed8a429c4f36 IN  MEX_TokenSale1 Ether0.00341628
0x0669269179d92c2dc5f6c87f85b9ecd379f34ae6ce9608008d0cbcedd81375785519366325 days 19 hrs ago0x57a715a921f0b5586d5937e330c0e65382df1f9d IN  MEX_TokenSale4.35 Ether0.00341628
0xf892d9caae8bb1de032bc88487b1c68f783e9da97820714af185fec1fa1fc0f35508047327 days 18 hrs ago0xbb3079bed498cbece59a7de9ad5d095eed8eae47 IN  MEX_TokenSale3 Ether0.003021396
0xe8ec22a32cf36a9978afe6d4565331e726aef4517be06f38ceb1a386666015cf5506464328 days 1 hr ago0xf3e096bd6e8c37063f3999db76cba9af6a246063 IN  MEX_TokenSale0.03 Ether0.002391396
0xef74203978773341b3b548bf1350c455915a0d3fa2447ff2f7ce6413d1f84a015506394328 days 1 hr ago0xf3e096bd6e8c37063f3999db76cba9af6a246063 IN  MEX_TokenSale0.03 Ether0.000101051999
0x502d1d7cf39aba3d059f59765539e77cfd4ae9225503a51a00eb47153db66c1b5497553329 days 13 hrs ago0xb07a4654e05c38c41bb7dad3b05f14bb69f2dcbd IN  MEX_TokenSale0.05 Ether0.003021396
0x88a03963dc5ba61b6899245fd1b245da8413ad70310bed28d22053c61f5cdb165495599329 days 22 hrs ago0xf3e096bd6e8c37063f3999db76cba9af6a246063 IN  MEX_TokenSale0.005 Ether0.003021396
0x07d1b4ea2f1608ab25cba2c91a2a4d43d6f8e6af54f4519ddaa388e6ed775a745475547333 days 8 hrs ago0x57a715a921f0b5586d5937e330c0e65382df1f9d IN  MEX_TokenSale1.29 Ether0.0034149
0x21c53d3804fbc2f2eda24e850f36fc9489d3001a150e7ed601353d68ead00fdf5467399334 days 18 hrs ago0xc1a2e16c6d129a175ae680155d2a540c8c1679ad IN  MEX_TokenSale0.1 Ether0.00239043
0xb27155e91965f4a25e4e40b8a25491bb87e269e4913c8a3c34ae1dd840838fb15443616338 days 19 hrs ago0xc1a2e16c6d129a175ae680155d2a540c8c1679ad IN  MEX_TokenSale0.1 Ether0.00239043
0xeadbc625b5531934cdfa82a489903c779cad39c208bf5eb6abb499f5138187ef5432727340 days 16 hrs ago0xc1a2e16c6d129a175ae680155d2a540c8c1679ad IN  MEX_TokenSale0.01 Ether0.0057484
0x0b7e08a121cfdacbf655167a766344ba5cc1ac1dfbf58430148101c47939ac085428746341 days 8 hrs ago0x4f418abc030462ceaa2215ca93262d8555e86f49 IN  MEX_TokenSale1 Ether0.0057484
0x6ffed0d05205c71f0db39354b3334e6b4ad867bc44ab90ae97b700e81a9b3f785414485343 days 17 hrs ago0x0fedb97608cfc616064071de0591bf7ef5f31ab5 IN  MEX_TokenSale1 Ether0.00359275
0x29798c8e6925002d9152c3764b946fac257c9bc3f524deb2db4b236d99480a7e5412846344 days 2 mins ago0xc721fe23d3a016e4f2b25c3a4b103af440a0cc4b IN  MEX_TokenSale5.8 Ether0.00284275
0xa3a720d6a5739dce8836b9632c3340c3c7211b7da985034d27489ee4e53509905408666344 days 16 hrs ago0xf3bb43baa0a9004151eb82d8d801767b5d74ea5f IN  MEX_TokenSale1 Ether0.00284275
0x63974649b3b7f3327abfaf279049810dd38f8f9934abe73e6c5c017c34c8de6c5407027344 days 23 hrs ago0x0416f7cecdbe3df19862686e559415329ff41830 IN  MEX_TokenSale0 Ether0.000022283
0x7e9eab5fb54b8a28974db517f476bc581e7e3fa6d1fe076411a36a170d6d58b25407007344 days 23 hrs ago0x0416f7cecdbe3df19862686e559415329ff41830 IN  MEX_TokenSale0 Ether0.000022283
0x2566d6d4afcc3b26ee575e3a52b964f393afdd590ecf1b478024a466f826cccd5406927344 days 23 hrs ago0xc721fe23d3a016e4f2b25c3a4b103af440a0cc4b IN  MEX_TokenSale0.5 Ether0.00284275
0x4b3777de58a1b8020eae711dcdc2ca222d62e6e3ae224894a3a2c938c30417f65390568347 days 16 hrs ago0xf3bb43baa0a9004151eb82d8d801767b5d74ea5f IN  MEX_TokenSale1 Ether0.00359275
0x62dc8c5491f3991f259b4beb441d9b03d1edf4fa408adb3dcaaf41fb8e313b7c5390428347 days 17 hrs ago0x41f5b4da29e766886e6adfbef1b5ed9e9a12d7f9 IN  MEX_TokenSale1 Ether0.00359275
0x0a3d24dcaf3f7632b85f8e26e6777a38b5d8587702d1cf882f92d7429aaeb93c5312779360 days 15 hrs ago0xeccbd81a49bfa3187100649cca4d7c83e6905971 IN  MEX_TokenSale1 Ether0.00358975
[ Download CSV Export 

Latest 25 internal transaction, Click here to view more Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
0x8e37fde64ae02edc6bcda508f8b1b7d5f40ec555e9ed02cc15ba1dd8cc23189f5521574325 days 10 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf950.2 Ether
0x1d5933ade5b05cb831c60c3c2c7b331d5146340e0b2b9d419a6cb5e0f33be9795520850325 days 13 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf951 Ether
0x0669269179d92c2dc5f6c87f85b9ecd379f34ae6ce9608008d0cbcedd81375785519366325 days 19 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf954.35 Ether
0xf892d9caae8bb1de032bc88487b1c68f783e9da97820714af185fec1fa1fc0f35508047327 days 18 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf953 Ether
0xe8ec22a32cf36a9978afe6d4565331e726aef4517be06f38ceb1a386666015cf5506464328 days 1 hr ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf950.03 Ether
0x502d1d7cf39aba3d059f59765539e77cfd4ae9225503a51a00eb47153db66c1b5497553329 days 13 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf950.05 Ether
0x88a03963dc5ba61b6899245fd1b245da8413ad70310bed28d22053c61f5cdb165495599329 days 22 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf950.005 Ether
0x07d1b4ea2f1608ab25cba2c91a2a4d43d6f8e6af54f4519ddaa388e6ed775a745475547333 days 8 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf951.29 Ether
0x21c53d3804fbc2f2eda24e850f36fc9489d3001a150e7ed601353d68ead00fdf5467399334 days 18 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf950.1 Ether
0xb27155e91965f4a25e4e40b8a25491bb87e269e4913c8a3c34ae1dd840838fb15443616338 days 19 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf950.1 Ether
0xeadbc625b5531934cdfa82a489903c779cad39c208bf5eb6abb499f5138187ef5432727340 days 16 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf950.01 Ether
0x0b7e08a121cfdacbf655167a766344ba5cc1ac1dfbf58430148101c47939ac085428746341 days 8 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf951 Ether
0x6ffed0d05205c71f0db39354b3334e6b4ad867bc44ab90ae97b700e81a9b3f785414485343 days 17 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf951 Ether
0x29798c8e6925002d9152c3764b946fac257c9bc3f524deb2db4b236d99480a7e5412846344 days 2 mins ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf955.8 Ether
0xa3a720d6a5739dce8836b9632c3340c3c7211b7da985034d27489ee4e53509905408666344 days 16 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf951 Ether
0x2566d6d4afcc3b26ee575e3a52b964f393afdd590ecf1b478024a466f826cccd5406927344 days 23 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf950.5 Ether
0x4b3777de58a1b8020eae711dcdc2ca222d62e6e3ae224894a3a2c938c30417f65390568347 days 16 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf951 Ether
0x62dc8c5491f3991f259b4beb441d9b03d1edf4fa408adb3dcaaf41fb8e313b7c5390428347 days 17 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf951 Ether
0x0a3d24dcaf3f7632b85f8e26e6777a38b5d8587702d1cf882f92d7429aaeb93c5312779360 days 15 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf951 Ether
0x421c3b012201419fcbc2554d4feede7832f845cd88cbcedd77721cf168d4707f5306239361 days 17 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf952 Ether
0x3924d4a0dd2d2bac4ff5634928e341300221313118ed8fb82bfe6a9cdc2e22885298742362 days 23 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf952 Ether
0x997fd81b3a20338d39c9fbfcdc238cdaaac4723266d8e8242342554bc37318d25297098363 days 6 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf950.016 Ether
0xf0f4de1f8b1e2a0f25dab2de351d3acb1720a49c7957b7735d6ed31f5f6a94835294801363 days 15 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf952 Ether
0x200339d4a8a23cb1a129b0741c06840aad34a8445825f65c1b96890717a45ec85286910364 days 23 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf950.25 Ether
0x458d81a32d061ecec7dc1d1dbe1de7238d4feecba75c49de5a36c05506ab0ba95278439366 days 9 hrs ago0xefab21b4de8b0a8c167e9afa8183e0e14cef400f0x77733defb072d75af02a4415f60212925e6bcf950.05 Ether
[ Download CSV Export 

Contract Source Code Verified (Exact Match)

Contract Name:
MEXCrowdsale

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes

Runs (Optimizer):
200

Contract Source Code

/**
 *
 * MIT License
 *
 * Copyright (c) 2018, MEXC Program Developers & OpenZeppelin Project.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 *
 */
pragma solidity ^0.4.17;

library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(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;
  }
}

library SafeERC20 {
  function safeTransfer(ERC20Basic token, address to, uint256 value) internal {
    assert(token.transfer(to, value));
  }

  function safeTransferFrom(ERC20 token, address from, address to, uint256 value) internal {
    assert(token.transferFrom(from, to, value));
  }

  function safeApprove(ERC20 token, address spender, uint256 value) internal {
    assert(token.approve(spender, value));
  }
}

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) public onlyOwner {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }
}

contract Destructible is Ownable {

  function Destructible() public payable { }

  /**
   * @dev Transfers the current balance to the owner and terminates the contract.
   */
  function destroy() onlyOwner public {
    selfdestruct(owner);
  }

  function destroyAndSend(address _recipient) onlyOwner public {
    selfdestruct(_recipient);
  }
}

contract CanReclaimToken is Ownable {
  using SafeERC20 for ERC20Basic;

  /**
   * @dev Reclaim all ERC20Basic compatible tokens
   * @param token ERC20Basic The address of the token contract
   */
  function reclaimToken(ERC20Basic token) external onlyOwner {
    uint256 balance = token.balanceOf(this);
    token.safeTransfer(owner, balance);
  }
}

contract ERC20Basic {
  uint256 public totalSupply;
  function balanceOf(address who) public view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public view 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);
}

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 view returns (uint256 balance) {
    return balances[_owner];
  }
}

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 view returns (uint256) {
    return allowed[_owner][_spender];
  }

  /**
   * @dev Increase the amount of tokens that an owner allowed to a 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
   * @param _spender The address which will spend the funds.
   * @param _addedValue The amount of tokens to increase the allowance by.
   */
  function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  /*
   * @dev Decrease the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To decrement
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _subtractedValue The amount of tokens to decrease the allowance by.
   */
  function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
    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;
  }
}

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 canMint public returns (bool) {
    mintingFinished = true;
    MintFinished();
    return true;
  }
}

contract MEXCToken is MintableToken, Destructible  {

  string  public name = 'MEX Care Token';
  string  public symbol = 'MEXC';
  uint8   public decimals = 18;
  uint256 public maxSupply = 1714285714 ether;    // max allowable minting.
  bool    public transferDisabled = true;         // disable transfer init.

  event Confiscate(address indexed offender, uint256 value);

  // empty constructor
  function MEXCToken() public {}

  /*
   * the real reason for quarantined addresses are for those who are
   * mistakenly sent the MEXC tokens to the wrong address. We can disable
   * the usage of the MEXC tokens here.
   */
  mapping(address => bool) quarantined;           // quarantined addresses
  mapping(address => bool) gratuity;              // locked addresses for owners

  modifier canTransfer() {
    if (msg.sender == owner) {
      _;
    } else {
      require(!transferDisabled);
      require(quarantined[msg.sender] == false);  // default bool is false
      require(gratuity[msg.sender] == false);     // default bool is false
      _;
    }
  }

  /*
   * Allow the transfer of token to happen once listed on exchangers
   */
  function allowTransfers() onlyOwner public returns (bool) {
    transferDisabled = false;
    return true;
  }

  function disallowTransfers() onlyOwner public returns (bool) {
    transferDisabled = true;
    return true;
  }

  function quarantineAddress(address _addr) onlyOwner public returns (bool) {
    quarantined[_addr] = true;
    return true;
  }

  function unQuarantineAddress(address _addr) onlyOwner public returns (bool) {
    quarantined[_addr] = false;
    return true;
  }

  function lockAddress(address _addr) onlyOwner public returns (bool) {
    gratuity[_addr] = true;
    return true;
  }

  function unlockAddress(address _addr) onlyOwner public returns (bool) {
    gratuity[_addr] = false;
    return true;
  }

  /**
   * This is confiscate the money that is sent to the wrong address accidentally.
   * the confiscated value can then be transferred to the righful owner. This is
   * especially important during ICO where some are *still* using Exchanger wallet
   * address, instead of their personal address.
   */
  function confiscate(address _offender) onlyOwner public returns (bool) {
    uint256 all = balances[_offender];
    require(all > 0);
    
    balances[_offender] = balances[_offender].sub(all);
    balances[msg.sender] = balances[msg.sender].add(all);
    Confiscate(_offender, all);
    return true;
  }

  /*
   * @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) {
    require(totalSupply <= maxSupply);
    return super.mint(_to, _amount);
  }

  /**
  * @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) canTransfer public returns (bool) {
    return super.transfer(_to, _value);
  }

  /**
   * @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) canTransfer public returns (bool) {
    return super.transferFrom(_from, _to, _value);
  }

  /**
   * @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) canTransfer public returns (bool) {
    return super.approve(_spender, _value);
  }
}

/**
 * The MEXCrowdsale contract.
 * The token is based on ERC20 Standard token, with ERC23 functionality to reclaim
 * other tokens accidentally sent to this contract, as well as to destroy
 * this contract once the ICO has ended.
 */
contract MEXCrowdsale is CanReclaimToken, Destructible {
  using SafeMath for uint256;

  // The token being sold
  MintableToken public token;

  // start and end timestamps where investments are allowed (both inclusive)
  uint256 public startTime = 0;
  uint256 public endTime = 0;

  // address where funds are collected
  address public wallet = address(0);

  // amount of raised money in wei
  uint256 public weiRaised = 0;

  // cap for crowdsale
  uint256 public cap = 300000 ether;

  // whitelist backers
  mapping(address => bool) whiteList;

  // addmin list
  mapping(address => bool) adminList;

  // mappig of our days, and rates.
  mapping(uint8 => uint256) daysRates;

  modifier onlyAdmin() { 
    require(adminList[msg.sender] == true || msg.sender == owner);
    _; 
  }
  
  /**
   * event for token purchase logging
   * @param purchaser who paid for the tokens
   * @param beneficiary who got the tokens
   * @param value weis paid for purchase
   * @param amount amount of tokens purchased
   */
  event TokenPurchase(address indexed purchaser, address indexed beneficiary, 
                      uint256 value, uint256 amount);

  function MEXCrowdsale() public {

    token = createTokenContract();
    startTime = 1518048000;
    endTime = startTime + 80 days;
    wallet = 0x77733DEFb072D75aF02A4415f60212925E6BcF95;

    // set the days lapsed, and rates for the priod since startTime.
    daysRates[15] = 4000;
    daysRates[45] = 3500;
    daysRates[65] = 3250;
    daysRates[75] = 3125;
    daysRates[80] = 3000;
  }

  // creates the token to be sold.
  // override this method to have crowdsale of a specific mintable token.
  function createTokenContract() internal returns (MintableToken) {
    return new MEXCToken();
  }

  function setTokenOwner (address _newOwner) public onlyOwner {
    token.transferOwnership(_newOwner);
  }

  function addWhiteList (address _backer) public onlyAdmin returns (bool res) {
    whiteList[_backer] = true;
    return true;
  }
  
  function addAdmin (address _admin) onlyAdmin public returns (bool res) {
    adminList[_admin] = true;
    return true;
  }

  function isWhiteListed (address _backer) public view returns (bool res) {
    return whiteList[_backer];
  }

  function isAdmin (address _admin) public view returns (bool res) {
    return adminList[_admin];
  }
  
  function totalRaised() public view returns (uint256) {
    return weiRaised;
  }

  // fallback function can be used to buy tokens
  function () external payable {
    buyTokens(msg.sender);
  }

  // low level token purchase function
  function buyTokens(address beneficiary) public payable {
    require(beneficiary != address(0));
    require(validPurchase());

    uint256 weiAmount = msg.value;

    // calculate token amount to be created
    uint256 tokens = weiAmount.mul(getRate());

    // update state
    weiRaised = weiRaised.add(weiAmount);

    if (tokens > 0) {
      token.mint(beneficiary, tokens);
      TokenPurchase(msg.sender, beneficiary, weiAmount, tokens);      
    }

    forwardFunds();
  }

  // send ether to the fund collection wallet
  // override to create custom fund forwarding mechanisms
  function forwardFunds() internal {
    wallet.transfer(msg.value);
  }

  // @return true if the transaction can buy tokens
  function validPurchase() internal view returns (bool) {
    // 80 days of sale.
    bool withinPeriod = (now >= startTime && now <= endTime) || msg.sender == owner;
    bool nonZeroPurchase = msg.value != 0;
    bool withinCap = weiRaised.add(msg.value) <= cap;
    return withinPeriod && nonZeroPurchase && withinCap;
  }

  function getRate() internal view returns (uint256 rate) {
    uint256 diff = (now - startTime);

    if (diff <= 15 days) {
      require(whiteList[msg.sender] == true);
      return daysRates[15];
    } else if (diff > 15 && diff <= 45 days) {
      return daysRates[45];
    } else if (diff > 45 && diff <= 65 days) {
      return daysRates[65];
    } else if (diff > 65 && diff <= 75 days) {
      return daysRates[75];
    } else if (diff <= 80 days) {
      return daysRates[80];
    } 
    return 0;
  }

  // @return true if crowdsale event has ended
  function hasEnded() public view returns (bool) {
    bool capReached = weiRaised >= cap;
    return now > endTime || capReached;
  }
}

Contract ABI

[{"constant":false,"inputs":[{"name":"token","type":"address"}],"name":"reclaimToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"setTokenOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_admin","type":"address"}],"name":"isAdmin","outputs":[{"name":"res","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weiRaised","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":true,"inputs":[{"name":"_backer","type":"address"}],"name":"isWhiteListed","outputs":[{"name":"res","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_admin","type":"address"}],"name":"addAdmin","outputs":[{"name":"res","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"destroy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_backer","type":"address"}],"name":"addWhiteList","outputs":[{"name":"res","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"hasEnded","outputs":[{"name":"","type":"bool"}],"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":"_recipient","type":"address"}],"name":"destroyAndSend","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":"purchaser","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

Contract Creation Code

606060405260006002819055600381905560048054600160a060020a0319169055600555693f870857a3e0e3800000600655341561003c57600080fd5b60008054600160a060020a03191633600160a060020a031617905561006c6401000000006101828102610aeb1704565b60018054600160a060020a0392909216600160a060020a0319928316179055635a7b9300600255635ae50b00600355600480549091167377733defb072d75af02a4415f60212925e6bcf951790556009602052610fa07fc6578e0b5f8d37c135f99fcd184697bbb8facaa7556a48605034ca65d4c39fbf55610dac7f4bbf9d7d67d44cad879862b09fff9ce23e1a492285d86ba983680d0e160e8e0e55610cb27fcdc85a262427559d3ee7d3901046785a36f6aa18190ff3a30be414bafef56d3a55610c357f67b08bafb7783a977ba83b02a41246179f6d9903410a0391fec03ddfe25687a6556050600052610bb87f603cf65ffed1082d503577a408780db94121b314e90d22c21b9f962523cba0bd556101b7565b600061018c6101a7565b604051809103906000f08015156101a257600080fd5b905090565b6040516114288061213b83390190565b611f75806101c66000396000f3006060604052600436106100ed5763ffffffff60e060020a60003504166317ffc32081146100f857806318e02bd91461011757806324d7806c146101365780633197cbb614610169578063355274ea1461018e5780634042b66f146101a1578063521eb273146101b45780636f9170f6146101e3578063704802751461020257806378e979251461022157806383197ef0146102345780638da5cb5b14610247578063c5c4744c1461025a578063e7cd4a041461026d578063ec8ac4d81461028c578063ecb70fb7146102a0578063f2fde38b146102b3578063f5074f41146102d2578063fc0c546a146102f1575b6100f633610304565b005b341561010357600080fd5b6100f6600160a060020a0360043516610443565b341561012257600080fd5b6100f6600160a060020a03600435166104f7565b341561014157600080fd5b610155600160a060020a0360043516610579565b604051901515815260200160405180910390f35b341561017457600080fd5b61017c610597565b60405190815260200160405180910390f35b341561019957600080fd5b61017c61059d565b34156101ac57600080fd5b61017c6105a3565b34156101bf57600080fd5b6101c76105a9565b604051600160a060020a03909116815260200160405180910390f35b34156101ee57600080fd5b610155600160a060020a03600435166105b8565b341561020d57600080fd5b610155600160a060020a03600435166105d6565b341561022c57600080fd5b61017c610644565b341561023f57600080fd5b6100f661064a565b341561025257600080fd5b6101c7610673565b341561026557600080fd5b61017c610682565b341561027857600080fd5b610155600160a060020a0360043516610688565b6100f6600160a060020a0360043516610304565b34156102ab57600080fd5b6101556106f6565b34156102be57600080fd5b6100f6600160a060020a0360043516610717565b34156102dd57600080fd5b6100f6600160a060020a03600435166107b2565b34156102fc57600080fd5b6101c76107d9565b600080600160a060020a038316151561031c57600080fd5b6103246107e8565b151561032f57600080fd5b34915061034a61033d61085b565b839063ffffffff6109f016565b600554909150610360908363ffffffff610a2616565b600555600081111561043657600154600160a060020a03166340c10f19848360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156103cb57600080fd5b6102c65a03f115156103dc57600080fd5b505050604051805190505082600160a060020a031633600160a060020a03167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad18848460405191825260208201526040908101905180910390a35b61043e610a35565b505050565b6000805433600160a060020a0390811691161461045f57600080fd5b81600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156104b657600080fd5b6102c65a03f115156104c757600080fd5b50505060405180516000549092506104f39150600160a060020a0384811691168363ffffffff610a6b16565b5050565b60005433600160a060020a0390811691161461051257600080fd5b600154600160a060020a031663f2fde38b8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561056257600080fd5b6102c65a03f1151561057357600080fd5b50505050565b600160a060020a031660009081526008602052604090205460ff1690565b60035481565b60065481565b60055481565b600454600160a060020a031681565b600160a060020a031660009081526007602052604090205460ff1690565b600160a060020a03331660009081526008602052604081205460ff16151560011480610610575060005433600160a060020a039081169116145b151561061b57600080fd5b50600160a060020a03166000908152600860205260409020805460ff1916600190811790915590565b60025481565b60005433600160a060020a0390811691161461066557600080fd5b600054600160a060020a0316ff5b600054600160a060020a031681565b60055490565b600160a060020a03331660009081526008602052604081205460ff161515600114806106c2575060005433600160a060020a039081169116145b15156106cd57600080fd5b50600160a060020a03166000908152600760205260409020805460ff1916600190811790915590565b600080600654600554101590506003544211806107105750805b91505b5090565b60005433600160a060020a0390811691161461073257600080fd5b600160a060020a038116151561074757600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a039081169116146107cd57600080fd5b80600160a060020a0316ff5b600154600160a060020a031681565b600080600080600254421015801561080257506003544211155b8061081b575060005433600160a060020a039081169116145b92503460001415915060065461083c34600554610a2690919063ffffffff16565b1115905082801561084a5750815b80156108535750805b935050505090565b60025460009042036213c68081116108ca57600160a060020a03331660009081526007602052604090205460ff16151560011461089757600080fd5b600f60005260096020527fc6578e0b5f8d37c135f99fcd184697bbb8facaa7556a48605034ca65d4c39fbf549150610713565b600f811180156108dd5750623b53808111155b1561091557602d60005260096020527f4bbf9d7d67d44cad879862b09fff9ce23e1a492285d86ba983680d0e160e8e0e549150610713565b602d8111801561092857506255b1808111155b1561096057604160005260096020527fcdc85a262427559d3ee7d3901046785a36f6aa18190ff3a30be414bafef56d3a549150610713565b60418111801561097357506262e0808111155b156109ab57604b60005260096020527f67b08bafb7783a977ba83b02a41246179f6d9903410a0391fec03ddfe25687a6549150610713565b6269780081116109e857605060005260096020527f603cf65ffed1082d503577a408780db94121b314e90d22c21b9f962523cba0bd549150610713565b600091505090565b600080831515610a035760009150610a1f565b50828202828482811515610a1357fe5b0414610a1b57fe5b8091505b5092915050565b600082820183811015610a1b57fe5b600454600160a060020a03163480156108fc0290604051600060405180830381858888f193505050501515610a6957600080fd5b565b82600160a060020a031663a9059cbb838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610ac857600080fd5b6102c65a03f11515610ad957600080fd5b50505060405180519050151561043e57fe5b6000610af5610b10565b604051809103906000f0801515610b0b57600080fd5b905090565b6040516114288062000b22833901905600606060409081526003805460a060020a60ff02191690558051908101604052600e81527f4d4558204361726520546f6b656e000000000000000000000000000000000000602082015260049080516200005d92916020019062000101565b5060408051908101604052600481527f4d4558430000000000000000000000000000000000000000000000000000000060208201526005908051620000a792916020019062000101565b506006805460ff199081166012179091556b058a061ec4dc1559a70800006007556008805490911660011790553415620000e057600080fd5b60038054600160a060020a03191633600160a060020a0316179055620001a6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014457805160ff191683800117855562000174565b8280016001018555821562000174579182015b828111156200017457825182559160200191906001019062000157565b506200018292915062000186565b5090565b620001a391905b808211156200018257600081556001016200018d565b90565b61127280620001b66000396000f30060606040526004361061015e5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461016357806306fdde031461018a578063095ea7b314610214578063121e81221461023657806318160ddd14610255578063212c81571461027a5780632185810b1461028d57806323b872dd146102a0578063313ce567146102c857806334a90d02146102f157806340c10f191461031057806344f252a014610332578063661884631461035157806370a08231146103735780637d64bcb4146103925780637e42be1a146103a557806383197ef0146103c4578063892dfdf6146103d95780638da5cb5b146103ec57806395d89b411461041b578063a9059cbb1461042e578063b7eb5e0a14610450578063d5abeb011461046f578063d73dd62314610482578063dd62ed3e146104a4578063f2fde38b146104c9578063f5074f41146104e8575b600080fd5b341561016e57600080fd5b610176610507565b604051901515815260200160405180910390f35b341561019557600080fd5b61019d610517565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101d95780820151838201526020016101c1565b50505050905090810190601f1680156102065780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561021f57600080fd5b610176600160a060020a03600435166024356105b5565b341561024157600080fd5b610176600160a060020a036004351661064f565b341561026057600080fd5b610268610692565b60405190815260200160405180910390f35b341561028557600080fd5b610176610698565b341561029857600080fd5b6101766106ca565b34156102ab57600080fd5b610176600160a060020a03600435811690602435166044356106f8565b34156102d357600080fd5b6102db610795565b60405160ff909116815260200160405180910390f35b34156102fc57600080fd5b610176600160a060020a036004351661079e565b341561031b57600080fd5b610176600160a060020a03600435166024356107e5565b341561033d57600080fd5b610176600160a060020a0360043516610835565b341561035c57600080fd5b610176600160a060020a0360043516602435610938565b341561037e57600080fd5b610268600160a060020a0360043516610a32565b341561039d57600080fd5b610176610a4d565b34156103b057600080fd5b610176600160a060020a0360043516610ad8565b34156103cf57600080fd5b6103d7610b1f565b005b34156103e457600080fd5b610176610b48565b34156103f757600080fd5b6103ff610b51565b604051600160a060020a03909116815260200160405180910390f35b341561042657600080fd5b61019d610b60565b341561043957600080fd5b610176600160a060020a0360043516602435610bcb565b341561045b57600080fd5b610176600160a060020a0360043516610c55565b341561047a57600080fd5b610268610c98565b341561048d57600080fd5b610176600160a060020a0360043516602435610c9e565b34156104af57600080fd5b610268600160a060020a0360043581169060243516610d42565b34156104d457600080fd5b6103d7600160a060020a0360043516610d6d565b34156104f357600080fd5b6103d7600160a060020a0360043516610e08565b60035460a060020a900460ff1681565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105ad5780601f10610582576101008083540402835291602001916105ad565b820191906000526020600020905b81548152906001019060200180831161059057829003601f168201915b505050505081565b60035460009033600160a060020a03908116911614156105e0576105d98383610e2f565b9050610649565b60085460ff16156105f057600080fd5b600160a060020a03331660009081526009602052604090205460ff161561061657600080fd5b600160a060020a0333166000908152600a602052604090205460ff161561063c57600080fd5b6106468383610e2f565b90505b92915050565b60035460009033600160a060020a0390811691161461066d57600080fd5b50600160a060020a03166000908152600960205260409020805460ff19169055600190565b60005481565b60035460009033600160a060020a039081169116146106b657600080fd5b506008805460ff1916600190811790915590565b60035460009033600160a060020a039081169116146106e857600080fd5b506008805460ff19169055600190565b60035460009033600160a060020a03908116911614156107245761071d848484610e9b565b905061078e565b60085460ff161561073457600080fd5b600160a060020a03331660009081526009602052604090205460ff161561075a57600080fd5b600160a060020a0333166000908152600a602052604090205460ff161561078057600080fd5b61078b848484610e9b565b90505b9392505050565b60065460ff1681565b60035460009033600160a060020a039081169116146107bc57600080fd5b50600160a060020a03166000908152600a60205260409020805460ff1916600190811790915590565b60035460009033600160a060020a0390811691161461080357600080fd5b60035460a060020a900460ff161561081a57600080fd5b600754600054111561082b57600080fd5b610646838361101d565b600354600090819033600160a060020a0390811691161461085557600080fd5b50600160a060020a03821660009081526001602052604081205490811161087b57600080fd5b600160a060020a0383166000908152600160205260409020546108a4908263ffffffff61112a16565b600160a060020a038085166000908152600160205260408082209390935533909116815220546108da908263ffffffff61113c16565b600160a060020a0333811660009081526001602052604090819020929092558416907f81ccb678f2c1ba2d46abedd3960e55fc3e9637021da4d383c834c4b91a64ccc19083905190815260200160405180910390a250600192915050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120548083111561099557600160a060020a0333811660009081526002602090815260408083209388168352929052908120556109cc565b6109a5818463ffffffff61112a16565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526001602052604090205490565b60035460009033600160a060020a03908116911614610a6b57600080fd5b60035460a060020a900460ff1615610a8257600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b60035460009033600160a060020a03908116911614610af657600080fd5b50600160a060020a03166000908152600960205260409020805460ff1916600190811790915590565b60035433600160a060020a03908116911614610b3a57600080fd5b600354600160a060020a0316ff5b60085460ff1681565b600354600160a060020a031681565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105ad5780601f10610582576101008083540402835291602001916105ad565b60035460009033600160a060020a0390811691161415610bef576105d9838361114b565b60085460ff1615610bff57600080fd5b600160a060020a03331660009081526009602052604090205460ff1615610c2557600080fd5b600160a060020a0333166000908152600a602052604090205460ff1615610c4b57600080fd5b610646838361114b565b60035460009033600160a060020a03908116911614610c7357600080fd5b50600160a060020a03166000908152600a60205260409020805460ff19169055600190565b60075481565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610cd6908363ffffffff61113c16565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60035433600160a060020a03908116911614610d8857600080fd5b600160a060020a0381161515610d9d57600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035433600160a060020a03908116911614610e2357600080fd5b80600160a060020a0316ff5b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b6000600160a060020a0383161515610eb257600080fd5b600160a060020a038416600090815260016020526040902054821115610ed757600080fd5b600160a060020a0380851660009081526002602090815260408083203390941683529290522054821115610f0a57600080fd5b600160a060020a038416600090815260016020526040902054610f33908363ffffffff61112a16565b600160a060020a038086166000908152600160205260408082209390935590851681522054610f68908363ffffffff61113c16565b600160a060020a03808516600090815260016020908152604080832094909455878316825260028152838220339093168252919091522054610fb0908363ffffffff61112a16565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60035460009033600160a060020a0390811691161461103b57600080fd5b60035460a060020a900460ff161561105257600080fd5b600054611065908363ffffffff61113c16565b6000908155600160a060020a038416815260016020526040902054611090908363ffffffff61113c16565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b60008282111561113657fe5b50900390565b60008282018381101561078e57fe5b6000600160a060020a038316151561116257600080fd5b600160a060020a03331660009081526001602052604090205482111561118757600080fd5b600160a060020a0333166000908152600160205260409020546111b0908363ffffffff61112a16565b600160a060020a0333811660009081526001602052604080822093909355908516815220546111e5908363ffffffff61113c16565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3506001929150505600a165627a7a72305820278ecc3e1b466ec7e9f5dfc6afed99fccbcd71af8485897705a1762c042298f00029a165627a7a72305820e01233eb74189c75707cfe97a6c42d0636f1a472569f05194a3c8eb1836ab1ac0029606060409081526003805460a060020a60ff02191690558051908101604052600e81527f4d4558204361726520546f6b656e000000000000000000000000000000000000602082015260049080516200005d92916020019062000101565b5060408051908101604052600481527f4d4558430000000000000000000000000000000000000000000000000000000060208201526005908051620000a792916020019062000101565b506006805460ff199081166012179091556b058a061ec4dc1559a70800006007556008805490911660011790553415620000e057600080fd5b60038054600160a060020a03191633600160a060020a0316179055620001a6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014457805160ff191683800117855562000174565b8280016001018555821562000174579182015b828111156200017457825182559160200191906001019062000157565b506200018292915062000186565b5090565b620001a391905b808211156200018257600081556001016200018d565b90565b61127280620001b66000396000f30060606040526004361061015e5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461016357806306fdde031461018a578063095ea7b314610214578063121e81221461023657806318160ddd14610255578063212c81571461027a5780632185810b1461028d57806323b872dd146102a0578063313ce567146102c857806334a90d02146102f157806340c10f191461031057806344f252a014610332578063661884631461035157806370a08231146103735780637d64bcb4146103925780637e42be1a146103a557806383197ef0146103c4578063892dfdf6146103d95780638da5cb5b146103ec57806395d89b411461041b578063a9059cbb1461042e578063b7eb5e0a14610450578063d5abeb011461046f578063d73dd62314610482578063dd62ed3e146104a4578063f2fde38b146104c9578063f5074f41146104e8575b600080fd5b341561016e57600080fd5b610176610507565b604051901515815260200160405180910390f35b341561019557600080fd5b61019d610517565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101d95780820151838201526020016101c1565b50505050905090810190601f1680156102065780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561021f57600080fd5b610176600160a060020a03600435166024356105b5565b341561024157600080fd5b610176600160a060020a036004351661064f565b341561026057600080fd5b610268610692565b60405190815260200160405180910390f35b341561028557600080fd5b610176610698565b341561029857600080fd5b6101766106ca565b34156102ab57600080fd5b610176600160a060020a03600435811690602435166044356106f8565b34156102d357600080fd5b6102db610795565b60405160ff909116815260200160405180910390f35b34156102fc57600080fd5b610176600160a060020a036004351661079e565b341561031b57600080fd5b610176600160a060020a03600435166024356107e5565b341561033d57600080fd5b610176600160a060020a0360043516610835565b341561035c57600080fd5b610176600160a060020a0360043516602435610938565b341561037e57600080fd5b610268600160a060020a0360043516610a32565b341561039d57600080fd5b610176610a4d565b34156103b057600080fd5b610176600160a060020a0360043516610ad8565b34156103cf57600080fd5b6103d7610b1f565b005b34156103e457600080fd5b610176610b48565b34156103f757600080fd5b6103ff610b51565b604051600160a060020a03909116815260200160405180910390f35b341561042657600080fd5b61019d610b60565b341561043957600080fd5b610176600160a060020a0360043516602435610bcb565b341561045b57600080fd5b610176600160a060020a0360043516610c55565b341561047a57600080fd5b610268610c98565b341561048d57600080fd5b610176600160a060020a0360043516602435610c9e565b34156104af57600080fd5b610268600160a060020a0360043581169060243516610d42565b34156104d457600080fd5b6103d7600160a060020a0360043516610d6d565b34156104f357600080fd5b6103d7600160a060020a0360043516610e08565b60035460a060020a900460ff1681565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105ad5780601f10610582576101008083540402835291602001916105ad565b820191906000526020600020905b81548152906001019060200180831161059057829003601f168201915b505050505081565b60035460009033600160a060020a03908116911614156105e0576105d98383610e2f565b9050610649565b60085460ff16156105f057600080fd5b600160a060020a03331660009081526009602052604090205460ff161561061657600080fd5b600160a060020a0333166000908152600a602052604090205460ff161561063c57600080fd5b6106468383610e2f565b90505b92915050565b60035460009033600160a060020a0390811691161461066d57600080fd5b50600160a060020a03166000908152600960205260409020805460ff19169055600190565b60005481565b60035460009033600160a060020a039081169116146106b657600080fd5b506008805460ff1916600190811790915590565b60035460009033600160a060020a039081169116146106e857600080fd5b506008805460ff19169055600190565b60035460009033600160a060020a03908116911614156107245761071d848484610e9b565b905061078e565b60085460ff161561073457600080fd5b600160a060020a03331660009081526009602052604090205460ff161561075a57600080fd5b600160a060020a0333166000908152600a602052604090205460ff161561078057600080fd5b61078b848484610e9b565b90505b9392505050565b60065460ff1681565b60035460009033600160a060020a039081169116146107bc57600080fd5b50600160a060020a03166000908152600a60205260409020805460ff1916600190811790915590565b60035460009033600160a060020a0390811691161461080357600080fd5b60035460a060020a900460ff161561081a57600080fd5b600754600054111561082b57600080fd5b610646838361101d565b600354600090819033600160a060020a0390811691161461085557600080fd5b50600160a060020a03821660009081526001602052604081205490811161087b57600080fd5b600160a060020a0383166000908152600160205260409020546108a4908263ffffffff61112a16565b600160a060020a038085166000908152600160205260408082209390935533909116815220546108da908263ffffffff61113c16565b600160a060020a0333811660009081526001602052604090819020929092558416907f81ccb678f2c1ba2d46abedd3960e55fc3e9637021da4d383c834c4b91a64ccc19083905190815260200160405180910390a250600192915050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120548083111561099557600160a060020a0333811660009081526002602090815260408083209388168352929052908120556109cc565b6109a5818463ffffffff61112a16565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526001602052604090205490565b60035460009033600160a060020a03908116911614610a6b57600080fd5b60035460a060020a900460ff1615610a8257600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b60035460009033600160a060020a03908116911614610af657600080fd5b50600160a060020a03166000908152600960205260409020805460ff1916600190811790915590565b60035433600160a060020a03908116911614610b3a57600080fd5b600354600160a060020a0316ff5b60085460ff1681565b600354600160a060020a031681565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105ad5780601f10610582576101008083540402835291602001916105ad565b60035460009033600160a060020a0390811691161415610bef576105d9838361114b565b60085460ff1615610bff57600080fd5b600160a060020a03331660009081526009602052604090205460ff1615610c2557600080fd5b600160a060020a0333166000908152600a602052604090205460ff1615610c4b57600080fd5b610646838361114b565b60035460009033600160a060020a03908116911614610c7357600080fd5b50600160a060020a03166000908152600a60205260409020805460ff19169055600190565b60075481565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610cd6908363ffffffff61113c16565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60035433600160a060020a03908116911614610d8857600080fd5b600160a060020a0381161515610d9d57600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035433600160a060020a03908116911614610e2357600080fd5b80600160a060020a0316ff5b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b6000600160a060020a0383161515610eb257600080fd5b600160a060020a038416600090815260016020526040902054821115610ed757600080fd5b600160a060020a0380851660009081526002602090815260408083203390941683529290522054821115610f0a57600080fd5b600160a060020a038416600090815260016020526040902054610f33908363ffffffff61112a16565b600160a060020a038086166000908152600160205260408082209390935590851681522054610f68908363ffffffff61113c16565b600160a060020a03808516600090815260016020908152604080832094909455878316825260028152838220339093168252919091522054610fb0908363ffffffff61112a16565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60035460009033600160a060020a0390811691161461103b57600080fd5b60035460a060020a900460ff161561105257600080fd5b600054611065908363ffffffff61113c16565b6000908155600160a060020a038416815260016020526040902054611090908363ffffffff61113c16565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b60008282111561113657fe5b50900390565b60008282018381101561078e57fe5b6000600160a060020a038316151561116257600080fd5b600160a060020a03331660009081526001602052604090205482111561118757600080fd5b600160a060020a0333166000908152600160205260409020546111b0908363ffffffff61112a16565b600160a060020a0333811660009081526001602052604080822093909355908516815220546111e5908363ffffffff61113c16565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3506001929150505600a165627a7a72305820278ecc3e1b466ec7e9f5dfc6afed99fccbcd71af8485897705a1762c042298f00029

Swarm Source

bzzr://278ecc3e1b466ec7e9f5dfc6afed99fccbcd71af8485897705a1762c042298f0
Block Age Transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.