ETH Price: $4,019.81 (+2.83%)

Token

ERC-20: CHINA CULTURAL CHAIN (CIC)
 

Overview

Max Total Supply

5,000,000,000 CIC

Holders

3

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
4,999,999,699.9999999999999998 CIC

Value
$0.00
0xfd047637c96f7d2d02ffc78c7fbaf1144859bb3b
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
MyAdvancedToken

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2019-12-16
*/

pragma solidity ^0.4.16; 
/*** @title SafeMath * @dev Math operations with safety checks that throw on error */ 

library SafeMath { //knownsec //安全的算法 
	
	/** * @dev Multiplies two numbers, throws on overflow. */
	function mul(uint256 a, uint256 b) internal pure returns (uint256) { 
		if (a == 0) { return 0; }uint256 c = a * b; assert(c / a == b); return c; 
	}
	
	/** * @dev Integer division of two numbers, truncating the quotient. */
	function div(uint256 a, uint256 b) internal pure returns (uint256) { 
		// assert(b > 0); 
		// Solidity automatically throws when dividing by 0 uint256 c = a / b; 
		// assert(a == b * c + a % b); 
		// There is no case in which this doesn't hold return c; 
	}
	
	/** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */
	function sub(uint256 a, uint256 b) internal pure returns (uint256) { 
		assert(b <= a); return a - b; 
	}
	
	/** * @dev Adds two numbers, throws on overflow. */
	function add(uint256 a, uint256 b) internal pure returns (uint256) { 
		uint256 c = a + b; assert(c >= a); return c; 
	} 
}

contract owned { //knownsec //认证 
	address public owner; 
	function owned() public { 
		owner = msg.sender; 
	}
	
	modifier onlyOwner { 
		require(msg.sender == owner); _; 
	}
	
	function transferOwnership(address newOwner) onlyOwner public { 
		owner = newOwner;
	} 
}

interface tokenRecipient { 
	function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) external; 
} 

contract TokenERC20 { 
	using SafeMath for uint256; 
	
	// Public variables of the token 
	string public name; 
	string public symbol; 
	uint8 public decimals = 18; 
	
	// 18 decimals is the strongly suggested default, avoid changing it 
	uint256 public totalSupply; 
	
	// This creates an array with all balances 
	mapping (address => uint256) public balanceOf; 
	mapping (address => mapping (address => uint256)) public allowance; 
	
	// This generates a public event on the blockchain that will notify clients 
	event Transfer(address indexed from, address indexed to, uint256 value); 
	
	// This notifies clients about the amount burnt 
	event Burn(address indexed from, uint256 value); 
	
	/*** Constrctor function 
	** Initializes contract with initial supply tokens to the creator of the contract 
	*/ 
	function TokenERC20( //knownsec /初始化代币 
		uint256 initialSupply, 
		string tokenName, 
		string tokenSymbol 
	) public { 
		totalSupply = initialSupply * 10 ** uint256(decimals); // Update total supply with the decimal amount 
		balanceOf[msg.sender] = totalSupply; // Give the creator all initial tokens 
		name = tokenName; // Set the name for display purposes 
		symbol = tokenSymbol; // Set the symbol for display purposes 
	}
	
	/*** Internal transfer, only can be called by this contract 
	*/ 
	function _transfer(address _from, address _to, uint _value) internal { 
		// Prevent transfer to 0x0 address. Use burn() instead 
		require(_to != 0x0);
		// Check if the sender has enough 
		require(balanceOf[_from] >= _value); 
		// Check for overflows 
		require(balanceOf[_to].add(_value) > balanceOf[_to]); 
		// Save this for an assertion in the future 
		uint previousBalances = balanceOf[_from].add(balanceOf[_to]); 
		// Subtract from the sender 
		balanceOf[_from] = balanceOf[_from].sub(_value); 
		// Add the same to the recipient 
		balanceOf[_to] = balanceOf[_to].add(_value); 
		emit Transfer(_from, _to, _value); 
		// Asserts are used to use static analysis to find bugs in your code. They should never fail 
		assert(balanceOf[_from] + balanceOf[_to] == previousBalances); //knownsec //此句为检查交易后是否溢出,建议放在Transfer前。但是由于所⽤算法均为安全算法,所以⽆影响。 
	}
	
	/*** Transfer tokens 
	** Send `_value` tokens to `_to` from your account 
	** @param _to The address of the recipient 
	* @param _value the amount to send 
	*/
	function transfer(address _to, uint256 _value) public { //knownsec //公开的交易 
		_transfer(msg.sender, _to, _value); 
	}
	
	/*** Transfer tokens from other address 
	** Send `_value` tokens to `_to` in behalf of `_from` 
	** @param _from The address of the sender 
	* @param _to The address of the recipient 
	* @param _value the amount to send 
	*/ 
	function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { //knownsec //代转 
		require(_value <= allowance[_from][msg.sender]); 
		// Check allowance 
		allowance[_from][msg.sender ] = allowance[_from][msg.sender].sub(_value); 
		_transfer(_from, _to, _value); return true; 
	}
	
	/*** Set allowance for other address 
	** Allows `_spender` to spend no more than `_value` tokens in your behalf 
	** @param _spender The address authorized to spend 
	* @param _value the max amount they can spend 
	*/ 
	function approve(address _spender, uint256 _value) public returns (bool success) { 
		allowance[msg.sender][_spender] = _value; //knownsec //事务顺序依赖⻛险 
		return true; 
	}
	
	/*** Set allowance for other address and notify 
	** Allows `_spender` to spend no more than `_value` tokens in your behalf, and then ping the contract about it 
	** @param _spender The address authorized to spend 
	* @param _value the max amount they can spend 
	* @param _extraData some extra information to send to the approved contract 
	*/ 
	function approveAndCall(address _spender, uint256 _value, bytes _extraData ) public returns (bool success) { 
		tokenRecipient spender = tokenRecipient(_spender); 
		if (approve(_spender, _value)) { 
			spender.receiveApproval(msg.sender, _value, this, _extraData); return true; 
		} 
	}
	
	/*** Destroy tokens ** Remove `_value` tokens from the system irreversibly 
	** @param _value the amount of money to burn 
	*/ 
	function burn(uint256 _value) public returns (bool success) { //knownsec //销毁 
		require(balanceOf[msg.sender] >= _value); 
		// Check if the sender has enough 
		balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value); 
		// Subtract from the sender 
		totalSupply = totalSupply.sub(_value); 
		// Updates totalSupply 
		emit Burn(msg.sender, _value); 
		return true;		
	}
	
	/*** Destroy tokens from other account 
	** Remove `_value` tokens from the system irreversibly on behalf of `_from`. 
	* @param _from the address of the sender 
	* @param _value the amount of money to burn 
	*/ 
	function burnFrom(address _from, uint256 _value) public returns (bool success) { //knownsec //销毁他⼈的代币 
		require(balanceOf[_from] >= _value); 
		// Check if the targeted balance is enough 
		require(_value <= allowance[_from][msg.sender]); 
		// Check allowance 
		balanceOf[_from] = balanceOf[_from].sub(_value); 
		// Subtract from the targeted balance 
		allowance[_from][msg.sender ] = allowance[_from][msg.sender].sub(_value); 
		// Subtract from the sender's allowance 
		totalSupply = totalSupply.sub(_value); 
		// Update totalSupply 
		emit Burn(_from, _value); 
		return true; 
	} 
	
	// 批量转账
	function batchTransfer(address[] _receivers, uint256 _value) public returns (bool success) {
		uint receiverCount = _receivers.length;
		uint256 amount = _value.mul(uint256(receiverCount));
		require(receiverCount > 0);
		require(_value > 0 && balanceOf[msg.sender] >= amount);

		balanceOf[msg.sender] = balanceOf[msg.sender].sub(amount);
		for (uint i = 0; i < receiverCount; i++) {
			balanceOf[_receivers[i]] = balanceOf[_receivers[i]].add(_value);
			Transfer(msg.sender, _receivers[i], _value);
		}
		return true;
	}
}
/******************************************/ 
/* ADVANCED TOKEN STARTS HERE */
/******************************************/ 
contract MyAdvancedToken is owned, TokenERC20 { 
	using SafeMath for uint256; 
	uint256 public sellPrice ; 
	uint256 public buyPrice; 
	
	mapping (address => bool) public frozenAccount; 
	
	/* This generates a public event on the blockchain that will notify clients */ 
	event FrozenFunds(address target, bool frozen); 
	
	/* Initializes contract with initial supply tokens to the creator of the contract */ 
	function MyAdvancedToken( 
		uint256 initialSupply, 
		string tokenName, 
		string tokenSymbol 
	) TokenERC20(initialSupply, tokenName, tokenSymbol) public {} 
	
	/* Internal transfer, only can be called by this contract */ 
	function _transfer(address _from, address _to, uint _value) internal { 
		require (_to != 0x0); 
		
		// Prevent transfer to 0x0 address. Use burn() instead 
		require (balanceOf[_from] >= _value); 
		
		// Check if the sender has enough 
		require (balanceOf[_to].add (_value) >= balanceOf[_to]); 
		
		// Check for overflows 
		require(!frozenAccount[_from]); 
		
		// Check if sender is frozen 
		require(!frozenAccount[_to]); 
		
		// Check if recipient is frozen 
		balanceOf[_from] = balanceOf[_from].sub(_value); 
		
		// Subtract from the sender 
		balanceOf[_to] = balanceOf[_to ].add (_value); 
		
		// Add the same to the recipient 
		emit Transfer(_from, _to, _value); 
	}
	
	/// @notice Create `mintedAmount` tokens and send it to `target` 
	/// @param target Address to receive the tokens 
	/// @param mintedAmount the amount of tokens it will receive 
	function mintToken(address target, uint256 mintedAmount) onlyOwner public { //knownsec //增发代币
		balanceOf[target] = balanceOf[target].add(mintedAmount); 
		totalSupply = totalSupply.add(mintedAmount); 
		emit Transfer(0, this, mintedAmount); 
		emit Transfer(this, target, mintedAmount); 
	}
	
	/// @notice `freeze? Prevent | Allow` `target` from sending & receiving tokens 
	/// @param target Address to be frozen 
	/// @param freeze either to freeze it or not 
	function freezeAccount(address target, bool freeze) onlyOwner public { //knownsec // 冻结账户 
		frozenAccount[target] = freeze; emit FrozenFunds(target, freeze); 
	}
	
	/// @notice Allow users to buy tokens for `newBuyPrice` eth and sell tokens for `newSellPrice` eth 
	/// @param newSellPrice Price the users can sell to the contract 
	/// @param newBuyPrice Price users can buy from the contract 
	function setPrices(uint256 newSellPrice, uint256 newBuyPrice) onlyOwner public { //knownsec //代币买卖价格 
		sellPrice = newSellPrice; 
		buyPrice = newBuyPrice; 
	}
	
	/// @notice Buy tokens from contract by sending ether 
	function buy() payable public { //knownsec //买代币 
		uint amount = msg.value.div(buyPrice); // calculates the amount
		_transfer(this, msg.sender, amount); // makes the transfers 
	}
	
	/// @notice Sell `amount` tokens to contract 
	/// @param amount amount of tokens to be sold 
	function sell(uint256 amount) public { //knownsec //卖代币 
		require(address(this).balance >= amount.mul(sellPrice)); // checks if the contract has enough ether to buy 
		_transfer(msg.sender, this, amount); // makes the transfers 
		msg.sender.transfer(amount.mul(sellPrice)); // sends ether to the seller. It's important to do this last to avoid recursion attacks 
	} 
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"newSellPrice","type":"uint256"},{"name":"newBuyPrice","type":"uint256"}],"name":"setPrices","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"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":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"mintedAmount","type":"uint256"}],"name":"mintToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_receivers","type":"address[]"},{"name":"_value","type":"uint256"}],"name":"batchTransfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"buy","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"freeze","type":"bool"}],"name":"freezeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"initialSupply","type":"uint256"},{"name":"tokenName","type":"string"},{"name":"tokenSymbol","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFunds","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":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"}]

60806040526012600360006101000a81548160ff021916908360ff1602179055503480156200002d57600080fd5b506040516200203238038062002032833981018060405281019080805190602001909291908051820192919060200180518201929190505050828282336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900460ff1660ff16600a0a8302600481905550600454600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160019080519060200190620001259291906200014b565b5080600290805190602001906200013e9291906200014b565b50505050505050620001fa565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200018e57805160ff1916838001178555620001bf565b82800160010185558215620001bf579182015b82811115620001be578251825591602001919060010190620001a1565b5b509050620001ce9190620001d2565b5090565b620001f791905b80821115620001f3576000816000905550600101620001d9565b5090565b90565b611e28806200020a6000396000f300608060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305fefda71461013857806306fdde031461016f578063095ea7b3146101ff57806318160ddd1461026457806323b872dd1461028f578063313ce5671461031457806342966c68146103455780634b7503341461038a57806370a08231146103b557806379c650681461040c57806379cc67901461045957806383f12fec146104be5780638620410b146105465780638da5cb5b1461057157806395d89b41146105c8578063a6f2ae3a14610658578063a9059cbb14610662578063b414d4b6146106af578063cae9ca511461070a578063dd62ed3e146107b5578063e4849b321461082c578063e724529c14610859578063f2fde38b146108a8575b600080fd5b34801561014457600080fd5b5061016d60048036038101908080359060200190929190803590602001909291905050506108eb565b005b34801561017b57600080fd5b50610184610958565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c45780820151818401526020810190506101a9565b50505050905090810190601f1680156101f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020b57600080fd5b5061024a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109f6565b604051808215151515815260200191505060405180910390f35b34801561027057600080fd5b50610279610a83565b6040518082815260200191505060405180910390f35b34801561029b57600080fd5b506102fa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a89565b604051808215151515815260200191505060405180910390f35b34801561032057600080fd5b50610329610c3b565b604051808260ff1660ff16815260200191505060405180910390f35b34801561035157600080fd5b5061037060048036038101908080359060200190929190505050610c4e565b604051808215151515815260200191505060405180910390f35b34801561039657600080fd5b5061039f610da5565b6040518082815260200191505060405180910390f35b3480156103c157600080fd5b506103f6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dab565b6040518082815260200191505060405180910390f35b34801561041857600080fd5b50610457600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dc3565b005b34801561046557600080fd5b506104a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f87565b604051808215151515815260200191505060405180910390f35b3480156104ca57600080fd5b5061052c6004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050611279565b604051808215151515815260200191505060405180910390f35b34801561055257600080fd5b5061055b6114fc565b6040518082815260200191505060405180910390f35b34801561057d57600080fd5b50610586611502565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105d457600080fd5b506105dd611527565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561061d578082015181840152602081019050610602565b50505050905090810190601f16801561064a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106606115c5565b005b34801561066e57600080fd5b506106ad600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115ec565b005b3480156106bb57600080fd5b506106f0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115fb565b604051808215151515815260200191505060405180910390f35b34801561071657600080fd5b5061079b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061161b565b604051808215151515815260200191505060405180910390f35b3480156107c157600080fd5b50610816600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061179e565b6040518082815260200191505060405180910390f35b34801561083857600080fd5b50610857600480360381019080803590602001909291905050506117c3565b005b34801561086557600080fd5b506108a6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611866565b005b3480156108b457600080fd5b506108e9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061198b565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561094657600080fd5b81600781905550806008819055505050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109ee5780601f106109c3576101008083540402835291602001916109ee565b820191906000526020600020905b8154815290600101906020018083116109d157829003601f168201915b505050505081565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60045481565b6000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610b1657600080fd5b610ba582600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a2990919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c30848484611a42565b600190509392505050565b600360009054906101000a900460ff1681565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610c9e57600080fd5b610cf082600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a2990919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d4882600454611a2990919063ffffffff16565b6004819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b60075481565b60056020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e1e57600080fd5b610e7081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9b90919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ec881600454611d9b90919063ffffffff16565b6004819055503073ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a38173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610fd757600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561106257600080fd5b6110b482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a2990919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061118682600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a2990919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061121b82600454611a2990919063ffffffff16565b6004819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a26001905092915050565b600080600080855192506112968386611db990919063ffffffff16565b91506000831115156112a757600080fd5b6000851180156112f6575081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b151561130157600080fd5b61135382600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a2990919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600090505b828110156114ef5761140c856005600089858151811015156113b957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9b90919063ffffffff16565b60056000888481518110151561141e57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550858181518110151561147457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a3808060010191505061139b565b6001935050505092915050565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115bd5780601f10611592576101008083540402835291602001916115bd565b820191906000526020600020905b8154815290600101906020018083116115a057829003601f168201915b505050505081565b60006115dc60085434611df490919063ffffffff16565b90506115e9303383611a42565b50565b6115f7338383611a42565b5050565b60096020528060005260406000206000915054906101000a900460ff1681565b60008084905061162b85856109f6565b15611795578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561172557808201518184015260208101905061170a565b50505050905090810190601f1680156117525780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561177457600080fd5b505af1158015611788573d6000803e3d6000fd5b5050505060019150611796565b5b509392505050565b6006602052816000526040600020602052806000526040600020600091509150505481565b6117d860075482611db990919063ffffffff16565b3073ffffffffffffffffffffffffffffffffffffffff1631101515156117fd57600080fd5b611808333083611a42565b3373ffffffffffffffffffffffffffffffffffffffff166108fc61183760075484611db990919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611862573d6000803e3d6000fd5b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118c157600080fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a58282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119e657600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000828211151515611a3757fe5b818303905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff1614151515611a6857600080fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611ab657600080fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b4882600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9b90919063ffffffff16565b10151515611b5557600080fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611bae57600080fd5b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611c0757600080fd5b611c5981600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a2990919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cee81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9b90919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000808284019050838110151515611daf57fe5b8091505092915050565b6000806000841415611dce5760009150611ded565b8284029050828482811515611ddf57fe5b04141515611de957fe5b8091505b5092915050565b6000929150505600a165627a7a72305820606b0b23865820e36a1e9fd7a788f6043ae352e4b4caa5c7c9f1d2b15bfe84e70029000000000000000000000000000000000000000000000000000000012a05f200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000144348494e412043554c545552414c20434841494e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000034349430000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305fefda71461013857806306fdde031461016f578063095ea7b3146101ff57806318160ddd1461026457806323b872dd1461028f578063313ce5671461031457806342966c68146103455780634b7503341461038a57806370a08231146103b557806379c650681461040c57806379cc67901461045957806383f12fec146104be5780638620410b146105465780638da5cb5b1461057157806395d89b41146105c8578063a6f2ae3a14610658578063a9059cbb14610662578063b414d4b6146106af578063cae9ca511461070a578063dd62ed3e146107b5578063e4849b321461082c578063e724529c14610859578063f2fde38b146108a8575b600080fd5b34801561014457600080fd5b5061016d60048036038101908080359060200190929190803590602001909291905050506108eb565b005b34801561017b57600080fd5b50610184610958565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c45780820151818401526020810190506101a9565b50505050905090810190601f1680156101f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020b57600080fd5b5061024a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109f6565b604051808215151515815260200191505060405180910390f35b34801561027057600080fd5b50610279610a83565b6040518082815260200191505060405180910390f35b34801561029b57600080fd5b506102fa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a89565b604051808215151515815260200191505060405180910390f35b34801561032057600080fd5b50610329610c3b565b604051808260ff1660ff16815260200191505060405180910390f35b34801561035157600080fd5b5061037060048036038101908080359060200190929190505050610c4e565b604051808215151515815260200191505060405180910390f35b34801561039657600080fd5b5061039f610da5565b6040518082815260200191505060405180910390f35b3480156103c157600080fd5b506103f6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dab565b6040518082815260200191505060405180910390f35b34801561041857600080fd5b50610457600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dc3565b005b34801561046557600080fd5b506104a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f87565b604051808215151515815260200191505060405180910390f35b3480156104ca57600080fd5b5061052c6004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050611279565b604051808215151515815260200191505060405180910390f35b34801561055257600080fd5b5061055b6114fc565b6040518082815260200191505060405180910390f35b34801561057d57600080fd5b50610586611502565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105d457600080fd5b506105dd611527565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561061d578082015181840152602081019050610602565b50505050905090810190601f16801561064a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106606115c5565b005b34801561066e57600080fd5b506106ad600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115ec565b005b3480156106bb57600080fd5b506106f0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115fb565b604051808215151515815260200191505060405180910390f35b34801561071657600080fd5b5061079b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061161b565b604051808215151515815260200191505060405180910390f35b3480156107c157600080fd5b50610816600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061179e565b6040518082815260200191505060405180910390f35b34801561083857600080fd5b50610857600480360381019080803590602001909291905050506117c3565b005b34801561086557600080fd5b506108a6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611866565b005b3480156108b457600080fd5b506108e9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061198b565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561094657600080fd5b81600781905550806008819055505050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109ee5780601f106109c3576101008083540402835291602001916109ee565b820191906000526020600020905b8154815290600101906020018083116109d157829003601f168201915b505050505081565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60045481565b6000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610b1657600080fd5b610ba582600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a2990919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c30848484611a42565b600190509392505050565b600360009054906101000a900460ff1681565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610c9e57600080fd5b610cf082600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a2990919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d4882600454611a2990919063ffffffff16565b6004819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b60075481565b60056020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e1e57600080fd5b610e7081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9b90919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ec881600454611d9b90919063ffffffff16565b6004819055503073ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a38173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610fd757600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561106257600080fd5b6110b482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a2990919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061118682600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a2990919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061121b82600454611a2990919063ffffffff16565b6004819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a26001905092915050565b600080600080855192506112968386611db990919063ffffffff16565b91506000831115156112a757600080fd5b6000851180156112f6575081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b151561130157600080fd5b61135382600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a2990919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600090505b828110156114ef5761140c856005600089858151811015156113b957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9b90919063ffffffff16565b60056000888481518110151561141e57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550858181518110151561147457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a3808060010191505061139b565b6001935050505092915050565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115bd5780601f10611592576101008083540402835291602001916115bd565b820191906000526020600020905b8154815290600101906020018083116115a057829003601f168201915b505050505081565b60006115dc60085434611df490919063ffffffff16565b90506115e9303383611a42565b50565b6115f7338383611a42565b5050565b60096020528060005260406000206000915054906101000a900460ff1681565b60008084905061162b85856109f6565b15611795578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561172557808201518184015260208101905061170a565b50505050905090810190601f1680156117525780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561177457600080fd5b505af1158015611788573d6000803e3d6000fd5b5050505060019150611796565b5b509392505050565b6006602052816000526040600020602052806000526040600020600091509150505481565b6117d860075482611db990919063ffffffff16565b3073ffffffffffffffffffffffffffffffffffffffff1631101515156117fd57600080fd5b611808333083611a42565b3373ffffffffffffffffffffffffffffffffffffffff166108fc61183760075484611db990919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611862573d6000803e3d6000fd5b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118c157600080fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a58282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119e657600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000828211151515611a3757fe5b818303905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff1614151515611a6857600080fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611ab657600080fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b4882600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9b90919063ffffffff16565b10151515611b5557600080fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611bae57600080fd5b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611c0757600080fd5b611c5981600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a2990919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cee81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9b90919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000808284019050838110151515611daf57fe5b8091505092915050565b6000806000841415611dce5760009150611ded565b8284029050828482811515611ddf57fe5b04141515611de957fe5b8091505b5092915050565b6000929150505600a165627a7a72305820606b0b23865820e36a1e9fd7a788f6043ae352e4b4caa5c7c9f1d2b15bfe84e70029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000012a05f200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000144348494e412043554c545552414c20434841494e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000034349430000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : initialSupply (uint256): 5000000000
Arg [1] : tokenName (string): CHINA CULTURAL CHAIN
Arg [2] : tokenSymbol (string): CIC

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000012a05f200
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000014
Arg [4] : 4348494e412043554c545552414c20434841494e000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [6] : 4349430000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

7871:3356:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10315:175;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10315:175:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1658:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1658:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4972:188;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4972:188:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1811:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1811:26:0;;;;;;;;;;;;;;;;;;;;;;;4416:324;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4416:324:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1706:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1706:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5949:388;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5949:388:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7953:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7953:24:0;;;;;;;;;;;;;;;;;;;;;;;1891:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1891:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9421:304;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9421:304:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6562:617;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6562:617:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7204:534;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7204:534:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7983:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7983:23:0;;;;;;;;;;;;;;;;;;;;;;;1175:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1175:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;1681;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1681:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1681:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10553:190;;;;;;4047:129;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4047:129:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8014:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8014:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5519:292;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5519:292:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1941:66;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1941:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10846:377;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10846:377:0;;;;;;;;;;;;;;;;;;;;;;;;;;9903:172;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9903:172:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1328:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1328:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10315:175;1307:5;;;;;;;;;;;1293:19;;:10;:19;;;1285:28;;;;;;;;10444:12;10432:9;:24;;;;10473:11;10462:8;:22;;;;10315:175;;:::o;1658:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4972:188::-;5039:12;5093:6;5059:9;:21;5069:10;5059:21;;;;;;;;;;;;;;;:31;5081:8;5059:31;;;;;;;;;;;;;;;:40;;;;5150:4;5143:11;;4972:188;;;;:::o;1811:26::-;;;;:::o;4416:324::-;4498:12;4556:9;:16;4566:5;4556:16;;;;;;;;;;;;;;;:28;4573:10;4556:28;;;;;;;;;;;;;;;;4546:6;:38;;4538:47;;;;;;;;4646:40;4679:6;4646:9;:16;4656:5;4646:16;;;;;;;;;;;;;;;:28;4663:10;4646:28;;;;;;;;;;;;;;;;:32;;:40;;;;:::i;:::-;4614:9;:16;4624:5;4614:16;;;;;;;;;;;;;;;:29;4631:10;4614:29;;;;;;;;;;;;;;;:72;;;;4692:29;4702:5;4709:3;4714:6;4692:9;:29::i;:::-;4730:4;4723:11;;4416:324;;;;;:::o;1706:26::-;;;;;;;;;;;;;:::o;5949:388::-;5995:12;6068:6;6043:9;:21;6053:10;6043:21;;;;;;;;;;;;;;;;:31;;6035:40;;;;;;;;6143:33;6169:6;6143:9;:21;6153:10;6143:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;6119:9;:21;6129:10;6119:21;;;;;;;;;;;;;;;:57;;;;6228:23;6244:6;6228:11;;:15;;:23;;;;:::i;:::-;6214:11;:37;;;;6294:10;6289:24;;;6306:6;6289:24;;;;;;;;;;;;;;;;;;6326:4;6319:11;;5949:388;;;:::o;7953:24::-;;;;:::o;1891:45::-;;;;;;;;;;;;;;;;;:::o;9421:304::-;1307:5;;;;;;;;;;;1293:19;;:10;:19;;;1285:28;;;;;;;;9546:35;9568:12;9546:9;:17;9556:6;9546:17;;;;;;;;;;;;;;;;:21;;:35;;;;:::i;:::-;9526:9;:17;9536:6;9526:17;;;;;;;;;;;;;;;:55;;;;9601:29;9617:12;9601:11;;:15;;:29;;;;:::i;:::-;9587:11;:43;;;;9653:4;9641:31;;9650:1;9641:31;9659:12;9641:31;;;;;;;;;;;;;;;;;;9698:6;9683:36;;9692:4;9683:36;;;9706:12;9683:36;;;;;;;;;;;;;;;;;;9421:304;;:::o;6562:617::-;6627:12;6710:6;6690:9;:16;6700:5;6690:16;;;;;;;;;;;;;;;;:26;;6682:35;;;;;;;;6788:9;:16;6798:5;6788:16;;;;;;;;;;;;;;;:28;6805:10;6788:28;;;;;;;;;;;;;;;;6778:6;:38;;6770:47;;;;;;;;6865:28;6886:6;6865:9;:16;6875:5;6865:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;6846:9;:16;6856:5;6846:16;;;;;;;;;;;;;;;:47;;;;6973:40;7006:6;6973:9;:16;6983:5;6973:16;;;;;;;;;;;;;;;:28;6990:10;6973:28;;;;;;;;;;;;;;;;:32;;:40;;;;:::i;:::-;6941:9;:16;6951:5;6941:16;;;;;;;;;;;;;;;:29;6958:10;6941:29;;;;;;;;;;;;;;;:72;;;;7077:23;7093:6;7077:11;;:15;;:23;;;;:::i;:::-;7063:11;:37;;;;7142:5;7137:19;;;7149:6;7137:19;;;;;;;;;;;;;;;;;;7169:4;7162:11;;6562:617;;;;:::o;7204:534::-;7281:12;7300:18;7343:14;7558:6;7321:10;:17;7300:38;;7360:34;7379:13;7360:6;:10;;:34;;;;:::i;:::-;7343:51;;7423:1;7407:13;:17;7399:26;;;;;;;;7447:1;7438:6;:10;:45;;;;;7477:6;7452:9;:21;7462:10;7452:21;;;;;;;;;;;;;;;;:31;;7438:45;7430:54;;;;;;;;7515:33;7541:6;7515:9;:21;7525:10;7515:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;7491:9;:21;7501:10;7491:21;;;;;;;;;;;;;;;:57;;;;7567:1;7558:10;;7553:165;7574:13;7570:1;:17;7553:165;;;7627:36;7656:6;7627:9;:24;7637:10;7648:1;7637:13;;;;;;;;;;;;;;;;;;7627:24;;;;;;;;;;;;;;;;:28;;:36;;;;:::i;:::-;7600:9;:24;7610:10;7621:1;7610:13;;;;;;;;;;;;;;;;;;7600:24;;;;;;;;;;;;;;;:63;;;;7690:10;7701:1;7690:13;;;;;;;;;;;;;;;;;;7669:43;;7678:10;7669:43;;;7705:6;7669:43;;;;;;;;;;;;;;;;;;7589:3;;;;;;;7553:165;;;7729:4;7722:11;;7204:534;;;;;;;:::o;7983:23::-;;;;:::o;1175:20::-;;;;;;;;;;;;;:::o;1681:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10553:190::-;10612:11;10626:23;10640:8;;10626:9;:13;;:23;;;;:::i;:::-;10612:37;;10679:35;10689:4;10695:10;10707:6;10679:9;:35::i;:::-;10553:190;:::o;4047:129::-;4136:34;4146:10;4158:3;4163:6;4136:9;:34::i;:::-;4047:129;;:::o;8014:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;5519:292::-;5612:12;5632:22;5672:8;5632:49;;5691:25;5699:8;5709:6;5691:7;:25::i;:::-;5687:119;;;5725:7;:23;;;5749:10;5761:6;5769:4;5775:10;5725:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5725:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5725:61:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5725:61:0;;;;5795:4;5788:11;;;;5687:119;5519:292;;;;;;;:::o;1941:66::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10846:377::-;10945:21;10956:9;;10945:6;:10;;:21;;;;:::i;:::-;10928:4;10920:21;;;:46;;10912:55;;;;;;;;11023:35;11033:10;11045:4;11051:6;11023:9;:35::i;:::-;11087:10;:19;;:42;11107:21;11118:9;;11107:6;:10;;:21;;;;:::i;:::-;11087:42;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11087:42:0;10846:377;:::o;9903:172::-;1307:5;;;;;;;;;;;1293:19;;:10;:19;;;1285:28;;;;;;;;10029:6;10005:13;:21;10019:6;10005:21;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;10042:27;10054:6;10062;10042:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9903:172;;:::o;1328:89::-;1307:5;;;;;;;;;;;1293:19;;:10;:19;;;1285:28;;;;;;;;1404:8;1396:5;;:16;;;;;;;;;;;;;;;;;;1328:89;:::o;838:107::-;896:7;923:1;918;:6;;911:14;;;;;;938:1;934;:5;927:12;;838:107;;;;:::o;8525:707::-;8616:3;8609;:10;;;;8600:20;;;;;;;;8718:6;8698:9;:16;8708:5;8698:16;;;;;;;;;;;;;;;;:26;;8689:36;;;;;;;;8813:9;:14;8823:3;8813:14;;;;;;;;;;;;;;;;8782:27;8802:6;8782:9;:14;8792:3;8782:14;;;;;;;;;;;;;;;;:18;;:27;;;;:::i;:::-;:45;;8773:55;;;;;;;;8874:13;:20;8888:5;8874:20;;;;;;;;;;;;;;;;;;;;;;;;;8873:21;8865:30;;;;;;;;8947:13;:18;8961:3;8947:18;;;;;;;;;;;;;;;;;;;;;;;;;8946:19;8938:28;;;;;;;;9031;9052:6;9031:9;:16;9041:5;9031:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;9012:9;:16;9022:5;9012:16;;;;;;;;;;;;;;;:47;;;;9118:28;9139:6;9118:9;:15;9128:3;9118:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;9101:9;:14;9111:3;9101:14;;;;;;;;;;;;;;;:45;;;;9214:3;9198:28;;9207:5;9198:28;;;9219:6;9198:28;;;;;;;;;;;;;;;;;;8525:707;;;:::o;1005:122::-;1063:7;1078:9;1094:1;1090;:5;1078:17;;1109:1;1104;:6;;1097:14;;;;;;1120:1;1113:8;;1005:122;;;;;:::o;231:151::-;289:7;329:9;313:1;308;:6;304:25;;;325:1;318:8;;;;304:25;345:1;341;:5;329:17;;364:1;359;355;:5;;;;;;;;:10;348:18;;;;;;375:1;368:8;;231:151;;;;;;:::o;462:266::-;520:7;462:266;;;;:::o

Swarm Source

bzzr://606b0b23865820e36a1e9fd7a788f6043ae352e4b4caa5c7c9f1d2b15bfe84e7
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.