ETH Price: $3,377.06 (-3.15%)

Token

V-ID Token (VIDT)
 

Overview

Max Total Supply

57,386,799 VIDT

Holders

6,351 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
45.64983888 VIDT

Value
$0.00
0xfC915048fB3782197b151983B407231646faa39E
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

V-ID Token contract has migrated to 0xfeF4185594457050cC9c23980d301908FE057Bb1.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
VIDToken

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-08-18
*/

pragma solidity ^0.4.24;

contract ERC20 {
	uint256 public totalSupply;

	function balanceOf(address who) public view returns (uint256 balance);

	function allowance(address owner, address spender) public view returns (uint256 remaining);

	function transfer(address to, uint256 value) public returns (bool success);

	function approve(address spender, uint256 value) public returns (bool success);

	function transferFrom(address from, address to, uint256 value) public returns (bool success);

	event Transfer(address indexed _from, address indexed _to, uint256 _value);

	event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

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

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

library SafeERC20 {
	function safeTransfer(ERC20 _token, address _to, uint256 _value) internal {
		require(_token.transfer(_to, _value));
	}
}

contract Owned {
	address public owner;

	constructor() public {
		owner = msg.sender;
	}

	modifier onlyOwner {
		require(msg.sender == owner,"O1- Owner only function");
		_;
	}

	function setOwner(address newOwner) onlyOwner public {
		owner = newOwner;
	}
}

contract Pausable is Owned {
	event Pause();
	event Unpause();

	bool public paused = false;

	modifier whenNotPaused() {
		require(!paused);
		_;
	}

	modifier whenPaused() {
		require(paused);
		_;
	}

	function pause() public onlyOwner whenNotPaused {
		paused = true;
		emit Pause();
	}

	function unpause() public onlyOwner whenPaused {
		paused = false;
		emit Unpause();
	}
}

contract VIDToken is Owned, Pausable, ERC20 {
	using SafeMath for uint256;
	using SafeERC20 for ERC20;

	mapping (address => uint256) public balances;
	mapping (address => mapping (address => uint256)) public allowed;
	mapping (address => bool) public frozenAccount;
	mapping (address => bool) public verifyPublisher;
	mapping (address => bool) public verifyWallet;

	struct fStruct { uint256 index; }
	mapping(string => fStruct) private fileHashes;
	string[] private fileIndex;

	string public constant name = "V-ID Token";
	uint8 public constant decimals = 18;
	string public constant symbol = "VIDT";
	uint256 public constant initialSupply = 100000000;

	uint256 public validationPrice = 7 * 10 ** uint(decimals);
	address public validationWallet = address(0);

	constructor() public {
		validationWallet = msg.sender;
		verifyWallet[msg.sender] = true;
		totalSupply = initialSupply * 10 ** uint(decimals);
		balances[msg.sender] = totalSupply;
		emit Transfer(address(0),owner,initialSupply);
	}

	function () public payable {
		revert();
	}

	function transfer(address _to, uint256 _value) public whenNotPaused returns (bool success) {
		require(_to != msg.sender,"T1- Recipient can not be the same as sender");
		require(_to != address(0),"T2- Please check the recipient address");
		require(balances[msg.sender] >= _value,"T3- The balance of sender is too low");
		require(!frozenAccount[msg.sender],"T4- The wallet of sender is frozen");
		require(!frozenAccount[_to],"T5- The wallet of recipient is frozen");

		balances[msg.sender] = balances[msg.sender].sub(_value);
		balances[_to] = balances[_to].add(_value);

		emit Transfer(msg.sender, _to, _value);

		return true;
	}

	function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused returns (bool success) {
		require(_to != address(0),"TF1- Please check the recipient address");
		require(balances[_from] >= _value,"TF2- The balance of sender is too low");
		require(allowed[_from][msg.sender] >= _value,"TF3- The allowance of sender is too low");
		require(!frozenAccount[_from],"TF4- The wallet of sender is frozen");
		require(!frozenAccount[_to],"TF5- The wallet of recipient is frozen");

		balances[_from] = balances[_from].sub(_value);
		balances[_to] = balances[_to].add(_value);

		allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);

		emit Transfer(_from, _to, _value);

		return true;
	}

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

	function approve(address _spender, uint256 _value) public whenNotPaused returns (bool success) {
		require((_value == 0) || (allowed[msg.sender][_spender] == 0),"A1- Reset allowance to 0 first");

		allowed[msg.sender][_spender] = _value;

		emit Approval(msg.sender, _spender, _value);

		return true;
	}

	function increaseApproval(address _spender, uint256 _addedValue) public whenNotPaused returns (bool) {
		allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);

		emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);

		return true;
	}

	function decreaseApproval(address _spender, uint256 _subtractedValue) public whenNotPaused returns (bool) {
		allowed[msg.sender][_spender] = allowed[msg.sender][_spender].sub(_subtractedValue);

		emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);

		return true;
	}

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

	struct TKN { address sender; uint256 value; bytes data; bytes4 sig; }

	function tokenFallback(address _from, uint256 _value, bytes _data) public pure returns (bool) {
		TKN memory tkn;
		tkn.sender = _from;
		tkn.value = _value;
		tkn.data = _data;
		uint32 u = uint32(_data[3]) + (uint32(_data[2]) << 8) + (uint32(_data[1]) << 16) + (uint32(_data[0]) << 24);
		tkn.sig = bytes4(u);
		return true;
	}

	function transferToken(address tokenAddress, uint256 tokens) public onlyOwner {
		ERC20(tokenAddress).safeTransfer(owner,tokens);
	}

	function burn(uint256 _value) public onlyOwner returns (bool) {
		require(_value <= balances[msg.sender],"B1- The balance of burner is too low");

		balances[msg.sender] = balances[msg.sender].sub(_value);
		totalSupply = totalSupply.sub(_value);

		emit Burn(msg.sender, _value);

		emit Transfer(msg.sender, address(0), _value);

		return true;
	}

	function freeze(address _address, bool _state) public onlyOwner returns (bool) {
		frozenAccount[_address] = _state;

		emit Freeze(_address, _state);

		return true;
	}

	function validatePublisher(address Address, bool State, string Publisher) public onlyOwner returns (bool) {
		verifyPublisher[Address] = State;

		emit ValidatePublisher(Address,State,Publisher);

		return true;
	}

	function validateWallet(address Address, bool State, string Wallet) public onlyOwner returns (bool) {
		verifyWallet[Address] = State;

		emit ValidateWallet(Address,State,Wallet);

		return true;
	}

	function validateFile(address To, uint256 Payment, bytes Data, bool cStore, bool eLog) public whenNotPaused returns (bool) {
		require(Payment>=validationPrice,"V1- Insufficient payment provided");
		require(verifyPublisher[msg.sender],"V2- Unverified publisher address");
		require(!frozenAccount[msg.sender],"V3- The wallet of publisher is frozen");
		require(Data.length == 64,"V4- Invalid hash provided");

		if (!verifyWallet[To] || frozenAccount[To]) {
			To = validationWallet;
		}

		uint256 index = 0;
		string memory fileHash = string(Data);

		if (cStore) {
			if (fileIndex.length > 0) {
				require(fileHashes[fileHash].index == 0,"V5- This hash was previously validated");
			}

			fileHashes[fileHash].index = fileIndex.push(fileHash)-1;
			index = fileHashes[fileHash].index;
		}

		if (allowed[To][msg.sender] >= Payment) {
			allowed[To][msg.sender] = allowed[To][msg.sender].sub(Payment);
		} else {
			balances[msg.sender] = balances[msg.sender].sub(Payment);
			balances[To] = balances[To].add(Payment);
		}

		emit Transfer(msg.sender, To, Payment);

		if (eLog) {
			emit ValidateFile(index,fileHash);
		}

		return true;
	}

	function verifyFile(string fileHash) public view returns (bool) {
		if (fileIndex.length == 0) {
			return false;
		}

		bytes memory a = bytes(fileIndex[fileHashes[fileHash].index]);
		bytes memory b = bytes(fileHash);

		if (a.length != b.length) {
			return false;
		}

		for (uint256 i = 0; i < a.length; i ++) {
			if (a[i] != b[i]) {
				return false;
			}
		}

		return true;
	}

	function setPrice(uint256 newPrice) public onlyOwner {
		validationPrice = newPrice;
	}

	function setWallet(address newWallet) public onlyOwner {
		validationWallet = newWallet;
	}

	function listFiles(uint256 startAt, uint256 stopAt) onlyOwner public returns (bool) {
		if (fileIndex.length == 0) {
			return false;
		}

		require(startAt <= fileIndex.length-1,"L1- Please select a valid start");

		if (stopAt > 0) {
			require(stopAt > startAt && stopAt <= fileIndex.length-1,"L2- Please select a valid stop");
		} else {
			stopAt = fileIndex.length-1;
		}

		for (uint256 i = startAt; i <= stopAt; i++) {
			emit LogEvent(i,fileIndex[i]);
		}

		return true;
	}

	event Burn(address indexed burner, uint256 value);
	event Freeze(address target, bool frozen);

	event ValidateFile(uint256 index, string data);
	event ValidatePublisher(address indexed publisherAddress, bool state, string indexed publisherName);
	event ValidateWallet(address indexed walletAddress, bool state, string indexed walletName);

	event LogEvent(uint256 index, string data) anonymous;
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"startAt","type":"uint256"},{"name":"stopAt","type":"uint256"}],"name":"listFiles","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"verifyPublisher","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"validationWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newPrice","type":"uint256"}],"name":"setPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"validationPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"fileHash","type":"string"}],"name":"verifyFile","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"To","type":"address"},{"name":"Payment","type":"uint256"},{"name":"Data","type":"bytes"},{"name":"cStore","type":"bool"},{"name":"eLog","type":"bool"}],"name":"validateFile","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_state","type":"bool"}],"name":"freeze","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"tokenFallback","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"Address","type":"address"},{"name":"State","type":"bool"},{"name":"Publisher","type":"string"}],"name":"validatePublisher","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newWallet","type":"address"}],"name":"setWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"verifyWallet","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"Address","type":"address"},{"name":"State","type":"bool"},{"name":"Wallet","type":"string"}],"name":"validateWallet","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"index","type":"uint256"},{"indexed":false,"name":"data","type":"string"}],"name":"ValidateFile","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"publisherAddress","type":"address"},{"indexed":false,"name":"state","type":"bool"},{"indexed":true,"name":"publisherName","type":"string"}],"name":"ValidatePublisher","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"walletAddress","type":"address"},{"indexed":false,"name":"state","type":"bool"},{"indexed":true,"name":"walletName","type":"string"}],"name":"ValidateWallet","type":"event"},{"anonymous":true,"inputs":[{"indexed":false,"name":"index","type":"uint256"},{"indexed":false,"name":"data","type":"string"}],"name":"LogEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"}]

60806040526000805460a060020a60ff0219169055676124fee993bc0000600955600a8054600160a060020a031916905534801561003c57600080fd5b506000805433600160a060020a031991821681178355600a805490921681179091558152600660209081526040808320805460ff191660019081179091556a52b7d2dcc80cd2e4000000908190556002835281842055825481516305f5e10081529151600160a060020a0390911693927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef928290030190a36127d1806100e36000396000f30060806040526004361061019d5763ffffffff60e060020a60003504166306fdde0381146101a2578063095ea7b31461022c5780631072cbea1461026457806313af40351461028a57806318160ddd146102ab5780631927a8ea146102d257806323b872dd146102ed57806327e235e314610317578063313ce5671461033857806336ef12d514610363578063378dc3dc146103845780633f4ba83a1461039957806342966c68146103ae5780634e83977a146103c65780635c658165146103f75780635c975abb1461041e578063661884631461043357806370a08231146104575780638456cb59146104785780638da5cb5b1461048d57806391b7f5ed146104a257806395d89b41146104ba578063a9059cbb146104cf578063ae7d00f3146104f3578063b027102314610508578063b414d4b614610561578063bb0bef1914610582578063bf120ae5146105f4578063c0ee0b8a1461061a578063d22e7b6914610683578063d73dd623146106ee578063dd62ed3e14610712578063deaa59df14610739578063fc399c791461075a578063fe8312c11461077b575b600080fd5b3480156101ae57600080fd5b506101b76107e6565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f15781810151838201526020016101d9565b50505050905090810190601f16801561021e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023857600080fd5b50610250600160a060020a036004351660243561081d565b604080519115158252519081900360200190f35b34801561027057600080fd5b50610288600160a060020a0360043516602435610920565b005b34801561029657600080fd5b50610288600160a060020a0360043516610994565b3480156102b757600080fd5b506102c0610a13565b60408051918252519081900360200190f35b3480156102de57600080fd5b50610250600435602435610a19565b3480156102f957600080fd5b50610250600160a060020a0360043581169060243516604435610c29565b34801561032357600080fd5b506102c0600160a060020a0360043516611027565b34801561034457600080fd5b5061034d611039565b6040805160ff9092168252519081900360200190f35b34801561036f57600080fd5b50610250600160a060020a036004351661103e565b34801561039057600080fd5b506102c0611053565b3480156103a557600080fd5b5061028861105b565b3480156103ba57600080fd5b5061025060043561110a565b3480156103d257600080fd5b506103db611291565b60408051600160a060020a039092168252519081900360200190f35b34801561040357600080fd5b506102c0600160a060020a03600435811690602435166112a0565b34801561042a57600080fd5b506102506112bd565b34801561043f57600080fd5b50610250600160a060020a03600435166024356112cd565b34801561046357600080fd5b506102c0600160a060020a036004351661137e565b34801561048457600080fd5b50610288611399565b34801561049957600080fd5b506103db61144d565b3480156104ae57600080fd5b5061028860043561145c565b3480156104c657600080fd5b506101b76114b1565b3480156104db57600080fd5b50610250600160a060020a03600435166024356114e8565b3480156104ff57600080fd5b506102c061185c565b34801561051457600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102509436949293602493928401919081908401838280828437509497506118629650505050505050565b34801561056d57600080fd5b50610250600160a060020a0360043516611a4e565b34801561058e57600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610250948235600160a060020a03169460248035953695946064949201919081908401838280828437509497505050508235151593505050602001351515611a63565b34801561060057600080fd5b50610250600160a060020a0360043516602435151561207f565b34801561062657600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610250948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506121399650505050505050565b34801561068f57600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610250948235600160a060020a0316946024803515159536959460649492019190819084018382808284375094975061228d9650505050505050565b3480156106fa57600080fd5b50610250600160a060020a03600435166024356123a6565b34801561071e57600080fd5b506102c0600160a060020a03600435811690602435166123f2565b34801561074557600080fd5b50610288600160a060020a036004351661241d565b34801561076657600080fd5b50610250600160a060020a036004351661249c565b34801561078757600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610250948235600160a060020a031694602480351515953695946064949201919081908401838280828437509497506124b19650505050505050565b60408051808201909152600a81527f562d494420546f6b656e00000000000000000000000000000000000000000000602082015281565b6000805460a060020a900460ff161561083557600080fd5b8115806108635750336000908152600360209081526040808320600160a060020a0387168452909152902054155b15156108b9576040805160e560020a62461bcd02815260206004820152601e60248201527f41312d20526573657420616c6c6f77616e636520746f20302066697273740000604482015290519081900360640190fd5b336000818152600360209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600054600160a060020a03163314610970576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b60005461099090600160a060020a0384811691168363ffffffff6125ca16565b5050565b600054600160a060020a031633146109e4576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600080548190600160a060020a03163314610a6c576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b6008541515610a7e5760009150610c22565b60085460001901841115610adc576040805160e560020a62461bcd02815260206004820152601f60248201527f4c312d20506c656173652073656c65637420612076616c696420737461727400604482015290519081900360640190fd5b6000831115610b55578383118015610afa5750600854600019018311155b1515610b50576040805160e560020a62461bcd02815260206004820152601e60248201527f4c322d20506c656173652073656c65637420612076616c69642073746f700000604482015290519081900360640190fd5b610b5f565b6008546000190192505b50825b828111610c1d5780600882815481101515610b7957fe5b600091825260209182902060408051858152938401818152919092018054600260001961010060018416150201909116049284018390529291606083019084908015610c065780601f10610bdb57610100808354040283529160200191610c06565b820191906000526020600020905b815481529060010190602001808311610be957829003601f168201915b5050935050505060405180910390a0600101610b62565b600191505b5092915050565b6000805460a060020a900460ff1615610c4157600080fd5b600160a060020a0383161515610cc7576040805160e560020a62461bcd02815260206004820152602760248201527f5446312d20506c6561736520636865636b2074686520726563697069656e742060448201527f6164647265737300000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a038416600090815260026020526040902054821115610d5d576040805160e560020a62461bcd02815260206004820152602560248201527f5446322d205468652062616c616e6365206f662073656e64657220697320746f60448201527f6f206c6f77000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0384166000908152600360209081526040808320338452909152902054821115610dfe576040805160e560020a62461bcd02815260206004820152602760248201527f5446332d2054686520616c6c6f77616e6365206f662073656e6465722069732060448201527f746f6f206c6f7700000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03841660009081526004602052604090205460ff1615610e95576040805160e560020a62461bcd02815260206004820152602360248201527f5446342d205468652077616c6c6574206f662073656e6465722069732066726f60448201527f7a656e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03831660009081526004602052604090205460ff1615610f2c576040805160e560020a62461bcd02815260206004820152602660248201527f5446352d205468652077616c6c6574206f6620726563697069656e742069732060448201527f66726f7a656e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a038416600090815260026020526040902054610f55908363ffffffff61266916565b600160a060020a038086166000908152600260205260408082209390935590851681522054610f8a908363ffffffff61268a16565b600160a060020a038085166000908152600260209081526040808320949094559187168152600382528281203382529091522054610fce908363ffffffff61266916565b600160a060020a0380861660008181526003602090815260408083203384528252918290209490945580518681529051928716939192600080516020612786833981519152929181900390910190a35060019392505050565b60026020526000908152604090205481565b601281565b60056020526000908152604090205460ff1681565b6305f5e10081565b600054600160a060020a031633146110ab576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b60005460a060020a900460ff1615156110c357600080fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a1565b60008054600160a060020a0316331461115b576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b336000908152600260205260409020548211156111e7576040805160e560020a62461bcd028152602060048201526024808201527f42312d205468652062616c616e6365206f66206275726e657220697320746f6f60448201527f206c6f7700000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b33600090815260026020526040902054611207908363ffffffff61266916565b3360009081526002602052604090205560015461122a908363ffffffff61266916565b60015560408051838152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a260408051838152905160009133916000805160206127868339815191529181900360200190a3506001919050565b600a54600160a060020a031681565b600360209081526000928352604080842090915290825290205481565b60005460a060020a900460ff1681565b6000805460a060020a900460ff16156112e557600080fd5b336000908152600360209081526040808320600160a060020a0387168452909152902054611319908363ffffffff61266916565b336000818152600360209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a031660009081526002602052604090205490565b600054600160a060020a031633146113e9576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b60005460a060020a900460ff161561140057600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a1565b600054600160a060020a031681565b600054600160a060020a031633146114ac576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b600955565b60408051808201909152600481527f5649445400000000000000000000000000000000000000000000000000000000602082015281565b6000805460a060020a900460ff161561150057600080fd5b600160a060020a038316331415611587576040805160e560020a62461bcd02815260206004820152602b60248201527f54312d20526563697069656e742063616e206e6f74206265207468652073616d60448201527f652061732073656e646572000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a038316151561160d576040805160e560020a62461bcd02815260206004820152602660248201527f54322d20506c6561736520636865636b2074686520726563697069656e74206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b33600090815260026020526040902054821115611699576040805160e560020a62461bcd028152602060048201526024808201527f54332d205468652062616c616e6365206f662073656e64657220697320746f6f60448201527f206c6f7700000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b3360009081526004602052604090205460ff1615611727576040805160e560020a62461bcd02815260206004820152602260248201527f54342d205468652077616c6c6574206f662073656e6465722069732066726f7a60448201527f656e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03831660009081526004602052604090205460ff16156117be576040805160e560020a62461bcd02815260206004820152602560248201527f54352d205468652077616c6c6574206f6620726563697069656e74206973206660448201527f726f7a656e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b336000908152600260205260409020546117de908363ffffffff61266916565b3360009081526002602052604080822092909255600160a060020a03851681522054611810908363ffffffff61268a16565b600160a060020a0384166000818152600260209081526040918290209390935580518581529051919233926000805160206127868339815191529281900390910190a350600192915050565b60095481565b60006060806000600880549050600014156118805760009350611a46565b60086007866040518082805190602001908083835b602083106118b45780518252601f199092019160209182019101611895565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220548354909250821090506118ef57fe5b600091825260209182902001805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561197d5780601f106119525761010080835404028352916020019161197d565b820191906000526020600020905b81548152906001019060200180831161196057829003601f168201915b505050505092508491508151835114151561199b5760009350611a46565b5060005b8251811015611a415781818151811015156119b657fe5b90602001015160f860020a900460f860020a027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191683828151811015156119f957fe5b60209101015160f860020a90819004027fff000000000000000000000000000000000000000000000000000000000000001614611a395760009350611a46565b60010161199f565b600193505b505050919050565b60046020526000908152604090205460ff1681565b60008054819060609060a060020a900460ff1615611a8057600080fd5b600954871015611b00576040805160e560020a62461bcd02815260206004820152602160248201527f56312d20496e73756666696369656e74207061796d656e742070726f7669646560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b3360009081526005602052604090205460ff161515611b69576040805160e560020a62461bcd02815260206004820181905260248201527f56322d20556e7665726966696564207075626c69736865722061646472657373604482015290519081900360640190fd5b3360009081526004602052604090205460ff1615611bf7576040805160e560020a62461bcd02815260206004820152602560248201527f56332d205468652077616c6c6574206f66207075626c6973686572206973206660448201527f726f7a656e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b8551604014611c50576040805160e560020a62461bcd02815260206004820152601960248201527f56342d20496e76616c696420686173682070726f766964656400000000000000604482015290519081900360640190fd5b600160a060020a03881660009081526006602052604090205460ff161580611c905750600160a060020a03881660009081526004602052604090205460ff165b15611ca457600a54600160a060020a031697505b5060009050848415611ea85760085460001015611d98576007816040518082805190602001908083835b60208310611ced5780518252601f199092019160209182019101611cce565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054159150611d989050576040805160e560020a62461bcd02815260206004820152602660248201527f56352d20546869732068617368207761732070726576696f75736c792076616c60448201527f6964617465640000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6008805460018181018084556000939093528351909291611de2917ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee39091019060208601906126a2565b50036007826040518082805190602001908083835b60208310611e165780518252601f199092019160209182019101611df7565b51815160209384036101000a60001901801990921691161790529201948552506040519384900381018420949094555050825160079284929182918401908083835b60208310611e775780518252601f199092019160209182019101611e58565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054935050505b600160a060020a03881660009081526003602090815260408083203384529091529020548711611f2f57600160a060020a0388166000908152600360209081526040808320338452909152902054611f06908863ffffffff61266916565b600160a060020a0389166000908152600360209081526040808320338452909152902055611f9b565b33600090815260026020526040902054611f4f908863ffffffff61266916565b3360009081526002602052604080822092909255600160a060020a038a1681522054611f81908863ffffffff61268a16565b600160a060020a0389166000908152600260205260409020555b604080518881529051600160a060020a038a169133916000805160206127868339815191529181900360200190a38315612071577f9c0869bc3817f1ac640137074dc06b0f25f80f238c719419b6cff93dfab4dd4182826040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561203557818101518382015260200161201d565b50505050905090810190601f1680156120625780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15b506001979650505050505050565b60008054600160a060020a031633146120d0576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b600160a060020a038316600081815260046020908152604091829020805460ff191686151590811790915582519384529083015280517ff022c1fbc00daf4d2e6cdc62e0338b967bd3be38ccc3d7f8e0168bd668c7bcfe9281900390910190a150600192915050565b6000612143612720565b600160a060020a03851681526020810184905260408101839052825160009060189085908390811061217157fe5b90602001015160f860020a900460f860020a0260f860020a900463ffffffff169060020a0260108560018151811015156121a757fe5b90602001015160f860020a900460f860020a0260f860020a900463ffffffff169060020a0260088660028151811015156121dd57fe5b90602001015160f860020a900460f860020a0260f860020a900463ffffffff169060020a0286600381518110151561221157fe5b90602001015160f860020a900460f860020a0260f860020a900401010190508060e060020a0282606001907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815250506001925050509392505050565b60008054600160a060020a031633146122de576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b600160a060020a038416600090815260056020908152604091829020805460ff19168615151790559051835184928291908401908083835b602083106123355780518252601f199092019160209182019101612316565b51815160209384036101000a60001901801990921691161790526040805192909401829003822089151583529351939550600160a060020a038a1694507f292123b68099c6aa2b5d37989544acbb7000794b52d1f629067b3f3ee1ce79fa9391829003019150a35060019392505050565b6000805460a060020a900460ff16156123be57600080fd5b336000908152600360209081526040808320600160a060020a0387168452909152902054611319908363ffffffff61268a16565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b600054600160a060020a0316331461246d576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b600a805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60066020526000908152604090205460ff1681565b60008054600160a060020a03163314612502576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b600160a060020a038416600090815260066020908152604091829020805460ff19168615151790559051835184928291908401908083835b602083106125595780518252601f19909201916020918201910161253a565b51815160209384036101000a60001901801990921691161790526040805192909401829003822089151583529351939550600160a060020a038a1694507f3d08b6e3d62b04396eca9fe996bd52ef13d33affdfb79e470ed9fdbe491045239391829003019150a35060019392505050565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561262d57600080fd5b505af1158015612641573d6000803e3d6000fd5b505050506040513d602081101561265757600080fd5b5051151561266457600080fd5b505050565b80820382821180159061267c5750828111155b151561268457fe5b92915050565b81810182811080159061267c57508181101561268457fe5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106126e357805160ff1916838001178555612710565b82800160010185558215612710579182015b828111156127105782518255916020019190600101906126f5565b5061271c929150612748565b5090565b6040805160808101825260008082526020820181905260609282018390529181019190915290565b61276291905b8082111561271c576000815560010161274e565b9056004f312d204f776e6572206f6e6c792066756e6374696f6e000000000000000000ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820e57fac0ba1fd4daa334e44bc9bd5fdf4527e2ce8c6096fbecb502137361b28b20029

Deployed Bytecode

0x60806040526004361061019d5763ffffffff60e060020a60003504166306fdde0381146101a2578063095ea7b31461022c5780631072cbea1461026457806313af40351461028a57806318160ddd146102ab5780631927a8ea146102d257806323b872dd146102ed57806327e235e314610317578063313ce5671461033857806336ef12d514610363578063378dc3dc146103845780633f4ba83a1461039957806342966c68146103ae5780634e83977a146103c65780635c658165146103f75780635c975abb1461041e578063661884631461043357806370a08231146104575780638456cb59146104785780638da5cb5b1461048d57806391b7f5ed146104a257806395d89b41146104ba578063a9059cbb146104cf578063ae7d00f3146104f3578063b027102314610508578063b414d4b614610561578063bb0bef1914610582578063bf120ae5146105f4578063c0ee0b8a1461061a578063d22e7b6914610683578063d73dd623146106ee578063dd62ed3e14610712578063deaa59df14610739578063fc399c791461075a578063fe8312c11461077b575b600080fd5b3480156101ae57600080fd5b506101b76107e6565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f15781810151838201526020016101d9565b50505050905090810190601f16801561021e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023857600080fd5b50610250600160a060020a036004351660243561081d565b604080519115158252519081900360200190f35b34801561027057600080fd5b50610288600160a060020a0360043516602435610920565b005b34801561029657600080fd5b50610288600160a060020a0360043516610994565b3480156102b757600080fd5b506102c0610a13565b60408051918252519081900360200190f35b3480156102de57600080fd5b50610250600435602435610a19565b3480156102f957600080fd5b50610250600160a060020a0360043581169060243516604435610c29565b34801561032357600080fd5b506102c0600160a060020a0360043516611027565b34801561034457600080fd5b5061034d611039565b6040805160ff9092168252519081900360200190f35b34801561036f57600080fd5b50610250600160a060020a036004351661103e565b34801561039057600080fd5b506102c0611053565b3480156103a557600080fd5b5061028861105b565b3480156103ba57600080fd5b5061025060043561110a565b3480156103d257600080fd5b506103db611291565b60408051600160a060020a039092168252519081900360200190f35b34801561040357600080fd5b506102c0600160a060020a03600435811690602435166112a0565b34801561042a57600080fd5b506102506112bd565b34801561043f57600080fd5b50610250600160a060020a03600435166024356112cd565b34801561046357600080fd5b506102c0600160a060020a036004351661137e565b34801561048457600080fd5b50610288611399565b34801561049957600080fd5b506103db61144d565b3480156104ae57600080fd5b5061028860043561145c565b3480156104c657600080fd5b506101b76114b1565b3480156104db57600080fd5b50610250600160a060020a03600435166024356114e8565b3480156104ff57600080fd5b506102c061185c565b34801561051457600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102509436949293602493928401919081908401838280828437509497506118629650505050505050565b34801561056d57600080fd5b50610250600160a060020a0360043516611a4e565b34801561058e57600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610250948235600160a060020a03169460248035953695946064949201919081908401838280828437509497505050508235151593505050602001351515611a63565b34801561060057600080fd5b50610250600160a060020a0360043516602435151561207f565b34801561062657600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610250948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506121399650505050505050565b34801561068f57600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610250948235600160a060020a0316946024803515159536959460649492019190819084018382808284375094975061228d9650505050505050565b3480156106fa57600080fd5b50610250600160a060020a03600435166024356123a6565b34801561071e57600080fd5b506102c0600160a060020a03600435811690602435166123f2565b34801561074557600080fd5b50610288600160a060020a036004351661241d565b34801561076657600080fd5b50610250600160a060020a036004351661249c565b34801561078757600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610250948235600160a060020a031694602480351515953695946064949201919081908401838280828437509497506124b19650505050505050565b60408051808201909152600a81527f562d494420546f6b656e00000000000000000000000000000000000000000000602082015281565b6000805460a060020a900460ff161561083557600080fd5b8115806108635750336000908152600360209081526040808320600160a060020a0387168452909152902054155b15156108b9576040805160e560020a62461bcd02815260206004820152601e60248201527f41312d20526573657420616c6c6f77616e636520746f20302066697273740000604482015290519081900360640190fd5b336000818152600360209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600054600160a060020a03163314610970576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b60005461099090600160a060020a0384811691168363ffffffff6125ca16565b5050565b600054600160a060020a031633146109e4576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600080548190600160a060020a03163314610a6c576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b6008541515610a7e5760009150610c22565b60085460001901841115610adc576040805160e560020a62461bcd02815260206004820152601f60248201527f4c312d20506c656173652073656c65637420612076616c696420737461727400604482015290519081900360640190fd5b6000831115610b55578383118015610afa5750600854600019018311155b1515610b50576040805160e560020a62461bcd02815260206004820152601e60248201527f4c322d20506c656173652073656c65637420612076616c69642073746f700000604482015290519081900360640190fd5b610b5f565b6008546000190192505b50825b828111610c1d5780600882815481101515610b7957fe5b600091825260209182902060408051858152938401818152919092018054600260001961010060018416150201909116049284018390529291606083019084908015610c065780601f10610bdb57610100808354040283529160200191610c06565b820191906000526020600020905b815481529060010190602001808311610be957829003601f168201915b5050935050505060405180910390a0600101610b62565b600191505b5092915050565b6000805460a060020a900460ff1615610c4157600080fd5b600160a060020a0383161515610cc7576040805160e560020a62461bcd02815260206004820152602760248201527f5446312d20506c6561736520636865636b2074686520726563697069656e742060448201527f6164647265737300000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a038416600090815260026020526040902054821115610d5d576040805160e560020a62461bcd02815260206004820152602560248201527f5446322d205468652062616c616e6365206f662073656e64657220697320746f60448201527f6f206c6f77000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0384166000908152600360209081526040808320338452909152902054821115610dfe576040805160e560020a62461bcd02815260206004820152602760248201527f5446332d2054686520616c6c6f77616e6365206f662073656e6465722069732060448201527f746f6f206c6f7700000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03841660009081526004602052604090205460ff1615610e95576040805160e560020a62461bcd02815260206004820152602360248201527f5446342d205468652077616c6c6574206f662073656e6465722069732066726f60448201527f7a656e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03831660009081526004602052604090205460ff1615610f2c576040805160e560020a62461bcd02815260206004820152602660248201527f5446352d205468652077616c6c6574206f6620726563697069656e742069732060448201527f66726f7a656e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a038416600090815260026020526040902054610f55908363ffffffff61266916565b600160a060020a038086166000908152600260205260408082209390935590851681522054610f8a908363ffffffff61268a16565b600160a060020a038085166000908152600260209081526040808320949094559187168152600382528281203382529091522054610fce908363ffffffff61266916565b600160a060020a0380861660008181526003602090815260408083203384528252918290209490945580518681529051928716939192600080516020612786833981519152929181900390910190a35060019392505050565b60026020526000908152604090205481565b601281565b60056020526000908152604090205460ff1681565b6305f5e10081565b600054600160a060020a031633146110ab576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b60005460a060020a900460ff1615156110c357600080fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a1565b60008054600160a060020a0316331461115b576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b336000908152600260205260409020548211156111e7576040805160e560020a62461bcd028152602060048201526024808201527f42312d205468652062616c616e6365206f66206275726e657220697320746f6f60448201527f206c6f7700000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b33600090815260026020526040902054611207908363ffffffff61266916565b3360009081526002602052604090205560015461122a908363ffffffff61266916565b60015560408051838152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a260408051838152905160009133916000805160206127868339815191529181900360200190a3506001919050565b600a54600160a060020a031681565b600360209081526000928352604080842090915290825290205481565b60005460a060020a900460ff1681565b6000805460a060020a900460ff16156112e557600080fd5b336000908152600360209081526040808320600160a060020a0387168452909152902054611319908363ffffffff61266916565b336000818152600360209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a031660009081526002602052604090205490565b600054600160a060020a031633146113e9576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b60005460a060020a900460ff161561140057600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a1565b600054600160a060020a031681565b600054600160a060020a031633146114ac576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b600955565b60408051808201909152600481527f5649445400000000000000000000000000000000000000000000000000000000602082015281565b6000805460a060020a900460ff161561150057600080fd5b600160a060020a038316331415611587576040805160e560020a62461bcd02815260206004820152602b60248201527f54312d20526563697069656e742063616e206e6f74206265207468652073616d60448201527f652061732073656e646572000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a038316151561160d576040805160e560020a62461bcd02815260206004820152602660248201527f54322d20506c6561736520636865636b2074686520726563697069656e74206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b33600090815260026020526040902054821115611699576040805160e560020a62461bcd028152602060048201526024808201527f54332d205468652062616c616e6365206f662073656e64657220697320746f6f60448201527f206c6f7700000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b3360009081526004602052604090205460ff1615611727576040805160e560020a62461bcd02815260206004820152602260248201527f54342d205468652077616c6c6574206f662073656e6465722069732066726f7a60448201527f656e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03831660009081526004602052604090205460ff16156117be576040805160e560020a62461bcd02815260206004820152602560248201527f54352d205468652077616c6c6574206f6620726563697069656e74206973206660448201527f726f7a656e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b336000908152600260205260409020546117de908363ffffffff61266916565b3360009081526002602052604080822092909255600160a060020a03851681522054611810908363ffffffff61268a16565b600160a060020a0384166000818152600260209081526040918290209390935580518581529051919233926000805160206127868339815191529281900390910190a350600192915050565b60095481565b60006060806000600880549050600014156118805760009350611a46565b60086007866040518082805190602001908083835b602083106118b45780518252601f199092019160209182019101611895565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220548354909250821090506118ef57fe5b600091825260209182902001805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561197d5780601f106119525761010080835404028352916020019161197d565b820191906000526020600020905b81548152906001019060200180831161196057829003601f168201915b505050505092508491508151835114151561199b5760009350611a46565b5060005b8251811015611a415781818151811015156119b657fe5b90602001015160f860020a900460f860020a027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191683828151811015156119f957fe5b60209101015160f860020a90819004027fff000000000000000000000000000000000000000000000000000000000000001614611a395760009350611a46565b60010161199f565b600193505b505050919050565b60046020526000908152604090205460ff1681565b60008054819060609060a060020a900460ff1615611a8057600080fd5b600954871015611b00576040805160e560020a62461bcd02815260206004820152602160248201527f56312d20496e73756666696369656e74207061796d656e742070726f7669646560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b3360009081526005602052604090205460ff161515611b69576040805160e560020a62461bcd02815260206004820181905260248201527f56322d20556e7665726966696564207075626c69736865722061646472657373604482015290519081900360640190fd5b3360009081526004602052604090205460ff1615611bf7576040805160e560020a62461bcd02815260206004820152602560248201527f56332d205468652077616c6c6574206f66207075626c6973686572206973206660448201527f726f7a656e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b8551604014611c50576040805160e560020a62461bcd02815260206004820152601960248201527f56342d20496e76616c696420686173682070726f766964656400000000000000604482015290519081900360640190fd5b600160a060020a03881660009081526006602052604090205460ff161580611c905750600160a060020a03881660009081526004602052604090205460ff165b15611ca457600a54600160a060020a031697505b5060009050848415611ea85760085460001015611d98576007816040518082805190602001908083835b60208310611ced5780518252601f199092019160209182019101611cce565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054159150611d989050576040805160e560020a62461bcd02815260206004820152602660248201527f56352d20546869732068617368207761732070726576696f75736c792076616c60448201527f6964617465640000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6008805460018181018084556000939093528351909291611de2917ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee39091019060208601906126a2565b50036007826040518082805190602001908083835b60208310611e165780518252601f199092019160209182019101611df7565b51815160209384036101000a60001901801990921691161790529201948552506040519384900381018420949094555050825160079284929182918401908083835b60208310611e775780518252601f199092019160209182019101611e58565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054935050505b600160a060020a03881660009081526003602090815260408083203384529091529020548711611f2f57600160a060020a0388166000908152600360209081526040808320338452909152902054611f06908863ffffffff61266916565b600160a060020a0389166000908152600360209081526040808320338452909152902055611f9b565b33600090815260026020526040902054611f4f908863ffffffff61266916565b3360009081526002602052604080822092909255600160a060020a038a1681522054611f81908863ffffffff61268a16565b600160a060020a0389166000908152600260205260409020555b604080518881529051600160a060020a038a169133916000805160206127868339815191529181900360200190a38315612071577f9c0869bc3817f1ac640137074dc06b0f25f80f238c719419b6cff93dfab4dd4182826040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561203557818101518382015260200161201d565b50505050905090810190601f1680156120625780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15b506001979650505050505050565b60008054600160a060020a031633146120d0576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b600160a060020a038316600081815260046020908152604091829020805460ff191686151590811790915582519384529083015280517ff022c1fbc00daf4d2e6cdc62e0338b967bd3be38ccc3d7f8e0168bd668c7bcfe9281900390910190a150600192915050565b6000612143612720565b600160a060020a03851681526020810184905260408101839052825160009060189085908390811061217157fe5b90602001015160f860020a900460f860020a0260f860020a900463ffffffff169060020a0260108560018151811015156121a757fe5b90602001015160f860020a900460f860020a0260f860020a900463ffffffff169060020a0260088660028151811015156121dd57fe5b90602001015160f860020a900460f860020a0260f860020a900463ffffffff169060020a0286600381518110151561221157fe5b90602001015160f860020a900460f860020a0260f860020a900401010190508060e060020a0282606001907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815250506001925050509392505050565b60008054600160a060020a031633146122de576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b600160a060020a038416600090815260056020908152604091829020805460ff19168615151790559051835184928291908401908083835b602083106123355780518252601f199092019160209182019101612316565b51815160209384036101000a60001901801990921691161790526040805192909401829003822089151583529351939550600160a060020a038a1694507f292123b68099c6aa2b5d37989544acbb7000794b52d1f629067b3f3ee1ce79fa9391829003019150a35060019392505050565b6000805460a060020a900460ff16156123be57600080fd5b336000908152600360209081526040808320600160a060020a0387168452909152902054611319908363ffffffff61268a16565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b600054600160a060020a0316331461246d576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b600a805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60066020526000908152604090205460ff1681565b60008054600160a060020a03163314612502576040805160e560020a62461bcd0281526020600482015260176024820152600080516020612766833981519152604482015290519081900360640190fd5b600160a060020a038416600090815260066020908152604091829020805460ff19168615151790559051835184928291908401908083835b602083106125595780518252601f19909201916020918201910161253a565b51815160209384036101000a60001901801990921691161790526040805192909401829003822089151583529351939550600160a060020a038a1694507f3d08b6e3d62b04396eca9fe996bd52ef13d33affdfb79e470ed9fdbe491045239391829003019150a35060019392505050565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561262d57600080fd5b505af1158015612641573d6000803e3d6000fd5b505050506040513d602081101561265757600080fd5b5051151561266457600080fd5b505050565b80820382821180159061267c5750828111155b151561268457fe5b92915050565b81810182811080159061267c57508181101561268457fe5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106126e357805160ff1916838001178555612710565b82800160010185558215612710579182015b828111156127105782518255916020019190600101906126f5565b5061271c929150612748565b5090565b6040805160808101825260008082526020820181905260609282018390529181019190915290565b61276291905b8082111561271c576000815560010161274e565b9056004f312d204f776e6572206f6e6c792066756e6374696f6e000000000000000000ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820e57fac0ba1fd4daa334e44bc9bd5fdf4527e2ce8c6096fbecb502137361b28b20029

Swarm Source

bzzr://e57fac0ba1fd4daa334e44bc9bd5fdf4527e2ce8c6096fbecb502137361b28b2
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.