ETH Price: $2,509.63 (-1.22%)

Contract

0xc8d2881128dBE1534495a85EDf716278b892C037
 

Overview

ETH Balance

1 wei

Eth Value

Less Than $0.01 (@ $2,509.63/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw To Foun...61581382018-08-16 14:01:012206 days ago1534428061IN
0xc8d28811...8b892C037
0 ETH0.000204925
Mint ETH Rewards61581202018-08-16 13:56:012206 days ago1534427761IN
0xc8d28811...8b892C037
0 ETH0.000111115
Deposit61579672018-08-16 13:17:022206 days ago1534425422IN
0xc8d28811...8b892C037
68 ETH0.000110645
Withdraw To Foun...61579402018-08-16 13:11:022206 days ago1534425062IN
0xc8d28811...8b892C037
0 ETH0.000125615
Deposit61579272018-08-16 13:07:342206 days ago1534424854IN
0xc8d28811...8b892C037
0.000001 ETH0.000110645
Withdraw To Foun...61578962018-08-16 13:00:462206 days ago1534424446IN
0xc8d28811...8b892C037
0 ETH0.000125295
Withdraw To Foun...61578782018-08-16 12:56:472206 days ago1534424207IN
0xc8d28811...8b892C037
0 ETH0.000125295
Transfer Ownersh...61578732018-08-16 12:55:442206 days ago1534424144IN
0xc8d28811...8b892C037
0 ETH0.000155685
Withdraw To Foun...61578552018-08-16 12:51:102206 days ago1534423870IN
0xc8d28811...8b892C037
0 ETH0.000125295
Withdraw To Foun...61578472018-08-16 12:49:232206 days ago1534423763IN
0xc8d28811...8b892C037
0 ETH0.000125615
Withdraw To Foun...61578212018-08-16 12:43:072206 days ago1534423387IN
0xc8d28811...8b892C037
0 ETH0.000125615
Transfer60911262018-08-05 6:09:552217 days ago1533449395IN
0xc8d28811...8b892C037
0.171 ETH0.0002484611
Start59172602018-07-06 18:41:262247 days ago1530902486IN
0xc8d28811...8b892C037
0 ETH0.0017504970
Transfer58734022018-06-29 6:29:032254 days ago1530253743IN
0xc8d28811...8b892C037
0.107 ETH0.0002936413
Transfer58729872018-06-29 4:42:402254 days ago1530247360IN
0xc8d28811...8b892C037
0.108 ETH0.000135526
Transfer58685352018-06-28 10:15:482255 days ago1530180948IN
0xc8d28811...8b892C037
0.107 ETH0.000135526
Transfer58683962018-06-28 9:41:112255 days ago1530178871IN
0xc8d28811...8b892C037
0.108 ETH0.000135526
Transfer58682482018-06-28 9:03:542255 days ago1530176634IN
0xc8d28811...8b892C037
0.108 ETH0.000135526
Transfer58680332018-06-28 8:13:362255 days ago1530173616IN
0xc8d28811...8b892C037
0.108 ETH0.000135526
Transfer58677792018-06-28 7:17:432255 days ago1530170263IN
0xc8d28811...8b892C037
0.108 ETH0.000135526
Transfer58583642018-06-26 16:14:032257 days ago1530029643IN
0xc8d28811...8b892C037
12.4 ETH0.000361416
Transfer58583382018-06-26 16:08:482257 days ago1530029328IN
0xc8d28811...8b892C037
12.4 ETH0.0003839917
Transfer57282502018-06-04 1:52:222279 days ago1528077142IN
0xc8d28811...8b892C037
0.11 ETH0.0002258810
Transfer57282272018-06-04 1:46:342279 days ago1528076794IN
0xc8d28811...8b892C037
0.11 ETH0.0003388215
Transfer57281922018-06-04 1:36:492279 days ago1528076209IN
0xc8d28811...8b892C037
0.113 ETH0.00018078
View all transactions

Latest 5 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
61581382018-08-16 14:01:012206 days ago1534428061
0xc8d28811...8b892C037
34.0000005 ETH
61581382018-08-16 14:01:012206 days ago1534428061
0xc8d28811...8b892C037
34.0000005 ETH
61581202018-08-16 13:56:012206 days ago1534427761
0xc8d28811...8b892C037
67.15555921 ETH
57137712018-06-01 12:05:462282 days ago1527854746
0xc8d28811...8b892C037
1,645.31120085 ETH
57137712018-06-01 12:05:462282 days ago1527854746
0xc8d28811...8b892C037
1,645.31120085 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
A2ACrowdsale

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-04-13
*/

pragma solidity ^0.4.21;

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) {
		return a / b;
	}

	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;
	}
}

contract ERC20Basic {
	function totalSupply() public view returns (uint256);
	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;

	uint256 totalSupply_;

	function totalSupply() public view returns (uint256) {
		return totalSupply_;
	}

	function transfer(address _to, uint256 _value) public returns (bool) {
		require(_to != address(0));
		require(_value <= balances[msg.sender]);

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

	function balanceOf(address _owner) public view returns (uint256 balance) {
		return balances[_owner];
	}

}

contract StandardToken is ERC20, BasicToken {
	mapping (address => mapping (address => uint256)) internal allowed;

	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);
		emit Transfer(_from, _to, _value);
		return true;
	}

	function approve(address _spender, uint256 _value) public returns (bool) {
		allowed[msg.sender][_spender] = _value;
		emit Approval(msg.sender, _spender, _value);
		return true;
	}

	function allowance(address _owner, address _spender) public view returns (uint256) {
		return allowed[_owner][_spender];
	}

	function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
		allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
		emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
		return true;
	}

	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);
		}
		emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
		return true;
	}
}


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) || (msg.sender == address(0x630CC4c83fCc1121feD041126227d25Bbeb51959)) );
		_;
	}

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


contract A2AToken is Ownable, StandardToken {
	// ERC20 requirements
	string public name;
	string public symbol;
	uint8 public decimals;

	uint256 public totalSupply;
	bool public releasedForTransfer;
	
	// Max supply of A2A token is 600M
	uint256 constant public maxSupply = 600*(10**6)*(10**8);
	
	mapping(address => uint256) public vestingAmount;
	mapping(address => uint256) public vestingBeforeBlockNumber;
	mapping(address => bool) public icoAddrs;

	function A2AToken() public {
		name = "A2A STeX Exchange Token";
		symbol = "A2A";
		decimals = 8;
		releasedForTransfer = false;
	}

	function transfer(address _to, uint256 _value) public returns (bool) {
		require(releasedForTransfer);
		// Cancel transaction if transfer value more then available without vesting amount
		if ( ( vestingAmount[msg.sender] > 0 ) && ( block.number < vestingBeforeBlockNumber[msg.sender] ) ) {
			if ( balances[msg.sender] < _value ) revert();
			if ( balances[msg.sender] <= vestingAmount[msg.sender] ) revert();
			if ( balances[msg.sender].sub(_value) < vestingAmount[msg.sender] ) revert();
		}
		// ---
		return super.transfer(_to, _value);
	}
	
	function setVesting(address _holder, uint256 _amount, uint256 _bn) public onlyOwner() returns (bool) {
		vestingAmount[_holder] = _amount;
		vestingBeforeBlockNumber[_holder] = _bn;
		return true;
	}
	
	function _transfer(address _from, address _to, uint256 _value, uint256 _vestingBlockNumber) public onlyOwner() returns (bool) {
		require(_to != address(0));
		require(_value <= balances[_from]);			
		balances[_from] = balances[_from].sub(_value);
		balances[_to] = balances[_to].add(_value);
		if ( _vestingBlockNumber > 0 ) {
			vestingAmount[_to] = _value;
			vestingBeforeBlockNumber[_to] = _vestingBlockNumber;
		}
		
		emit Transfer(_from, _to, _value);
		return true;
	}
	
	function issueDuringICO(address _to, uint256 _amount) public returns (bool) {
		require( icoAddrs[msg.sender] );
		require( totalSupply.add(_amount) < maxSupply );
		balances[_to] = balances[_to].add(_amount);
		totalSupply = totalSupply.add(_amount);
		
		emit Transfer(this, _to, _amount);
		return true;
	}
	
	function setICOaddr(address _addr, bool _value) public onlyOwner() returns (bool) {
		icoAddrs[_addr] = _value;
		return true;
	}

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

	function release() public onlyOwner() {
		releasedForTransfer = true;
	}
	
	function lock() public onlyOwner() {
		releasedForTransfer = false;
	}
}


contract HasManager is Ownable {
	address public manager;

	modifier onlyManager {
		require( (msg.sender == manager) || (msg.sender == owner) );
		_;
	}

	function transferManager(address _newManager) public onlyManager() {
		require(_newManager != address(0));
		manager = _newManager;
	}
}


// WINGS ICrowdsaleProcessor
contract ICrowdsaleProcessor is HasManager {
	modifier whenCrowdsaleAlive() {
		require(isActive());
		_;
	}

	modifier whenCrowdsaleFailed() {
		require(isFailed());
		_;
	}

	modifier whenCrowdsaleSuccessful() {
		require(isSuccessful());
		_;
	}

	modifier hasntStopped() {
		require(!stopped);
		_;
	}

	modifier hasBeenStopped() {
		require(stopped);
		_;
	}

	modifier hasntStarted() {
		require(!started);
		_;
	}

	modifier hasBeenStarted() {
		require(started);
		_;
	}

	// Minimal acceptable hard cap
	uint256 constant public MIN_HARD_CAP = 1 ether;

	// Minimal acceptable duration of crowdsale
	uint256 constant public MIN_CROWDSALE_TIME = 3 days;

	// Maximal acceptable duration of crowdsale
	uint256 constant public MAX_CROWDSALE_TIME = 50 days;

	// Becomes true when timeframe is assigned
	bool public started;

	// Becomes true if cancelled by owner
	bool public stopped;

	// Total collected Ethereum: must be updated every time tokens has been sold
	uint256 public totalCollected;

	// Total amount of project's token sold: must be updated every time tokens has been sold
	uint256 public totalSold;

	// Crowdsale minimal goal, must be greater or equal to Forecasting min amount
	uint256 public minimalGoal;

	// Crowdsale hard cap, must be less or equal to Forecasting max amount
	uint256 public hardCap;

	// Crowdsale duration in seconds.
	// Accepted range is MIN_CROWDSALE_TIME..MAX_CROWDSALE_TIME.
	uint256 public duration;

	// Start timestamp of crowdsale, absolute UTC time
	uint256 public startTimestamp;

	// End timestamp of crowdsale, absolute UTC time
	uint256 public endTimestamp;

	// Allows to transfer some ETH into the contract without selling tokens
	function deposit() public payable {}

	// Returns address of crowdsale token, must be ERC20 compilant
	function getToken() public returns(address);

	// Transfers ETH rewards amount (if ETH rewards is configured) to Forecasting contract
	function mintETHRewards(address _contract, uint256 _amount) public onlyManager();

	// Mints token Rewards to Forecasting contract
	function mintTokenRewards(address _contract, uint256 _amount) public onlyManager();

	// Releases tokens (transfers crowdsale token from mintable to transferrable state)
	function releaseTokens() public onlyOwner() hasntStopped() whenCrowdsaleSuccessful();

	// Stops crowdsale. Called by CrowdsaleController, the latter is called by owner.
	// Crowdsale may be stopped any time before it finishes.
	function stop() public onlyManager() hasntStopped();

	// Validates parameters and starts crowdsale
	function start(uint256 _startTimestamp, uint256 _endTimestamp, address _fundingAddress) public onlyManager() hasntStarted() hasntStopped();

	// Is crowdsale failed (completed, but minimal goal wasn't reached)
	function isFailed() public constant returns (bool);

	// Is crowdsale active (i.e. the token can be sold)
	function isActive() public constant returns (bool);

	// Is crowdsale completed successfully
	function isSuccessful() public constant returns (bool);
}


contract A2ACrowdsale is ICrowdsaleProcessor {
    using SafeMath for uint256;
    
	event CROWDSALE_START(uint256 startTimestamp, uint256 endTimestamp, address fundingAddress);

	address public fundingAddress;
	address internal bountyAddress = 0x10945A93914aDb1D68b6eFaAa4A59DfB21Ba9951;
	
	A2AToken public token;
	
	mapping(address => bool) public partnerContracts;
	
	uint256 public icoPrice; // A2A tokens per 1 ether
	uint256 public icoBonus; // % * 10000
	
	uint256 constant public wingsETHRewardsPercent = 2 * 10000; // % * 10000
	uint256 constant public wingsTokenRewardsPercent = 2 * 10000; // % * 10000	
	uint256 public wingsETHRewards;
	uint256 public wingsTokenRewards;
	
	uint256 constant public maxTokensWithBonus = 500*(10**6)*(10**8);
	uint256 public bountyPercent;
		
	address[2] internal foundersAddresses = [
		0x2f072F00328B6176257C21E64925760990561001,
		0x2640d4b3baF3F6CF9bB5732Fe37fE1a9735a32CE
	];

	function A2ACrowdsale() public {
		owner = msg.sender;
		manager = msg.sender;
		icoPrice = 2000;
		icoBonus = 100 * 10000;
		wingsETHRewards = 0;
		wingsTokenRewards = 0;
		minimalGoal = 1000 ether;
		hardCap = 50000 ether;
		bountyPercent = 23 * 10000;
	}

	function mintETHRewards( address _contract, uint256 _amount ) public onlyManager() {
		require(_amount <= wingsETHRewards);
		require(_contract.call.value(_amount)());
		wingsETHRewards -= _amount;
	}
	
	function mintTokenRewards(address _contract, uint256 _amount) public onlyManager() {
		require( token != address(0) );
		require(_amount <= wingsTokenRewards);
		require( token.issueDuringICO(_contract, _amount) );
		wingsTokenRewards -= _amount;
	}

	function stop() public onlyManager() hasntStopped()	{
		stopped = true;
	}

	function start( uint256 _startTimestamp, uint256 _endTimestamp, address _fundingAddress ) public onlyManager() hasntStarted() hasntStopped() {
		require(_fundingAddress != address(0));
		require(_startTimestamp >= block.timestamp);
		require(_endTimestamp > _startTimestamp);
		duration = _endTimestamp - _startTimestamp;
		require(duration >= MIN_CROWDSALE_TIME && duration <= MAX_CROWDSALE_TIME);
		startTimestamp = _startTimestamp;
		endTimestamp = _endTimestamp;
		started = true;
		emit CROWDSALE_START(_startTimestamp, _endTimestamp, _fundingAddress);
	}

	// must return true if crowdsale is over, but it failed
	function isFailed() public constant returns(bool) {
		return (
			// it was started
			started &&

			// crowdsale period has finished
			block.timestamp >= endTimestamp &&

			// but collected ETH is below the required minimum
			totalCollected < minimalGoal
		);
	}

	// must return true if crowdsale is active (i.e. the token can be bought)
	function isActive() public constant returns(bool) {
		return (
			// it was started
			started &&

			// hard cap wasn't reached yet
			totalCollected < hardCap &&

			// and current time is within the crowdfunding period
			block.timestamp >= startTimestamp &&
			block.timestamp < endTimestamp
		);
	}

	// must return true if crowdsale completed successfully
	function isSuccessful() public constant returns(bool) {
		return (
			// either the hard cap is collected
			totalCollected >= hardCap ||

			// ...or the crowdfunding period is over, but the minimum has been reached
			(block.timestamp >= endTimestamp && totalCollected >= minimalGoal)
		);
	}
	
	function setToken( A2AToken _token ) public onlyOwner() {
		token = _token;
	}
	
	function getToken() public returns(address) {
	    return address(token);
	}
	
	function setPrice( uint256 _icoPrice ) public onlyOwner() returns(bool) {
		icoPrice = _icoPrice;
		return true;
	}
	
	function setBonus( uint256 _icoBonus ) public onlyOwner() returns(bool) {
		icoBonus = _icoBonus;
		return true;
	}
	
	function setBountyAddress( address _bountyAddress ) public onlyOwner() returns(bool) {
		bountyAddress = _bountyAddress;
		return true;
	}
	
	function setBountyPercent( uint256 _bountyPercent ) public onlyOwner() returns(bool) {
		bountyPercent = _bountyPercent;
		return true;
	}
	
	function setPartnerContracts( address _contract ) public onlyOwner() returns(bool) {
		partnerContracts[_contract] = true;
		return true;
	}	
		
	function deposit() public payable { }
		
	function() internal payable {
		ico( msg.sender, msg.value );
	}
	
	function ico( address _to, uint256 _val ) internal returns(bool) {
		require( token != address(0) );
		require( isActive() );
		require( _val >= ( 1 ether / 10 ) );
		require( totalCollected < hardCap );
		
		uint256 tokensAmount = _val.mul( icoPrice ) / 10**10;
		if ( ( icoBonus > 0 ) && ( totalSold.add(tokensAmount) < maxTokensWithBonus ) ) {
			tokensAmount = tokensAmount.add( tokensAmount.mul(icoBonus) / 1000000 );
		} else {
			icoBonus = 0;
		}
		require( totalSold.add(tokensAmount) < token.maxSupply() );
		require( token.issueDuringICO(_to, tokensAmount) );
		
		wingsTokenRewards = wingsTokenRewards.add( tokensAmount.mul( wingsTokenRewardsPercent ) / 1000000 );
		wingsETHRewards = wingsETHRewards.add( _val.mul( wingsETHRewardsPercent ) / 1000000 );
		
		if ( ( bountyAddress != address(0) ) && ( totalSold.add(tokensAmount) < maxTokensWithBonus ) ) {
			require( token.issueDuringICO(bountyAddress, tokensAmount.mul(bountyPercent) / 1000000) );
			tokensAmount = tokensAmount.add( tokensAmount.mul(bountyPercent) / 1000000 );
		}

		totalCollected = totalCollected.add( _val );
		totalSold = totalSold.add( tokensAmount );
		
		return true;
	}
	
	function icoPartner( address _to, uint256 _val ) public returns(bool) {
		require( partnerContracts[msg.sender] );
		require( ico( _to, _val ) );
		return true;
	}
	
	function calculateRewards() public view returns(uint256,uint256) {
		return (wingsETHRewards, wingsTokenRewards);
	}
	
	function releaseTokens() public onlyOwner() hasntStopped() whenCrowdsaleSuccessful() {
		
	}
	
	function withdrawToFounders(uint256 _amount) public whenCrowdsaleSuccessful() onlyOwner() returns(bool) {
		require( address(this).balance.sub( _amount ) >= wingsETHRewards );
        
		uint256 amount_to_withdraw = _amount / foundersAddresses.length;
		uint8 i = 0;
		uint8 errors = 0;        
		for (i = 0; i < foundersAddresses.length; i++) {
			if (!foundersAddresses[i].send(amount_to_withdraw)) {
				errors++;
			}
		}
		
		return true;
	}
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[],"name":"stop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_icoBonus","type":"uint256"}],"name":"setBonus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"duration","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"}],"name":"setToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MAX_CROWDSALE_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_contract","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mintETHRewards","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"started","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"getToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isActive","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"calculateRewards","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_bountyPercent","type":"uint256"}],"name":"setBountyPercent","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"manager","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minimalGoal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_CROWDSALE_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stopped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_HARD_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wingsETHRewards","outputs":[{"name":"","type":"uint256"}],"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":"totalSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_icoPrice","type":"uint256"}],"name":"setPrice","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_startTimestamp","type":"uint256"},{"name":"_endTimestamp","type":"uint256"},{"name":"_fundingAddress","type":"address"}],"name":"start","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"endTimestamp","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"releaseTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_contract","type":"address"}],"name":"setPartnerContracts","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxTokensWithBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_contract","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mintTokenRewards","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"wingsETHRewardsPercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_val","type":"uint256"}],"name":"icoPartner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newManager","type":"address"}],"name":"transferManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"wingsTokenRewardsPercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bountyPercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_bountyAddress","type":"address"}],"name":"setBountyAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"fundingAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalCollected","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"withdrawToFounders","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"startTimestamp","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"partnerContracts","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isSuccessful","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":true,"inputs":[],"name":"isFailed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wingsTokenRewards","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"hardCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":false,"name":"startTimestamp","type":"uint256"},{"indexed":false,"name":"endTimestamp","type":"uint256"},{"indexed":false,"name":"fundingAddress","type":"address"}],"name":"CROWDSALE_START","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

60606040527310945a93914adb1d68b6efaaa4a59dfb21ba9951600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040805190810160405280732f072f00328b6176257c21e6492576099056100173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001732640d4b3baf3f6cf9bb5732fe37fe1a9735a32ce73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525060129060026200010092919062000222565b5034156200010d57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107d0600d81905550620f4240600e819055506000600f819055506000601081905550683635c9adc5dea00000600481905550690a968163f0a57b40000060058190555062038270601181905550620002ea565b826002810192821562000291579160200282015b82811115620002905782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062000236565b5b509050620002a09190620002a4565b5090565b620002e791905b80821115620002e357600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101620002ab565b5090565b90565b61250a80620002fa6000396000f300606060405260043610610230576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806307da68f51461023d5780630b98f975146102525780630fb5a6b41461028d578063144fa6d7146102b65780631510ca79146102ef57806318c9ef97146103185780631f2698ab1461035a57806321df0da71461038757806322f3e2d4146103dc578063270186311461040957806334b0e5ed146104325780633e50de301461045b57806344bd7b711461048b578063481c6a75146104c65780636385cbbe1461051b5780637234ba0c1461054457806375f12b211461056d57806376ddfc391461059a578063771e4326146105c35780638da5cb5b146105ec5780639106d7ba1461064157806391b7f5ed1461066a578063a51fe113146106a5578063a85adeab146106f0578063a96f866814610719578063ac13d9a61461072e578063b06e64ca1461077f578063b23c1f19146107a8578063b369940c146107ea578063b89cd5bd14610813578063ba0e930a1461086d578063bd11e933146108a6578063bfd2ed01146108cf578063c659ce2b146108f8578063d0e30db014610949578063d3b7bfb414610953578063e29eb836146109a8578063e37d4fed146109d1578063e6fd48bc14610a0c578063e78c634414610a35578063ec4cd0cf14610a86578063f2fde38b14610ab3578063f416334014610aec578063facce5bb14610b19578063fb86a40414610b42578063fc0c546a14610b6b575b61023a3334610bc0565b50005b341561024857600080fd5b610250611138565b005b341561025d57600080fd5b6102736004808035906020019091905050611223565b604051808215151515815260200191505060405180910390f35b341561029857600080fd5b6102a06112da565b6040518082815260200191505060405180910390f35b34156102c157600080fd5b6102ed600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506112e0565b005b34156102fa57600080fd5b6103026113c9565b6040518082815260200191505060405180910390f35b341561032357600080fd5b610358600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506113d0565b005b341561036557600080fd5b61036d6114df565b604051808215151515815260200191505060405180910390f35b341561039257600080fd5b61039a6114f2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103e757600080fd5b6103ef61151c565b604051808215151515815260200191505060405180910390f35b341561041457600080fd5b61041c61155d565b6040518082815260200191505060405180910390f35b341561043d57600080fd5b610445611563565b6040518082815260200191505060405180910390f35b341561046657600080fd5b61046e611569565b604051808381526020018281526020019250505060405180910390f35b341561049657600080fd5b6104ac600480803590602001909190505061157a565b604051808215151515815260200191505060405180910390f35b34156104d157600080fd5b6104d9611631565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561052657600080fd5b61052e611657565b6040518082815260200191505060405180910390f35b341561054f57600080fd5b61055761165d565b6040518082815260200191505060405180910390f35b341561057857600080fd5b610580611664565b604051808215151515815260200191505060405180910390f35b34156105a557600080fd5b6105ad611677565b6040518082815260200191505060405180910390f35b34156105ce57600080fd5b6105d6611683565b6040518082815260200191505060405180910390f35b34156105f757600080fd5b6105ff611689565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561064c57600080fd5b6106546116ae565b6040518082815260200191505060405180910390f35b341561067557600080fd5b61068b60048080359060200190919050506116b4565b604051808215151515815260200191505060405180910390f35b34156106b057600080fd5b6106ee600480803590602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061176b565b005b34156106fb57600080fd5b61070361197d565b6040518082815260200191505060405180910390f35b341561072457600080fd5b61072c611983565b005b341561073957600080fd5b610765600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611a59565b604051808215151515815260200191505060405180910390f35b341561078a57600080fd5b610792611b61565b6040518082815260200191505060405180910390f35b34156107b357600080fd5b6107e8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611b6c565b005b34156107f557600080fd5b6107fd611d88565b6040518082815260200191505060405180910390f35b341561081e57600080fd5b610853600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611d8e565b604051808215151515815260200191505060405180910390f35b341561087857600080fd5b6108a4600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e07565b005b34156108b157600080fd5b6108b9611f3a565b6040518082815260200191505060405180910390f35b34156108da57600080fd5b6108e2611f40565b6040518082815260200191505060405180910390f35b341561090357600080fd5b61092f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f46565b604051808215151515815260200191505060405180910390f35b610951612037565b005b341561095e57600080fd5b610966612039565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156109b357600080fd5b6109bb61205f565b6040518082815260200191505060405180910390f35b34156109dc57600080fd5b6109f26004808035906020019091905050612065565b604051808215151515815260200191505060405180910390f35b3415610a1757600080fd5b610a1f612215565b6040518082815260200191505060405180910390f35b3415610a4057600080fd5b610a6c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061221b565b604051808215151515815260200191505060405180910390f35b3415610a9157600080fd5b610a9961223b565b604051808215151515815260200191505060405180910390f35b3415610abe57600080fd5b610aea600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612267565b005b3415610af757600080fd5b610aff612406565b604051808215151515815260200191505060405180910390f35b3415610b2457600080fd5b610b2c61243a565b6040518082815260200191505060405180910390f35b3415610b4d57600080fd5b610b55612440565b6040518082815260200191505060405180910390f35b3415610b7657600080fd5b610b7e612446565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600080600073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515610c2157600080fd5b610c2961151c565b1515610c3457600080fd5b67016345785d8a00008310151515610c4b57600080fd5b600554600254101515610c5d57600080fd5b6402540be400610c78600d548561246c90919063ffffffff16565b811515610c8157fe5b0490506000600e54118015610cb0575066b1a2bc2ec50000610cae826003546124a790919063ffffffff16565b105b15610cf157610cea620f4240610cd1600e548461246c90919063ffffffff16565b811515610cda57fe5b04826124a790919063ffffffff16565b9050610cfa565b6000600e819055505b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d5abeb016040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610d7f57600080fd5b5af11515610d8c57600080fd5b50505060405180519050610dab826003546124a790919063ffffffff16565b101515610db757600080fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632c3dcdcf85836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610e7b57600080fd5b5af11515610e8857600080fd5b505050604051805190501515610e9d57600080fd5b610ed4620f4240610eb9614e208461246c90919063ffffffff16565b811515610ec257fe5b046010546124a790919063ffffffff16565b601081905550610f11620f4240610ef6614e208661246c90919063ffffffff16565b811515610eff57fe5b04600f546124a790919063ffffffff16565b600f81905550600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015610f90575066b1a2bc2ec50000610f8e826003546124a790919063ffffffff16565b105b156110f757600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632c3dcdcf600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f424061100f6011548661246c90919063ffffffff16565b81151561101857fe5b046040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561109d57600080fd5b5af115156110aa57600080fd5b5050506040518051905015156110bf57600080fd5b6110f4620f42406110db6011548461246c90919063ffffffff16565b8115156110e457fe5b04826124a790919063ffffffff16565b90505b61110c836002546124a790919063ffffffff16565b600281905550611127816003546124a790919063ffffffff16565b600381905550600191505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806111e057506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156111eb57600080fd5b600160159054906101000a900460ff1615151561120757600080fd5b60018060156101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806112bf575073630cc4c83fcc1121fed041126227d25bbeb5195973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156112ca57600080fd5b81600e8190555060019050919050565b60065481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061137a575073630cc4c83fcc1121fed041126227d25bbeb5195973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561138557600080fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6241eb0081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061147857506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561148357600080fd5b600f54811115151561149457600080fd5b8173ffffffffffffffffffffffffffffffffffffffff168160405160006040518083038185875af19250505015156114cb57600080fd5b80600f600082825403925050819055505050565b600160149054906101000a900460ff1681565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160149054906101000a900460ff16801561153d5750600554600254105b801561154b57506007544210155b8015611558575060085442105b905090565b600e5481565b600d5481565b600080600f54601054915091509091565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611616575073630cc4c83fcc1121fed041126227d25bbeb5195973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561162157600080fd5b8160118190555060019050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6203f48081565b600160159054906101000a900460ff1681565b670de0b6b3a764000081565b600f5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611750575073630cc4c83fcc1121fed041126227d25bbeb5195973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561175b57600080fd5b81600d8190555060019050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061181357506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561181e57600080fd5b600160149054906101000a900460ff1615151561183a57600080fd5b600160159054906101000a900460ff1615151561185657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561189257600080fd5b4283101515156118a157600080fd5b82821115156118af57600080fd5b8282036006819055506203f480600654101580156118d257506241eb0060065411155b15156118dd57600080fd5b826007819055508160088190555060018060146101000a81548160ff0219169083151502179055507ffccf552413932efea18979436cc8ce92942bdef118c2b5682351e1891bef8072838383604051808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1505050565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611a1d575073630cc4c83fcc1121fed041126227d25bbeb5195973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611a2857600080fd5b600160159054906101000a900460ff16151515611a4457600080fd5b611a4c61223b565b1515611a5757600080fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611af5575073630cc4c83fcc1121fed041126227d25bbeb5195973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611b0057600080fd5b6001600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b66b1a2bc2ec5000081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611c1457506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611c1f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515611c7d57600080fd5b6010548111151515611c8e57600080fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632c3dcdcf83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611d5257600080fd5b5af11515611d5f57600080fd5b505050604051805190501515611d7457600080fd5b806010600082825403925050819055505050565b614e2081565b6000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611de857600080fd5b611df28383610bc0565b1515611dfd57600080fd5b6001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611eaf57506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611eba57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611ef657600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b614e2081565b60115481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611fe2575073630cc4c83fcc1121fed041126227d25bbeb5195973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611fed57600080fd5b81600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025481565b60008060008061207361223b565b151561207e57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612118575073630cc4c83fcc1121fed041126227d25bbeb5195973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561212357600080fd5b600f54612150863073ffffffffffffffffffffffffffffffffffffffff16316124c590919063ffffffff16565b1015151561215d57600080fd5b60028581151561216957fe5b0492506000915060009050600091505b60028260ff1610156122095760128260ff1660028110151561219757fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f1935050505015156121fc5780806001019150505b8180600101925050612179565b60019350505050919050565b60075481565b600c6020528060005260406000206000915054906101000a900460ff1681565b600060055460025410158061226257506008544210158015612261575060045460025410155b5b905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612301575073630cc4c83fcc1121fed041126227d25bbeb5195973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561230c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561234857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160149054906101000a900460ff16801561242657506008544210155b80156124355750600454600254105b905090565b60105481565b60055481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600084141561248157600091506124a0565b828402905082848281151561249257fe5b0414151561249c57fe5b8091505b5092915050565b60008082840190508381101515156124bb57fe5b8091505092915050565b60008282111515156124d357fe5b8183039050929150505600a165627a7a72305820e3339af4d248b9428dda14a7b73cbed00e02fed118eb89e0cebf3b8ecf857f0b0029

Deployed Bytecode

0x606060405260043610610230576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806307da68f51461023d5780630b98f975146102525780630fb5a6b41461028d578063144fa6d7146102b65780631510ca79146102ef57806318c9ef97146103185780631f2698ab1461035a57806321df0da71461038757806322f3e2d4146103dc578063270186311461040957806334b0e5ed146104325780633e50de301461045b57806344bd7b711461048b578063481c6a75146104c65780636385cbbe1461051b5780637234ba0c1461054457806375f12b211461056d57806376ddfc391461059a578063771e4326146105c35780638da5cb5b146105ec5780639106d7ba1461064157806391b7f5ed1461066a578063a51fe113146106a5578063a85adeab146106f0578063a96f866814610719578063ac13d9a61461072e578063b06e64ca1461077f578063b23c1f19146107a8578063b369940c146107ea578063b89cd5bd14610813578063ba0e930a1461086d578063bd11e933146108a6578063bfd2ed01146108cf578063c659ce2b146108f8578063d0e30db014610949578063d3b7bfb414610953578063e29eb836146109a8578063e37d4fed146109d1578063e6fd48bc14610a0c578063e78c634414610a35578063ec4cd0cf14610a86578063f2fde38b14610ab3578063f416334014610aec578063facce5bb14610b19578063fb86a40414610b42578063fc0c546a14610b6b575b61023a3334610bc0565b50005b341561024857600080fd5b610250611138565b005b341561025d57600080fd5b6102736004808035906020019091905050611223565b604051808215151515815260200191505060405180910390f35b341561029857600080fd5b6102a06112da565b6040518082815260200191505060405180910390f35b34156102c157600080fd5b6102ed600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506112e0565b005b34156102fa57600080fd5b6103026113c9565b6040518082815260200191505060405180910390f35b341561032357600080fd5b610358600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506113d0565b005b341561036557600080fd5b61036d6114df565b604051808215151515815260200191505060405180910390f35b341561039257600080fd5b61039a6114f2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103e757600080fd5b6103ef61151c565b604051808215151515815260200191505060405180910390f35b341561041457600080fd5b61041c61155d565b6040518082815260200191505060405180910390f35b341561043d57600080fd5b610445611563565b6040518082815260200191505060405180910390f35b341561046657600080fd5b61046e611569565b604051808381526020018281526020019250505060405180910390f35b341561049657600080fd5b6104ac600480803590602001909190505061157a565b604051808215151515815260200191505060405180910390f35b34156104d157600080fd5b6104d9611631565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561052657600080fd5b61052e611657565b6040518082815260200191505060405180910390f35b341561054f57600080fd5b61055761165d565b6040518082815260200191505060405180910390f35b341561057857600080fd5b610580611664565b604051808215151515815260200191505060405180910390f35b34156105a557600080fd5b6105ad611677565b6040518082815260200191505060405180910390f35b34156105ce57600080fd5b6105d6611683565b6040518082815260200191505060405180910390f35b34156105f757600080fd5b6105ff611689565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561064c57600080fd5b6106546116ae565b6040518082815260200191505060405180910390f35b341561067557600080fd5b61068b60048080359060200190919050506116b4565b604051808215151515815260200191505060405180910390f35b34156106b057600080fd5b6106ee600480803590602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061176b565b005b34156106fb57600080fd5b61070361197d565b6040518082815260200191505060405180910390f35b341561072457600080fd5b61072c611983565b005b341561073957600080fd5b610765600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611a59565b604051808215151515815260200191505060405180910390f35b341561078a57600080fd5b610792611b61565b6040518082815260200191505060405180910390f35b34156107b357600080fd5b6107e8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611b6c565b005b34156107f557600080fd5b6107fd611d88565b6040518082815260200191505060405180910390f35b341561081e57600080fd5b610853600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611d8e565b604051808215151515815260200191505060405180910390f35b341561087857600080fd5b6108a4600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e07565b005b34156108b157600080fd5b6108b9611f3a565b6040518082815260200191505060405180910390f35b34156108da57600080fd5b6108e2611f40565b6040518082815260200191505060405180910390f35b341561090357600080fd5b61092f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f46565b604051808215151515815260200191505060405180910390f35b610951612037565b005b341561095e57600080fd5b610966612039565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156109b357600080fd5b6109bb61205f565b6040518082815260200191505060405180910390f35b34156109dc57600080fd5b6109f26004808035906020019091905050612065565b604051808215151515815260200191505060405180910390f35b3415610a1757600080fd5b610a1f612215565b6040518082815260200191505060405180910390f35b3415610a4057600080fd5b610a6c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061221b565b604051808215151515815260200191505060405180910390f35b3415610a9157600080fd5b610a9961223b565b604051808215151515815260200191505060405180910390f35b3415610abe57600080fd5b610aea600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612267565b005b3415610af757600080fd5b610aff612406565b604051808215151515815260200191505060405180910390f35b3415610b2457600080fd5b610b2c61243a565b6040518082815260200191505060405180910390f35b3415610b4d57600080fd5b610b55612440565b6040518082815260200191505060405180910390f35b3415610b7657600080fd5b610b7e612446565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600080600073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515610c2157600080fd5b610c2961151c565b1515610c3457600080fd5b67016345785d8a00008310151515610c4b57600080fd5b600554600254101515610c5d57600080fd5b6402540be400610c78600d548561246c90919063ffffffff16565b811515610c8157fe5b0490506000600e54118015610cb0575066b1a2bc2ec50000610cae826003546124a790919063ffffffff16565b105b15610cf157610cea620f4240610cd1600e548461246c90919063ffffffff16565b811515610cda57fe5b04826124a790919063ffffffff16565b9050610cfa565b6000600e819055505b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d5abeb016040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610d7f57600080fd5b5af11515610d8c57600080fd5b50505060405180519050610dab826003546124a790919063ffffffff16565b101515610db757600080fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632c3dcdcf85836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610e7b57600080fd5b5af11515610e8857600080fd5b505050604051805190501515610e9d57600080fd5b610ed4620f4240610eb9614e208461246c90919063ffffffff16565b811515610ec257fe5b046010546124a790919063ffffffff16565b601081905550610f11620f4240610ef6614e208661246c90919063ffffffff16565b811515610eff57fe5b04600f546124a790919063ffffffff16565b600f81905550600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015610f90575066b1a2bc2ec50000610f8e826003546124a790919063ffffffff16565b105b156110f757600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632c3dcdcf600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f424061100f6011548661246c90919063ffffffff16565b81151561101857fe5b046040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561109d57600080fd5b5af115156110aa57600080fd5b5050506040518051905015156110bf57600080fd5b6110f4620f42406110db6011548461246c90919063ffffffff16565b8115156110e457fe5b04826124a790919063ffffffff16565b90505b61110c836002546124a790919063ffffffff16565b600281905550611127816003546124a790919063ffffffff16565b600381905550600191505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806111e057506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156111eb57600080fd5b600160159054906101000a900460ff1615151561120757600080fd5b60018060156101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806112bf575073630cc4c83fcc1121fed041126227d25bbeb5195973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156112ca57600080fd5b81600e8190555060019050919050565b60065481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061137a575073630cc4c83fcc1121fed041126227d25bbeb5195973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561138557600080fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6241eb0081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061147857506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561148357600080fd5b600f54811115151561149457600080fd5b8173ffffffffffffffffffffffffffffffffffffffff168160405160006040518083038185875af19250505015156114cb57600080fd5b80600f600082825403925050819055505050565b600160149054906101000a900460ff1681565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160149054906101000a900460ff16801561153d5750600554600254105b801561154b57506007544210155b8015611558575060085442105b905090565b600e5481565b600d5481565b600080600f54601054915091509091565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611616575073630cc4c83fcc1121fed041126227d25bbeb5195973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561162157600080fd5b8160118190555060019050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6203f48081565b600160159054906101000a900460ff1681565b670de0b6b3a764000081565b600f5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611750575073630cc4c83fcc1121fed041126227d25bbeb5195973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561175b57600080fd5b81600d8190555060019050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061181357506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561181e57600080fd5b600160149054906101000a900460ff1615151561183a57600080fd5b600160159054906101000a900460ff1615151561185657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561189257600080fd5b4283101515156118a157600080fd5b82821115156118af57600080fd5b8282036006819055506203f480600654101580156118d257506241eb0060065411155b15156118dd57600080fd5b826007819055508160088190555060018060146101000a81548160ff0219169083151502179055507ffccf552413932efea18979436cc8ce92942bdef118c2b5682351e1891bef8072838383604051808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1505050565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611a1d575073630cc4c83fcc1121fed041126227d25bbeb5195973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611a2857600080fd5b600160159054906101000a900460ff16151515611a4457600080fd5b611a4c61223b565b1515611a5757600080fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611af5575073630cc4c83fcc1121fed041126227d25bbeb5195973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611b0057600080fd5b6001600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b66b1a2bc2ec5000081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611c1457506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611c1f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515611c7d57600080fd5b6010548111151515611c8e57600080fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632c3dcdcf83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611d5257600080fd5b5af11515611d5f57600080fd5b505050604051805190501515611d7457600080fd5b806010600082825403925050819055505050565b614e2081565b6000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611de857600080fd5b611df28383610bc0565b1515611dfd57600080fd5b6001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611eaf57506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611eba57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611ef657600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b614e2081565b60115481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611fe2575073630cc4c83fcc1121fed041126227d25bbeb5195973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611fed57600080fd5b81600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025481565b60008060008061207361223b565b151561207e57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612118575073630cc4c83fcc1121fed041126227d25bbeb5195973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561212357600080fd5b600f54612150863073ffffffffffffffffffffffffffffffffffffffff16316124c590919063ffffffff16565b1015151561215d57600080fd5b60028581151561216957fe5b0492506000915060009050600091505b60028260ff1610156122095760128260ff1660028110151561219757fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f1935050505015156121fc5780806001019150505b8180600101925050612179565b60019350505050919050565b60075481565b600c6020528060005260406000206000915054906101000a900460ff1681565b600060055460025410158061226257506008544210158015612261575060045460025410155b5b905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612301575073630cc4c83fcc1121fed041126227d25bbeb5195973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561230c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561234857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160149054906101000a900460ff16801561242657506008544210155b80156124355750600454600254105b905090565b60105481565b60055481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600084141561248157600091506124a0565b828402905082848281151561249257fe5b0414151561249c57fe5b8091505b5092915050565b60008082840190508381101515156124bb57fe5b8091505092915050565b60008282111515156124d357fe5b8183039050929150505600a165627a7a72305820e3339af4d248b9428dda14a7b73cbed00e02fed118eb89e0cebf3b8ecf857f0b0029

Swarm Source

bzzr://e3339af4d248b9428dda14a7b73cbed00e02fed118eb89e0cebf3b8ecf857f0b

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.