ETH Price: $1,856.18 (-4.34%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer105469642020-07-28 8:30:292036 days ago1595925029IN
Fake_Phishing292016
0 ETH0.0083593664
Transfer91777432019-12-28 21:41:022248 days ago1577569262IN
Fake_Phishing292016
0 ETH0.000130591
Transfer91447582019-12-22 8:16:002255 days ago1577002560IN
Fake_Phishing292016
0 ETH0.000298923
Transfer90578442019-12-06 1:04:292271 days ago1575594269IN
Fake_Phishing292016
0 ETH0.000182021.5
Transfer79768382019-06-17 15:53:272443 days ago1560786807IN
Fake_Phishing292016
0 ETH0.000121351
Mint78764022019-06-01 22:34:212458 days ago1559428461IN
Fake_Phishing292016
0 ETH0.000101981
Withdraw78687862019-05-31 18:02:082460 days ago1559325728IN
Fake_Phishing292016
0 ETH0.000092983
Mint78687732019-05-31 17:59:112460 days ago1559325551IN
Fake_Phishing292016
0 ETH0.000350943
Transfer76485442019-04-27 9:03:182494 days ago1556355798IN
Fake_Phishing292016
0 ETH0.000364243
Transfer76485412019-04-27 9:02:282494 days ago1556355748IN
Fake_Phishing292016
0 ETH0.000364243
Transfer76485412019-04-27 9:02:282494 days ago1556355748IN
Fake_Phishing292016
0 ETH0.000364243
Transfer76485412019-04-27 9:02:282494 days ago1556355748IN
Fake_Phishing292016
0 ETH0.000364243
Transfer76485412019-04-27 9:02:282494 days ago1556355748IN
Fake_Phishing292016
0 ETH0.000097893
Transfer76485142019-04-27 8:56:532494 days ago1556355413IN
Fake_Phishing292016
0 ETH0.000364243
Transfer76485042019-04-27 8:54:392494 days ago1556355279IN
Fake_Phishing292016
0 ETH0.000364243
Transfer76484972019-04-27 8:52:262494 days ago1556355146IN
Fake_Phishing292016
0 ETH0.0012141510
Transfer76484562019-04-27 8:43:122494 days ago1556354592IN
Fake_Phishing292016
0 ETH0.000319243
Transfer76484442019-04-27 8:40:022494 days ago1556354402IN
Fake_Phishing292016
0 ETH0.000097893
Transfer76484342019-04-27 8:38:002494 days ago1556354280IN
Fake_Phishing292016
0 ETH0.000409243
Transfer76484182019-04-27 8:35:042494 days ago1556354104IN
Fake_Phishing292016
0 ETH0.000212832
Transfer76484082019-04-27 8:33:282494 days ago1556354008IN
Fake_Phishing292016
0 ETH0.0013641510
Transfer76483892019-04-27 8:28:332494 days ago1556353713IN
Fake_Phishing292016
0 ETH0.000319243
Transfer76483792019-04-27 8:26:272494 days ago1556353587IN
Fake_Phishing292016
0 ETH0.0013641510
Transfer76433012019-04-26 13:35:552495 days ago1556285755IN
Fake_Phishing292016
0 ETH0.0014554412
Transfer75343662019-04-09 14:01:492512 days ago1554818509IN
Fake_Phishing292016
0 ETH0.001092159
View all transactions

Latest 18 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-78687862019-05-31 18:02:082460 days ago1559325728
Fake_Phishing292016
0.05830867 ETH
-72536342019-02-22 15:47:012558 days ago1550850421
Fake_Phishing292016
0.44169132 ETH
-72193892019-02-14 12:47:502566 days ago1550148470
Fake_Phishing292016
17.5 ETH
-71933902019-02-08 14:26:022572 days ago1549635962
Fake_Phishing292016
19.07615138 ETH
-71544382019-01-31 15:55:262580 days ago1548950126
Fake_Phishing292016
0.4917812 ETH
-71543472019-01-31 15:29:312580 days ago1548948571
Fake_Phishing292016
0.4413421 ETH
-70263962019-01-07 15:29:132604 days ago1546874953
Fake_Phishing292016
0.40071682 ETH
-69985422019-01-02 16:31:232609 days ago1546446683
Fake_Phishing292016
0.39419098 ETH
Transfer64094092018-09-27 13:54:522706 days ago1538056492
Fake_Phishing292016
0.35329492 ETH
Transfer62415162018-08-30 16:18:352734 days ago1535645915
Fake_Phishing292016
0.21980624 ETH
Transfer62334532018-08-29 7:26:002735 days ago1535527560
Fake_Phishing292016
0.51694446 ETH
Transfer62278612018-08-28 8:37:202736 days ago1535445440
Fake_Phishing292016
0.24383806 ETH
Transfer62278222018-08-28 8:26:232736 days ago1535444783
Fake_Phishing292016
0.3 ETH
Transfer62243072018-08-27 18:19:532737 days ago1535393993
Fake_Phishing292016
0.27276242 ETH
Transfer61642902018-08-17 14:55:332747 days ago1534517733
Fake_Phishing292016
0.80744215 ETH
Transfer61601182018-08-16 21:51:422747 days ago1534456302
Fake_Phishing292016
0.79836457 ETH
Transfer61588542018-08-16 16:50:592748 days ago1534438259
Fake_Phishing292016
0.1983881 ETH
Transfer61588452018-08-16 16:48:562748 days ago1534438136
Fake_Phishing292016
0.5935228 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20Extended

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-09-03
*/

pragma solidity 0.4.24;


/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
	function mul(uint256 _a, uint256 _b) internal pure returns (uint256) {
		if (_a == 0) {
			return 0;
		}
		uint256 c = _a * _b;
		assert(c / _a == _b);
		return c;
	}

	function div(uint256 _a, uint256 _b) internal pure returns (uint256) {
		return _a / _b;
	}

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

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

/**
 * @title Ownable
 * @dev The Ownable contract holds owner addresses, and provides basic authorization control
 * functions.
 */
contract Ownable {
	/**
	* @dev Allows to check if the given address has owner rights.
	* @param _owner The address to check for owner rights.
	* @return True if the address is owner, false if it is not.
	*/
	mapping(address => bool) public owners;
	
	/**
	* @dev The Ownable constructor adds the sender
	* account to the owners mapping.
	*/
	constructor() public {
		owners[msg.sender] = true;
	}

	/**
	* @dev Throws if called by any account other than the owner.
	*/
	modifier onlyOwners() {
		require(owners[msg.sender], 'Owner message sender required.');
		_;
	}

	/**
	* @dev Allows the current owners to grant or revoke 
	* owner-level access rights to the contract.
	* @param _owner The address to grant or revoke owner rights.
	* @param _isAllowed Boolean granting or revoking owner rights.
	* @return True if the operation has passed or throws if failed.
	*/
	function setOwner(address _owner, bool _isAllowed) public onlyOwners {
		require(_owner != address(0), 'Non-zero owner-address required.');
		owners[_owner] = _isAllowed;
	}
}

/**
 * @title Destroyable
 * @dev Base contract that can be destroyed by the owners. All funds in contract will be sent back.
 */
contract Destroyable is Ownable {

	constructor() public payable {}

	/**
	* @dev Transfers The current balance to the message sender and terminates the contract.
	*/
	function destroy() public onlyOwners {
		selfdestruct(msg.sender);
	}

	/**
	* @dev Transfers The current balance to the specified _recipient and terminates the contract.
	* @param _recipient The address to send the current balance to.
	*/
	function destroyAndSend(address _recipient) public onlyOwners {
		require(_recipient != address(0), 'Non-zero recipient address required.');
		selfdestruct(_recipient);
	}
}

/**
 * @title BotOperated
 * @dev The BotOperated contract holds bot addresses, and provides basic authorization control
 * functions.
 */
contract BotOperated is Ownable {
	/**
	* @dev Allows to check if the given address has bot rights.
	* @param _bot The address to check for bot rights.
	* @return True if the address is bot, false if it is not.
	*/
	mapping(address => bool) public bots;

	/**
	 * @dev Throws if called by any account other than bot or owner.
	 */
	modifier onlyBotsOrOwners() {
		require(bots[msg.sender] || owners[msg.sender], 'Bot or owner message sender required.');
		_;
	}

	/**
	* @dev Throws if called by any account other than the bot.
	*/
	modifier onlyBots() {
		require(bots[msg.sender], 'Bot message sender required.');
		_;
	}

	/**
	* @dev The BotOperated constructor adds the sender
	* account to the bots mapping.
	*/
	constructor() public {
		bots[msg.sender] = true;
	}

	/**
	* @dev Allows the current owners to grant or revoke 
	* bot-level access rights to the contract.
	* @param _bot The address to grant or revoke bot rights.
	* @param _isAllowed Boolean granting or revoking bot rights.
	* @return True if the operation has passed or throws if failed.
	*/
	function setBot(address _bot, bool _isAllowed) public onlyOwners {
		require(_bot != address(0), 'Non-zero bot-address required.');
		bots[_bot] = _isAllowed;
	}
}

/**
* @title Pausable
* @dev Base contract which allows children to implement an emergency stop mechanism.
*/
contract Pausable is BotOperated {
	event Pause();
	event Unpause();

	bool public paused = true;

	/**
	* @dev Modifier to allow actions only when the contract IS NOT paused.
	*/
	modifier whenNotPaused() {
		require(!paused, 'Unpaused contract required.');
		_;
	}

	/**
	* @dev Called by the owner to pause, triggers stopped state.
	* @return True if the operation has passed.
	*/
	function pause() public onlyBotsOrOwners {
		paused = true;
		emit Pause();
	}

	/**
	* @dev Called by the owner to unpause, returns to normal state.
	* @return True if the operation has passed.
	*/
	function unpause() public onlyBotsOrOwners {
		paused = false;
		emit Unpause();
	}
}

interface EternalDataStorage {
	function balances(address _owner) external view returns (uint256);

	function setBalance(address _owner, uint256 _value) external;

	function allowed(address _owner, address _spender) external view returns (uint256);

	function setAllowance(address _owner, address _spender, uint256 _amount) external;

	function totalSupply() external view returns (uint256);

	function setTotalSupply(uint256 _value) external;

	function frozenAccounts(address _target) external view returns (bool isFrozen);

	function setFrozenAccount(address _target, bool _isFrozen) external;

	function increaseAllowance(address _owner,  address _spender, uint256 _increase) external;

	function decreaseAllowance(address _owner,  address _spender, uint256 _decrease) external;
}

interface Ledger {
	function addTransaction(address _from, address _to, uint _tokens) external;
}

interface WhitelistData {
	function kycId(address _customer) external view returns (bytes32);
}


/**
 * @title ERC20Standard token
 * @dev Implementation of the basic standard token.
 * @notice https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
 */
contract ERC20Standard {
	
	using SafeMath for uint256;

	EternalDataStorage internal dataStorage;

	Ledger internal ledger;

	WhitelistData internal whitelist;

	/**
	 * @dev Triggered when tokens are transferred.
	 * @notice MUST trigger when tokens are transferred, including zero value transfers.
	 */
	event Transfer(address indexed _from, address indexed _to, uint256 _value);

	/**
	 * @dev Triggered whenever approve(address _spender, uint256 _value) is called.
	 * @notice MUST trigger on any successful call to approve(address _spender, uint256 _value).
	 */
	event Approval(address indexed _owner, address indexed _spender, uint256 _value);

	modifier isWhitelisted(address _customer) {
		require(whitelist.kycId(_customer) != 0x0, 'Whitelisted customer required.');
		_;
	}

	/**
	 * @dev Constructor function that instantiates the EternalDataStorage, Ledger and Whitelist contracts.
	 * @param _dataStorage Address of the Data Storage Contract.
	 * @param _ledger Address of the Ledger Contract.
	 * @param _whitelist Address of the Whitelist Data Contract.
	 */
	constructor(address _dataStorage, address _ledger, address _whitelist) public {
		require(_dataStorage != address(0), 'Non-zero data storage address required.');
		require(_ledger != address(0), 'Non-zero ledger address required.');
		require(_whitelist != address(0), 'Non-zero whitelist address required.');

		dataStorage = EternalDataStorage(_dataStorage);
		ledger = Ledger(_ledger);
		whitelist = WhitelistData(_whitelist);
	}

	/**
	 * @dev Gets the total supply of tokens.
	 * @return totalSupplyAmount The total amount of tokens.
	 */
	function totalSupply() public view returns (uint256 totalSupplyAmount) {
		return dataStorage.totalSupply();
	}

	/**
	 * @dev Get the balance of the specified `_owner` address.
	 * @return balance The token balance of the given address.
	 */
	function balanceOf(address _owner) public view returns (uint256 balance) {
		return dataStorage.balances(_owner);
	}

	/**
	 * @dev Transfer token to a specified address.
	 * @param _to The address to transfer to.
	 * @param _value The amount to be transferred.
	 * @return success True if the transfer was successful, or throws.
	 */
	function transfer(address _to, uint256 _value) public returns (bool success) {
		return _transfer(msg.sender, _to, _value);
	}

	/**
	 * @dev Transfer `_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.
	 * @return success True if the transfer was successful, or throws.
	 */    
	function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
		uint256 allowed = dataStorage.allowed(_from, msg.sender);
		require(allowed >= _value, 'From account has insufficient balance');

		allowed = allowed.sub(_value);
		dataStorage.setAllowance(_from, msg.sender, allowed);

		return _transfer(_from, _to, _value);
	}

	/**
	 * @dev Allows `_spender` to withdraw from your account multiple times, up to the `_value` amount.
	 * approve will revert if allowance of _spender is 0. increaseApproval and decreaseApproval should
	 * be used instead to avoid exploit identified here: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md#approve
	 * @notice If this function is called again it overwrites the current allowance with `_value`.
	 * @param _spender The address authorized to spend.
	 * @param _value The max amount they can spend.
	 * @return success True if the operation was successful, or false.
	 */
	 
	function approve(address _spender, uint256 _value) public returns (bool success) {
		require
		(
			_value == 0 || dataStorage.allowed(msg.sender, _spender) == 0,
			'Approve value is required to be zero or account has already been approved.'
		);
		
		dataStorage.setAllowance(msg.sender, _spender, _value);
		
		emit Approval(msg.sender, _spender, _value);
		
		return true;
	}

	/**
	 * @dev Increase the amount of tokens that an owner allowed to a spender.
	 * This function must be called for increasing approval from a non-zero value
	 * as using approve will revert. It has been added as a fix to the exploit mentioned
	 * here: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md#approve
	 * @param _spender The address which will spend the funds.
	 * @param _addedValue The amount of tokens to increase the allowance by.
	 */
	function increaseApproval(address _spender, uint256 _addedValue) public {
		dataStorage.increaseAllowance(msg.sender, _spender, _addedValue);
		
		emit Approval(msg.sender, _spender, dataStorage.allowed(msg.sender, _spender));
	}

	/**
	 * @dev Decrease the amount of tokens that an owner allowed to a spender.
	 * This function must be called for decreasing approval from a non-zero value
	 * as using approve will revert. It has been added as a fix to the exploit mentioned
	 * here: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md#approve
	 * allowed value is better to use this function to avoid 2 calls (and wait until
	 * the first transaction is mined)
	 * @param _spender The address which will spend the funds.
	 * @param _subtractedValue The amount of tokens to decrease the allowance by.
	 */
	function decreaseApproval(address _spender, uint256 _subtractedValue) public {		
		dataStorage.decreaseAllowance(msg.sender, _spender, _subtractedValue);
		
		emit Approval(msg.sender, _spender, dataStorage.allowed(msg.sender, _spender));
	}

	/**
	* @dev Function to check the amount of tokens that an owner allowed to a spender.
	* @param _owner The address which owns the funds.
	* @param _spender The address which will spend the funds.
	* @return A uint256 specifying the amount of tokens still available for the spender.
	*/
	function allowance(address _owner, address _spender) public view returns (uint256) {
		return dataStorage.allowed(_owner, _spender);
	}

	/**
	 * @dev Internal transfer, can only be called by this contract.
	 * @param _from The address of the sender.
	 * @param _to The address of the recipient.
	 * @param _value The amount to send.
	 * @return success True if the transfer was successful, or throws.
	 */
	function _transfer(address _from, address _to, uint256 _value) internal returns (bool success) {
		require(_to != address(0), 'Non-zero to-address required.');
		uint256 fromBalance = dataStorage.balances(_from);
		require(fromBalance >= _value, 'From-address has insufficient balance.');

		fromBalance = fromBalance.sub(_value);

		uint256 toBalance = dataStorage.balances(_to);
		toBalance = toBalance.add(_value);

		dataStorage.setBalance(_from, fromBalance);
		dataStorage.setBalance(_to, toBalance);

		ledger.addTransaction(_from, _to, _value);

		emit Transfer(_from, _to, _value);

		return true;
	}
}

/**
 * @title MintableToken
 * @dev ERC20Standard modified with mintable token creation.
 */
contract MintableToken is ERC20Standard, Ownable {

	/**
	 * @dev Hardcap - maximum allowed amount of tokens to be minted
	 */
	uint104 public constant MINTING_HARDCAP = 1e30;

	/**
	* @dev Auto-generated function to check whether the minting has finished.
	* @return True if the minting has finished, or false.
	*/
	bool public mintingFinished = false;

	event Mint(address indexed _to, uint256 _amount);
	
	event MintFinished();

	modifier canMint() {
		require(!mintingFinished, 'Uninished minting required.');
		_;
	}

	/**
	* @dev Function to mint tokens
	* @param _to The address that will receive the minted tokens.
	* @param _amount The amount of tokens to mint.
	*/
	function mint(address _to, uint256 _amount) public onlyOwners canMint() {
		uint256 totalSupply = dataStorage.totalSupply();
		totalSupply = totalSupply.add(_amount);
		
		require(totalSupply <= MINTING_HARDCAP, 'Total supply of token in circulation must be below hardcap.');
		
		dataStorage.setTotalSupply(totalSupply);

		uint256 toBalance = dataStorage.balances(_to);
		toBalance = toBalance.add(_amount);
		dataStorage.setBalance(_to, toBalance);

		ledger.addTransaction(address(0), _to, _amount);

		emit Transfer(address(0), _to, _amount);

		emit Mint(_to, _amount);
	}

	/**
	* @dev Function to permanently stop minting new tokens.
	*/
	function finishMinting() public onlyOwners {
		mintingFinished = true;
		emit MintFinished();
	}
}

/**
 * @title BurnableToken
 * @dev ERC20Standard token that can be irreversibly burned(destroyed).
 */
contract BurnableToken is ERC20Standard {

	event Burn(address indexed _burner, uint256 _value);
	
	/**
	 * @dev Remove tokens from the system irreversibly.
	 * @notice Destroy tokens from your account.
	 * @param _value The amount of tokens to burn.
	 */
	function burn(uint256 _value) public {
		uint256 senderBalance = dataStorage.balances(msg.sender);
		require(senderBalance >= _value, 'Burn value less than account balance required.');
		senderBalance = senderBalance.sub(_value);
		dataStorage.setBalance(msg.sender, senderBalance);

		uint256 totalSupply = dataStorage.totalSupply();
		totalSupply = totalSupply.sub(_value);
		dataStorage.setTotalSupply(totalSupply);

		emit Burn(msg.sender, _value);

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

	/**
	 * @dev Remove specified `_value` tokens from the system irreversibly on behalf of `_from`.
	 * @param _from The address from which to burn tokens.
	 * @param _value The amount of money to burn.
	 */
	function burnFrom(address _from, uint256 _value) public {
		uint256 fromBalance = dataStorage.balances(_from);
		require(fromBalance >= _value, 'Burn value less than from-account balance required.');

		uint256 allowed = dataStorage.allowed(_from, msg.sender);
		require(allowed >= _value, 'Burn value less than account allowance required.');

		fromBalance = fromBalance.sub(_value);
		dataStorage.setBalance(_from, fromBalance);

		allowed = allowed.sub(_value);
		dataStorage.setAllowance(_from, msg.sender, allowed);

		uint256 totalSupply = dataStorage.totalSupply();
		totalSupply = totalSupply.sub(_value);
		dataStorage.setTotalSupply(totalSupply);

		emit Burn(_from, _value);

		emit Transfer(_from, address(0), _value);
	}
}

/**
 * @title PausableToken
 * @dev ERC20Standard modified with pausable transfers.
 **/
contract PausableToken is ERC20Standard, Pausable {
	
	function transfer(address _to, uint256 _value) public whenNotPaused returns (bool success) {
		return super.transfer(_to, _value);
	}

	function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused returns (bool success) {
		return super.transferFrom(_from, _to, _value);
	}

	function approve(address _spender, uint256 _value) public whenNotPaused returns (bool success) {
		return super.approve(_spender, _value);
	}
}

/**
 * @title FreezableToken
 * @dev ERC20Standard modified with freezing accounts ability.
 */
contract FreezableToken is ERC20Standard, Ownable {

	event FrozenFunds(address indexed _target, bool _isFrozen);

	/**
	 * @dev Allow or prevent target address from sending & receiving tokens.
	 * @param _target Address to be frozen or unfrozen.
	 * @param _isFrozen Boolean indicating freeze or unfreeze operation.
	 */ 
	function freezeAccount(address _target, bool _isFrozen) public onlyOwners {
		require(_target != address(0), 'Non-zero to-be-frozen-account address required.');
		dataStorage.setFrozenAccount(_target, _isFrozen);
		emit FrozenFunds(_target, _isFrozen);
	}

	/**
	 * @dev Checks whether the target is frozen or not.
	 * @param _target Address to check.
	 * @return isFrozen A boolean that indicates whether the account is frozen or not. 
	 */
	function isAccountFrozen(address _target) public view returns (bool isFrozen) {
		return dataStorage.frozenAccounts(_target);
	}

	/**
	 * @dev Overrided _transfer function that uses freeze functionality
	 */
	function _transfer(address _from, address _to, uint256 _value) internal returns (bool success) {
		assert(!dataStorage.frozenAccounts(_from));

		assert(!dataStorage.frozenAccounts(_to));
		
		return super._transfer(_from, _to, _value);
	}
}

/**
 * @title ERC20Extended
 * @dev Standard ERC20 token with extended functionalities.
 */
contract ERC20Extended is FreezableToken, PausableToken, BurnableToken, MintableToken, Destroyable {
	/**
	* @dev Auto-generated function that returns the name of the token.
	* @return The name of the token.
	*/
	string public constant name = 'ORBISE10';

	/**
	* @dev Auto-generated function that returns the symbol of the token.
	* @return The symbol of the token.
	*/
	string public constant symbol = 'ORBT';

	/**
	* @dev Auto-generated function that returns the number of decimals of the token.
	* @return The number of decimals of the token.
	*/
	uint8 public constant decimals = 18;

	/**
	* @dev Constant for the minimum allowed amount of tokens one can buy
	*/
	uint72 public constant MINIMUM_BUY_AMOUNT = 200e18;

	/**
	* @dev Auto-generated function that gets the price at which the token is sold.
	* @return The sell price of the token.
	*/
	uint256 public sellPrice;

	/**
	* @dev Auto-generated function that gets the price at which the token is bought.
	* @return The buy price of the token.
	*/
	uint256 public buyPrice;

	/**
	* @dev Auto-generated function that gets the address of the wallet of the contract.
	* @return The address of the wallet.
	*/
	address public wallet;

	/**
	* @dev Constructor function that calculates the total supply of tokens, 
	* sets the initial sell and buy prices and
	* passes arguments to base constructors.
	* @param _dataStorage Address of the Data Storage Contract.
	* @param _ledger Address of the Data Storage Contract.
	* @param _whitelist Address of the Whitelist Data Contract.
	*/
	constructor
	(
		address _dataStorage,
		address _ledger,
		address _whitelist
	)
		ERC20Standard(_dataStorage, _ledger, _whitelist)
		public 
	{
	}

	/**
	* @dev Fallback function that allows the contract
	* to receive Ether directly.
	*/
	function() public payable { }

	/**
	* @dev Function that sets both the sell and the buy price of the token.
	* @param _sellPrice The price at which the token will be sold.
	* @param _buyPrice The price at which the token will be bought.
	*/
	function setPrices(uint256 _sellPrice, uint256 _buyPrice) public onlyBotsOrOwners {
		sellPrice = _sellPrice;
		buyPrice = _buyPrice;
	}

	/**
	* @dev Function that sets the current wallet address.
	* @param _walletAddress The address of wallet to be set.
	*/
	function setWallet(address _walletAddress) public onlyOwners {
		require(_walletAddress != address(0), 'Non-zero wallet address required.');
		wallet = _walletAddress;
	}

	/**
	* @dev Send Ether to buy tokens at the current token sell price.
	* @notice buy function has minimum allowed amount one can buy
	*/
	function buy() public payable whenNotPaused isWhitelisted(msg.sender) {
		uint256 amount = msg.value.mul(1e18);
		
		amount = amount.div(sellPrice);

		require(amount >= MINIMUM_BUY_AMOUNT, "Buy amount too small");
		
		_transfer(this, msg.sender, amount);
	}
	
	/**
	* @dev Sell `_amount` tokens at the current buy price.
	* @param _amount The amount to sell.
	*/
	function sell(uint256 _amount) public whenNotPaused {
		uint256 toBeTransferred = _amount.mul(buyPrice);

		require(toBeTransferred >= 1e18, "Sell amount too small");

		toBeTransferred = toBeTransferred.div(1e18);

		require(address(this).balance >= toBeTransferred, 'Contract has insufficient balance.');
		_transfer(msg.sender, this, _amount);
		
		msg.sender.transfer(toBeTransferred);
	}

	/**
	* @dev Get the contract balance in WEI.
	*/
	function getContractBalance() public view returns (uint256) {
		return address(this).balance;
	}

	/**
	* @dev Withdraw `_amount` ETH to the wallet address.
	* @param _amount The amount to withdraw.
	*/
	function withdraw(uint256 _amount) public onlyOwners {
		require(address(this).balance >= _amount, 'Unable to withdraw specified amount.');
		require(wallet != address(0), 'Non-zero wallet address required.');
		wallet.transfer(_amount);
	}

	/**
	* @dev Transfer, which is used when Orbise is bought with different currency than ETH.
	* @param _to The address of the recipient.
	* @param _value The amount of Orbise Tokens to transfer.
	* @return success True if operation is executed successfully.
	*/
	function nonEtherPurchaseTransfer(address _to, uint256 _value) public isWhitelisted(_to) onlyBots whenNotPaused returns (bool success) {
		return _transfer(msg.sender, _to, _value);
	}
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"owners","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sellPrice","type":"uint256"},{"name":"_buyPrice","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":"totalSupplyAmount","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":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"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":"_bot","type":"address"},{"name":"_isAllowed","type":"bool"}],"name":"setBot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MINIMUM_BUY_AMOUNT","outputs":[{"name":"","type":"uint72"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_isAllowed","type":"bool"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"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":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getContractBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MINTING_HARDCAP","outputs":[{"name":"","type":"uint104"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"destroy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"nonEtherPurchaseTransfer","outputs":[{"name":"success","type":"bool"}],"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":"buy","outputs":[],"payable":true,"stateMutability":"payable","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":"","type":"address"}],"name":"bots","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_walletAddress","type":"address"}],"name":"setWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"_isFrozen","type":"bool"}],"name":"freezeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_target","type":"address"}],"name":"isAccountFrozen","outputs":[{"name":"isFrozen","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"}],"name":"destroyAndSend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_dataStorage","type":"address"},{"name":"_ledger","type":"address"},{"name":"_whitelist","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_burner","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_target","type":"address"},{"indexed":false,"name":"_isFrozen","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":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]

60806040526005805461ff001960ff1990911660011716905534801561002457600080fd5b5060405160608062003476833981016040908152815160208301519190920151828282600160a060020a03831615156100e457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4e6f6e2d7a65726f20646174612073746f72616765206164647265737320726560448201527f7175697265642e00000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a038216151561018157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4e6f6e2d7a65726f206c6564676572206164647265737320726571756972656460448201527f2e00000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a038116151561021d57604080517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4e6f6e2d7a65726f2077686974656c697374206164647265737320726571756960448201527f7265642e00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60008054600160a060020a03948516600160a060020a0319918216178255600180549486169482169490941784556002805493909516921691909117909255338252600360209081526040808420805460ff199081168517909155600490925290922080549092161790555050506131db806200029b6000396000f3006080604052600436106101c95763ffffffff60e060020a600035041663022914a781146101cb57806305d2035b1461020057806305fefda71461021557806306fdde0314610230578063095ea7b3146102ba57806318160ddd146102de57806323b872dd146103055780632e1a7d4d1461032f578063313ce56714610347578063342aa8b5146103725780633c3e2447146103985780633f4ba83a146103cb57806340c10f19146103e057806342966c68146104045780634b7503341461041c578063516c731c14610431578063521eb273146104575780635c975abb14610488578063661884631461049d5780636f9fb98a146104c157806370a08231146104d657806379cc6790146104f75780637d64bcb41461051b57806381cda3171461053057806383197ef0146105675780638456cb591461057c5780638620410b1461059157806390066b49146105a657806395d89b41146105ca578063a6f2ae3a146105df578063a9059cbb146105e7578063bfd792841461060b578063d73dd6231461062c578063dd62ed3e14610650578063deaa59df14610677578063e4849b3214610698578063e724529c146106b0578063e816d97f146106d6578063f5074f41146106f7575b005b3480156101d757600080fd5b506101ec600160a060020a0360043516610718565b604080519115158252519081900360200190f35b34801561020c57600080fd5b506101ec61072d565b34801561022157600080fd5b506101c960043560243561073b565b34801561023c57600080fd5b506102456107ef565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027f578181015183820152602001610267565b50505050905090810190601f1680156102ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102c657600080fd5b506101ec600160a060020a0360043516602435610826565b3480156102ea57600080fd5b506102f3610883565b60408051918252519081900360200190f35b34801561031157600080fd5b506101ec600160a060020a0360043581169060243516604435610908565b34801561033b57600080fd5b506101c9600435610967565b34801561035357600080fd5b5061035c610b02565b6040805160ff9092168252519081900360200190f35b34801561037e57600080fd5b506101c9600160a060020a03600435166024351515610b07565b3480156103a457600080fd5b506103ad610be9565b6040805168ffffffffffffffffff9092168252519081900360200190f35b3480156103d757600080fd5b506101c9610bf6565b3480156103ec57600080fd5b506101c9600160a060020a0360043516602435610cd4565b34801561041057600080fd5b506101c9600435611124565b34801561042857600080fd5b506102f361140e565b34801561043d57600080fd5b506101c9600160a060020a03600435166024351515611414565b34801561046357600080fd5b5061046c6114f6565b60408051600160a060020a039092168252519081900360200190f35b34801561049457600080fd5b506101ec611505565b3480156104a957600080fd5b506101c9600160a060020a036004351660243561150e565b3480156104cd57600080fd5b506102f361165a565b3480156104e257600080fd5b506102f3600160a060020a036004351661165f565b34801561050357600080fd5b506101c9600160a060020a03600435166024356116e3565b34801561052757600080fd5b506101c9611b8c565b34801561053c57600080fd5b50610545611c1d565b604080516cffffffffffffffffffffffffff9092168252519081900360200190f35b34801561057357600080fd5b506101c9611c2e565b34801561058857600080fd5b506101c9611c88565b34801561059d57600080fd5b506102f3611d69565b3480156105b257600080fd5b506101ec600160a060020a0360043516602435611d6f565b3480156105d657600080fd5b50610245611f21565b6101c9611f58565b3480156105f357600080fd5b506101ec600160a060020a0360043516602435612130565b34801561061757600080fd5b506101ec600160a060020a0360043516612186565b34801561063857600080fd5b506101c9600160a060020a036004351660243561219b565b34801561065c57600080fd5b506102f3600160a060020a036004358116906024351661220c565b34801561068357600080fd5b506101c9600160a060020a0360043516612299565b3480156106a457600080fd5b506101c96004356123a5565b3480156106bc57600080fd5b506101c9600160a060020a03600435166024351515612539565b3480156106e257600080fd5b506101ec600160a060020a03600435166126df565b34801561070357600080fd5b506101c9600160a060020a0360043516612747565b60036020526000908152604090205460ff1681565b600554610100900460ff1681565b3360009081526004602052604090205460ff168061076857503360009081526003602052604090205460ff165b15156107e4576040805160e560020a62461bcd02815260206004820152602560248201527f426f74206f72206f776e6572206d6573736167652073656e646572207265717560448201527f697265642e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600691909155600755565b60408051808201909152600881527f4f52424953453130000000000000000000000000000000000000000000000000602082015281565b60055460009060ff1615610872576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020613150833981519152604482015290519081900360640190fd5b61087c838361282f565b9392505050565b60008060009054906101000a9004600160a060020a0316600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156108d757600080fd5b505af11580156108eb573d6000803e3d6000fd5b505050506040513d602081101561090157600080fd5b5051905090565b60055460009060ff1615610954576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020613150833981519152604482015290519081900360640190fd5b61095f848484612a36565b949350505050565b3360009081526003602052604090205460ff1615156109be576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613190833981519152604482015290519081900360640190fd5b3031811115610a3c576040805160e560020a62461bcd028152602060048201526024808201527f556e61626c6520746f2077697468647261772073706563696669656420616d6f60448201527f756e742e00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600854600160a060020a03161515610ac4576040805160e560020a62461bcd02815260206004820152602160248201527f4e6f6e2d7a65726f2077616c6c6574206164647265737320726571756972656460448201527f2e00000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600854604051600160a060020a039091169082156108fc029083906000818181858888f19350505050158015610afe573d6000803e3d6000fd5b5050565b601281565b3360009081526003602052604090205460ff161515610b5e576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613190833981519152604482015290519081900360640190fd5b600160a060020a0382161515610bbe576040805160e560020a62461bcd02815260206004820152601e60248201527f4e6f6e2d7a65726f20626f742d616464726573732072657175697265642e0000604482015290519081900360640190fd5b600160a060020a03919091166000908152600460205260409020805460ff1916911515919091179055565b680ad78ebc5ac620000081565b3360009081526004602052604090205460ff1680610c2357503360009081526003602052604090205460ff165b1515610c9f576040805160e560020a62461bcd02815260206004820152602560248201527f426f74206f72206f776e6572206d6573736167652073656e646572207265717560448201527f697265642e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6005805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b33600090815260036020526040812054819060ff161515610d2d576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613190833981519152604482015290519081900360640190fd5b600554610100900460ff1615610d8d576040805160e560020a62461bcd02815260206004820152601b60248201527f556e696e6973686564206d696e74696e672072657175697265642e0000000000604482015290519081900360640190fd5b6000809054906101000a9004600160a060020a0316600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ddf57600080fd5b505af1158015610df3573d6000803e3d6000fd5b505050506040513d6020811015610e0957600080fd5b50519150610e1d828463ffffffff612bed16565b91506c0c9f2c9cd04674edea40000000821115610eaa576040805160e560020a62461bcd02815260206004820152603b60248201527f546f74616c20737570706c79206f6620746f6b656e20696e2063697263756c6160448201527f74696f6e206d7573742062652062656c6f7720686172646361702e0000000000606482015290519081900360840190fd5b60008054604080517ff7ea7a3d000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a039092169263f7ea7a3d9260248084019382900301818387803b158015610f0b57600080fd5b505af1158015610f1f573d6000803e3d6000fd5b5050600080546040805160e060020a6327e235e3028152600160a060020a038a8116600483015291519190921694506327e235e3935060248083019360209383900390910190829087803b158015610f7657600080fd5b505af1158015610f8a573d6000803e3d6000fd5b505050506040513d6020811015610fa057600080fd5b50519050610fb4818463ffffffff612bed16565b600080546040805160e260020a6338c110ef028152600160a060020a03898116600483015260248201869052915194955091169263e30443bc9260448084019391929182900301818387803b15801561100c57600080fd5b505af1158015611020573d6000803e3d6000fd5b5050600154604080517ffe73b27f000000000000000000000000000000000000000000000000000000008152600060048201819052600160a060020a038a81166024840152604483018a9052925192909316945063fe73b27f9350606480820193929182900301818387803b15801561109857600080fd5b505af11580156110ac573d6000803e3d6000fd5b5050604080518681529051600160a060020a0388169350600092506000805160206131708339815191529181900360200190a3604080518481529051600160a060020a038616917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a250505050565b600080546040805160e060020a6327e235e302815233600482015290518392600160a060020a0316916327e235e391602480830192602092919082900301818787803b15801561117357600080fd5b505af1158015611187573d6000803e3d6000fd5b505050506040513d602081101561119d57600080fd5b505191508282101561121f576040805160e560020a62461bcd02815260206004820152602e60248201527f4275726e2076616c7565206c657373207468616e206163636f756e742062616c60448201527f616e63652072657175697265642e000000000000000000000000000000000000606482015290519081900360840190fd5b61122f828463ffffffff612bfc16565b600080546040805160e260020a6338c110ef028152336004820152602481018590529051939550600160a060020a039091169263e30443bc9260448084019391929182900301818387803b15801561128657600080fd5b505af115801561129a573d6000803e3d6000fd5b505050506000809054906101000a9004600160a060020a0316600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156112f057600080fd5b505af1158015611304573d6000803e3d6000fd5b505050506040513d602081101561131a57600080fd5b5051905061132e818463ffffffff612bfc16565b60008054604080517ff7ea7a3d000000000000000000000000000000000000000000000000000000008152600481018590529051939450600160a060020a039091169263f7ea7a3d9260248084019391929182900301818387803b15801561139557600080fd5b505af11580156113a9573d6000803e3d6000fd5b50506040805186815290513393507fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca592509081900360200190a260408051848152905160009133916000805160206131708339815191529181900360200190a3505050565b60065481565b3360009081526003602052604090205460ff16151561146b576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613190833981519152604482015290519081900360640190fd5b600160a060020a03821615156114cb576040805160e560020a62461bcd02815260206004820181905260248201527f4e6f6e2d7a65726f206f776e65722d616464726573732072657175697265642e604482015290519081900360640190fd5b600160a060020a03919091166000908152600360205260409020805460ff1916911515919091179055565b600854600160a060020a031681565b60055460ff1681565b60008054604080517fd73b1dc9000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a038681166024830152604482018690529151919092169263d73b1dc9926064808201939182900301818387803b15801561157f57600080fd5b505af1158015611593573d6000803e3d6000fd5b5050600080546040805160e060020a635c6581650281523360048201819052600160a060020a03808a166024840181905293519397509095507f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92594931692635c658165926044808401936020939083900390910190829087803b15801561161957600080fd5b505af115801561162d573d6000803e3d6000fd5b505050506040513d602081101561164357600080fd5b505160408051918252519081900360200190a35050565b303190565b600080546040805160e060020a6327e235e3028152600160a060020a038581166004830152915191909216916327e235e391602480830192602092919082900301818787803b1580156116b157600080fd5b505af11580156116c5573d6000803e3d6000fd5b505050506040513d60208110156116db57600080fd5b505192915050565b600080546040805160e060020a6327e235e3028152600160a060020a03868116600483015291518493849316916327e235e391602480830192602092919082900301818787803b15801561173657600080fd5b505af115801561174a573d6000803e3d6000fd5b505050506040513d602081101561176057600080fd5b50519250838310156117e2576040805160e560020a62461bcd02815260206004820152603360248201527f4275726e2076616c7565206c657373207468616e2066726f6d2d6163636f756e60448201527f742062616c616e63652072657175697265642e00000000000000000000000000606482015290519081900360840190fd5b600080546040805160e060020a635c658165028152600160a060020a03898116600483015233602483015291519190921692635c65816592604480820193602093909283900390910190829087803b15801561183d57600080fd5b505af1158015611851573d6000803e3d6000fd5b505050506040513d602081101561186757600080fd5b50519150838210156118e9576040805160e560020a62461bcd02815260206004820152603060248201527f4275726e2076616c7565206c657373207468616e206163636f756e7420616c6c60448201527f6f77616e63652072657175697265642e00000000000000000000000000000000606482015290519081900360840190fd5b6118f9838563ffffffff612bfc16565b600080546040805160e260020a6338c110ef028152600160a060020a038a8116600483015260248201869052915194975091169263e30443bc9260448084019391929182900301818387803b15801561195157600080fd5b505af1158015611965573d6000803e3d6000fd5b5050505061197c8483612bfc90919063ffffffff16565b60008054604080517fda46098c000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015233602483015260448201869052915194965091169263da46098c9260648084019391929182900301818387803b1580156119f057600080fd5b505af1158015611a04573d6000803e3d6000fd5b505050506000809054906101000a9004600160a060020a0316600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611a5a57600080fd5b505af1158015611a6e573d6000803e3d6000fd5b505050506040513d6020811015611a8457600080fd5b50519050611a98818563ffffffff612bfc16565b60008054604080517ff7ea7a3d000000000000000000000000000000000000000000000000000000008152600481018590529051939450600160a060020a039091169263f7ea7a3d9260248084019391929182900301818387803b158015611aff57600080fd5b505af1158015611b13573d6000803e3d6000fd5b5050604080518781529051600160a060020a03891693507fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca592509081900360200190a2604080518581529051600091600160a060020a038816916000805160206131708339815191529181900360200190a35050505050565b3360009081526003602052604090205460ff161515611be3576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613190833981519152604482015290519081900360640190fd5b6005805461ff0019166101001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a1565b6c0c9f2c9cd04674edea4000000081565b3360009081526003602052604090205460ff161515611c85576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613190833981519152604482015290519081900360640190fd5b33ff5b3360009081526004602052604090205460ff1680611cb557503360009081526003602052604090205460ff165b1515611d31576040805160e560020a62461bcd02815260206004820152602560248201527f426f74206f72206f776e6572206d6573736167652073656e646572207265717560448201527f697265642e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6005805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b60075481565b600254604080517f89155761000000000000000000000000000000000000000000000000000000008152600160a060020a038086166004830152915160009386931691638915576191602480830192602092919082900301818887803b158015611dd857600080fd5b505af1158015611dec573d6000803e3d6000fd5b505050506040513d6020811015611e0257600080fd5b50511515611e5a576040805160e560020a62461bcd02815260206004820152601e60248201527f57686974656c697374656420637573746f6d65722072657175697265642e0000604482015290519081900360640190fd5b3360009081526004602052604090205460ff161515611ec3576040805160e560020a62461bcd02815260206004820152601c60248201527f426f74206d6573736167652073656e6465722072657175697265642e00000000604482015290519081900360640190fd5b60055460ff1615611f0c576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020613150833981519152604482015290519081900360640190fd5b611f17338585612c0e565b91505b5092915050565b60408051808201909152600481527f4f52425400000000000000000000000000000000000000000000000000000000602082015281565b60055460009060ff1615611fa4576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020613150833981519152604482015290519081900360640190fd5b600254604080517f89155761000000000000000000000000000000000000000000000000000000008152336004820181905291519192600160a060020a0316916389155761916024808201926020929091908290030181600087803b15801561200c57600080fd5b505af1158015612020573d6000803e3d6000fd5b505050506040513d602081101561203657600080fd5b5051151561208e576040805160e560020a62461bcd02815260206004820152601e60248201527f57686974656c697374656420637573746f6d65722072657175697265642e0000604482015290519081900360640190fd5b6120a634670de0b6b3a764000063ffffffff612d5216565b91506120bd60065483612d7d90919063ffffffff16565b9150680ad78ebc5ac6200000821015612120576040805160e560020a62461bcd02815260206004820152601460248201527f42757920616d6f756e7420746f6f20736d616c6c000000000000000000000000604482015290519081900360640190fd5b61212b303384612c0e565b505050565b60055460009060ff161561217c576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020613150833981519152604482015290519081900360640190fd5b61087c8383612d92565b60046020526000908152604090205460ff1681565b60008054604080517f6c43a2ca000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a0386811660248301526044820186905291519190921692636c43a2ca926064808201939182900301818387803b15801561157f57600080fd5b600080546040805160e060020a635c658165028152600160a060020a038681166004830152858116602483015291519190921691635c65816591604480830192602092919082900301818787803b15801561226657600080fd5b505af115801561227a573d6000803e3d6000fd5b505050506040513d602081101561229057600080fd5b50519392505050565b3360009081526003602052604090205460ff1615156122f0576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613190833981519152604482015290519081900360640190fd5b600160a060020a0381161515612376576040805160e560020a62461bcd02815260206004820152602160248201527f4e6f6e2d7a65726f2077616c6c6574206164647265737320726571756972656460448201527f2e00000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60055460009060ff16156123f1576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020613150833981519152604482015290519081900360640190fd5b60075461240590839063ffffffff612d5216565b9050670de0b6b3a7640000811015612467576040805160e560020a62461bcd02815260206004820152601560248201527f53656c6c20616d6f756e7420746f6f20736d616c6c0000000000000000000000604482015290519081900360640190fd5b61247f81670de0b6b3a764000063ffffffff612d7d16565b90503031811115612500576040805160e560020a62461bcd02815260206004820152602260248201527f436f6e74726163742068617320696e73756666696369656e742062616c616e6360448201527f652e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b61250b333084612c0e565b50604051339082156108fc029083906000818181858888f1935050505015801561212b573d6000803e3d6000fd5b3360009081526003602052604090205460ff161515612590576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613190833981519152604482015290519081900360640190fd5b600160a060020a0382161515612616576040805160e560020a62461bcd02815260206004820152602f60248201527f4e6f6e2d7a65726f20746f2d62652d66726f7a656e2d6163636f756e7420616460448201527f64726573732072657175697265642e0000000000000000000000000000000000606482015290519081900360840190fd5b60008054604080517f45b7d5da000000000000000000000000000000000000000000000000000000008152600160a060020a0386811660048301528515156024830152915191909216926345b7d5da926044808201939182900301818387803b15801561268257600080fd5b505af1158015612696573d6000803e3d6000fd5b50506040805184151581529051600160a060020a03861693507f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a592509081900360200190a25050565b60008054604080517f860838a5000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301529151919092169163860838a591602480830192602092919082900301818787803b1580156116b157600080fd5b3360009081526003602052604090205460ff16151561279e576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613190833981519152604482015290519081900360640190fd5b600160a060020a0381161515612823576040805160e560020a62461bcd028152602060048201526024808201527f4e6f6e2d7a65726f20726563697069656e74206164647265737320726571756960448201527f7265642e00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b80600160a060020a0316ff5b60008115806128c25750600080546040805160e060020a635c658165028152336004820152600160a060020a03878116602483015291519190921692635c65816592604480820193602093909283900390910190829087803b15801561289457600080fd5b505af11580156128a8573d6000803e3d6000fd5b505050506040513d60208110156128be57600080fd5b5051155b1515612964576040805160e560020a62461bcd02815260206004820152604a60248201527f417070726f76652076616c756520697320726571756972656420746f2062652060448201527f7a65726f206f72206163636f756e742068617320616c7265616479206265656e60648201527f20617070726f7665642e00000000000000000000000000000000000000000000608482015290519081900360a40190fd5b60008054604080517fda46098c000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a038781166024830152604482018790529151919092169263da46098c926064808201939182900301818387803b1580156129d557600080fd5b505af11580156129e9573d6000803e3d6000fd5b5050604080518581529051600160a060020a03871693503392507f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259181900360200190a350600192915050565b600080546040805160e060020a635c658165028152600160a060020a038781166004830152336024830152915184939290921691635c6581659160448082019260209290919082900301818787803b158015612a9157600080fd5b505af1158015612aa5573d6000803e3d6000fd5b505050506040513d6020811015612abb57600080fd5b5051905082811015612b3d576040805160e560020a62461bcd02815260206004820152602560248201527f46726f6d206163636f756e742068617320696e73756666696369656e7420626160448201527f6c616e6365000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b612b4d818463ffffffff612bfc16565b60008054604080517fda46098c000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015233602483015260448201869052915194955091169263da46098c9260648084019391929182900301818387803b158015612bc157600080fd5b505af1158015612bd5573d6000803e3d6000fd5b50505050612be4858585612c0e565b95945050505050565b60008282018381101561087c57fe5b600082821115612c0857fe5b50900390565b60008054604080517f860838a5000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301529151919092169163860838a591602480830192602092919082900301818787803b158015612c7657600080fd5b505af1158015612c8a573d6000803e3d6000fd5b505050506040513d6020811015612ca057600080fd5b505115612ca957fe5b60008054604080517f860838a5000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301529151919092169263860838a592602480820193602093909283900390910190829087803b158015612d1457600080fd5b505af1158015612d28573d6000803e3d6000fd5b505050506040513d6020811015612d3e57600080fd5b505115612d4757fe5b61095f848484612d9f565b600080831515612d655760009150611f1a565b50828202828482811515612d7557fe5b041461087c57fe5b60008183811515612d8a57fe5b049392505050565b600061087c338484612c0e565b60008080600160a060020a0385161515612e03576040805160e560020a62461bcd02815260206004820152601d60248201527f4e6f6e2d7a65726f20746f2d616464726573732072657175697265642e000000604482015290519081900360640190fd5b600080546040805160e060020a6327e235e3028152600160a060020a038a81166004830152915191909216926327e235e392602480820193602093909283900390910190829087803b158015612e5857600080fd5b505af1158015612e6c573d6000803e3d6000fd5b505050506040513d6020811015612e8257600080fd5b5051915083821015612f04576040805160e560020a62461bcd02815260206004820152602660248201527f46726f6d2d616464726573732068617320696e73756666696369656e7420626160448201527f6c616e63652e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b612f14828563ffffffff612bfc16565b600080546040805160e060020a6327e235e3028152600160a060020a038a8116600483015291519496509116926327e235e392602480840193602093929083900390910190829087803b158015612f6a57600080fd5b505af1158015612f7e573d6000803e3d6000fd5b505050506040513d6020811015612f9457600080fd5b50519050612fa8818563ffffffff612bed16565b600080546040805160e260020a6338c110ef028152600160a060020a038b8116600483015260248201889052915194955091169263e30443bc9260448084019391929182900301818387803b15801561300057600080fd5b505af1158015613014573d6000803e3d6000fd5b5050600080546040805160e260020a6338c110ef028152600160a060020a038b8116600483015260248201889052915191909216945063e30443bc93506044808301939282900301818387803b15801561306d57600080fd5b505af1158015613081573d6000803e3d6000fd5b5050600154604080517ffe73b27f000000000000000000000000000000000000000000000000000000008152600160a060020a038b811660048301528a81166024830152604482018a9052915191909216935063fe73b27f9250606480830192600092919082900301818387803b1580156130fb57600080fd5b505af115801561310f573d6000803e3d6000fd5b5050604080518781529051600160a060020a03808a1694508a1692506000805160206131708339815191529181900360200190a3506001959450505050505600556e70617573656420636f6e74726163742072657175697265642e0000000000ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef4f776e6572206d6573736167652073656e6465722072657175697265642e0000a165627a7a723058208506010efa2f4f411afcc6795803c1b22fab1ac5e6d445cdf7e074a6bc4a4c0f0029000000000000000000000000e1430f91243b62d3207aeaca0c3138bd956720770000000000000000000000007917b0ce447c77c998109b4288f660532e70c9a30000000000000000000000001691c9f284a9d519dca1d9c0a4dadc992885432b

Deployed Bytecode

0x6080604052600436106101c95763ffffffff60e060020a600035041663022914a781146101cb57806305d2035b1461020057806305fefda71461021557806306fdde0314610230578063095ea7b3146102ba57806318160ddd146102de57806323b872dd146103055780632e1a7d4d1461032f578063313ce56714610347578063342aa8b5146103725780633c3e2447146103985780633f4ba83a146103cb57806340c10f19146103e057806342966c68146104045780634b7503341461041c578063516c731c14610431578063521eb273146104575780635c975abb14610488578063661884631461049d5780636f9fb98a146104c157806370a08231146104d657806379cc6790146104f75780637d64bcb41461051b57806381cda3171461053057806383197ef0146105675780638456cb591461057c5780638620410b1461059157806390066b49146105a657806395d89b41146105ca578063a6f2ae3a146105df578063a9059cbb146105e7578063bfd792841461060b578063d73dd6231461062c578063dd62ed3e14610650578063deaa59df14610677578063e4849b3214610698578063e724529c146106b0578063e816d97f146106d6578063f5074f41146106f7575b005b3480156101d757600080fd5b506101ec600160a060020a0360043516610718565b604080519115158252519081900360200190f35b34801561020c57600080fd5b506101ec61072d565b34801561022157600080fd5b506101c960043560243561073b565b34801561023c57600080fd5b506102456107ef565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027f578181015183820152602001610267565b50505050905090810190601f1680156102ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102c657600080fd5b506101ec600160a060020a0360043516602435610826565b3480156102ea57600080fd5b506102f3610883565b60408051918252519081900360200190f35b34801561031157600080fd5b506101ec600160a060020a0360043581169060243516604435610908565b34801561033b57600080fd5b506101c9600435610967565b34801561035357600080fd5b5061035c610b02565b6040805160ff9092168252519081900360200190f35b34801561037e57600080fd5b506101c9600160a060020a03600435166024351515610b07565b3480156103a457600080fd5b506103ad610be9565b6040805168ffffffffffffffffff9092168252519081900360200190f35b3480156103d757600080fd5b506101c9610bf6565b3480156103ec57600080fd5b506101c9600160a060020a0360043516602435610cd4565b34801561041057600080fd5b506101c9600435611124565b34801561042857600080fd5b506102f361140e565b34801561043d57600080fd5b506101c9600160a060020a03600435166024351515611414565b34801561046357600080fd5b5061046c6114f6565b60408051600160a060020a039092168252519081900360200190f35b34801561049457600080fd5b506101ec611505565b3480156104a957600080fd5b506101c9600160a060020a036004351660243561150e565b3480156104cd57600080fd5b506102f361165a565b3480156104e257600080fd5b506102f3600160a060020a036004351661165f565b34801561050357600080fd5b506101c9600160a060020a03600435166024356116e3565b34801561052757600080fd5b506101c9611b8c565b34801561053c57600080fd5b50610545611c1d565b604080516cffffffffffffffffffffffffff9092168252519081900360200190f35b34801561057357600080fd5b506101c9611c2e565b34801561058857600080fd5b506101c9611c88565b34801561059d57600080fd5b506102f3611d69565b3480156105b257600080fd5b506101ec600160a060020a0360043516602435611d6f565b3480156105d657600080fd5b50610245611f21565b6101c9611f58565b3480156105f357600080fd5b506101ec600160a060020a0360043516602435612130565b34801561061757600080fd5b506101ec600160a060020a0360043516612186565b34801561063857600080fd5b506101c9600160a060020a036004351660243561219b565b34801561065c57600080fd5b506102f3600160a060020a036004358116906024351661220c565b34801561068357600080fd5b506101c9600160a060020a0360043516612299565b3480156106a457600080fd5b506101c96004356123a5565b3480156106bc57600080fd5b506101c9600160a060020a03600435166024351515612539565b3480156106e257600080fd5b506101ec600160a060020a03600435166126df565b34801561070357600080fd5b506101c9600160a060020a0360043516612747565b60036020526000908152604090205460ff1681565b600554610100900460ff1681565b3360009081526004602052604090205460ff168061076857503360009081526003602052604090205460ff165b15156107e4576040805160e560020a62461bcd02815260206004820152602560248201527f426f74206f72206f776e6572206d6573736167652073656e646572207265717560448201527f697265642e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600691909155600755565b60408051808201909152600881527f4f52424953453130000000000000000000000000000000000000000000000000602082015281565b60055460009060ff1615610872576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020613150833981519152604482015290519081900360640190fd5b61087c838361282f565b9392505050565b60008060009054906101000a9004600160a060020a0316600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156108d757600080fd5b505af11580156108eb573d6000803e3d6000fd5b505050506040513d602081101561090157600080fd5b5051905090565b60055460009060ff1615610954576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020613150833981519152604482015290519081900360640190fd5b61095f848484612a36565b949350505050565b3360009081526003602052604090205460ff1615156109be576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613190833981519152604482015290519081900360640190fd5b3031811115610a3c576040805160e560020a62461bcd028152602060048201526024808201527f556e61626c6520746f2077697468647261772073706563696669656420616d6f60448201527f756e742e00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600854600160a060020a03161515610ac4576040805160e560020a62461bcd02815260206004820152602160248201527f4e6f6e2d7a65726f2077616c6c6574206164647265737320726571756972656460448201527f2e00000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600854604051600160a060020a039091169082156108fc029083906000818181858888f19350505050158015610afe573d6000803e3d6000fd5b5050565b601281565b3360009081526003602052604090205460ff161515610b5e576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613190833981519152604482015290519081900360640190fd5b600160a060020a0382161515610bbe576040805160e560020a62461bcd02815260206004820152601e60248201527f4e6f6e2d7a65726f20626f742d616464726573732072657175697265642e0000604482015290519081900360640190fd5b600160a060020a03919091166000908152600460205260409020805460ff1916911515919091179055565b680ad78ebc5ac620000081565b3360009081526004602052604090205460ff1680610c2357503360009081526003602052604090205460ff165b1515610c9f576040805160e560020a62461bcd02815260206004820152602560248201527f426f74206f72206f776e6572206d6573736167652073656e646572207265717560448201527f697265642e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6005805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b33600090815260036020526040812054819060ff161515610d2d576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613190833981519152604482015290519081900360640190fd5b600554610100900460ff1615610d8d576040805160e560020a62461bcd02815260206004820152601b60248201527f556e696e6973686564206d696e74696e672072657175697265642e0000000000604482015290519081900360640190fd5b6000809054906101000a9004600160a060020a0316600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ddf57600080fd5b505af1158015610df3573d6000803e3d6000fd5b505050506040513d6020811015610e0957600080fd5b50519150610e1d828463ffffffff612bed16565b91506c0c9f2c9cd04674edea40000000821115610eaa576040805160e560020a62461bcd02815260206004820152603b60248201527f546f74616c20737570706c79206f6620746f6b656e20696e2063697263756c6160448201527f74696f6e206d7573742062652062656c6f7720686172646361702e0000000000606482015290519081900360840190fd5b60008054604080517ff7ea7a3d000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a039092169263f7ea7a3d9260248084019382900301818387803b158015610f0b57600080fd5b505af1158015610f1f573d6000803e3d6000fd5b5050600080546040805160e060020a6327e235e3028152600160a060020a038a8116600483015291519190921694506327e235e3935060248083019360209383900390910190829087803b158015610f7657600080fd5b505af1158015610f8a573d6000803e3d6000fd5b505050506040513d6020811015610fa057600080fd5b50519050610fb4818463ffffffff612bed16565b600080546040805160e260020a6338c110ef028152600160a060020a03898116600483015260248201869052915194955091169263e30443bc9260448084019391929182900301818387803b15801561100c57600080fd5b505af1158015611020573d6000803e3d6000fd5b5050600154604080517ffe73b27f000000000000000000000000000000000000000000000000000000008152600060048201819052600160a060020a038a81166024840152604483018a9052925192909316945063fe73b27f9350606480820193929182900301818387803b15801561109857600080fd5b505af11580156110ac573d6000803e3d6000fd5b5050604080518681529051600160a060020a0388169350600092506000805160206131708339815191529181900360200190a3604080518481529051600160a060020a038616917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a250505050565b600080546040805160e060020a6327e235e302815233600482015290518392600160a060020a0316916327e235e391602480830192602092919082900301818787803b15801561117357600080fd5b505af1158015611187573d6000803e3d6000fd5b505050506040513d602081101561119d57600080fd5b505191508282101561121f576040805160e560020a62461bcd02815260206004820152602e60248201527f4275726e2076616c7565206c657373207468616e206163636f756e742062616c60448201527f616e63652072657175697265642e000000000000000000000000000000000000606482015290519081900360840190fd5b61122f828463ffffffff612bfc16565b600080546040805160e260020a6338c110ef028152336004820152602481018590529051939550600160a060020a039091169263e30443bc9260448084019391929182900301818387803b15801561128657600080fd5b505af115801561129a573d6000803e3d6000fd5b505050506000809054906101000a9004600160a060020a0316600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156112f057600080fd5b505af1158015611304573d6000803e3d6000fd5b505050506040513d602081101561131a57600080fd5b5051905061132e818463ffffffff612bfc16565b60008054604080517ff7ea7a3d000000000000000000000000000000000000000000000000000000008152600481018590529051939450600160a060020a039091169263f7ea7a3d9260248084019391929182900301818387803b15801561139557600080fd5b505af11580156113a9573d6000803e3d6000fd5b50506040805186815290513393507fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca592509081900360200190a260408051848152905160009133916000805160206131708339815191529181900360200190a3505050565b60065481565b3360009081526003602052604090205460ff16151561146b576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613190833981519152604482015290519081900360640190fd5b600160a060020a03821615156114cb576040805160e560020a62461bcd02815260206004820181905260248201527f4e6f6e2d7a65726f206f776e65722d616464726573732072657175697265642e604482015290519081900360640190fd5b600160a060020a03919091166000908152600360205260409020805460ff1916911515919091179055565b600854600160a060020a031681565b60055460ff1681565b60008054604080517fd73b1dc9000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a038681166024830152604482018690529151919092169263d73b1dc9926064808201939182900301818387803b15801561157f57600080fd5b505af1158015611593573d6000803e3d6000fd5b5050600080546040805160e060020a635c6581650281523360048201819052600160a060020a03808a166024840181905293519397509095507f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92594931692635c658165926044808401936020939083900390910190829087803b15801561161957600080fd5b505af115801561162d573d6000803e3d6000fd5b505050506040513d602081101561164357600080fd5b505160408051918252519081900360200190a35050565b303190565b600080546040805160e060020a6327e235e3028152600160a060020a038581166004830152915191909216916327e235e391602480830192602092919082900301818787803b1580156116b157600080fd5b505af11580156116c5573d6000803e3d6000fd5b505050506040513d60208110156116db57600080fd5b505192915050565b600080546040805160e060020a6327e235e3028152600160a060020a03868116600483015291518493849316916327e235e391602480830192602092919082900301818787803b15801561173657600080fd5b505af115801561174a573d6000803e3d6000fd5b505050506040513d602081101561176057600080fd5b50519250838310156117e2576040805160e560020a62461bcd02815260206004820152603360248201527f4275726e2076616c7565206c657373207468616e2066726f6d2d6163636f756e60448201527f742062616c616e63652072657175697265642e00000000000000000000000000606482015290519081900360840190fd5b600080546040805160e060020a635c658165028152600160a060020a03898116600483015233602483015291519190921692635c65816592604480820193602093909283900390910190829087803b15801561183d57600080fd5b505af1158015611851573d6000803e3d6000fd5b505050506040513d602081101561186757600080fd5b50519150838210156118e9576040805160e560020a62461bcd02815260206004820152603060248201527f4275726e2076616c7565206c657373207468616e206163636f756e7420616c6c60448201527f6f77616e63652072657175697265642e00000000000000000000000000000000606482015290519081900360840190fd5b6118f9838563ffffffff612bfc16565b600080546040805160e260020a6338c110ef028152600160a060020a038a8116600483015260248201869052915194975091169263e30443bc9260448084019391929182900301818387803b15801561195157600080fd5b505af1158015611965573d6000803e3d6000fd5b5050505061197c8483612bfc90919063ffffffff16565b60008054604080517fda46098c000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015233602483015260448201869052915194965091169263da46098c9260648084019391929182900301818387803b1580156119f057600080fd5b505af1158015611a04573d6000803e3d6000fd5b505050506000809054906101000a9004600160a060020a0316600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611a5a57600080fd5b505af1158015611a6e573d6000803e3d6000fd5b505050506040513d6020811015611a8457600080fd5b50519050611a98818563ffffffff612bfc16565b60008054604080517ff7ea7a3d000000000000000000000000000000000000000000000000000000008152600481018590529051939450600160a060020a039091169263f7ea7a3d9260248084019391929182900301818387803b158015611aff57600080fd5b505af1158015611b13573d6000803e3d6000fd5b5050604080518781529051600160a060020a03891693507fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca592509081900360200190a2604080518581529051600091600160a060020a038816916000805160206131708339815191529181900360200190a35050505050565b3360009081526003602052604090205460ff161515611be3576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613190833981519152604482015290519081900360640190fd5b6005805461ff0019166101001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a1565b6c0c9f2c9cd04674edea4000000081565b3360009081526003602052604090205460ff161515611c85576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613190833981519152604482015290519081900360640190fd5b33ff5b3360009081526004602052604090205460ff1680611cb557503360009081526003602052604090205460ff165b1515611d31576040805160e560020a62461bcd02815260206004820152602560248201527f426f74206f72206f776e6572206d6573736167652073656e646572207265717560448201527f697265642e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6005805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b60075481565b600254604080517f89155761000000000000000000000000000000000000000000000000000000008152600160a060020a038086166004830152915160009386931691638915576191602480830192602092919082900301818887803b158015611dd857600080fd5b505af1158015611dec573d6000803e3d6000fd5b505050506040513d6020811015611e0257600080fd5b50511515611e5a576040805160e560020a62461bcd02815260206004820152601e60248201527f57686974656c697374656420637573746f6d65722072657175697265642e0000604482015290519081900360640190fd5b3360009081526004602052604090205460ff161515611ec3576040805160e560020a62461bcd02815260206004820152601c60248201527f426f74206d6573736167652073656e6465722072657175697265642e00000000604482015290519081900360640190fd5b60055460ff1615611f0c576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020613150833981519152604482015290519081900360640190fd5b611f17338585612c0e565b91505b5092915050565b60408051808201909152600481527f4f52425400000000000000000000000000000000000000000000000000000000602082015281565b60055460009060ff1615611fa4576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020613150833981519152604482015290519081900360640190fd5b600254604080517f89155761000000000000000000000000000000000000000000000000000000008152336004820181905291519192600160a060020a0316916389155761916024808201926020929091908290030181600087803b15801561200c57600080fd5b505af1158015612020573d6000803e3d6000fd5b505050506040513d602081101561203657600080fd5b5051151561208e576040805160e560020a62461bcd02815260206004820152601e60248201527f57686974656c697374656420637573746f6d65722072657175697265642e0000604482015290519081900360640190fd5b6120a634670de0b6b3a764000063ffffffff612d5216565b91506120bd60065483612d7d90919063ffffffff16565b9150680ad78ebc5ac6200000821015612120576040805160e560020a62461bcd02815260206004820152601460248201527f42757920616d6f756e7420746f6f20736d616c6c000000000000000000000000604482015290519081900360640190fd5b61212b303384612c0e565b505050565b60055460009060ff161561217c576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020613150833981519152604482015290519081900360640190fd5b61087c8383612d92565b60046020526000908152604090205460ff1681565b60008054604080517f6c43a2ca000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a0386811660248301526044820186905291519190921692636c43a2ca926064808201939182900301818387803b15801561157f57600080fd5b600080546040805160e060020a635c658165028152600160a060020a038681166004830152858116602483015291519190921691635c65816591604480830192602092919082900301818787803b15801561226657600080fd5b505af115801561227a573d6000803e3d6000fd5b505050506040513d602081101561229057600080fd5b50519392505050565b3360009081526003602052604090205460ff1615156122f0576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613190833981519152604482015290519081900360640190fd5b600160a060020a0381161515612376576040805160e560020a62461bcd02815260206004820152602160248201527f4e6f6e2d7a65726f2077616c6c6574206164647265737320726571756972656460448201527f2e00000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60055460009060ff16156123f1576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020613150833981519152604482015290519081900360640190fd5b60075461240590839063ffffffff612d5216565b9050670de0b6b3a7640000811015612467576040805160e560020a62461bcd02815260206004820152601560248201527f53656c6c20616d6f756e7420746f6f20736d616c6c0000000000000000000000604482015290519081900360640190fd5b61247f81670de0b6b3a764000063ffffffff612d7d16565b90503031811115612500576040805160e560020a62461bcd02815260206004820152602260248201527f436f6e74726163742068617320696e73756666696369656e742062616c616e6360448201527f652e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b61250b333084612c0e565b50604051339082156108fc029083906000818181858888f1935050505015801561212b573d6000803e3d6000fd5b3360009081526003602052604090205460ff161515612590576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613190833981519152604482015290519081900360640190fd5b600160a060020a0382161515612616576040805160e560020a62461bcd02815260206004820152602f60248201527f4e6f6e2d7a65726f20746f2d62652d66726f7a656e2d6163636f756e7420616460448201527f64726573732072657175697265642e0000000000000000000000000000000000606482015290519081900360840190fd5b60008054604080517f45b7d5da000000000000000000000000000000000000000000000000000000008152600160a060020a0386811660048301528515156024830152915191909216926345b7d5da926044808201939182900301818387803b15801561268257600080fd5b505af1158015612696573d6000803e3d6000fd5b50506040805184151581529051600160a060020a03861693507f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a592509081900360200190a25050565b60008054604080517f860838a5000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301529151919092169163860838a591602480830192602092919082900301818787803b1580156116b157600080fd5b3360009081526003602052604090205460ff16151561279e576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613190833981519152604482015290519081900360640190fd5b600160a060020a0381161515612823576040805160e560020a62461bcd028152602060048201526024808201527f4e6f6e2d7a65726f20726563697069656e74206164647265737320726571756960448201527f7265642e00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b80600160a060020a0316ff5b60008115806128c25750600080546040805160e060020a635c658165028152336004820152600160a060020a03878116602483015291519190921692635c65816592604480820193602093909283900390910190829087803b15801561289457600080fd5b505af11580156128a8573d6000803e3d6000fd5b505050506040513d60208110156128be57600080fd5b5051155b1515612964576040805160e560020a62461bcd02815260206004820152604a60248201527f417070726f76652076616c756520697320726571756972656420746f2062652060448201527f7a65726f206f72206163636f756e742068617320616c7265616479206265656e60648201527f20617070726f7665642e00000000000000000000000000000000000000000000608482015290519081900360a40190fd5b60008054604080517fda46098c000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a038781166024830152604482018790529151919092169263da46098c926064808201939182900301818387803b1580156129d557600080fd5b505af11580156129e9573d6000803e3d6000fd5b5050604080518581529051600160a060020a03871693503392507f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259181900360200190a350600192915050565b600080546040805160e060020a635c658165028152600160a060020a038781166004830152336024830152915184939290921691635c6581659160448082019260209290919082900301818787803b158015612a9157600080fd5b505af1158015612aa5573d6000803e3d6000fd5b505050506040513d6020811015612abb57600080fd5b5051905082811015612b3d576040805160e560020a62461bcd02815260206004820152602560248201527f46726f6d206163636f756e742068617320696e73756666696369656e7420626160448201527f6c616e6365000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b612b4d818463ffffffff612bfc16565b60008054604080517fda46098c000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015233602483015260448201869052915194955091169263da46098c9260648084019391929182900301818387803b158015612bc157600080fd5b505af1158015612bd5573d6000803e3d6000fd5b50505050612be4858585612c0e565b95945050505050565b60008282018381101561087c57fe5b600082821115612c0857fe5b50900390565b60008054604080517f860838a5000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301529151919092169163860838a591602480830192602092919082900301818787803b158015612c7657600080fd5b505af1158015612c8a573d6000803e3d6000fd5b505050506040513d6020811015612ca057600080fd5b505115612ca957fe5b60008054604080517f860838a5000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301529151919092169263860838a592602480820193602093909283900390910190829087803b158015612d1457600080fd5b505af1158015612d28573d6000803e3d6000fd5b505050506040513d6020811015612d3e57600080fd5b505115612d4757fe5b61095f848484612d9f565b600080831515612d655760009150611f1a565b50828202828482811515612d7557fe5b041461087c57fe5b60008183811515612d8a57fe5b049392505050565b600061087c338484612c0e565b60008080600160a060020a0385161515612e03576040805160e560020a62461bcd02815260206004820152601d60248201527f4e6f6e2d7a65726f20746f2d616464726573732072657175697265642e000000604482015290519081900360640190fd5b600080546040805160e060020a6327e235e3028152600160a060020a038a81166004830152915191909216926327e235e392602480820193602093909283900390910190829087803b158015612e5857600080fd5b505af1158015612e6c573d6000803e3d6000fd5b505050506040513d6020811015612e8257600080fd5b5051915083821015612f04576040805160e560020a62461bcd02815260206004820152602660248201527f46726f6d2d616464726573732068617320696e73756666696369656e7420626160448201527f6c616e63652e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b612f14828563ffffffff612bfc16565b600080546040805160e060020a6327e235e3028152600160a060020a038a8116600483015291519496509116926327e235e392602480840193602093929083900390910190829087803b158015612f6a57600080fd5b505af1158015612f7e573d6000803e3d6000fd5b505050506040513d6020811015612f9457600080fd5b50519050612fa8818563ffffffff612bed16565b600080546040805160e260020a6338c110ef028152600160a060020a038b8116600483015260248201889052915194955091169263e30443bc9260448084019391929182900301818387803b15801561300057600080fd5b505af1158015613014573d6000803e3d6000fd5b5050600080546040805160e260020a6338c110ef028152600160a060020a038b8116600483015260248201889052915191909216945063e30443bc93506044808301939282900301818387803b15801561306d57600080fd5b505af1158015613081573d6000803e3d6000fd5b5050600154604080517ffe73b27f000000000000000000000000000000000000000000000000000000008152600160a060020a038b811660048301528a81166024830152604482018a9052915191909216935063fe73b27f9250606480830192600092919082900301818387803b1580156130fb57600080fd5b505af115801561310f573d6000803e3d6000fd5b5050604080518781529051600160a060020a03808a1694508a1692506000805160206131708339815191529181900360200190a3506001959450505050505600556e70617573656420636f6e74726163742072657175697265642e0000000000ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef4f776e6572206d6573736167652073656e6465722072657175697265642e0000a165627a7a723058208506010efa2f4f411afcc6795803c1b22fab1ac5e6d445cdf7e074a6bc4a4c0f0029

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

000000000000000000000000e1430f91243b62d3207aeaca0c3138bd956720770000000000000000000000007917b0ce447c77c998109b4288f660532e70c9a30000000000000000000000001691c9f284a9d519dca1d9c0a4dadc992885432b

-----Decoded View---------------
Arg [0] : _dataStorage (address): 0xe1430F91243B62D3207aEACa0C3138bD95672077
Arg [1] : _ledger (address): 0x7917b0cE447C77C998109B4288F660532E70c9a3
Arg [2] : _whitelist (address): 0x1691C9f284a9d519DcA1D9c0A4dAdC992885432b

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000e1430f91243b62d3207aeaca0c3138bd95672077
Arg [1] : 0000000000000000000000007917b0ce447c77c998109b4288f660532e70c9a3
Arg [2] : 0000000000000000000000001691c9f284a9d519dca1d9c0a4dadc992885432b


Swarm Source

bzzr://8506010efa2f4f411afcc6795803c1b22fab1ac5e6d445cdf7e074a6bc4a4c0f

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.