ETH Price: $3,442.02 (-0.40%)
Gas: 2 Gwei

Contract

0x9C040830FB50d95ca272Fb890DD400FbEfA0F3d3
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Refund_my_ether65805002018-10-25 11:08:542098 days ago1540465734IN
0x9C040830...bEfA0F3d3
0 ETH0.0005175518
Set_allow_refund...65804932018-10-25 11:06:472098 days ago1540465607IN
0x9C040830...bEfA0F3d3
0 ETH0.000168936
Refund_my_ether65571092018-10-21 15:28:232102 days ago1540135703IN
0x9C040830...bEfA0F3d3
0 ETH0.000178478
Set_allow_refund...65570952018-10-21 15:25:492102 days ago1540135549IN
0x9C040830...bEfA0F3d3
0 ETH0.000140465
Refund_my_ether65570482018-10-21 15:14:482102 days ago1540134888IN
0x9C040830...bEfA0F3d3
0 ETH0.000115014
Refund_my_ether65570292018-10-21 15:11:122102 days ago1540134672IN
0x9C040830...bEfA0F3d3
0 ETH0.000203224
Set_allow_refund...65569442018-10-21 14:49:562102 days ago1540133396IN
0x9C040830...bEfA0F3d3
0 ETH0.000140785
Transfer65557622018-10-21 9:58:102102 days ago1540115890IN
0x9C040830...bEfA0F3d3
20 ETH0.000769768
Transfer65537972018-10-21 2:22:142103 days ago1540088534IN
0x9C040830...bEfA0F3d3
30 ETH0.000504884
0x6080604065525862018-10-20 21:35:392103 days ago1540071339IN
 Contract Creation
0 ETH0.012500274

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
65805002018-10-25 11:08:542098 days ago1540465734
0x9C040830...bEfA0F3d3
20 ETH
65570482018-10-21 15:14:482102 days ago1540134888
0x9C040830...bEfA0F3d3
30 ETH
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x301980E0...94Dc85756
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Contract

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-10-19
*/

//author : dm & w
pragma solidity ^0.4.23;

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

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

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

contract ERC20 {
  	function transfer(address _to, uint256 _value) public returns (bool success);
  	function balanceOf(address _owner) public constant returns (uint256 balance);
}

contract Controller {

	address public owner;

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

  	function change_owner(address new_owner) onlyOwner {
    	require(new_owner != 0x0);
    	owner = new_owner;
  	}

  	function Controller() {
    	owner = msg.sender;
  	}
}

contract Contract is Controller {

	using SafeMath for uint256;

  	struct Contributor {
		uint256 balance;
	    uint256 fee_owner;
		uint256 fee_devs;
	    uint8 rounds;
	    bool whitelisted;
  	}

	struct Snapshot {
		uint256 tokens_balance;
		uint256 eth_balance;
	}

  	modifier underMaxAmount {
    	require(max_amount == 0 || this.balance <= max_amount);
    	_;
  	}

	address constant public DEVELOPER1 = 0x8C006d807EBAe91F341a4308132Fd756808e0126;
	address constant public DEVELOPER2 = 0x63F7547Ac277ea0B52A0B060Be6af8C5904953aa;
	uint256 constant public FEE_DEV = 670;

	uint256 public FEE_OWNER;
	uint256 public max_amount;
	uint256 public individual_cap;
	uint256 public gas_price_max;
	uint8 public rounds;
	bool public whitelist_enabled;

	mapping (address => Contributor) public contributors;
	Snapshot[] public snapshots;
	uint256[] public total_fees;

	uint256 public const_contract_eth_value;
	uint256 public percent_reduction;

	address public sale;
	ERC20 public token;
	bool public bought_tokens;
	bool public owner_supplied_eth;
	bool public allow_contributions = true;
	bool public allow_refunds;
  //============================

	constructor(
		uint256 _max_amount,
		bool _whitelist,
		uint256 _owner_fee_divisor
		) {
			FEE_OWNER = _owner_fee_divisor;
			max_amount = calculate_with_fees(_max_amount);
		  	whitelist_enabled = _whitelist;
		  	Contributor storage contributor = contributors[msg.sender];
		  	contributor.whitelisted = true;
			total_fees.length = 2;
  		}


	function buy_the_tokens(bytes _data) onlyOwner {
		require(!bought_tokens && sale != 0x0);
		bought_tokens = true;
		const_contract_eth_value = this.balance;
		take_fees_eth_dev();
		take_fees_eth_owner();
		const_contract_eth_value = this.balance;
		require(sale.call.gas(msg.gas).value(this.balance)(_data));
	}

	function whitelist_addys(address[] _addys, bool _state) onlyOwner {
		for (uint256 i = 0; i < _addys.length; i++) {
			Contributor storage contributor = contributors[_addys[i]];
			contributor.whitelisted = _state;
		}
	}

	function force_refund(address _addy) onlyOwner {
		refund(_addy);
	}

	function force_partial_refund(address _addy) onlyOwner {
		partial_refund(_addy);
	}

	function set_gas_price_max(uint256 _gas_price) onlyOwner {
		gas_price_max = _gas_price;
	}

	function set_sale_address(address _sale) onlyOwner {
		require(_sale != 0x0);
		sale = _sale;
	}

	function set_token_address(address _token) onlyOwner {
		require(_token != 0x0);
		token = ERC20(_token);
	}

	function set_allow_contributions(bool _boolean) onlyOwner {
		allow_contributions = _boolean;
	}

	function set_allow_refunds(bool _boolean) onlyOwner {
		allow_refunds = _boolean;
	}

	function set_tokens_received() onlyOwner {
		tokens_received();
	}

	function set_percent_reduction(uint256 _reduction) onlyOwner payable {
		require(bought_tokens && rounds == 0 && _reduction <= 100);
		percent_reduction = _reduction;
		if (msg.value > 0) {
			owner_supplied_eth = true;
		}
		const_contract_eth_value = const_contract_eth_value.sub((const_contract_eth_value.mul(_reduction)).div(100));
	}

	function set_whitelist_enabled(bool _boolean) onlyOwner {
		whitelist_enabled = _boolean;
	}

	function change_individual_cap(uint256 _cap) onlyOwner {
		individual_cap = _cap;
	}

	function change_max_amount(uint256 _amount) onlyOwner {
		//ATTENTION! The new amount should be in wei
		//Use https://etherconverter.online/
		max_amount = calculate_with_fees(_amount);
	}

	function change_fee(uint256 _fee) onlyOwner {
		FEE_OWNER = _fee;
	}

	function emergency_token_withdraw(address _address) onlyOwner {
	 	ERC20 temp_token = ERC20(_address);
		require(temp_token.transfer(msg.sender, temp_token.balanceOf(this)));
	}

	function emergency_eth_withdraw() onlyOwner {
		msg.sender.transfer(this.balance);
	}

	function withdraw(address _user) internal {
		require(bought_tokens);
		uint256 contract_token_balance = token.balanceOf(address(this));
		require(contract_token_balance != 0);
		Contributor storage contributor = contributors[_user];
		if (contributor.rounds < rounds) {
			Snapshot storage snapshot = snapshots[contributor.rounds];
            uint256 tokens_to_withdraw = contributor.balance.mul(snapshot.tokens_balance).div(snapshot.eth_balance);
			snapshot.tokens_balance = snapshot.tokens_balance.sub(tokens_to_withdraw);
			snapshot.eth_balance = snapshot.eth_balance.sub(contributor.balance);
            contributor.rounds++;
            require(token.transfer(_user, tokens_to_withdraw));
        }
	}

	function refund(address _user) internal {
		require(!bought_tokens && allow_refunds && percent_reduction == 0);
		Contributor storage contributor = contributors[_user];
		total_fees[0] -= contributor.fee_owner;
		total_fees[1] -= contributor.fee_devs;
		uint256 eth_to_withdraw = contributor.balance.add(contributor.fee_owner).add(contributor.fee_devs);
		contributor.balance = 0;
		contributor.fee_owner = 0;
		contributor.fee_devs = 0;
		_user.transfer(eth_to_withdraw);
	}

	function partial_refund(address _user) internal {
		require(bought_tokens && allow_refunds && rounds == 0 && percent_reduction > 0);
		Contributor storage contributor = contributors[_user];
		require(contributor.rounds == 0);
		uint256 eth_to_withdraw = contributor.balance.mul(percent_reduction).div(100);
		contributor.balance = contributor.balance.sub(eth_to_withdraw);
		if (owner_supplied_eth) {
			uint256 fee = contributor.fee_owner.mul(percent_reduction).div(100);
			eth_to_withdraw = eth_to_withdraw.add(fee);
		}
		_user.transfer(eth_to_withdraw);
	}

	function take_fees_eth_dev() internal {
		if (FEE_DEV != 0) {
			DEVELOPER1.transfer(total_fees[1]);
			DEVELOPER2.transfer(total_fees[1]);
		}
	}

	function take_fees_eth_owner() internal {
		if (FEE_OWNER != 0) {
			owner.transfer(total_fees[0]);
		}
	}

	function calculate_with_fees(uint256 _amount) internal returns (uint256) {
		uint256 temp = _amount;
		if (FEE_DEV != 0) {
			temp = temp.add(_amount.div(FEE_DEV/2));
		}
		if (FEE_OWNER != 0) {
			temp = temp.add(_amount.div(FEE_OWNER));
		}
		return temp;
	}

	function tokens_received() internal {
		uint256 previous_balance;
		for (uint8 i = 0; i < snapshots.length; i++) {
			previous_balance = previous_balance.add(snapshots[i].tokens_balance);
		}
		snapshots.push(Snapshot(token.balanceOf(address(this)).sub(previous_balance), const_contract_eth_value));
		rounds++;
	}


  function tokenFallback(address _from, uint _value, bytes _data) {
		if (ERC20(msg.sender) == token) {
			tokens_received();
		}
	}

	function withdraw_my_tokens() {
		for (uint8 i = contributors[msg.sender].rounds; i < rounds; i++) {
			withdraw(msg.sender);
		}
	}

	function withdraw_tokens_for(address _addy) {
		for (uint8 i = contributors[_addy].rounds; i < rounds; i++) {
			withdraw(_addy);
		}
	}

	function refund_my_ether() {
		refund(msg.sender);
	}

	function partial_refund_my_ether() {
		partial_refund(msg.sender);
	}

	function provide_eth() payable {}

	function () payable underMaxAmount {
		require(!bought_tokens && allow_contributions && (gas_price_max == 0 || tx.gasprice <= gas_price_max));
		Contributor storage contributor = contributors[msg.sender];
		if (whitelist_enabled) {
			require(contributor.whitelisted);
		}
		uint256 fee = 0;
		if (FEE_OWNER != 0) {
			fee = SafeMath.div(msg.value, FEE_OWNER);
			contributor.fee_owner += fee;
			total_fees[0] += fee;
		}
		uint256 fees = fee;
		if (FEE_DEV != 0) {
			fee = msg.value.div(FEE_DEV);
			total_fees[1] += fee;
			contributor.fee_devs += fee*2;
			fees = fees.add(fee*2);
		}
		contributor.balance = contributor.balance.add(msg.value.sub(fees));

		require(individual_cap == 0 || contributor.balance <= individual_cap);
	}
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"allow_contributions","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_boolean","type":"bool"}],"name":"set_whitelist_enabled","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"individual_cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw_my_tokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addy","type":"address"}],"name":"force_refund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"max_amount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"contributors","outputs":[{"name":"balance","type":"uint256"},{"name":"fee_owner","type":"uint256"},{"name":"fee_devs","type":"uint256"},{"name":"rounds","type":"uint8"},{"name":"whitelisted","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allow_refunds","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"new_owner","type":"address"}],"name":"change_owner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_cap","type":"uint256"}],"name":"change_individual_cap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"change_max_amount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"refund_my_ether","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"}],"name":"set_token_address","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"set_tokens_received","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"FEE_OWNER","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addy","type":"address"}],"name":"withdraw_tokens_for","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"const_contract_eth_value","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"partial_refund_my_ether","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"DEVELOPER2","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bought_tokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_boolean","type":"bool"}],"name":"set_allow_contributions","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_reduction","type":"uint256"}],"name":"set_percent_reduction","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"emergency_token_withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner_supplied_eth","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sale","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_fee","type":"uint256"}],"name":"change_fee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addy","type":"address"}],"name":"force_partial_refund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"gas_price_max","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"emergency_eth_withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"DEVELOPER1","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addys","type":"address[]"},{"name":"_state","type":"bool"}],"name":"whitelist_addys","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_data","type":"bytes"}],"name":"buy_the_tokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"whitelist_enabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"provide_eth","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"rounds","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"tokenFallback","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"percent_reduction","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FEE_DEV","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"snapshots","outputs":[{"name":"tokens_balance","type":"uint256"},{"name":"eth_balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_gas_price","type":"uint256"}],"name":"set_gas_price_max","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_boolean","type":"bool"}],"name":"set_allow_refunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"total_fees","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sale","type":"address"}],"name":"set_sale_address","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_max_amount","type":"uint256"},{"name":"_whitelist","type":"bool"},{"name":"_owner_fee_divisor","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

Deployed Bytecode

0x608060405260043610610225576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303b918dc1461044e57806310d2f2e51461047d578063111485ef146104ac578063157f67e8146104d757806318af7021146104ee5780631a34fe81146105315780631f6d49421461055c578063223db315146105d9578063253c8bd41461060857806329d98a7b1461064b578063398f2648146106785780633c4293d8146106a557806342263aa2146106bc57806348103077146106ff57806349edfb94146107165780635219ffb81461074157806356813535146107845780635a8830e2146107af57806360e393c6146107c65780636360fc3f1461081d578063666375e51461084c578063678f70331461087b578063687ab3811461089b5780636954abee146108de5780636ad1fe021461090d5780636ceba55e146109645780637036f9d9146109915780637520bf60146109d45780637a87f51a146109ff57806382b2f95f14610a1657806383b47a4d14610a6d5780638611731914610adf5780638a8b7e0214610b485780638da5cb5b14610b775780638f49a26414610bce578063a2e800ad14610bd8578063c0ee0b8a14610c09578063c34dd14114610c9c578063d54839bf14610cc7578063d6565a2d14610cf2578063e70e690a14610d3a578063ebc56eec14610d67578063ef956c4114610d96578063f2bee03d14610dd7578063fc0c546a14610e1a575b600080600080600254148061025357506002543073ffffffffffffffffffffffffffffffffffffffff163111155b151561025e57600080fd5b600c60149054906101000a900460ff161580156102875750600c60169054906101000a900460ff165b80156102a25750600060045414806102a157506004543a11155b5b15156102ad57600080fd5b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209250600560019054906101000a900460ff1615610321578260030160019054906101000a900460ff16151561032057600080fd5b5b60009150600060015414151561037a5761033d34600154610e71565b9150818360010160008282540192505081905550816008600081548110151561036257fe5b90600052602060002001600082825401925050819055505b819050600061029e1415156103f65761039e61029e34610e7190919063ffffffff16565b915081600860018154811015156103b157fe5b90600052602060002001600082825401925050819055506002820283600201600082825401925050819055506103f36002830282610e8c90919063ffffffff16565b90505b61041f61040c8234610eaa90919063ffffffff16565b8460000154610e8c90919063ffffffff16565b83600001819055506000600354148061043e5750600354836000015411155b151561044957600080fd5b505050005b34801561045a57600080fd5b50610463610ec3565b604051808215151515815260200191505060405180910390f35b34801561048957600080fd5b506104aa600480360381019080803515159060200190929190505050610ed6565b005b3480156104b857600080fd5b506104c1610f4e565b6040518082815260200191505060405180910390f35b3480156104e357600080fd5b506104ec610f54565b005b3480156104fa57600080fd5b5061052f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fdf565b005b34801561053d57600080fd5b50610546611046565b6040518082815260200191505060405180910390f35b34801561056857600080fd5b5061059d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061104c565b604051808681526020018581526020018481526020018360ff1660ff168152602001821515151581526020019550505050505060405180910390f35b3480156105e557600080fd5b506105ee61109c565b604051808215151515815260200191505060405180910390f35b34801561061457600080fd5b50610649600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110af565b005b34801561065757600080fd5b5061067660048036038101908080359060200190929190505050611173565b005b34801561068457600080fd5b506106a3600480360381019080803590602001909291905050506111d8565b005b3480156106b157600080fd5b506106ba611245565b005b3480156106c857600080fd5b506106fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611250565b005b34801561070b57600080fd5b50610714611315565b005b34801561072257600080fd5b5061072b61137a565b6040518082815260200191505060405180910390f35b34801561074d57600080fd5b50610782600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611380565b005b34801561079057600080fd5b5061079961140c565b6040518082815260200191505060405180910390f35b3480156107bb57600080fd5b506107c4611412565b005b3480156107d257600080fd5b506107db61141d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561082957600080fd5b50610832611435565b604051808215151515815260200191505060405180910390f35b34801561085857600080fd5b50610879600480360381019080803515159060200190929190505050611448565b005b610899600480360381019080803590602001909291905050506114c0565b005b3480156108a757600080fd5b506108dc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115d2565b005b3480156108ea57600080fd5b506108f36117f4565b604051808215151515815260200191505060405180910390f35b34801561091957600080fd5b50610922611807565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561097057600080fd5b5061098f6004803603810190808035906020019092919050505061182d565b005b34801561099d57600080fd5b506109d2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611892565b005b3480156109e057600080fd5b506109e96118f9565b6040518082815260200191505060405180910390f35b348015610a0b57600080fd5b50610a146118ff565b005b348015610a2257600080fd5b50610a2b6119ba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a7957600080fd5b50610add600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035151590602001909291905050506119d2565b005b348015610aeb57600080fd5b50610b46600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611ac5565b005b348015610b5457600080fd5b50610b5d611cb9565b604051808215151515815260200191505060405180910390f35b348015610b8357600080fd5b50610b8c611ccc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610bd6611cf1565b005b348015610be457600080fd5b50610bed611cf3565b604051808260ff1660ff16815260200191505060405180910390f35b348015610c1557600080fd5b50610c9a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611d06565b005b348015610ca857600080fd5b50610cb1611d6a565b6040518082815260200191505060405180910390f35b348015610cd357600080fd5b50610cdc611d70565b6040518082815260200191505060405180910390f35b348015610cfe57600080fd5b50610d1d60048036038101908080359060200190929190505050611d76565b604051808381526020018281526020019250505060405180910390f35b348015610d4657600080fd5b50610d6560048036038101908080359060200190929190505050611da9565b005b348015610d7357600080fd5b50610d94600480360381019080803515159060200190929190505050611e0e565b005b348015610da257600080fd5b50610dc160048036038101908080359060200190929190505050611e86565b6040518082815260200191505060405180910390f35b348015610de357600080fd5b50610e18600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ea9565b005b348015610e2657600080fd5b50610e2f611f6e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000808284811515610e7f57fe5b0490508091505092915050565b6000808284019050838110151515610ea057fe5b8091505092915050565b6000828211151515610eb857fe5b818303905092915050565b600c60169054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f3157600080fd5b80600560016101000a81548160ff02191690831515021790555050565b60035481565b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900460ff1690505b600560009054906101000a900460ff1660ff168160ff161015610fdc57610fcf33611f94565b8080600101915050610fa9565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561103a57600080fd5b6110438161231d565b50565b60025481565b60066020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900460ff16908060030160019054906101000a900460ff16905085565b600c60179054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561110a57600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff161415151561113057600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111ce57600080fd5b8060038190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561123357600080fd5b61123c81612498565b60028190555050565b61124e3361231d565b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112ab57600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff16141515156112d157600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561137057600080fd5b61137861251f565b565b60015481565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900460ff1690505b600560009054906101000a900460ff1660ff168160ff161015611408576113fb82611f94565b80806001019150506113d5565b5050565b60095481565b61141b33612716565b565b7363f7547ac277ea0b52a0b060be6af8c5904953aa81565b600c60149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114a357600080fd5b80600c60166101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561151b57600080fd5b600c60149054906101000a900460ff16801561154957506000600560009054906101000a900460ff1660ff16145b8015611556575060648111155b151561156157600080fd5b80600a81905550600034111561158d576001600c60156101000a81548160ff0219169083151502179055505b6115c96115b860646115aa846009546128d190919063ffffffff16565b610e7190919063ffffffff16565b600954610eaa90919063ffffffff16565b60098190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561162f57600080fd5b8190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156116ea57600080fd5b505af11580156116fe573d6000803e3d6000fd5b505050506040513d602081101561171457600080fd5b81019080805190602001909291905050506040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156117aa57600080fd5b505af11580156117be573d6000803e3d6000fd5b505050506040513d60208110156117d457600080fd5b810190808051906020019092919050505015156117f057600080fd5b5050565b600c60159054906101000a900460ff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561188857600080fd5b8060018190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118ed57600080fd5b6118f681612716565b50565b60045481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561195a57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501580156119b7573d6000803e3d6000fd5b50565b738c006d807ebae91f341a4308132fd756808e012681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a3057600080fd5b600091505b8351821015611abf57600660008584815181101515611a5057fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050828160030160016101000a81548160ff0219169083151502179055508180600101925050611a35565b50505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b2057600080fd5b600c60149054906101000a900460ff16158015611b7657506000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b1515611b8157600080fd5b6001600c60146101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff1631600981905550611bc261290c565b611bca612a05565b3073ffffffffffffffffffffffffffffffffffffffff1631600981905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165a3073ffffffffffffffffffffffffffffffffffffffff16318360405180828051906020019080838360005b83811015611c68578082015181840152602081019050611c4d565b50505050905090810190601f168015611c955780820380516001836020036101000a031916815260200191505b50915050600060405180830381858888f193505050501515611cb657600080fd5b50565b600560019054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b565b600560009054906101000a900460ff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611d6557611d6461251f565b5b505050565b600a5481565b61029e81565b600781815481101515611d8557fe5b90600052602060002090600202016000915090508060000154908060010154905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e0457600080fd5b8060048190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e6957600080fd5b80600c60176101000a81548160ff02191690831515021790555050565b600881815481101515611e9557fe5b906000526020600020016000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f0457600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff1614151515611f2a57600080fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080600c60149054906101000a900460ff161515611fb557600080fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561207257600080fd5b505af1158015612086573d6000803e3d6000fd5b505050506040513d602081101561209c57600080fd5b81019080805190602001909291905050509350600084141515156120bf57600080fd5b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209250600560009054906101000a900460ff1660ff168360030160009054906101000a900460ff1660ff1610156123165760078360030160009054906101000a900460ff1660ff1681548110151561215157fe5b906000526020600020906002020191506121928260010154612184846000015486600001546128d190919063ffffffff16565b610e7190919063ffffffff16565b90506121ab818360000154610eaa90919063ffffffff16565b82600001819055506121ce83600001548360010154610eaa90919063ffffffff16565b826001018190555082600301600081819054906101000a900460ff168092919060010191906101000a81548160ff021916908360ff16021790555050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156122cf57600080fd5b505af11580156122e3573d6000803e3d6000fd5b505050506040513d60208110156122f957600080fd5b8101908080519060200190929190505050151561231557600080fd5b5b5050505050565b600080600c60149054906101000a900460ff161580156123495750600c60179054906101000a900460ff165b801561235757506000600a54145b151561236257600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002091508160010154600860008154811015156123b857fe5b90600052602060002001600082825403925050819055508160020154600860018154811015156123e457fe5b906000526020600020016000828254039250508190555061242c826002015461241e84600101548560000154610e8c90919063ffffffff16565b610e8c90919063ffffffff16565b90506000826000018190555060008260010181905550600082600201819055508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612492573d6000803e3d6000fd5b50505050565b600080829050600061029e1415156124e0576124dd6124ce600261029e8115156124be57fe5b0485610e7190919063ffffffff16565b82610e8c90919063ffffffff16565b90505b60006001541415156125165761251361250460015485610e7190919063ffffffff16565b82610e8c90919063ffffffff16565b90505b80915050919050565b600080600090505b6007805490508160ff16101561257c5761256d60078260ff1681548110151561254c57fe5b90600052602060002090600202016000015483610e8c90919063ffffffff16565b91508080600101915050612527565b6007604080519081016040528061269385600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561264a57600080fd5b505af115801561265e573d6000803e3d6000fd5b505050506040513d602081101561267457600080fd5b8101908080519060200190929190505050610eaa90919063ffffffff16565b81526020016009548152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000155602082015181600101555050506005600081819054906101000a900460ff168092919060010191906101000a81548160ff021916908360ff160217905550505050565b6000806000600c60149054906101000a900460ff1680156127435750600c60179054906101000a900460ff165b801561276157506000600560009054906101000a900460ff1660ff16145b801561276f57506000600a54115b151561277a57600080fd5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020925060008360030160009054906101000a900460ff1660ff161415156127de57600080fd5b61280a60646127fc600a5486600001546128d190919063ffffffff16565b610e7190919063ffffffff16565b9150612823828460000154610eaa90919063ffffffff16565b8360000181905550600c60159054906101000a900460ff16156128845761286c606461285e600a5486600101546128d190919063ffffffff16565b610e7190919063ffffffff16565b90506128818183610e8c90919063ffffffff16565b91505b8373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156128ca573d6000803e3d6000fd5b5050505050565b60008060008414156128e65760009150612905565b82840290508284828115156128f757fe5b0414151561290157fe5b8091505b5092915050565b600061029e141515612a0357738c006d807ebae91f341a4308132fd756808e012673ffffffffffffffffffffffffffffffffffffffff166108fc6008600181548110151561295657fe5b90600052602060002001549081150290604051600060405180830381858888f1935050505015801561298c573d6000803e3d6000fd5b507363f7547ac277ea0b52a0b060be6af8c5904953aa73ffffffffffffffffffffffffffffffffffffffff166108fc600860018154811015156129cb57fe5b90600052602060002001549081150290604051600060405180830381858888f19350505050158015612a01573d6000803e3d6000fd5b505b565b6000600154141515612a94576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60086000815481101515612a5c57fe5b90600052602060002001549081150290604051600060405180830381858888f19350505050158015612a92573d6000803e3d6000fd5b505b5600a165627a7a723058209fe58f54a6e9b0b0ea09823e320709cab6828797dc41b5a6ba5eb8d648b3ab510029

Swarm Source

bzzr://9fe58f54a6e9b0b0ea09823e320709cab6828797dc41b5a6ba5eb8d648b3ab51

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.