ETH Price: $3,366.04 (-0.41%)
Gas: 4.28 Gwei

Contract

0x11Bbad1c935b87CB83543B9288d1A2a73A90Bf1C
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve204543282024-08-04 9:35:11165 days ago1722764111IN
0x11Bbad1c...73A90Bf1C
0 ETH0.00006481.39823318
Approve204387232024-08-02 5:18:11168 days ago1722575891IN
0x11Bbad1c...73A90Bf1C
0 ETH0.00007121.5334446
Approve186504422023-11-25 18:17:23418 days ago1700936243IN
0x11Bbad1c...73A90Bf1C
0 ETH0.0006197625.60152107
Approve185510992023-11-11 20:34:23432 days ago1699734863IN
0x11Bbad1c...73A90Bf1C
0 ETH0.0007298830.15060406
Approve167204852023-02-27 15:41:23689 days ago1677512483IN
0x11Bbad1c...73A90Bf1C
0 ETH0.0008398934.6948755
Approve155934292022-09-23 3:42:35847 days ago1663904555IN
0x11Bbad1c...73A90Bf1C
0 ETH0.000158066.03120232
Approve155934292022-09-23 3:42:35847 days ago1663904555IN
0x11Bbad1c...73A90Bf1C
0 ETH0.000158066.03120232
Approve155934142022-09-23 3:39:35847 days ago1663904375IN
0x11Bbad1c...73A90Bf1C
0 ETH0.00017746.76894281
Approve155934132022-09-23 3:39:23847 days ago1663904363IN
0x11Bbad1c...73A90Bf1C
0 ETH0.000165446.83430118
Approve143211402022-03-04 14:55:491049 days ago1646405749IN
0x11Bbad1c...73A90Bf1C
0 ETH0.0010578143.69693602
Approve128924632021-07-25 1:19:481272 days ago1627175988IN
0x11Bbad1c...73A90Bf1C
0 ETH0.0002610718
Approve128838352021-07-23 17:03:291273 days ago1627059809IN
0x11Bbad1c...73A90Bf1C
0 ETH0.000391627.00000145
Transfer126127222021-06-11 10:28:281315 days ago1623407308IN
0x11Bbad1c...73A90Bf1C
0 ETH0.0011425619.5
Transfer122716372021-04-19 16:42:011368 days ago1618850521IN
0x11Bbad1c...73A90Bf1C
0 ETH0.01850022316
Approve120748982021-03-20 9:28:141398 days ago1616232494IN
0x11Bbad1c...73A90Bf1C
0 ETH0.00201605139
Approve116957912021-01-21 1:14:441457 days ago1611191684IN
0x11Bbad1c...73A90Bf1C
0 ETH0.0009427665
Approve116491992021-01-13 21:35:191464 days ago1610573719IN
0x11Bbad1c...73A90Bf1C
0 ETH0.0005656539
Approve114408892020-12-12 22:42:211496 days ago1607812941IN
0x11Bbad1c...73A90Bf1C
0 ETH0.0003785526.1
Transfer111565852020-10-30 6:41:001539 days ago1604040060IN
0x11Bbad1c...73A90Bf1C
0 ETH0.0043714260
Transfer111211492020-10-24 20:03:471545 days ago1603569827IN
0x11Bbad1c...73A90Bf1C
0 ETH0.0011399119.69
Transfer110261752020-10-10 6:49:061559 days ago1602312546IN
0x11Bbad1c...73A90Bf1C
0 ETH0.0028418939
Transfer109332252020-09-25 17:50:141574 days ago1601056214IN
0x11Bbad1c...73A90Bf1C
0 ETH0.0055289375.9
Transfer106659272020-08-15 17:13:531615 days ago1597511633IN
0x11Bbad1c...73A90Bf1C
0 ETH0.0053829393
Approve104929092020-07-19 23:30:121642 days ago1595201412IN
0x11Bbad1c...73A90Bf1C
0 ETH0.0017756840
Transfer104928962020-07-19 23:27:171642 days ago1595201237IN
0x11Bbad1c...73A90Bf1C
0 ETH0.0016723539
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HEXULTRA

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-06-06
*/

pragma solidity ^0.5.17;

interface Callable {
	function tokenCallback(address _from, uint256 _tokens, bytes calldata _data) external returns (bool);
}

contract HEXULTRA {
	string constant public name = "HEXULTRA";
	string constant public symbol = "HEXULTRA";
	uint256 constant private FLOAT_SCALAR = 2**64;
	uint256 constant private INITIAL_SUPPLY = 3e26; // 
	uint256 constant private BURN_RATE = 15; // 15% per tx
	uint256 constant private SUPPLY_FLOOR = 1; // 1% of 300M = 3M
	uint256 constant private MIN_FREEZE_AMOUNT = 1e20; // 100 minimum
	uint8 constant public decimals = 18;
	event Transfer(address indexed from, address indexed to, uint256 tokens);
	event Approval(address indexed owner, address indexed spender, uint256 tokens);
	event Whitelist(address indexed user, bool status);
	event Stake(address indexed owner, uint256 tokens);
	event Burn(uint256 tokens);
	event Unstake(address indexed owner, uint256 tokens);
	event Yield(address indexed owner, uint256 tokens);
	struct User {
		bool whitelisted;
		uint256 balance;
		uint256 frozen;
		mapping(address => uint256) allowance;
		int256 scaledPayout;
	}
	struct Info {
		uint256 totalSupply;
		uint256 totalFrozen;
		mapping(address => User) users;
		uint256 scaledPayoutPerToken;
		address admin;
	}
	Info private info;

	constructor() public {
		info.admin = msg.sender;
		info.totalSupply = INITIAL_SUPPLY;
		info.users[msg.sender].balance = INITIAL_SUPPLY;
		emit Transfer(address(0x0), msg.sender, INITIAL_SUPPLY);
		whitelist(msg.sender, true);
	}

	function yield() external returns (uint256) {
		uint256 _dividends = dividendsOf(msg.sender);
		require(_dividends >= 0);
		info.users[msg.sender].scaledPayout += int256(_dividends * FLOAT_SCALAR);
		info.users[msg.sender].balance += _dividends;
		emit Transfer(address(this), msg.sender, _dividends);
		emit Yield(msg.sender, _dividends);
		return _dividends;
	}

	function burn(uint256 _tokens) external {
		require(balanceOf(msg.sender) >= _tokens);
		info.users[msg.sender].balance -= _tokens;
		uint256 _burnedAmount = _tokens;
		if (info.totalFrozen > 0) {
			_burnedAmount /= 2;
			info.scaledPayoutPerToken += _burnedAmount * FLOAT_SCALAR / info.totalFrozen;
			emit Transfer(msg.sender, address(this), _burnedAmount);
		}
		info.totalSupply -= _burnedAmount;
		emit Transfer(msg.sender, address(0x0), _burnedAmount);
		emit Burn(_burnedAmount);
	}

	function distribute(uint256 _tokens) external {
		require(info.totalFrozen > 0);
		require(balanceOf(msg.sender) >= _tokens);
		info.users[msg.sender].balance -= _tokens;
		info.scaledPayoutPerToken += _tokens * FLOAT_SCALAR / info.totalFrozen;
		emit Transfer(msg.sender, address(this), _tokens);
	}

	function transfer(address _to, uint256 _tokens) external returns (bool) {
		_transfer(msg.sender, _to, _tokens);
		return true;
	}

	function approve(address _spender, uint256 _tokens) external returns (bool) {
		info.users[msg.sender].allowance[_spender] = _tokens;
		emit Approval(msg.sender, _spender, _tokens);
		return true;
	}

	function transferFrom(address _from, address _to, uint256 _tokens) external returns (bool) {
		require(info.users[_from].allowance[msg.sender] >= _tokens);
		info.users[_from].allowance[msg.sender] -= _tokens;
		_transfer(_from, _to, _tokens);
		return true;
	}

	function bulkTransfer(address[] calldata _receivers, uint256[] calldata _amounts) external {
		require(_receivers.length == _amounts.length);
		for (uint256 i = 0; i < _receivers.length; i++) {
			_transfer(msg.sender, _receivers[i], _amounts[i]);
		}
	}

	function whitelist(address _user, bool _status) public {
		require(msg.sender == info.admin);
		info.users[_user].whitelisted = _status;
		emit Whitelist(_user, _status);
	}


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

	function totalFrozen() public view returns (uint256) {
		return info.totalFrozen;
	}

	function balanceOf(address _user) public view returns (uint256) {
		return info.users[_user].balance - frozenOf(_user);
	}

	function frozenOf(address _user) public view returns (uint256) {
		return info.users[_user].frozen;
	}

	function dividendsOf(address _user) public view returns (uint256) {
		return uint256(int256(info.scaledPayoutPerToken * info.users[_user].frozen) - info.users[_user].scaledPayout) / FLOAT_SCALAR;
	}

	function allowance(address _user, address _spender) public view returns (uint256) {
		return info.users[_user].allowance[_spender];
	}

	function isWhitelisted(address _user) public view returns (bool) {
		return info.users[_user].whitelisted;
	}

	function allInfoFor(address _user) public view returns (uint256 totalTokenSupply, uint256 totalTokensFrozen, uint256 userBalance, uint256 userFrozen, uint256 userDividends) {
		return (totalSupply(), totalFrozen(), balanceOf(_user), frozenOf(_user), dividendsOf(_user));
	}


	function _transfer(address _from, address _to, uint256 _tokens) internal returns (uint256) {
		require(balanceOf(_from) >= _tokens);
		info.users[_from].balance -= _tokens;
		uint256 _burnedAmount = _tokens * BURN_RATE / 100;
		if (totalSupply() - _burnedAmount < INITIAL_SUPPLY * SUPPLY_FLOOR / 100 || isWhitelisted(_from)) {
			_burnedAmount = 0;
		}
		uint256 _transferred = _tokens - _burnedAmount;
		info.users[_to].balance += _transferred;
		emit Transfer(_from, _to, _transferred);
		if (_burnedAmount > 0) {
			if (info.totalFrozen > 0) {
				_burnedAmount /= 2;
				info.scaledPayoutPerToken += _burnedAmount * FLOAT_SCALAR / info.totalFrozen;
				emit Transfer(_from, address(this), _burnedAmount);
			}
			info.totalSupply -= _burnedAmount;
			emit Transfer(_from, address(0x0), _burnedAmount);
			emit Burn(_burnedAmount);
		}
		return _transferred;
	}

	function stakeInt(uint256 _amount) internal {
		require(balanceOf(msg.sender) >= _amount);
		require(frozenOf(msg.sender) + _amount >= MIN_FREEZE_AMOUNT);
		info.totalFrozen += _amount;
		info.users[msg.sender].frozen += _amount;
		info.users[msg.sender].scaledPayout += int256(_amount * info.scaledPayoutPerToken);
		emit Transfer(msg.sender, address(this), _amount);
		emit Stake(msg.sender, _amount);
	}

	function unstakeInt(uint256 _amount) internal {
		require(frozenOf(msg.sender) >= _amount);
		uint256 _burnedAmount = _amount * BURN_RATE / 100;
		info.scaledPayoutPerToken += _burnedAmount * FLOAT_SCALAR / info.totalFrozen;
		info.totalFrozen -= _amount;
		info.users[msg.sender].balance -= _burnedAmount;
		info.users[msg.sender].frozen -= _amount;
		info.users[msg.sender].scaledPayout -= int256(_amount * info.scaledPayoutPerToken);
		emit Transfer(address(this), msg.sender, _amount - _burnedAmount);
		emit Unstake(msg.sender, _amount);
	}
	
	function stake(uint256 amount) external {
		stakeInt(amount);
	}

	function unstake(uint256 amount) external {
		unstakeInt(amount);
	}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Stake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Unstake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"Whitelist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Yield","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"allInfoFor","outputs":[{"internalType":"uint256","name":"totalTokenSupply","type":"uint256"},{"internalType":"uint256","name":"totalTokensFrozen","type":"uint256"},{"internalType":"uint256","name":"userBalance","type":"uint256"},{"internalType":"uint256","name":"userFrozen","type":"uint256"},{"internalType":"uint256","name":"userDividends","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_receivers","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"bulkTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"distribute","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"dividendsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"frozenOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalFrozen","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"unstake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"whitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"yield","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5033600060040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506af8277896582678ac00000060008001819055506af8277896582678ac000000600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6af8277896582678ac0000006040518082815260200191505060405180910390a361014033600161014560201b60201c565b610255565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101a257600080fd5b80600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d82604051808215151515815260200191505060405180910390a25050565b611a7f806102646000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c8063313ce567116100b857806391c05b0b1161007c57806391c05b0b1461062a57806395d89b4114610658578063a694fc3a146106db578063a9059cbb14610709578063dd62ed3e1461076f578063f59c3708146107e757610136565b8063313ce567146104b05780633af32abf146104d457806342966c681461053057806357f6b8121461055e57806370a08231146105d257610136565b80631bf6e00d116100ff5780631bf6e00d146103685780631e7f87bc146103c057806323b872dd146103de57806328593984146104645780632e17de781461048257610136565b806265318b1461013b57806306fdde0314610193578063095ea7b314610216578063153a1f3e1461027c57806318160ddd1461034a575b600080fd5b61017d6004803603602081101561015157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610837565b6040518082815260200191505060405180910390f35b61019b6108e6565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101db5780820151818401526020810190506101c0565b50505050905090810190601f1680156102085780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102626004803603604081101561022c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061091f565b604051808215151515815260200191505060405180910390f35b6103486004803603604081101561029257600080fd5b81019080803590602001906401000000008111156102af57600080fd5b8201836020820111156102c157600080fd5b803590602001918460208302840111640100000000831117156102e357600080fd5b90919293919293908035906020019064010000000081111561030457600080fd5b82018360208201111561031657600080fd5b8035906020019184602083028401116401000000008311171561033857600080fd5b9091929391929390505050610a17565b005b610352610a94565b6040518082815260200191505060405180910390f35b6103aa6004803603602081101561037e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aa0565b6040518082815260200191505060405180910390f35b6103c8610aee565b6040518082815260200191505060405180910390f35b61044a600480360360608110156103f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610afa565b604051808215151515815260200191505060405180910390f35b61046c610c32565b6040518082815260200191505060405180910390f35b6104ae6004803603602081101561049857600080fd5b8101908080359060200190929190505050610db9565b005b6104b8610dc5565b604051808260ff1660ff16815260200191505060405180910390f35b610516600480360360208110156104ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dca565b604051808215151515815260200191505060405180910390f35b61055c6004803603602081101561054657600080fd5b8101908080359060200190929190505050610e25565b005b6105a06004803603602081101561057457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ff1565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b610614600480360360208110156105e857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611037565b6040518082815260200191505060405180910390f35b6106566004803603602081101561064057600080fd5b8101908080359060200190929190505050611090565b005b61066061119d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106a0578082015181840152602081019050610685565b50505050905090810190601f1680156106cd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610707600480360360208110156106f157600080fd5b81019080803590602001909291905050506111d6565b005b6107556004803603604081101561071f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111e2565b604051808215151515815260200191505060405180910390f35b6107d16004803603604081101561078557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111fa565b6040518082815260200191505060405180910390f35b610835600480360360408110156107fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611286565b005b600068010000000000000000600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154600060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546000600301540203816108de57fe5b049050919050565b6040518060400160405280600881526020017f484558554c54524100000000000000000000000000000000000000000000000081525081565b600081600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b818190508484905014610a2957600080fd5b60008090505b84849050811015610a8d57610a7f33868684818110610a4a57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858585818110610a7357fe5b90506020020135611396565b508080600101915050610a2f565b5050505050565b60008060000154905090565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050919050565b60008060010154905090565b600081600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b8b57600080fd5b81600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550610c26848484611396565b50600190509392505050565b600080610c3e33610837565b90506000811015610c4e57600080fd5b680100000000000000008102600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000828254019250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f6c26d5cf55429390ad618bed3660c538497dcfd2873e67dbb54ee669be0f0816826040518082815260200191505060405180910390a28091505090565b610dc281611680565b50565b601281565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff169050919050565b80610e2f33611037565b1015610e3a57600080fd5b80600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825403925050819055506000819050600080600101541115610f3e5760028181610ea957fe5b04905060006001015468010000000000000000820281610ec557fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b806000800160008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a37fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb816040518082815260200191505060405180910390a15050565b6000806000806000611001610a94565b611009610aee565b61101288611037565b61101b89610aa0565b6110248a610837565b9450945094509450945091939590929450565b600061104282610aa0565b600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154039050919050565b60008060010154116110a157600080fd5b806110ab33611037565b10156110b657600080fd5b80600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825403925050819055506000600101546801000000000000000082028161112257fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b6040518060400160405280600881526020017f484558554c54524100000000000000000000000000000000000000000000000081525081565b6111df8161189f565b50565b60006111ef338484611396565b506001905092915050565b60008060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112e357600080fd5b80600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d82604051808215151515815260200191505060405180910390a25050565b6000816113a285611037565b10156113ad57600080fd5b81600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000828254039250508190555060006064600f84028161140f57fe5b049050606460016af8277896582678ac000000028161142a57fe5b0481611434610a94565b031080611446575061144585610dca565b5b1561145057600090505b6000818403905080600060020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36000821115611674576000806001015411156115c4576002828161152f57fe5b0491506000600101546801000000000000000083028161154b57fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b816000800160008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a37fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb826040518082815260200191505060405180910390a15b80925050509392505050565b8061168a33610aa0565b101561169557600080fd5b60006064600f8302816116a457fe5b049050600060010154680100000000000000008202816116c057fe5b046000600301600082825401925050819055508160006001016000828254039250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000828254039250508190555081600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201600082825403925050819055506000600301548202600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8385036040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd836040518082815260200191505060405180910390a25050565b806118a933611037565b10156118b457600080fd5b68056bc75e2d63100000816118c833610aa0565b0110156118d457600080fd5b8060006001016000828254019250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201600082825401925050819055506000600301548102600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a826040518082815260200191505060405180910390a25056fea265627a7a72315820ddad3bc4144b2bec2818349434d78ceaccd629976d9b09519a46289e1f71603e64736f6c63430005110032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101365760003560e01c8063313ce567116100b857806391c05b0b1161007c57806391c05b0b1461062a57806395d89b4114610658578063a694fc3a146106db578063a9059cbb14610709578063dd62ed3e1461076f578063f59c3708146107e757610136565b8063313ce567146104b05780633af32abf146104d457806342966c681461053057806357f6b8121461055e57806370a08231146105d257610136565b80631bf6e00d116100ff5780631bf6e00d146103685780631e7f87bc146103c057806323b872dd146103de57806328593984146104645780632e17de781461048257610136565b806265318b1461013b57806306fdde0314610193578063095ea7b314610216578063153a1f3e1461027c57806318160ddd1461034a575b600080fd5b61017d6004803603602081101561015157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610837565b6040518082815260200191505060405180910390f35b61019b6108e6565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101db5780820151818401526020810190506101c0565b50505050905090810190601f1680156102085780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102626004803603604081101561022c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061091f565b604051808215151515815260200191505060405180910390f35b6103486004803603604081101561029257600080fd5b81019080803590602001906401000000008111156102af57600080fd5b8201836020820111156102c157600080fd5b803590602001918460208302840111640100000000831117156102e357600080fd5b90919293919293908035906020019064010000000081111561030457600080fd5b82018360208201111561031657600080fd5b8035906020019184602083028401116401000000008311171561033857600080fd5b9091929391929390505050610a17565b005b610352610a94565b6040518082815260200191505060405180910390f35b6103aa6004803603602081101561037e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aa0565b6040518082815260200191505060405180910390f35b6103c8610aee565b6040518082815260200191505060405180910390f35b61044a600480360360608110156103f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610afa565b604051808215151515815260200191505060405180910390f35b61046c610c32565b6040518082815260200191505060405180910390f35b6104ae6004803603602081101561049857600080fd5b8101908080359060200190929190505050610db9565b005b6104b8610dc5565b604051808260ff1660ff16815260200191505060405180910390f35b610516600480360360208110156104ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dca565b604051808215151515815260200191505060405180910390f35b61055c6004803603602081101561054657600080fd5b8101908080359060200190929190505050610e25565b005b6105a06004803603602081101561057457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ff1565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b610614600480360360208110156105e857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611037565b6040518082815260200191505060405180910390f35b6106566004803603602081101561064057600080fd5b8101908080359060200190929190505050611090565b005b61066061119d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106a0578082015181840152602081019050610685565b50505050905090810190601f1680156106cd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610707600480360360208110156106f157600080fd5b81019080803590602001909291905050506111d6565b005b6107556004803603604081101561071f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111e2565b604051808215151515815260200191505060405180910390f35b6107d16004803603604081101561078557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111fa565b6040518082815260200191505060405180910390f35b610835600480360360408110156107fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611286565b005b600068010000000000000000600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154600060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546000600301540203816108de57fe5b049050919050565b6040518060400160405280600881526020017f484558554c54524100000000000000000000000000000000000000000000000081525081565b600081600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b818190508484905014610a2957600080fd5b60008090505b84849050811015610a8d57610a7f33868684818110610a4a57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858585818110610a7357fe5b90506020020135611396565b508080600101915050610a2f565b5050505050565b60008060000154905090565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050919050565b60008060010154905090565b600081600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b8b57600080fd5b81600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550610c26848484611396565b50600190509392505050565b600080610c3e33610837565b90506000811015610c4e57600080fd5b680100000000000000008102600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000828254019250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f6c26d5cf55429390ad618bed3660c538497dcfd2873e67dbb54ee669be0f0816826040518082815260200191505060405180910390a28091505090565b610dc281611680565b50565b601281565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff169050919050565b80610e2f33611037565b1015610e3a57600080fd5b80600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825403925050819055506000819050600080600101541115610f3e5760028181610ea957fe5b04905060006001015468010000000000000000820281610ec557fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b806000800160008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a37fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb816040518082815260200191505060405180910390a15050565b6000806000806000611001610a94565b611009610aee565b61101288611037565b61101b89610aa0565b6110248a610837565b9450945094509450945091939590929450565b600061104282610aa0565b600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154039050919050565b60008060010154116110a157600080fd5b806110ab33611037565b10156110b657600080fd5b80600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825403925050819055506000600101546801000000000000000082028161112257fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b6040518060400160405280600881526020017f484558554c54524100000000000000000000000000000000000000000000000081525081565b6111df8161189f565b50565b60006111ef338484611396565b506001905092915050565b60008060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112e357600080fd5b80600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d82604051808215151515815260200191505060405180910390a25050565b6000816113a285611037565b10156113ad57600080fd5b81600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000828254039250508190555060006064600f84028161140f57fe5b049050606460016af8277896582678ac000000028161142a57fe5b0481611434610a94565b031080611446575061144585610dca565b5b1561145057600090505b6000818403905080600060020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36000821115611674576000806001015411156115c4576002828161152f57fe5b0491506000600101546801000000000000000083028161154b57fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b816000800160008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a37fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb826040518082815260200191505060405180910390a15b80925050509392505050565b8061168a33610aa0565b101561169557600080fd5b60006064600f8302816116a457fe5b049050600060010154680100000000000000008202816116c057fe5b046000600301600082825401925050819055508160006001016000828254039250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000828254039250508190555081600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201600082825403925050819055506000600301548202600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8385036040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd836040518082815260200191505060405180910390a25050565b806118a933611037565b10156118b457600080fd5b68056bc75e2d63100000816118c833610aa0565b0110156118d457600080fd5b8060006001016000828254019250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201600082825401925050819055506000600301548102600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a826040518082815260200191505060405180910390a25056fea265627a7a72315820ddad3bc4144b2bec2818349434d78ceaccd629976d9b09519a46289e1f71603e64736f6c63430005110032

Deployed Bytecode Sourcemap

159:6850:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;159:6850:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4251:200;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4251:200:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;181:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;181:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2904:203;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2904:203:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3383:259;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3383:259:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3383:259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3383:259:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3383:259:0;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3383:259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3383:259:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3383:259:0;;;;;;;;;;;;:::i;:::-;;3831:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4142:104;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4142:104:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3922:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3112:266;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3112:266:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1572:371;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6936:70;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6936:70:0;;;;;;;;;;;;;;;;;:::i;:::-;;563:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4597:111;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4597:111:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1948:502;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1948:502:0;;;;;;;;;;;;;;;;;:::i;:::-;;4713:275;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4713:275:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4013:124;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4013:124:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2455:306;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2455:306:0;;;;;;;;;;;;;;;;;:::i;:::-;;225:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;225:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6865:66;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6865:66:0;;;;;;;;;;;;;;;;;:::i;:::-;;2766:133;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2766:133:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4456:136;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4456:136:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3647:177;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3647:177:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4251:200;4308:7;311:5;4400:4;:10;;:17;4411:5;4400:17;;;;;;;;;;;;;;;:30;;;4372:4;:10;;:17;4383:5;4372:17;;;;;;;;;;;;;;;:24;;;4344:4;:25;;;:52;4337:93;4329:117;;;;;;4322:124;;4251:200;;;:::o;181:40::-;;;;;;;;;;;;;;;;;;;:::o;2904:203::-;2974:4;3030:7;2985:4;:10;;:22;2996:10;2985:22;;;;;;;;;;;;;;;:32;;:42;3018:8;2985:42;;;;;;;;;;;;;;;:52;;;;3068:8;3047:39;;3056:10;3047:39;;;3078:7;3047:39;;;;;;;;;;;;;;;;;;3098:4;3091:11;;2904:203;;;;:::o;3383:259::-;3508:8;;:15;;3487:10;;:17;;:36;3479:45;;;;;;3534:9;3546:1;3534:13;;3529:109;3553:10;;:17;;3549:1;:21;3529:109;;;3583:49;3593:10;3605;;3616:1;3605:13;;;;;;;;;;;;;;;3620:8;;3629:1;3620:11;;;;;;;;;;;;;3583:9;:49::i;:::-;;3572:3;;;;;;;3529:109;;;;3383:259;;;;:::o;3831:86::-;3875:7;3896:4;:16;;;3889:23;;3831:86;:::o;4142:104::-;4196:7;4217:4;:10;;:17;4228:5;4217:17;;;;;;;;;;;;;;;:24;;;4210:31;;4142:104;;;:::o;3922:86::-;3966:7;3987:4;:16;;;3980:23;;3922:86;:::o;3112:266::-;3197:4;3259:7;3216:4;:10;;:17;3227:5;3216:17;;;;;;;;;;;;;;;:27;;:39;3244:10;3216:39;;;;;;;;;;;;;;;;:50;;3208:59;;;;;;3315:7;3272:4;:10;;:17;3283:5;3272:17;;;;;;;;;;;;;;;:27;;:39;3300:10;3272:39;;;;;;;;;;;;;;;;:50;;;;;;;;;;;3327:30;3337:5;3344:3;3349:7;3327:9;:30::i;:::-;;3369:4;3362:11;;3112:266;;;;;:::o;1572:371::-;1607:7;1621:18;1642:23;1654:10;1642:11;:23::i;:::-;1621:44;;1692:1;1678:10;:15;;1670:24;;;;;;311:5;1745:10;:25;1699:4;:10;;:22;1710:10;1699:22;;;;;;;;;;;;;;;:35;;;:72;;;;;;;;;;;1810:10;1776:4;:10;;:22;1787:10;1776:22;;;;;;;;;;;;;;;:30;;;:44;;;;;;;;;;;1854:10;1830:47;;1847:4;1830:47;;;1866:10;1830:47;;;;;;;;;;;;;;;;;;1893:10;1887:29;;;1905:10;1887:29;;;;;;;;;;;;;;;;;;1928:10;1921:17;;;1572:371;:::o;6936:70::-;6983:18;6994:6;6983:10;:18::i;:::-;6936:70;:::o;563:35::-;596:2;563:35;:::o;4597:111::-;4656:4;4674;:10;;:17;4685:5;4674:17;;;;;;;;;;;;;;;:29;;;;;;;;;;;;4667:36;;4597:111;;;:::o;1948:502::-;2026:7;2001:21;2011:10;2001:9;:21::i;:::-;:32;;1993:41;;;;;;2073:7;2039:4;:10;;:22;2050:10;2039:22;;;;;;;;;;;;;;;:30;;;:41;;;;;;;;;;;2085:21;2109:7;2085:31;;2144:1;2125:4;:16;;;:20;2121:199;;;2170:1;2153:18;;;;;;;;;2237:4;:16;;;311:5;2206:13;:28;:47;;;;;;2177:4;:25;;;:76;;;;;;;;;;;2293:4;2264:50;;2273:10;2264:50;;;2300:13;2264:50;;;;;;;;;;;;;;;;;;2121:199;2344:13;2324:4;:16;;;:33;;;;;;;;;;;2396:3;2367:49;;2376:10;2367:49;;;2402:13;2367:49;;;;;;;;;;;;;;;;;;2426:19;2431:13;2426:19;;;;;;;;;;;;;;;;;;1948:502;;:::o;4713:275::-;4769:24;4795:25;4822:19;4843:18;4863:21;4899:13;:11;:13::i;:::-;4914;:11;:13::i;:::-;4929:16;4939:5;4929:9;:16::i;:::-;4947:15;4956:5;4947:8;:15::i;:::-;4964:18;4976:5;4964:11;:18::i;:::-;4891:92;;;;;;;;;;4713:275;;;;;;;:::o;4013:124::-;4068:7;4117:15;4126:5;4117:8;:15::i;:::-;4089:4;:10;;:17;4100:5;4089:17;;;;;;;;;;;;;;;:25;;;:43;4082:50;;4013:124;;;:::o;2455:306::-;2533:1;2514:4;:16;;;:20;2506:29;;;;;;2573:7;2548:21;2558:10;2548:9;:21::i;:::-;:32;;2540:41;;;;;;2620:7;2586:4;:10;;:22;2597:10;2586:22;;;;;;;;;;;;;;;:30;;;:41;;;;;;;;;;;2686:4;:16;;;311:5;2661:7;:22;:41;;;;;;2632:4;:25;;;:70;;;;;;;;;;;2741:4;2712:44;;2721:10;2712:44;;;2748:7;2712:44;;;;;;;;;;;;;;;;;;2455:306;:::o;225:42::-;;;;;;;;;;;;;;;;;;;:::o;6865:66::-;6910:16;6919:6;6910:8;:16::i;:::-;6865:66;:::o;2766:133::-;2832:4;2843:35;2853:10;2865:3;2870:7;2843:9;:35::i;:::-;;2890:4;2883:11;;2766:133;;;;:::o;4456:136::-;4529:7;4550:4;:10;;:17;4561:5;4550:17;;;;;;;;;;;;;;;:27;;:37;4578:8;4550:37;;;;;;;;;;;;;;;;4543:44;;4456:136;;;;:::o;3647:177::-;3729:4;:10;;;;;;;;;;;;3715:24;;:10;:24;;;3707:33;;;;;;3777:7;3745:4;:10;;:17;3756:5;3745:17;;;;;;;;;;;;;;;:29;;;:39;;;;;;;;;;;;;;;;;;3804:5;3794:25;;;3811:7;3794:25;;;;;;;;;;;;;;;;;;;;;;3647:177;;:::o;4995:885::-;5077:7;5119;5099:16;5109:5;5099:9;:16::i;:::-;:27;;5091:36;;;;;;5161:7;5132:4;:10;;:17;5143:5;5132:17;;;;;;;;;;;;;;;:25;;;:36;;;;;;;;;;;5173:21;5219:3;411:2;5197:7;:19;:25;;;;;;5173:49;;5295:3;471:1;362:4;5263:29;:35;;;;;;5247:13;5231;:11;:13::i;:::-;:29;:67;:91;;;;5302:20;5316:5;5302:13;:20::i;:::-;5231:91;5227:126;;;5346:1;5330:17;;5227:126;5357:20;5390:13;5380:7;:23;5357:46;;5435:12;5408:4;:10;;:15;5419:3;5408:15;;;;;;;;;;;;;;;:23;;;:39;;;;;;;;;;;5473:3;5457:34;;5466:5;5457:34;;;5478:12;5457:34;;;;;;;;;;;;;;;;;;5516:1;5500:13;:17;5496:356;;;5548:1;5529:4;:16;;;:20;5525:198;;;5575:1;5558:18;;;;;;;;;5643:4;:16;;;311:5;5612:13;:28;:47;;;;;;5583:4;:25;;;:76;;;;;;;;;;;5695:4;5671:45;;5680:5;5671:45;;;5702:13;5671:45;;;;;;;;;;;;;;;;;;5525:198;5748:13;5728:4;:16;;;:33;;;;;;;;;;;5796:3;5772:44;;5781:5;5772:44;;;5802:13;5772:44;;;;;;;;;;;;;;;;;;5827:19;5832:13;5827:19;;;;;;;;;;;;;;;;;;5496:356;5863:12;5856:19;;;;4995:885;;;;;:::o;6304:555::-;6387:7;6363:20;6372:10;6363:8;:20::i;:::-;:31;;6355:40;;;;;;6400:21;6446:3;411:2;6424:7;:19;:25;;;;;;6400:49;;6514:4;:16;;;311:5;6483:13;:28;:47;;;;;;6454:4;:25;;;:76;;;;;;;;;;;6555:7;6535:4;:16;;;:27;;;;;;;;;;;6601:13;6567:4;:10;;:22;6578:10;6567:22;;;;;;;;;;;;;;;:30;;;:47;;;;;;;;;;;6652:7;6619:4;:10;;:22;6630:10;6619:22;;;;;;;;;;;;;;;:29;;;:40;;;;;;;;;;;6720:4;:25;;;6710:7;:35;6664:4;:10;;:22;6675:10;6664:22;;;;;;;;;;;;;;;:35;;;:82;;;;;;;;;;;6780:10;6756:60;;6773:4;6756:60;;;6802:13;6792:7;:23;6756:60;;;;;;;;;;;;;;;;;;6834:10;6826:28;;;6846:7;6826:28;;;;;;;;;;;;;;;;;;6304:555;;:::o;5885:414::-;5967:7;5942:21;5952:10;5942:9;:21::i;:::-;:32;;5934:41;;;;;;540:4;6011:7;5988:20;5997:10;5988:8;:20::i;:::-;:30;:51;;5980:60;;;;;;6065:7;6045:4;:16;;;:27;;;;;;;;;;;6110:7;6077:4;:10;;:22;6088:10;6077:22;;;;;;;;;;;;;;;:29;;;:40;;;;;;;;;;;6178:4;:25;;;6168:7;:35;6122:4;:10;;:22;6133:10;6122:22;;;;;;;;;;;;;;;:35;;;:82;;;;;;;;;;;6243:4;6214:44;;6223:10;6214:44;;;6250:7;6214:44;;;;;;;;;;;;;;;;;;6274:10;6268:26;;;6286:7;6268:26;;;;;;;;;;;;;;;;;;5885:414;:::o

Swarm Source

bzzr://ddad3bc4144b2bec2818349434d78ceaccd629976d9b09519a46289e1f71603e

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  ]

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.