ETH Price: $2,347.61 (-5.47%)

Contract

0xf68d7685172e6702FEd746bde7e050C046Baa744
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer105458862020-07-28 4:41:221674 days ago1595911282IN
0xf68d7685...046Baa744
0 ETH0.0025851853
Transfer105458492020-07-28 4:32:081674 days ago1595910728IN
0xf68d7685...046Baa744
0 ETH0.0017547457
Transfer104308592020-07-10 9:08:531692 days ago1594372133IN
0xf68d7685...046Baa744
0 ETH0.0015636746
Transfer104299032020-07-10 5:32:241692 days ago1594359144IN
0xf68d7685...046Baa744
0 ETH0.0008990229
Transfer104220922020-07-09 0:25:351694 days ago1594254335IN
0xf68d7685...046Baa744
0 ETH0.0012230731
Transfer103501232020-06-27 21:11:521705 days ago1593292312IN
0xf68d7685...046Baa744
0 ETH0.0009854429
Approve103484412020-06-27 14:41:251705 days ago1593268885IN
0xf68d7685...046Baa744
0 ETH0.0015504335
Transfer103483572020-06-27 14:21:281705 days ago1593267688IN
0xf68d7685...046Baa744
0 ETH0.0024006549
Approve103480102020-06-27 13:04:291705 days ago1593263069IN
0xf68d7685...046Baa744
0 ETH0.0015947236
Approve103477662020-06-27 12:09:301705 days ago1593259770IN
0xf68d7685...046Baa744
0 ETH0.0014618333
Approve103477572020-06-27 12:06:331705 days ago1593259593IN
0xf68d7685...046Baa744
0 ETH0.0014618333
Transfer103475182020-06-27 11:12:031705 days ago1593256323IN
0xf68d7685...046Baa744
0 ETH0.0011557634
Approve103474522020-06-27 10:58:331705 days ago1593255513IN
0xf68d7685...046Baa744
0 ETH0.0018605142
Approve103463362020-06-27 6:47:051705 days ago1593240425IN
0xf68d7685...046Baa744
0 ETH0.0017719240
Approve103462462020-06-27 6:27:531705 days ago1593239273IN
0xf68d7685...046Baa744
0 ETH0.002214950
Approve103452802020-06-27 2:50:331705 days ago1593226233IN
0xf68d7685...046Baa744
0 ETH0.0010631524
Approve103451582020-06-27 2:22:371705 days ago1593224557IN
0xf68d7685...046Baa744
0 ETH0.0010631524
Approve103447542020-06-27 0:56:461706 days ago1593219406IN
0xf68d7685...046Baa744
0 ETH0.0011074525
Approve103447242020-06-27 0:47:501706 days ago1593218870IN
0xf68d7685...046Baa744
0 ETH0.0011517426
Approve103446122020-06-27 0:21:241706 days ago1593217284IN
0xf68d7685...046Baa744
0 ETH0.0009279520.94805561
Approve103445522020-06-27 0:07:421706 days ago1593216462IN
0xf68d7685...046Baa744
0 ETH0.0011517426
Transfer103445452020-06-27 0:06:361706 days ago1593216396IN
0xf68d7685...046Baa744
0 ETH0.0012137822.3
Transfer103445352020-06-27 0:04:421706 days ago1593216282IN
0xf68d7685...046Baa744
0 ETH0.0010251826
Approve103444462020-06-26 23:44:161706 days ago1593215056IN
0xf68d7685...046Baa744
0 ETH0.0011517426
Approve103444372020-06-26 23:43:081706 days ago1593214988IN
0xf68d7685...046Baa744
0 ETH0.0011517426
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:
Shitcoin

Compiler Version
v0.5.13+commit.5b0b510c

Optimization Enabled:
Yes with 200 runs

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

//Shitcoin by drunkendog
//Official Discord: https://discord.gg/cj7BBhj

pragma solidity ^0.5.13;

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

contract Shitcoin {

	uint256 constant private FLOAT_SCALAR = 2**64;
	uint256 constant private INITIAL_SUPPLY = 420690000; // 42M
	uint256 constant private BURN_RATE = 20; // 5% per tx
	uint256 constant private SUPPLY_FLOOR = 1; // 0.1% of 42M = 420K

	string constant public name = "Shitcoin";
	string constant public symbol = "SHITE";
	uint8 constant public decimals = 2;

	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;


	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 Burn(uint256 tokens);


	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 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 transferAndCall(address _to, uint256 _tokens, bytes calldata _data) external returns (bool) {
		uint256 _transferred = _transfer(msg.sender, _to, _tokens);
		uint32 _size;
		assembly {
			_size := extcodesize(_to)
		}
		if (_size > 0) {
			require(Callable(_to).tokenCallback(msg.sender, _transferred, _data));
		}
		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;
	}
}

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":"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":"user","type":"address"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"Whitelist","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":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":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"transferAndCall","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":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"whitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50600480546001600160a01b031916339081179091556319133850600081815582815260026020908152604080832060010184905580519384525191927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a361008c3360016001600160e01b0361009116565b610108565b6004546001600160a01b031633146100a857600080fd5b6001600160a01b038216600081815260026020908152604091829020805460ff1916851515908117909155825190815291517f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d9281900390910190a25050565b610cb9806101176000396000f3fe608060405234801561001057600080fd5b50600436106101205760003560e01c80633af32abf116100ad57806391c05b0b1161007157806391c05b0b146104a757806395d89b41146104c4578063a9059cbb146104cc578063dd62ed3e146104f8578063f59c37081461052657610120565b80633af32abf146103685780634000aea01461038e57806342966c681461041357806357f6b8121461043057806370a082311461048157610120565b806318160ddd116100f457806318160ddd146102de5780631bf6e00d146102e65780631e7f87bc1461030c57806323b872dd14610314578063313ce5671461034a57610120565b806265318b1461012557806306fdde031461015d578063095ea7b3146101da578063153a1f3e1461021a575b600080fd5b61014b6004803603602081101561013b57600080fd5b50356001600160a01b0316610554565b60408051918252519081900360200190f35b610165610588565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019f578181015183820152602001610187565b50505050905090810190601f1680156101cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610206600480360360408110156101f057600080fd5b506001600160a01b0381351690602001356105ac565b604080519115158252519081900360200190f35b6102dc6004803603604081101561023057600080fd5b81019060208101813564010000000081111561024b57600080fd5b82018360208201111561025d57600080fd5b8035906020019184602083028401116401000000008311171561027f57600080fd5b91939092909160208101903564010000000081111561029d57600080fd5b8201836020820111156102af57600080fd5b803590602001918460208302840111640100000000831117156102d157600080fd5b509092509050610616565b005b61014b610675565b61014b600480360360208110156102fc57600080fd5b50356001600160a01b031661067b565b61014b61069a565b6102066004803603606081101561032a57600080fd5b506001600160a01b038135811691602081013590911690604001356106a0565b610352610716565b6040805160ff9092168252519081900360200190f35b6102066004803603602081101561037e57600080fd5b50356001600160a01b031661071b565b610206600480360360608110156103a457600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156103d457600080fd5b8201836020820111156103e657600080fd5b8035906020019184600183028401116401000000008311171561040857600080fd5b509092509050610739565b6102dc6004803603602081101561042957600080fd5b5035610820565b6104566004803603602081101561044657600080fd5b50356001600160a01b0316610907565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b61014b6004803603602081101561049757600080fd5b50356001600160a01b031661094c565b6102dc600480360360208110156104bd57600080fd5b503561097b565b6101656109fc565b610206600480360360408110156104e257600080fd5b506001600160a01b038135169060200135610a1d565b61014b6004803603604081101561050e57600080fd5b506001600160a01b0381358116916020013516610a34565b6102dc6004803603604081101561053c57600080fd5b506001600160a01b0381351690602001351515610a63565b6001600160a01b031660009081526002602081905260409091206004810154910154600354600160401b9102919091030490565b6040518060400160405280600881526020016729b434ba31b7b4b760c11b81525081565b3360008181526002602090815260408083206001600160a01b03871680855260039091018352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b82811461062257600080fd5b60005b8381101561066e576106653386868481811061063d57fe5b905060200201356001600160a01b031685858581811061065957fe5b90506020020135610ada565b50600101610625565b5050505050565b60005490565b6001600160a01b03166000908152600260208190526040909120015490565b60015490565b6001600160a01b03831660009081526002602090815260408083203384526003019091528120548211156106d357600080fd5b6001600160a01b038416600090815260026020908152604080832033845260030190915290208054839003905561070b848484610ada565b506001949350505050565b600281565b6001600160a01b031660009081526002602052604090205460ff1690565b600080610747338787610ada565b9050853b63ffffffff81161561081357604051636be32e7360e01b8152336004820181815260248301859052606060448401908152606484018890526001600160a01b038b1693636be32e73939287928b928b929190608401848480828437600081840152601f19601f82011690508083019250505095505050505050602060405180830381600087803b1580156107de57600080fd5b505af11580156107f2573d6000803e3d6000fd5b505050506040513d602081101561080857600080fd5b505161081357600080fd5b5060019695505050505050565b8061082a3361094c565b101561083557600080fd5b336000908152600260205260409020600190810180548390039055548190156108a357600154600290910490600160401b82028161086f57fe5b600380549290910491909101905560408051828152905130913391600080516020610c658339815191529181900360200190a35b6000805482900381556040805183815290513391600080516020610c65833981519152919081900360200190a36040805182815290517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9181900360200190a15050565b6000806000806000610917610675565b61091f61069a565b6109288861094c565b6109318961067b565b61093a8a610554565b939a9299509097509550909350915050565b60006109578261067b565b6001600160a01b038316600090815260026020526040902060010154039050919050565b60015461098757600080fd5b806109913361094c565b101561099c57600080fd5b33600090815260026020526040902060019081018054839003905554600160401b8202816109c657fe5b600380549290910491909101905560408051828152905130913391600080516020610c658339815191529181900360200190a350565b60405180604001604052806005815260200164534849544560d81b81525081565b6000610a2a338484610ada565b5060019392505050565b6001600160a01b0391821660009081526002602090815260408083209390941682526003909201909152205490565b6004546001600160a01b03163314610a7a57600080fd5b6001600160a01b038216600081815260026020908152604091829020805460ff1916851515908117909155825190815291517f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d9281900390910190a25050565b600081610ae68561094c565b1015610af157600080fd5b6001600160a01b038416600090815260026020526040902060010180548390039055606460148302046240313481610b27610675565b031080610b385750610b388561071b565b15610b41575060005b6001600160a01b0380851660008181526002602090815260409182902060010180548689039081019091558251818152925190948a1692600080516020610c6583398151915292908290030190a38115610c5b5760015415610bf157600154600290920491600160401b830281610bb457fe5b600380549290910491909101905560408051838152905130916001600160a01b03891691600080516020610c658339815191529181900360200190a35b6000805483900381556040805184815290516001600160a01b03891691600080516020610c65833981519152919081900360200190a36040805183815290517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9181900360200190a15b9594505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa265627a7a7231582015395fe2b870615c5d548669950e0a5c066dc75dc750e9e1b762b78955ad6d3e64736f6c634300050d0032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101205760003560e01c80633af32abf116100ad57806391c05b0b1161007157806391c05b0b146104a757806395d89b41146104c4578063a9059cbb146104cc578063dd62ed3e146104f8578063f59c37081461052657610120565b80633af32abf146103685780634000aea01461038e57806342966c681461041357806357f6b8121461043057806370a082311461048157610120565b806318160ddd116100f457806318160ddd146102de5780631bf6e00d146102e65780631e7f87bc1461030c57806323b872dd14610314578063313ce5671461034a57610120565b806265318b1461012557806306fdde031461015d578063095ea7b3146101da578063153a1f3e1461021a575b600080fd5b61014b6004803603602081101561013b57600080fd5b50356001600160a01b0316610554565b60408051918252519081900360200190f35b610165610588565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019f578181015183820152602001610187565b50505050905090810190601f1680156101cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610206600480360360408110156101f057600080fd5b506001600160a01b0381351690602001356105ac565b604080519115158252519081900360200190f35b6102dc6004803603604081101561023057600080fd5b81019060208101813564010000000081111561024b57600080fd5b82018360208201111561025d57600080fd5b8035906020019184602083028401116401000000008311171561027f57600080fd5b91939092909160208101903564010000000081111561029d57600080fd5b8201836020820111156102af57600080fd5b803590602001918460208302840111640100000000831117156102d157600080fd5b509092509050610616565b005b61014b610675565b61014b600480360360208110156102fc57600080fd5b50356001600160a01b031661067b565b61014b61069a565b6102066004803603606081101561032a57600080fd5b506001600160a01b038135811691602081013590911690604001356106a0565b610352610716565b6040805160ff9092168252519081900360200190f35b6102066004803603602081101561037e57600080fd5b50356001600160a01b031661071b565b610206600480360360608110156103a457600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156103d457600080fd5b8201836020820111156103e657600080fd5b8035906020019184600183028401116401000000008311171561040857600080fd5b509092509050610739565b6102dc6004803603602081101561042957600080fd5b5035610820565b6104566004803603602081101561044657600080fd5b50356001600160a01b0316610907565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b61014b6004803603602081101561049757600080fd5b50356001600160a01b031661094c565b6102dc600480360360208110156104bd57600080fd5b503561097b565b6101656109fc565b610206600480360360408110156104e257600080fd5b506001600160a01b038135169060200135610a1d565b61014b6004803603604081101561050e57600080fd5b506001600160a01b0381358116916020013516610a34565b6102dc6004803603604081101561053c57600080fd5b506001600160a01b0381351690602001351515610a63565b6001600160a01b031660009081526002602081905260409091206004810154910154600354600160401b9102919091030490565b6040518060400160405280600881526020016729b434ba31b7b4b760c11b81525081565b3360008181526002602090815260408083206001600160a01b03871680855260039091018352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b82811461062257600080fd5b60005b8381101561066e576106653386868481811061063d57fe5b905060200201356001600160a01b031685858581811061065957fe5b90506020020135610ada565b50600101610625565b5050505050565b60005490565b6001600160a01b03166000908152600260208190526040909120015490565b60015490565b6001600160a01b03831660009081526002602090815260408083203384526003019091528120548211156106d357600080fd5b6001600160a01b038416600090815260026020908152604080832033845260030190915290208054839003905561070b848484610ada565b506001949350505050565b600281565b6001600160a01b031660009081526002602052604090205460ff1690565b600080610747338787610ada565b9050853b63ffffffff81161561081357604051636be32e7360e01b8152336004820181815260248301859052606060448401908152606484018890526001600160a01b038b1693636be32e73939287928b928b929190608401848480828437600081840152601f19601f82011690508083019250505095505050505050602060405180830381600087803b1580156107de57600080fd5b505af11580156107f2573d6000803e3d6000fd5b505050506040513d602081101561080857600080fd5b505161081357600080fd5b5060019695505050505050565b8061082a3361094c565b101561083557600080fd5b336000908152600260205260409020600190810180548390039055548190156108a357600154600290910490600160401b82028161086f57fe5b600380549290910491909101905560408051828152905130913391600080516020610c658339815191529181900360200190a35b6000805482900381556040805183815290513391600080516020610c65833981519152919081900360200190a36040805182815290517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9181900360200190a15050565b6000806000806000610917610675565b61091f61069a565b6109288861094c565b6109318961067b565b61093a8a610554565b939a9299509097509550909350915050565b60006109578261067b565b6001600160a01b038316600090815260026020526040902060010154039050919050565b60015461098757600080fd5b806109913361094c565b101561099c57600080fd5b33600090815260026020526040902060019081018054839003905554600160401b8202816109c657fe5b600380549290910491909101905560408051828152905130913391600080516020610c658339815191529181900360200190a350565b60405180604001604052806005815260200164534849544560d81b81525081565b6000610a2a338484610ada565b5060019392505050565b6001600160a01b0391821660009081526002602090815260408083209390941682526003909201909152205490565b6004546001600160a01b03163314610a7a57600080fd5b6001600160a01b038216600081815260026020908152604091829020805460ff1916851515908117909155825190815291517f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d9281900390910190a25050565b600081610ae68561094c565b1015610af157600080fd5b6001600160a01b038416600090815260026020526040902060010180548390039055606460148302046240313481610b27610675565b031080610b385750610b388561071b565b15610b41575060005b6001600160a01b0380851660008181526002602090815260409182902060010180548689039081019091558251818152925190948a1692600080516020610c6583398151915292908290030190a38115610c5b5760015415610bf157600154600290920491600160401b830281610bb457fe5b600380549290910491909101905560408051838152905130916001600160a01b03891691600080516020610c658339815191529181900360200190a35b6000805483900381556040805184815290516001600160a01b03891691600080516020610c65833981519152919081900360200190a36040805183815290517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9181900360200190a15b9594505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa265627a7a7231582015395fe2b870615c5d548669950e0a5c066dc75dc750e9e1b762b78955ad6d3e64736f6c634300050d0032

Deployed Bytecode Sourcemap

235:5494:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;235:5494:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4097:200;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4097:200:0;-1:-1:-1;;;;;4097:200:0;;:::i;:::-;;;;;;;;;;;;;;;;495:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;495:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2394:203;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2394:203:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3229:259;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3229:259:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;3229:259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3229: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;3229:259:0;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;3229:259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3229: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;-1:-1;3229:259:0;;-1:-1:-1;3229:259:0;-1:-1:-1;3229:259:0;:::i;:::-;;3677:86;;;:::i;3988:104::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3988:104:0;-1:-1:-1;;;;;3988:104:0;;:::i;3768:86::-;;;:::i;2602:266::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2602:266:0;;;;;;;;;;;;;;;;;:::i;582:34::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4443:111;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4443:111:0;-1:-1:-1;;;;;4443:111:0;;:::i;2873:351::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;2873:351:0;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;2873:351:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2873:351:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;2873:351:0;;-1:-1:-1;2873:351:0;-1:-1:-1;2873:351:0;:::i;1438:502::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1438:502:0;;:::i;4559:275::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4559:275:0;-1:-1:-1;;;;;4559:275:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3859:124;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3859:124:0;-1:-1:-1;;;;;3859:124:0;;:::i;1945:306::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1945:306:0;;:::i;539:39::-;;;:::i;2256:133::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2256:133:0;;;;;;;;:::i;4302:136::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4302:136:0;;;;;;;;;;:::i;3493:177::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3493:177:0;;;;;;;;;;:::i;4097:200::-;-1:-1:-1;;;;;4246:17:0;4154:7;4246:17;;;:10;:17;;;;;;;;:30;;;;4218:24;;;4190:25;;-1:-1:-1;;;4190:52:0;;4183:93;;;;4175:117;;4097:200::o;495:40::-;;;;;;;;;;;;;;-1:-1:-1;;;495:40:0;;;;:::o;2394:203::-;2486:10;2464:4;2475:22;;;:10;:22;;;;;;;;-1:-1:-1;;;;;2475:42:0;;;;;:32;;;;:42;;;;;:52;;;2537:39;;;;;;;2464:4;;2475:42;;2486:10;;2537:39;;;;;;;;-1:-1:-1;2588:4:0;2394:203;;;;:::o;3229:259::-;3333:36;;;3325:45;;;;;;3380:9;3375:109;3395:21;;;3375:109;;;3429:49;3439:10;3451;;3462:1;3451:13;;;;;;;;;;;;;-1:-1:-1;;;;;3451:13:0;3466:8;;3475:1;3466:11;;;;;;;;;;;;;3429:9;:49::i;:::-;-1:-1:-1;3418:3:0;;3375:109;;;;3229:259;;;;:::o;3677:86::-;3721:7;3742:16;3677:86;:::o;3988:104::-;-1:-1:-1;;;;;4063:17:0;4042:7;4063:17;;;:10;:17;;;;;;;;:24;;;3988:104::o;3768:86::-;3833:16;;3768:86;:::o;2602:266::-;-1:-1:-1;;;;;2706:17:0;;2687:4;2706:17;;;:10;:17;;;;;;;;2734:10;2706:39;;:27;;:39;;;;;;:50;-1:-1:-1;2706:50:0;2698:59;;;;;;-1:-1:-1;;;;;2762:17:0;;:4;:17;;;:10;:17;;;;;;;;2790:10;2762:39;;:27;;:39;;;;;:50;;;;;;;2817:30;2773:5;2834:3;2805:7;2817:9;:30::i;:::-;-1:-1:-1;2859:4:0;;2602:266;-1:-1:-1;;;;2602:266:0:o;582:34::-;615:1;582:34;:::o;4443:111::-;-1:-1:-1;;;;;4520:17:0;4502:4;4520:17;;;:10;:17;;;;;:29;;;;4443:111::o;2873:351::-;2968:4;2979:20;3002:35;3012:10;3024:3;3029:7;3002:9;:35::i;:::-;2979:58;-1:-1:-1;3083:16:0;;3112:9;;;;3108:96;;3137:60;;-1:-1:-1;;;3137:60:0;;3165:10;3137:60;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3137:27:0;;;;;3165:10;3177:12;;3191:5;;;;3137:60;;;;3191:5;;;;3137:60;1:33:-1;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;3137:60:0;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3137:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3137:60:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3137:60:0;3129:69;;;;;;-1:-1:-1;3215:4:0;;2873:351;-1:-1:-1;;;;;;2873:351:0:o;1438:502::-;1516:7;1491:21;1501:10;1491:9;:21::i;:::-;:32;;1483:41;;;;;;1540:10;1529:4;:22;;;:10;:22;;;;;:30;;;;:41;;;;;;;1615:16;1563:7;;1615:20;1611:199;;1727:16;;1660:1;1643:18;;;;-1:-1:-1;;;1696:28:0;;1727:16;1696:47;;;;1667:25;:76;;1696:47;;;;1667:76;;;;;;1754:50;;;;;;;;1783:4;;1763:10;;-1:-1:-1;;;;;;;;;;;1754:50:0;;;;;;;;1611:199;1814:4;:33;;;;;;;1857:49;;;;;;;;1866:10;;-1:-1:-1;;;;;;;;;;;1857:49:0;;;;;;;;;1916:19;;;;;;;;;;;;;;;;;1438:502;;:::o;4559:275::-;4615:24;4641:25;4668:19;4689:18;4709:21;4745:13;:11;:13::i;:::-;4760;:11;:13::i;:::-;4775:16;4785:5;4775:9;:16::i;:::-;4793:15;4802:5;4793:8;:15::i;:::-;4810:18;4822:5;4810:11;:18::i;:::-;4737:92;;;;-1:-1:-1;4737:92:0;;-1:-1:-1;4737:92:0;-1:-1:-1;4737:92:0;;-1:-1:-1;4559:275:0;-1:-1:-1;;4559:275:0:o;3859:124::-;3914:7;3963:15;3972:5;3963:8;:15::i;:::-;-1:-1:-1;;;;;3935:17:0;;:4;:17;;;:10;:17;;;;;:25;;;:43;;-1:-1:-1;3859:124:0;;;:::o;1945:306::-;2004:16;;1996:29;;;;;;2063:7;2038:21;2048:10;2038:9;:21::i;:::-;:32;;2030:41;;;;;;2087:10;2076:4;:22;;;:10;:22;;;;;:30;;;;:41;;;;;;;2176:16;-1:-1:-1;;;2151:22:0;;2176:16;2151:41;;;;2122:25;:70;;2151:41;;;;2122:70;;;;;;2202:44;;;;;;;;2231:4;;2211:10;;-1:-1:-1;;;;;;;;;;;2202:44:0;;;;;;;;1945:306;:::o;539:39::-;;;;;;;;;;;;;;-1:-1:-1;;;539:39:0;;;;:::o;2256:133::-;2322:4;2333:35;2343:10;2355:3;2360:7;2333:9;:35::i;:::-;-1:-1:-1;2380:4:0;;2256:133;-1:-1:-1;;;2256:133:0:o;4302:136::-;-1:-1:-1;;;;;4396:17:0;;;4375:7;4396:17;;;:10;:17;;;;;;;;:37;;;;;;:27;;;;:37;;;;;;4302:136::o;3493:177::-;3575:10;;-1:-1:-1;;;;;3575:10:0;3561;:24;3553:33;;;;;;-1:-1:-1;;;;;3591:17:0;;:4;:17;;;:10;:17;;;;;;;;;:39;;-1:-1:-1;;3591:39:0;;;;;;;;;;3640:25;;;;;;;;;;;;;;;;;3493:177;;:::o;4841:885::-;4923:7;4965;4945:16;4955:5;4945:9;:16::i;:::-;:27;;4937:36;;;;;;-1:-1:-1;;;;;4978:17:0;;:4;:17;;;:10;:17;;;;;:25;;:36;;;;;;;5065:3;407:2;5043:19;;:25;5109:35;5043:25;5077:13;:11;:13::i;:::-;:29;:67;:91;;;;5148:20;5162:5;5148:13;:20::i;:::-;5073:126;;;-1:-1:-1;5192:1:0;5073:126;-1:-1:-1;;;;;5254:15:0;;;5203:20;5254:15;;;:10;:15;;;;;;;;;:23;;:39;;5226:23;;;5254:39;;;;;;5303:34;;;;;;;5226:23;;5303:34;;;-1:-1:-1;;;;;;;;;;;5303:34:0;;;;;;;;5346:17;;5342:356;;5375:16;;:20;5371:198;;5489:16;;5421:1;5404:18;;;;-1:-1:-1;;;5458:28:0;;5489:16;5458:47;;;;5429:25;:76;;5458:47;;;;5429:76;;;;;;5517:45;;;;;;;;5541:4;;-1:-1:-1;;;;;5517:45:0;;;-1:-1:-1;;;;;;;;;;;5517:45:0;;;;;;;;5371:198;5574:4;:33;;;;;;;5618:44;;;;;;;;-1:-1:-1;;;;;5618:44:0;;;-1:-1:-1;;;;;;;;;;;5618:44:0;;;;;;;;;5673:19;;;;;;;;;;;;;;;;;5342:356;5709:12;4841:885;-1:-1:-1;;;;;4841:885:0:o

Swarm Source

bzzr://15395fe2b870615c5d548669950e0a5c066dc75dc750e9e1b762b78955ad6d3e

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.