ETH Price: $2,584.79 (+2.11%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw Payment...116549652021-01-14 18:58:351583 days ago1610650715IN
0xe683c31d...6Ea66F8D6
0 ETH0.0011375452.99537079
Start Mining By ...70770392019-01-16 17:12:272312 days ago1547658747IN
0xe683c31d...6Ea66F8D6
0 ETH0.000355764
Start Mining By ...70770392019-01-16 17:12:272312 days ago1547658747IN
0xe683c31d...6Ea66F8D6
0 ETH0.000273734
Start Mining By ...70760272019-01-16 13:02:482312 days ago1547643768IN
0xe683c31d...6Ea66F8D6
0 ETH0.000184383
Start Selling70699992019-01-15 10:52:002313 days ago1547549520IN
0xe683c31d...6Ea66F8D6
0 ETH0.000813949
Start Selling70699842019-01-15 10:47:502313 days ago1547549270IN
0xe683c31d...6Ea66F8D6
0 ETH0.0010869
Start Mining By ...70699822019-01-15 10:47:232313 days ago1547549243IN
0xe683c31d...6Ea66F8D6
0 ETH0.000829719
Start Mining By ...70699802019-01-15 10:46:152313 days ago1547549175IN
0xe683c31d...6Ea66F8D6
0 ETH0.0006146110
Up Mine LVL70676082019-01-15 0:26:282313 days ago1547511988IN
0xe683c31d...6Ea66F8D6
0 ETH0.000141933
Start Buying70676012019-01-15 0:24:472313 days ago1547511887IN
0xe683c31d...6Ea66F8D6
0.002 ETH0.000101713
Up Mine LVL70675942019-01-15 0:23:352313 days ago1547511815IN
0xe683c31d...6Ea66F8D6
0 ETH0.000247456
Start Buying70675892019-01-15 0:23:032313 days ago1547511783IN
0xe683c31d...6Ea66F8D6
0.003 ETH0.000342337
Start Buying70675852019-01-15 0:22:252313 days ago1547511745IN
0xe683c31d...6Ea66F8D6
0.003 ETH0.000237337
Start Mining By ...70620792019-01-14 0:59:502314 days ago1547427590IN
0xe683c31d...6Ea66F8D6
0 ETH0.000151323
Start Buying70620732019-01-14 0:57:332314 days ago1547427453IN
0xe683c31d...6Ea66F8D6
0.075 ETH0.000154625
Start Selling70029862019-01-03 11:07:482325 days ago1546513668IN
0xe683c31d...6Ea66F8D6
0 ETH0.000482664
Start Selling70029862019-01-03 11:07:482325 days ago1546513668IN
0xe683c31d...6Ea66F8D6
0 ETH0.000361613
Start Selling70029722019-01-03 11:03:232325 days ago1546513403IN
0xe683c31d...6Ea66F8D6
0 ETH0.00027153
Start Selling69888932019-01-01 1:08:142327 days ago1546304894IN
0xe683c31d...6Ea66F8D6
0 ETH0.000316313
Start Mining By ...69888932019-01-01 1:08:142327 days ago1546304894IN
0xe683c31d...6Ea66F8D6
0 ETH0.000200713
Start Selling69888932019-01-01 1:08:142327 days ago1546304894IN
0xe683c31d...6Ea66F8D6
0 ETH0.000210872
Stop Selling69888812019-01-01 1:06:192327 days ago1546304779IN
0xe683c31d...6Ea66F8D6
0 ETH0.000040412
Start Buying69857502018-12-31 12:25:392328 days ago1546259139IN
0xe683c31d...6Ea66F8D6
0.1 ETH0.000092773
Start Buying69857452018-12-31 12:24:352328 days ago1546259075IN
0xe683c31d...6Ea66F8D6
0.042 ETH0.000092773
Start Selling69855662018-12-31 11:36:422328 days ago1546256202IN
0xe683c31d...6Ea66F8D6
0 ETH0.000241072
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-116549652021-01-14 18:58:351583 days ago1610650715
0xe683c31d...6Ea66F8D6
0.15921 ETH
-70676012019-01-15 0:24:472313 days ago1547511887
0xe683c31d...6Ea66F8D6
0.002 ETH
-70675892019-01-15 0:23:032313 days ago1547511783
0xe683c31d...6Ea66F8D6
0.003 ETH
-70675852019-01-15 0:22:252313 days ago1547511745
0xe683c31d...6Ea66F8D6
0.003 ETH
-70620732019-01-14 0:57:332314 days ago1547427453
0xe683c31d...6Ea66F8D6
0.075 ETH
-69857502018-12-31 12:25:392328 days ago1546259139
0xe683c31d...6Ea66F8D6
0.1 ETH
-69857452018-12-31 12:24:352328 days ago1546259075
0xe683c31d...6Ea66F8D6
0.042 ETH
-69734722018-12-29 10:47:272330 days ago1546080447
0xe683c31d...6Ea66F8D6
0.037 ETH
-69734702018-12-29 10:47:052330 days ago1546080425
0xe683c31d...6Ea66F8D6
0.001 ETH
-69305932018-12-22 4:44:572337 days ago1545453897
0xe683c31d...6Ea66F8D6
0.034 ETH
Transfer67795762018-11-27 1:58:522362 days ago1543283932
0xe683c31d...6Ea66F8D6
0.002 ETH
Transfer67038592018-11-14 16:16:432375 days ago1542212203
0xe683c31d...6Ea66F8D6
0.015 ETH
Transfer61963032018-08-23 0:41:342458 days ago1534984894
0xe683c31d...6Ea66F8D6
0.012 ETH
Transfer61135842018-08-09 1:13:052472 days ago1533777185
0xe683c31d...6Ea66F8D6
0.03 ETH
Transfer61066702018-08-07 21:18:502473 days ago1533676730
0xe683c31d...6Ea66F8D6
0.002 ETH
Transfer56303932018-05-17 17:23:152556 days ago1526577795
0xe683c31d...6Ea66F8D6
4.87108 ETH
Transfer56021552018-05-12 18:36:442561 days ago1526150204
0xe683c31d...6Ea66F8D6
0.07099999 ETH
Transfer55895192018-05-10 13:27:312563 days ago1525958851
0xe683c31d...6Ea66F8D6
0.115 ETH
Transfer55831872018-05-09 11:04:252564 days ago1525863865
0xe683c31d...6Ea66F8D6
0.013 ETH
Transfer55780802018-05-08 13:28:162565 days ago1525786096
0xe683c31d...6Ea66F8D6
0.003 ETH
Transfer55779982018-05-08 13:08:272565 days ago1525784907
0xe683c31d...6Ea66F8D6
0.011 ETH
Transfer55734782018-05-07 18:38:062566 days ago1525718286
0xe683c31d...6Ea66F8D6
0.15 ETH
Transfer55267852018-04-29 14:13:022574 days ago1525011182
0xe683c31d...6Ea66F8D6
0.25 ETH
Transfer55059792018-04-25 23:51:272577 days ago1524700287
0xe683c31d...6Ea66F8D6
0.158 ETH
Transfer54968562018-04-24 10:09:182579 days ago1524564558
0xe683c31d...6Ea66F8D6
0.08 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MinesFactory

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-02-16
*/

/*
    CryptoMines game via Ethereum Smart Contract

	In the game you can buy, sell and upgrade mines from 1 to 14 levels. Upgrade 13 level mine to the last 14 level also give you BONUS - 12 new mines differrent levels.
	You can mining the resources needed to upgrade mines. Resources can also be traded to other gamers for their mines upgrade.
	The cost of production of new mines takes place on a strict mathematical formula and depends on the real USD currency value.
	
	Website: https://cryptomines.pro
	
	@author Valeriy Antonov
*/	
	
	
pragma solidity ^0.4.19;
contract Ownable {

  address public owner;

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

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

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

  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

contract Payments is Ownable {
  mapping(address => uint256) public payments; 
  
  function getBalance() public constant onlyOwner returns(uint256) {
	 return payments[msg.sender];
  }    
  

  function withdrawPayments() public onlyOwner {
	address payee = msg.sender;
	uint256 payment = payments[payee];

	require(payment != 0);
	require(this.balance >= payment);

	payments[payee] = 0;

	assert(payee.send(payment));
  }  
    
}

contract Resources {
    //ResoursId->ResourceOwner->amount
	mapping(uint8 => mapping(address => uint256) ) public ResourcesOwner; 
}

contract CryptoMines is Resources {
	mapping(uint256 => address) internal MineOwner; 
	mapping(uint256 => uint8) internal MineLevel; 
	mapping(uint256 => uint256) internal MineCooldown; 
	uint256 public nextMineId = 15;
	uint256 public nextMineEvent = 1;
	
	event MineAffected(uint256 indexed AffectId, uint256 MineId);

	function createNewMine(uint8 _MineLVL) internal {
        MineOwner[nextMineId] = msg.sender;
        MineLevel[nextMineId] = _MineLVL;
        MineCooldown[nextMineId] = now;
		
		nextMineId++;
	}
	
	function StartMiningByIdArray(uint256[] _MineIds) public {
	    uint256 MinesCount = _MineIds.length;
		
		require(MinesCount>0);
		
		for (uint256 key=0; key < MinesCount; key++) {
			if (MineOwner[_MineIds[key]]==msg.sender)
				StartMiningById(_MineIds[key]); 
		}
	}
	
	function StartMiningById(uint256 _MineId) internal {
	    
		uint8 MineLVL=MineLevel[_MineId];
		
		assert (MineLVL>0 && MineOwner[_MineId]==msg.sender);	
		
	    uint256 MiningDays = (now - MineCooldown[_MineId])/86400;
		
		assert (MiningDays>0);

		uint256 newCooldown = MineCooldown[_MineId] + MiningDays*86400;
		
		if (MineLVL==14) {
			//14 (high) level mining x2 resources then 13 level
			MineLVL = 13;
			MiningDays = MiningDays*2;
		}
		//start mining			
		for (uint8 lvl=1; lvl<=MineLVL; lvl++) {
			ResourcesOwner[lvl][msg.sender] +=  (MineLVL-lvl+1)*MiningDays;
		}
	
		MineCooldown[_MineId] = newCooldown;
	}	
	
	function UpMineLVL(uint256 _MineId) public {	
		uint8 MineLVL=MineLevel[_MineId];
		
		require (MineLVL>0 && MineLVL<=13 && MineOwner[_MineId]==msg.sender);	
		
		for (uint8 lvl=1; lvl<=MineLVL; lvl++) {
		    require (ResourcesOwner[lvl][msg.sender] >= (MineLVL-lvl+2)*15);
		}

		for (lvl=1; lvl<=MineLVL; lvl++) {
		    ResourcesOwner[lvl][msg.sender] -= (MineLVL-lvl+2)*15;
			//super bonus for the creation high level mine
			if (MineLVL==13 && lvl<=12) 
			    createNewMine(lvl);
		}
		
		MineLevel[_MineId]++;
		
		MineAffected(nextMineEvent,_MineId);
		nextMineEvent++;		
	}
}

contract Trading is CryptoMines, Payments {

    struct tradeStruct {
        address Seller;
        uint8 ResourceId;
        uint256 ResourceAmount;
        uint256 MineId;
        uint128 Price;
    }
    //tradeId->tradeOwner->cost
    mapping(uint256 => tradeStruct) public TradeList; 
	mapping(uint256 => uint256) public MinesOnTrade; 
	uint128[13] public minesPrice;
	uint256 public TradeId = 1;
	uint256 public nextTradeEvent = 1;
	
	event TradeAffected(uint256 indexed AffectId, uint256 TradeId);
	
  	function buyMine(uint8 _MineLVL) public payable {
	    
		require(_MineLVL>0 && _MineLVL<=13 && msg.value==minesPrice[_MineLVL-1]);
	    
        createNewMine(_MineLVL);
		payments[owner]+=msg.value;
		
	} 
	
    function startSelling(uint8 _sellResourceId, uint256 _ResourcesAmount, uint256 _sellMineId, uint128 _sellPrice) public {
		require ( (_sellResourceId==0 || _sellMineId==0) && (_sellResourceId>0 || _sellMineId>0) && _sellPrice>0 );
		_sellPrice = _sellPrice - _sellPrice%1000; //fix price, some time it was added a few wei.
		if (_sellResourceId>0) {
			require (_ResourcesAmount>0 && ResourcesOwner[_sellResourceId][msg.sender]>=_ResourcesAmount);
			ResourcesOwner[_sellResourceId][msg.sender] -= _ResourcesAmount;
			TradeList[TradeId]=tradeStruct({Seller: msg.sender, ResourceId: _sellResourceId, ResourceAmount: _ResourcesAmount, MineId: _sellMineId, Price: _sellPrice});
		}
		
		if (_sellMineId>0) {		
		    require (MineOwner[_sellMineId]==msg.sender && MinesOnTrade[_sellMineId]==0);
			TradeList[TradeId]=tradeStruct({Seller: msg.sender, ResourceId: _sellResourceId, ResourceAmount: _ResourcesAmount, MineId: _sellMineId, Price: _sellPrice});
			MinesOnTrade[_sellMineId]=TradeId;
		}
        
		TradeId++;
	}
	
    function stopSelling(uint256 _TradeId) public {	
		require (_TradeId>0);
		tradeStruct TradeLot = TradeList[_TradeId];	
        require (TradeLot.Seller==msg.sender && TradeLot.Price>0);
		if (TradeLot.ResourceId>0) {
			ResourcesOwner[TradeLot.ResourceId][TradeLot.Seller] += TradeLot.ResourceAmount;
		}
		//stop trade
		MinesOnTrade[TradeLot.MineId]=0;
		TradeLot.Price=0;
		TradeAffected(nextTradeEvent,_TradeId);		
		nextTradeEvent++;
	}
	
    function changeSellingPrice(uint256 _TradeId, uint128 _newPrice) public {	
		require (_TradeId>0 && _newPrice>0);
		tradeStruct TradeLot = TradeList[_TradeId];	
        require (TradeLot.Seller==msg.sender && TradeLot.Price>0);
		TradeLot.Price=_newPrice;
		
		TradeAffected(nextTradeEvent,_TradeId);		
		nextTradeEvent++;
	}
	
    
	function startBuying(uint256 _TradeId) public payable {
		tradeStruct TradeLot = TradeList[_TradeId];
		require (TradeLot.Price==msg.value && msg.value>0);
		 
		if (TradeLot.ResourceId>0) {
			ResourcesOwner[TradeLot.ResourceId][msg.sender] += TradeLot.ResourceAmount;
		}
		 
		if (TradeLot.MineId>0) {
			MineOwner[TradeLot.MineId]=msg.sender;
			MinesOnTrade[TradeLot.MineId]=0;
			MineAffected(nextMineEvent,TradeLot.MineId);
			nextMineEvent++;					
		}
		 
		address payee = TradeLot.Seller;
		payee.transfer(msg.value);

		//stop trade
		TradeLot.Price=0;
		
		TradeAffected(nextTradeEvent,_TradeId);		
		nextTradeEvent++;
		
	}
	
}

contract FiatContract {
  function ETH(uint _id) constant returns (uint256);
  function USD(uint _id) constant returns (uint256);
  function EUR(uint _id) constant returns (uint256);
  function GBP(uint _id) constant returns (uint256);
  function updatedAt(uint _id) constant returns (uint);
}


contract MinesFactory is Trading {

	function setMinesPrice () public {
		// mine level 1 price = getUSD()*10 = 10 USD;
	   uint128 lvl1MinePrice = getUSD()*10; 
		
	    for (uint8 lvl=0; lvl<13; lvl++) {
			if (lvl<=2)
				minesPrice[lvl] = (lvl+1)*lvl1MinePrice;
			else
			    minesPrice[lvl] = minesPrice[lvl-1]+minesPrice[lvl-2];
		}
	}
	
	function getMinesInfo(uint256[] _MineIds) public constant returns(address[32], uint8[32], uint256[32]) {
	    address[32] memory MinesOwners_;
	    uint8[32] memory MinesLevels_;
	    uint256[32] memory MinesCooldowns_;

		uint256 MinesCount=_MineIds.length;
		require (MinesCount>0 && MinesCount<=32);
		
		for (uint256 key=0; key < MinesCount; key++) {
			MinesOwners_[key]=MineOwner[_MineIds[key]];
			MinesLevels_[key]=MineLevel[_MineIds[key]];
			MinesCooldowns_[key]=MineCooldown[_MineIds[key]];
		}
		return (MinesOwners_, MinesLevels_, MinesCooldowns_);
	}

	function getResourcesInfo(address _resourcesOwner) public constant returns(uint256[13]) {
	    uint256[13] memory ResourcesAmount_;
		for (uint8 key=0; key <= 12; key++) {
			ResourcesAmount_[key]=ResourcesOwner[key+1][_resourcesOwner];
		}
		return ResourcesAmount_;
	}	
	
	function getMineCooldown(uint256 _MineId) public constant returns(uint256) {
	    return now - MineCooldown[_MineId];
	}
	
    function getUSD() constant returns (uint128) {
		//Fiat Currency value from https://fiatcontract.com/
		//Get Fiat Currency value within an Ethereum Contract
		//$0.01 USD/EURO/GBP in ETH to fit your conversion
		
		FiatContract price;
		
		price = FiatContract(0x8055d0504666e2B6942BeB8D6014c964658Ca591); //mainnet
		require (price.USD(0) > 10000000000);
		uint128 USDtoWEIrounded = uint128((price.USD(0) - price.USD(0) % 10000000000) * 100);
		
		//return 1 USD currency value in WEI ;
		return USDtoWEIrounded;
    }	
	
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[{"name":"_resourcesOwner","type":"address"}],"name":"getResourcesInfo","outputs":[{"name":"","type":"uint256[13]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_MineId","type":"uint256"}],"name":"getMineCooldown","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint8"},{"name":"","type":"address"}],"name":"ResourcesOwner","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getUSD","outputs":[{"name":"","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawPayments","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_MineId","type":"uint256"}],"name":"UpMineLVL","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_TradeId","type":"uint256"},{"name":"_newPrice","type":"uint128"}],"name":"changeSellingPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"TradeList","outputs":[{"name":"Seller","type":"address"},{"name":"ResourceId","type":"uint8"},{"name":"ResourceAmount","type":"uint256"},{"name":"MineId","type":"uint256"},{"name":"Price","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"MinesOnTrade","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sellResourceId","type":"uint8"},{"name":"_ResourcesAmount","type":"uint256"},{"name":"_sellMineId","type":"uint256"},{"name":"_sellPrice","type":"uint128"}],"name":"startSelling","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_MineIds","type":"uint256[]"}],"name":"getMinesInfo","outputs":[{"name":"","type":"address[32]"},{"name":"","type":"uint8[32]"},{"name":"","type":"uint256[32]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nextMineId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nextTradeEvent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_TradeId","type":"uint256"}],"name":"stopSelling","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_MineLVL","type":"uint8"}],"name":"buyMine","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"TradeId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"setMinesPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"minesPrice","outputs":[{"name":"","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"payments","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nextMineEvent","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":"_MineIds","type":"uint256[]"}],"name":"StartMiningByIdArray","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_TradeId","type":"uint256"}],"name":"startBuying","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"AffectId","type":"uint256"},{"indexed":false,"name":"TradeId","type":"uint256"}],"name":"TradeAffected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"AffectId","type":"uint256"},{"indexed":false,"name":"MineId","type":"uint256"}],"name":"MineAffected","type":"event"}]

6060604052600f60045560016005556001601155600160125533600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506124f0806100686000396000f300606060405260043610610148576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806214f9561461014d57806312065fe0146101c25780632c3f6a4f146101eb5780633e592d50146102225780635c88da6f1461027b5780636103d70b146102c857806365b70e45146102dd5780636f479f57146103005780637b5a08c51461033e5780638da5cb5b146103e75780638e08b2ec1461043c578063924dd50a14610473578063973880e8146104c65780639b550e55146105b7578063a504bd0d146105e0578063a5f128fb14610609578063c144d7dc1461062c578063c712f3b314610647578063d13ea9ca14610670578063df133cf914610685578063e2982c21146106e0578063f27e2ef61461072d578063f2fde38b14610756578063f5c89f831461078f578063ffa72707146107e9575b600080fd5b341561015857600080fd5b610184600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610801565b6040518082600d60200280838360005b838110156101af578082015181840152602081019050610194565b5050505090500191505060405180910390f35b34156101cd57600080fd5b6101d56108ae565b6040518082815260200191505060405180910390f35b34156101f657600080fd5b61020c6004808035906020019091905050610951565b6040518082815260200191505060405180910390f35b341561022d57600080fd5b610265600480803560ff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610970565b6040518082815260200191505060405180910390f35b341561028657600080fd5b61028e610995565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102d357600080fd5b6102db610b97565b005b34156102e857600080fd5b6102fe6004808035906020019091905050610cf7565b005b341561030b57600080fd5b61033c60048080359060200190919080356fffffffffffffffffffffffffffffffff16906020019091905050610f82565b005b341561034957600080fd5b61035f60048080359060200190919050506110ed565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018560ff1660ff168152602001848152602001838152602001826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020019550505050505060405180910390f35b34156103f257600080fd5b6103fa61116c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561044757600080fd5b61045d6004808035906020019091905050611192565b6040518082815260200191505060405180910390f35b341561047e57600080fd5b6104c4600480803560ff169060200190919080359060200190919080359060200190919080356fffffffffffffffffffffffffffffffff169060200190919050506111aa565b005b34156104d157600080fd5b61051e600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050611617565b60405180846020800280838360005b8381101561054857808201518184015260208101905061052d565b50505050905001836020800280838360005b8381101561057557808201518184015260208101905061055a565b50505050905001826020800280838360005b838110156105a2578082015181840152602081019050610587565b50505050905001935050505060405180910390f35b34156105c257600080fd5b6105ca6117c2565b6040518082815260200191505060405180910390f35b34156105eb57600080fd5b6105f36117c8565b6040518082815260200191505060405180910390f35b341561061457600080fd5b61062a60048080359060200190919050506117ce565b005b610645600480803560ff169060200190919050506119f2565b005b341561065257600080fd5b61065a611ae8565b6040518082815260200191505060405180910390f35b341561067b57600080fd5b610683611aee565b005b341561069057600080fd5b6106a66004808035906020019091905050611c5d565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106eb57600080fd5b610717600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c98565b6040518082815260200191505060405180910390f35b341561073857600080fd5b610740611cb0565b6040518082815260200191505060405180910390f35b341561076157600080fd5b61078d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611cb6565b005b341561079a57600080fd5b6107e7600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050611e0e565b005b6107ff6004808035906020019091905050611ee2565b005b610809612407565b610811612407565b60008090505b600c8160ff161115156108a4576000806001830160ff1660ff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054828260ff16600d8110151561088e57fe5b6020020181815250508080600101915050610817565b8192505050919050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561090c57600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b6000600360008381526020019081526020016000205442039050919050565b6000602052816000526040600020602052806000526040600020600091509150505481565b6000806000738055d0504666e2b6942beb8d6014c964658ca59191506402540be4008273ffffffffffffffffffffffffffffffffffffffff16630c560c64600080604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515610a2e57600080fd5b6102c65a03f11515610a3f57600080fd5b50505060405180519050111515610a5557600080fd5b60646402540be4008373ffffffffffffffffffffffffffffffffffffffff16630c560c64600080604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515610ad457600080fd5b6102c65a03f11515610ae557600080fd5b50505060405180519050811515610af857fe5b068373ffffffffffffffffffffffffffffffffffffffff16630c560c64600080604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515610b7057600080fd5b6102c65a03f11515610b8157600080fd5b5050506040518051905003029050809250505090565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bf657600080fd5b339150600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008114151515610c4b57600080fd5b803073ffffffffffffffffffffffffffffffffffffffff163110151515610c7157600080fd5b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610cf357fe5b5050565b6000806002600084815260200190815260200160002060009054906101000a900460ff16915060008260ff16118015610d345750600d8260ff1611155b8015610d9e57503373ffffffffffffffffffffffffffffffffffffffff166001600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1515610da957600080fd5b600190505b8160ff168160ff16111515610e3957600f6002828403010260ff166000808360ff1660ff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610e2c57600080fd5b8080600101915050610dae565b600190505b8160ff168160ff16111515610eee57600f6002828403010260ff166000808360ff1660ff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600d8260ff16148015610ed25750600c8160ff1611155b15610ee157610ee0816121a1565b5b8080600101915050610e3e565b60026000848152602001908152602001600020600081819054906101000a900460ff168092919060010191906101000a81548160ff021916908360ff160217905550506005547fb770391bf57d1c62680303f1fa046277b0992ae97aa4bd1d919d6b68cea4d797846040518082815260200191505060405180910390a2600560008154809291906001019190505550505050565b60008083118015610fa557506000826fffffffffffffffffffffffffffffffff16115b1515610fb057600080fd5b6008600084815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015611056575060008160030160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16115b151561106157600080fd5b818160030160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506012547fa9fd1bd3ea5c6ffe5f109bcf05370a1b1439a16f5cbccc7b1e49487f59efdf8c846040518082815260200191505060405180910390a2601260008154809291906001019190505550505050565b60086020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460ff16908060010154908060020154908060030160009054906101000a90046fffffffffffffffffffffffffffffffff16905085565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60096020528060005260406000206000915090505481565b60008460ff1614806111bc5750600082145b80156111d6575060008460ff1611806111d55750600082115b5b80156111f457506000816fffffffffffffffffffffffffffffffff16115b15156111ff57600080fd5b6103e8816fffffffffffffffffffffffffffffffff1681151561121e57fe5b068103905060008460ff161115611429576000831180156112945750826000808660ff1660ff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b151561129f57600080fd5b826000808660ff1660ff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555060a0604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018560ff168152602001848152602001838152602001826fffffffffffffffffffffffffffffffff1681525060086000601154815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff021916908360ff160217905550604082015181600101556060820151816002015560808201518160030160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055509050505b60008211156115ff573373ffffffffffffffffffffffffffffffffffffffff166001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156114b3575060006009600084815260200190815260200160002054145b15156114be57600080fd5b60a0604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018560ff168152602001848152602001838152602001826fffffffffffffffffffffffffffffffff1681525060086000601154815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff021916908360ff160217905550604082015181600101556060820151816002015560808201518160030160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555090505060115460096000848152602001908152602001600020819055505b60116000815480929190600101919050555050505050565b61161f612430565b61162761246f565b61162f61249b565b611637612430565b61163f61246f565b61164761249b565b6000808851915060008211801561165f575060208211155b151561166a57600080fd5b600090505b818110156117ad57600160008a8381518110151561168957fe5b90602001906020020151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685826020811015156116d057fe5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260008a8381518110151561171957fe5b90602001906020020151815260200190815260200160002060009054906101000a900460ff16848260208110151561174d57fe5b602002019060ff16908160ff1681525050600360008a8381518110151561177057fe5b90602001906020020151815260200190815260200160002054838260208110151561179757fe5b602002018181525050808060010191505061166f565b84848497509750975050505050509193909250565b60045481565b60125481565b600080821115156117de57600080fd5b6008600083815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015611884575060008160030160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16115b151561188f57600080fd5b60008160000160149054906101000a900460ff1660ff1611156119495780600101546000808360000160149054906101000a900460ff1660ff1660ff16815260200190815260200160002060008360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b600060096000836002015481526020019081526020016000208190555060008160030160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506012547fa9fd1bd3ea5c6ffe5f109bcf05370a1b1439a16f5cbccc7b1e49487f59efdf8c836040518082815260200191505060405180910390a26012600081548092919060010191905055505050565b60008160ff16118015611a095750600d8160ff1611155b8015611a625750600a6001820360ff16600d81101515611a2557fe5b600291828204019190066010029054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1634145b1515611a6d57600080fd5b611a76816121a1565b3460076000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555050565b60115481565b600080600a611afb610995565b029150600090505b600d8160ff161015611c595760028160ff16111515611b7d57816001820160ff1602600a8260ff16600d81101515611b3757fe5b600291828204019190066010026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550611c4c565b600a6002820360ff16600d81101515611b9257fe5b600291828204019190066010029054906101000a90046fffffffffffffffffffffffffffffffff16600a6001830360ff16600d81101515611bcf57fe5b600291828204019190066010029054906101000a90046fffffffffffffffffffffffffffffffff1601600a8260ff16600d81101515611c0a57fe5b600291828204019190066010026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b8080600101915050611b03565b5050565b600a81600d81101515611c6c57fe5b60029182820401919006601002915054906101000a90046fffffffffffffffffffffffffffffffff1681565b60076020528060005260406000206000915090505481565b60055481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d1257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611d4e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008082519150600082111515611e2457600080fd5b600090505b81811015611edd573373ffffffffffffffffffffffffffffffffffffffff16600160008584815181101515611e5a57fe5b90602001906020020151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611ed057611ecf8382815181101515611ec057fe5b90602001906020020151612252565b5b8080600101915050611e29565b505050565b600080600860008481526020019081526020016000209150348260030160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16148015611f3b5750600034115b1515611f4657600080fd5b60008260000160149054906101000a900460ff1660ff161115611fdc5781600101546000808460000160149054906101000a900460ff1660ff1660ff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b6000826002015411156120ad5733600160008460020154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006009600084600201548152602001908152602001600020819055506005547fb770391bf57d1c62680303f1fa046277b0992ae97aa4bd1d919d6b68cea4d79783600201546040518082815260200191505060405180910390a26005600081548092919060010191905055505b8160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561211457600080fd5b60008260030160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506012547fa9fd1bd3ea5c6ffe5f109bcf05370a1b1439a16f5cbccc7b1e49487f59efdf8c846040518082815260200191505060405180910390a2601260008154809291906001019190505550505050565b3360016000600454815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060026000600454815260200190815260200160002060006101000a81548160ff021916908360ff160217905550426003600060045481526020019081526020016000208190555060046000815480929190600101919050555050565b6000806000806002600086815260200190815260200160002060009054906101000a900460ff16935060008460ff161180156122ec57503373ffffffffffffffffffffffffffffffffffffffff166001600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15156122f457fe5b620151806003600087815260200190815260200160002054420381151561231757fe5b04925060008311151561232657fe5b6201518083026003600087815260200190815260200160002054019150600e8460ff16141561235a57600d93506002830292505b600190505b8360ff168160ff161115156123e8578260018286030160ff16026000808360ff1660ff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550808060010191505061235f565b8160036000878152602001908152602001600020819055505050505050565b6101a060405190810160405280600d905b60008152602001906001900390816124185790505090565b610400604051908101604052806020905b600073ffffffffffffffffffffffffffffffffffffffff168152602001906001900390816124415790505090565b610400604051908101604052806020905b600060ff168152602001906001900390816124805790505090565b610400604051908101604052806020905b60008152602001906001900390816124ac57905050905600a165627a7a723058208a1fef8503c8f63533f769db7aff474e1514eafcb48d418c8685697d69a485a60029

Deployed Bytecode

0x606060405260043610610148576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806214f9561461014d57806312065fe0146101c25780632c3f6a4f146101eb5780633e592d50146102225780635c88da6f1461027b5780636103d70b146102c857806365b70e45146102dd5780636f479f57146103005780637b5a08c51461033e5780638da5cb5b146103e75780638e08b2ec1461043c578063924dd50a14610473578063973880e8146104c65780639b550e55146105b7578063a504bd0d146105e0578063a5f128fb14610609578063c144d7dc1461062c578063c712f3b314610647578063d13ea9ca14610670578063df133cf914610685578063e2982c21146106e0578063f27e2ef61461072d578063f2fde38b14610756578063f5c89f831461078f578063ffa72707146107e9575b600080fd5b341561015857600080fd5b610184600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610801565b6040518082600d60200280838360005b838110156101af578082015181840152602081019050610194565b5050505090500191505060405180910390f35b34156101cd57600080fd5b6101d56108ae565b6040518082815260200191505060405180910390f35b34156101f657600080fd5b61020c6004808035906020019091905050610951565b6040518082815260200191505060405180910390f35b341561022d57600080fd5b610265600480803560ff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610970565b6040518082815260200191505060405180910390f35b341561028657600080fd5b61028e610995565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102d357600080fd5b6102db610b97565b005b34156102e857600080fd5b6102fe6004808035906020019091905050610cf7565b005b341561030b57600080fd5b61033c60048080359060200190919080356fffffffffffffffffffffffffffffffff16906020019091905050610f82565b005b341561034957600080fd5b61035f60048080359060200190919050506110ed565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018560ff1660ff168152602001848152602001838152602001826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020019550505050505060405180910390f35b34156103f257600080fd5b6103fa61116c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561044757600080fd5b61045d6004808035906020019091905050611192565b6040518082815260200191505060405180910390f35b341561047e57600080fd5b6104c4600480803560ff169060200190919080359060200190919080359060200190919080356fffffffffffffffffffffffffffffffff169060200190919050506111aa565b005b34156104d157600080fd5b61051e600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050611617565b60405180846020800280838360005b8381101561054857808201518184015260208101905061052d565b50505050905001836020800280838360005b8381101561057557808201518184015260208101905061055a565b50505050905001826020800280838360005b838110156105a2578082015181840152602081019050610587565b50505050905001935050505060405180910390f35b34156105c257600080fd5b6105ca6117c2565b6040518082815260200191505060405180910390f35b34156105eb57600080fd5b6105f36117c8565b6040518082815260200191505060405180910390f35b341561061457600080fd5b61062a60048080359060200190919050506117ce565b005b610645600480803560ff169060200190919050506119f2565b005b341561065257600080fd5b61065a611ae8565b6040518082815260200191505060405180910390f35b341561067b57600080fd5b610683611aee565b005b341561069057600080fd5b6106a66004808035906020019091905050611c5d565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106eb57600080fd5b610717600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c98565b6040518082815260200191505060405180910390f35b341561073857600080fd5b610740611cb0565b6040518082815260200191505060405180910390f35b341561076157600080fd5b61078d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611cb6565b005b341561079a57600080fd5b6107e7600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050611e0e565b005b6107ff6004808035906020019091905050611ee2565b005b610809612407565b610811612407565b60008090505b600c8160ff161115156108a4576000806001830160ff1660ff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054828260ff16600d8110151561088e57fe5b6020020181815250508080600101915050610817565b8192505050919050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561090c57600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b6000600360008381526020019081526020016000205442039050919050565b6000602052816000526040600020602052806000526040600020600091509150505481565b6000806000738055d0504666e2b6942beb8d6014c964658ca59191506402540be4008273ffffffffffffffffffffffffffffffffffffffff16630c560c64600080604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515610a2e57600080fd5b6102c65a03f11515610a3f57600080fd5b50505060405180519050111515610a5557600080fd5b60646402540be4008373ffffffffffffffffffffffffffffffffffffffff16630c560c64600080604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515610ad457600080fd5b6102c65a03f11515610ae557600080fd5b50505060405180519050811515610af857fe5b068373ffffffffffffffffffffffffffffffffffffffff16630c560c64600080604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515610b7057600080fd5b6102c65a03f11515610b8157600080fd5b5050506040518051905003029050809250505090565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bf657600080fd5b339150600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008114151515610c4b57600080fd5b803073ffffffffffffffffffffffffffffffffffffffff163110151515610c7157600080fd5b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610cf357fe5b5050565b6000806002600084815260200190815260200160002060009054906101000a900460ff16915060008260ff16118015610d345750600d8260ff1611155b8015610d9e57503373ffffffffffffffffffffffffffffffffffffffff166001600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1515610da957600080fd5b600190505b8160ff168160ff16111515610e3957600f6002828403010260ff166000808360ff1660ff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610e2c57600080fd5b8080600101915050610dae565b600190505b8160ff168160ff16111515610eee57600f6002828403010260ff166000808360ff1660ff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600d8260ff16148015610ed25750600c8160ff1611155b15610ee157610ee0816121a1565b5b8080600101915050610e3e565b60026000848152602001908152602001600020600081819054906101000a900460ff168092919060010191906101000a81548160ff021916908360ff160217905550506005547fb770391bf57d1c62680303f1fa046277b0992ae97aa4bd1d919d6b68cea4d797846040518082815260200191505060405180910390a2600560008154809291906001019190505550505050565b60008083118015610fa557506000826fffffffffffffffffffffffffffffffff16115b1515610fb057600080fd5b6008600084815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015611056575060008160030160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16115b151561106157600080fd5b818160030160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506012547fa9fd1bd3ea5c6ffe5f109bcf05370a1b1439a16f5cbccc7b1e49487f59efdf8c846040518082815260200191505060405180910390a2601260008154809291906001019190505550505050565b60086020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460ff16908060010154908060020154908060030160009054906101000a90046fffffffffffffffffffffffffffffffff16905085565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60096020528060005260406000206000915090505481565b60008460ff1614806111bc5750600082145b80156111d6575060008460ff1611806111d55750600082115b5b80156111f457506000816fffffffffffffffffffffffffffffffff16115b15156111ff57600080fd5b6103e8816fffffffffffffffffffffffffffffffff1681151561121e57fe5b068103905060008460ff161115611429576000831180156112945750826000808660ff1660ff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b151561129f57600080fd5b826000808660ff1660ff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555060a0604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018560ff168152602001848152602001838152602001826fffffffffffffffffffffffffffffffff1681525060086000601154815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff021916908360ff160217905550604082015181600101556060820151816002015560808201518160030160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055509050505b60008211156115ff573373ffffffffffffffffffffffffffffffffffffffff166001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156114b3575060006009600084815260200190815260200160002054145b15156114be57600080fd5b60a0604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018560ff168152602001848152602001838152602001826fffffffffffffffffffffffffffffffff1681525060086000601154815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff021916908360ff160217905550604082015181600101556060820151816002015560808201518160030160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555090505060115460096000848152602001908152602001600020819055505b60116000815480929190600101919050555050505050565b61161f612430565b61162761246f565b61162f61249b565b611637612430565b61163f61246f565b61164761249b565b6000808851915060008211801561165f575060208211155b151561166a57600080fd5b600090505b818110156117ad57600160008a8381518110151561168957fe5b90602001906020020151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685826020811015156116d057fe5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260008a8381518110151561171957fe5b90602001906020020151815260200190815260200160002060009054906101000a900460ff16848260208110151561174d57fe5b602002019060ff16908160ff1681525050600360008a8381518110151561177057fe5b90602001906020020151815260200190815260200160002054838260208110151561179757fe5b602002018181525050808060010191505061166f565b84848497509750975050505050509193909250565b60045481565b60125481565b600080821115156117de57600080fd5b6008600083815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015611884575060008160030160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16115b151561188f57600080fd5b60008160000160149054906101000a900460ff1660ff1611156119495780600101546000808360000160149054906101000a900460ff1660ff1660ff16815260200190815260200160002060008360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b600060096000836002015481526020019081526020016000208190555060008160030160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506012547fa9fd1bd3ea5c6ffe5f109bcf05370a1b1439a16f5cbccc7b1e49487f59efdf8c836040518082815260200191505060405180910390a26012600081548092919060010191905055505050565b60008160ff16118015611a095750600d8160ff1611155b8015611a625750600a6001820360ff16600d81101515611a2557fe5b600291828204019190066010029054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1634145b1515611a6d57600080fd5b611a76816121a1565b3460076000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555050565b60115481565b600080600a611afb610995565b029150600090505b600d8160ff161015611c595760028160ff16111515611b7d57816001820160ff1602600a8260ff16600d81101515611b3757fe5b600291828204019190066010026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550611c4c565b600a6002820360ff16600d81101515611b9257fe5b600291828204019190066010029054906101000a90046fffffffffffffffffffffffffffffffff16600a6001830360ff16600d81101515611bcf57fe5b600291828204019190066010029054906101000a90046fffffffffffffffffffffffffffffffff1601600a8260ff16600d81101515611c0a57fe5b600291828204019190066010026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b8080600101915050611b03565b5050565b600a81600d81101515611c6c57fe5b60029182820401919006601002915054906101000a90046fffffffffffffffffffffffffffffffff1681565b60076020528060005260406000206000915090505481565b60055481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d1257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611d4e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008082519150600082111515611e2457600080fd5b600090505b81811015611edd573373ffffffffffffffffffffffffffffffffffffffff16600160008584815181101515611e5a57fe5b90602001906020020151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611ed057611ecf8382815181101515611ec057fe5b90602001906020020151612252565b5b8080600101915050611e29565b505050565b600080600860008481526020019081526020016000209150348260030160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16148015611f3b5750600034115b1515611f4657600080fd5b60008260000160149054906101000a900460ff1660ff161115611fdc5781600101546000808460000160149054906101000a900460ff1660ff1660ff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b6000826002015411156120ad5733600160008460020154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006009600084600201548152602001908152602001600020819055506005547fb770391bf57d1c62680303f1fa046277b0992ae97aa4bd1d919d6b68cea4d79783600201546040518082815260200191505060405180910390a26005600081548092919060010191905055505b8160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561211457600080fd5b60008260030160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506012547fa9fd1bd3ea5c6ffe5f109bcf05370a1b1439a16f5cbccc7b1e49487f59efdf8c846040518082815260200191505060405180910390a2601260008154809291906001019190505550505050565b3360016000600454815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060026000600454815260200190815260200160002060006101000a81548160ff021916908360ff160217905550426003600060045481526020019081526020016000208190555060046000815480929190600101919050555050565b6000806000806002600086815260200190815260200160002060009054906101000a900460ff16935060008460ff161180156122ec57503373ffffffffffffffffffffffffffffffffffffffff166001600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15156122f457fe5b620151806003600087815260200190815260200160002054420381151561231757fe5b04925060008311151561232657fe5b6201518083026003600087815260200190815260200160002054019150600e8460ff16141561235a57600d93506002830292505b600190505b8360ff168160ff161115156123e8578260018286030160ff16026000808360ff1660ff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550808060010191505061235f565b8160036000878152602001908152602001600020819055505050505050565b6101a060405190810160405280600d905b60008152602001906001900390816124185790505090565b610400604051908101604052806020905b600073ffffffffffffffffffffffffffffffffffffffff168152602001906001900390816124415790505090565b610400604051908101604052806020905b600060ff168152602001906001900390816124805790505090565b610400604051908101604052806020905b60008152602001906001900390816124ac57905050905600a165627a7a723058208a1fef8503c8f63533f769db7aff474e1514eafcb48d418c8685697d69a485a60029

Swarm Source

bzzr://8a1fef8503c8f63533f769db7aff474e1514eafcb48d418c8685697d69a485a6

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.