ETH Price: $3,296.36 (-2.54%)

Contract

0xF1052E8E4a89dCC953e1D227Ae72A68001076c73
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0x6080604097560492020-03-27 22:01:211700 days ago1585346481IN
 Create: tokenService
0 ETH0.002255151

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
tokenService

Compiler Version
v0.6.1+commit.e6f7d5a4

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-03-29
*/

pragma solidity ^0.6.0;

interface publicCalls {
  function setOwnerTokenService (  ) external;
  function tokenCreatedSet ( address _address, address _tokenCreated ) external;
  function tokenICOCreatedSet ( address _address, address _tokenICOCreated ) external;
  function amountOfMNEForToken (  ) external view returns ( uint256 );
  function amountOfMNEForTokenICO (  ) external view returns ( uint256 );
  function ethFeeForToken (  ) external view returns ( uint256 );
  function ethFeeForTokenICO (  ) external view returns ( uint256 );  
  function tokenWithoutICOCount (  ) external view returns ( uint256 );
  function tokenICOCount (  ) external view returns ( uint256 );  
  function tokenWithoutICOCountSet ( uint256 _tokenWithoutICOCount ) external;
  function tokenICOCountSet ( uint256 _tokenICOCount ) external;
}

interface genesis {
  function availableBalanceOf ( address _address ) external view returns ( uint256 Balance );  
}

contract tokenService
{
	
address public ownerMain = 0x0000000000000000000000000000000000000000;	
address public updaterAddress = 0x0000000000000000000000000000000000000000;
function setUpdater() public {if (updaterAddress == 0x0000000000000000000000000000000000000000) updaterAddress = msg.sender; else revert();}
function updaterSetOwnerMain(address _address) public {if (tx.origin == updaterAddress) ownerMain = _address; else revert();}

function setOwnerMain() public {
	if (tx.origin == updaterAddress)
		ownerMain = msg.sender;
	else
		revert();
}

modifier onlyOwner(){
    require(msg.sender == ownerMain);
     _;
}

publicCalls public pc;
genesis public gn;
	
constructor(address _publicCallsAddress, address _genesisAddress) public {
setUpdater();
pc = publicCalls(_publicCallsAddress);
pc.setOwnerTokenService();
gn = genesis(_genesisAddress);
}

function reloadGenesis(address _address) public
{
	if (msg.sender == updaterAddress)
	{
		gn = genesis(_address);		
	}
	else revert();
}

function reloadPublicCalls(address _address, uint code) public { if (!(code == 1234)) revert();  if (msg.sender == updaterAddress)	{pc = publicCalls(_address); pc.setOwnerTokenService();} else revert();}

event CreateTokenHistory(address indexed _owner, address indexed _address);
event CreateTokenICOHistory(address indexed _owner, address indexed _address);

function CreateToken(address _from, uint256 _msgvalue) public onlyOwner returns (uint256 _mneToBurn, address _address) {
	uint256 mneToBurn = pc.amountOfMNEForToken();
		
	if (!(gn.availableBalanceOf(_from) >= mneToBurn)) revert('(!(gn.availableBalanceOf(_from) >= mneToBurn))');	
	
	uint256 feesToPayToContract = pc.ethFeeForToken();
	uint256 feesToPayToSeller = 0;
	uint256 feesGeneralToPayToContract = (feesToPayToContract + feesToPayToSeller) * 0;
		
	uint256 totalToSend = feesToPayToContract + feesToPayToSeller + feesGeneralToPayToContract;
	
	if (!(_msgvalue == totalToSend)) revert('(!(_msgvalue == totalToSend))');
	
	Token token = new Token(_from);
	pc.tokenCreatedSet(_from, address(token));
	emit CreateTokenHistory(_from, address(token));
	pc.tokenWithoutICOCountSet(pc.tokenWithoutICOCount() + 1);
	return (mneToBurn, address(token));
}

function CreateTokenICO(address _from, uint256 _msgvalue) public onlyOwner returns (uint256 _mneToBurn, address _address) {
	uint256 mneToBurn = pc.amountOfMNEForTokenICO();
	
	if (!(gn.availableBalanceOf(_from) >= mneToBurn)) revert('(!(gn.availableBalanceOf(_from) >= mneToBurn))');	
	
	uint256 feesToPayToContract = pc.ethFeeForTokenICO();
	uint256 feesToPayToSeller = 0;
	uint256 feesGeneralToPayToContract = (feesToPayToContract + feesToPayToSeller) * 0;
		
	uint256 totalToSend = feesToPayToContract + feesToPayToSeller + feesGeneralToPayToContract;
	
	if (!(_msgvalue == totalToSend)) revert('(!(_msgvalue == totalToSend))');
	
	TokenICO token = new TokenICO(payable(_from));
	pc.tokenICOCreatedSet(_from, address(token));
	emit CreateTokenICOHistory(_from, address(token));
	pc.tokenICOCountSet(pc.tokenICOCount() + 1);
	return (mneToBurn, address(token));
}
}

contract Token {
    string public symbol = "";
    string public name = "";
    uint8 public constant decimals = 18;
    uint256 _totalSupply = 0;
    address owner = 0x0000000000000000000000000000000000000000;
    bool setupDone = false;
   
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
 
    mapping(address => uint256) balances;
 
    mapping(address => mapping (address => uint256)) allowed;
 
    constructor(address adr) public {
        owner = adr;        
    }
   
    function SetupToken(string memory tokenName, string memory tokenSymbol, uint256 tokenSupply) public
    {
        if (msg.sender == owner && setupDone == false)
        {
            symbol = tokenSymbol;
            name = tokenName;
            _totalSupply = tokenSupply * 1000000000000000000;
            balances[owner] = _totalSupply;
            setupDone = true;
        }
    }
 
    function totalSupply() public view returns (uint256 totalSupply) {        
        return _totalSupply;
    }
 
    function balanceOf(address _owner) public view returns (uint256 balance) {
        return balances[_owner];
    }
 
    function transfer(address _to, uint256 _amount) public returns (bool success) {
        if (balances[msg.sender] >= _amount
            && _amount > 0
            && balances[_to] + _amount > balances[_to]) {
            balances[msg.sender] -= _amount;
            balances[_to] += _amount;
            emit Transfer(msg.sender, _to, _amount);
            return true;
        } else {
            return false;
        }
    }
 
    function transferFrom(
        address _from,
        address _to,
        uint256 _amount
    )  public returns (bool success) {
        if (balances[_from] >= _amount
            && allowed[_from][msg.sender] >= _amount
            && _amount > 0
            && balances[_to] + _amount > balances[_to]) {
            balances[_from] -= _amount;
            allowed[_from][msg.sender] -= _amount;
            balances[_to] += _amount;
            emit Transfer(_from, _to, _amount);
            return true;
        } else {
            return false;
        }
    }
 
    function approve(address _spender, uint256 _amount) public returns (bool success) {
        allowed[msg.sender][_spender] = _amount;
        emit Approval(msg.sender, _spender, _amount);
        return true;
    }
 
    function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }
}

contract TokenICO {
    string public symbol = "";
    string public name = "";
    uint8 public constant decimals = 18;
	string public constant ICOFactoryVersion = "1.0";
    uint256 _totalSupply = 0;
	uint256 _oneEtherEqualsInWei = 0;	
	uint256 _maxICOpublicSupply = 0;
	uint256 _ownerICOsupply = 0;
	uint256 _currentICOpublicSupply = 0;
	uint256 _blockICOdatetime = 0;
	address payable _ICOfundsReceiverAddress = 0x0000000000000000000000000000000000000000;
	address _remainingTokensReceiverAddress = 0x0000000000000000000000000000000000000000;
    address payable owner = 0x0000000000000000000000000000000000000000;	
    bool setupDone = false;
	bool isICOrunning = false;
	bool ICOstarted = false;
	uint256 ICOoverTimestamp = 0;
   
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
	event Burn(address indexed _owner, uint256 _value);
 
    mapping(address => uint256) balances;
 
    mapping(address => mapping (address => uint256)) allowed;
 
    constructor(address payable adr) public {
        owner = adr;        
    }
	
	receive() external payable
	{
		if ((isICOrunning && _blockICOdatetime == 0) || (isICOrunning && _blockICOdatetime > 0 && now <= _blockICOdatetime))
		{
			uint256 _amount = ((msg.value * _oneEtherEqualsInWei) / 1000000000000000000);
			
			if (((_currentICOpublicSupply + _amount) > _maxICOpublicSupply) && _maxICOpublicSupply > 0) revert();
			
			if(!_ICOfundsReceiverAddress.send(msg.value)) revert();					
			
			_currentICOpublicSupply += _amount;
			
			balances[msg.sender] += _amount;
			
			_totalSupply += _amount;			
			
			emit Transfer(address(this), msg.sender, _amount);
		}
		else
		{
			revert();
		}
	}
   
    function SetupToken(string memory tokenName, string memory tokenSymbol, uint256 oneEtherEqualsInWei, uint256 maxICOpublicSupply, uint256 ownerICOsupply, address remainingTokensReceiverAddress, address payable ICOfundsReceiverAddress, uint256 blockICOdatetime) public
    {
        if (msg.sender == owner && !setupDone)
        {
            symbol = tokenSymbol;
            name = tokenName;
			_oneEtherEqualsInWei = oneEtherEqualsInWei;
			_maxICOpublicSupply = maxICOpublicSupply * 1000000000000000000;									
			if (ownerICOsupply > 0)
			{
				_ownerICOsupply = ownerICOsupply * 1000000000000000000;
				_totalSupply = _ownerICOsupply;
				balances[owner] = _totalSupply;
				emit Transfer(address(this), owner, _totalSupply);
			}			
			_ICOfundsReceiverAddress = ICOfundsReceiverAddress;
			if (_ICOfundsReceiverAddress == 0x0000000000000000000000000000000000000000) _ICOfundsReceiverAddress = owner;
			_remainingTokensReceiverAddress = remainingTokensReceiverAddress;
			_blockICOdatetime = blockICOdatetime;			
            setupDone = true;
        }
    }
	
	function StartICO() public returns (bool success)
    {
        if (msg.sender == owner && !ICOstarted && setupDone)
        {
            ICOstarted = true;			
			isICOrunning = true;			
        }
		else
		{
			revert();
		}
		return true;
    }
	
	function StopICO() public returns (bool success)
    {
        if (msg.sender == owner && isICOrunning)
        {            
			if (_remainingTokensReceiverAddress != 0x0000000000000000000000000000000000000000 && _maxICOpublicSupply > 0)
			{
				uint256 _remainingAmount = _maxICOpublicSupply - _currentICOpublicSupply;
				if (_remainingAmount > 0)
				{
					balances[_remainingTokensReceiverAddress] += _remainingAmount;
					_totalSupply += _remainingAmount;
					emit Transfer(address(this), _remainingTokensReceiverAddress, _remainingAmount);	
				}
			}				
			isICOrunning = false;	
			ICOoverTimestamp = now;
        }
		else
		{
			revert();
		}
		return true;
    }
	
	function BurnTokens(uint256 amountInWei) public returns (bool success)
    {
		if (balances[msg.sender] >= amountInWei)
		{
			balances[msg.sender] -= amountInWei;
			_totalSupply -= amountInWei;
			emit Burn(msg.sender, amountInWei);
			emit Transfer(msg.sender, 0x0000000000000000000000000000000000000000, amountInWei);
		}
		else
		{
			revert();
		}
		return true;
    }
 
    function totalSupply() public view returns (uint256 totalSupplyValue) {        
        return _totalSupply;
    }
	
	function OneEtherEqualsInWei() public view returns (uint256 oneEtherEqualsInWei) {        
        return _oneEtherEqualsInWei;
    }
	
	function MaxICOpublicSupply() public view returns (uint256 maxICOpublicSupply) {        
        return _maxICOpublicSupply;
    }
	
	function OwnerICOsupply() public view returns (uint256 ownerICOsupply) {        
        return _ownerICOsupply;
    }
	
	function CurrentICOpublicSupply() public view returns (uint256 currentICOpublicSupply) {        
        return _currentICOpublicSupply;
    }
	
	function RemainingTokensReceiverAddress() public view returns (address remainingTokensReceiverAddress) {        
        return _remainingTokensReceiverAddress;
    }
	
	function ICOfundsReceiverAddress() public view returns (address ICOfundsReceiver) {        
        return _ICOfundsReceiverAddress;
    }
	
	function Owner() public view returns (address ownerAddress) {        
        return owner;
    }
	
	function SetupDone() public view returns (bool setupDoneFlag) {        
        return setupDone;
    }
    
	function IsICOrunning() public view returns (bool isICOrunningFalg) {        
        return isICOrunning;
    }
	
	function IsICOstarted() public view returns (bool isICOstartedFlag) {        
        return ICOstarted;
    }
	
	function ICOoverTimeStamp() public view returns (uint256 ICOoverTimestampCheck) {        
        return ICOoverTimestamp;
    }
	
	function BlockICOdatetime() public view returns (uint256 blockStopICOdate) {        
        return _blockICOdatetime;
    }
	
	function TimeNow() public view returns (uint256 timenow) {        
        return now;
    }
	 
    function balanceOf(address _owner) public view returns (uint256 balance) {
        return balances[_owner];
    }
 
    function transfer(address _to, uint256 _amount) public returns (bool success) {
        if (balances[msg.sender] >= _amount
            && _amount > 0
            && balances[_to] + _amount > balances[_to]) {
            balances[msg.sender] -= _amount;
            balances[_to] += _amount;
            emit Transfer(msg.sender, _to, _amount);
            return true;
        } else {
            return false;
        }
    }
 
    function transferFrom(
        address _from,
        address _to,
        uint256 _amount
    ) public returns (bool success) {
        if (balances[_from] >= _amount
            && allowed[_from][msg.sender] >= _amount
            && _amount > 0
            && balances[_to] + _amount > balances[_to]) {
            balances[_from] -= _amount;
            allowed[_from][msg.sender] -= _amount;
            balances[_to] += _amount;
            emit Transfer(_from, _to, _amount);
            return true;
        } else {
            return false;
        }
    }
 
    function approve(address _spender, uint256 _amount) public returns (bool success) {
        allowed[msg.sender][_spender] = _amount;
        emit Approval(msg.sender, _spender, _amount);
        return true;
    }
 
    function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_publicCallsAddress","type":"address"},{"internalType":"address","name":"_genesisAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_address","type":"address"}],"name":"CreateTokenHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_address","type":"address"}],"name":"CreateTokenICOHistory","type":"event"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_msgvalue","type":"uint256"}],"name":"CreateToken","outputs":[{"internalType":"uint256","name":"_mneToBurn","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_msgvalue","type":"uint256"}],"name":"CreateTokenICO","outputs":[{"internalType":"uint256","name":"_mneToBurn","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gn","outputs":[{"internalType":"contract genesis","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerMain","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pc","outputs":[{"internalType":"contract publicCalls","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"reloadGenesis","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"code","type":"uint256"}],"name":"reloadPublicCalls","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setOwnerMain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setUpdater","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updaterAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"updaterSetOwnerMain","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052600080546001600160a01b031990811690915560018054909116905534801561002c57600080fd5b506040516127643803806127648339818101604052604081101561004f57600080fd5b5080516020909101516100696001600160e01b0361010616565b600280546001600160a01b0319166001600160a01b03848116919091179182905560408051630eaa789d60e41b81529051929091169163eaa789d09160048082019260009290919082900301818387803b1580156100c657600080fd5b505af11580156100da573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b03949094169390931790925550610134915050565b6001546001600160a01b031661012d57600180546001600160a01b03191633179055610132565b600080fd5b565b612621806101436000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806393c63b9d1161007157806393c63b9d14610136578063a472591c1461015c578063b378e89b146101a9578063e2412630146101d5578063e69919ae146101dd578063fdbc6530146101e5576100a9565b806313b9f0c7146100ae57806327d4da0e146100b85780633118f543146100de5780637366881714610102578063919e0b791461012e575b600080fd5b6100b66101ed565b005b6100b6600480360360208110156100ce57600080fd5b50356001600160a01b0316610215565b6100e6610247565b604080516001600160a01b039092168252519081900360200190f35b6100b66004803603604081101561011857600080fd5b506001600160a01b038135169060200135610256565b6100e66102f0565b6100b66004803603602081101561014c57600080fd5b50356001600160a01b03166102ff565b6101886004803603604081101561017257600080fd5b506001600160a01b038135169060200135610332565b604080519283526001600160a01b0390911660208301528051918290030190f35b610188600480360360408110156101bf57600080fd5b506001600160a01b038135169060200135610709565b6100b6610a4c565b6100e6610a73565b6100e6610a82565b6001546001600160a01b03163214156100a957600080546001600160a01b031916331790555b565b6001546001600160a01b03163214156100a957600080546001600160a01b0319166001600160a01b0383161790555b50565b6003546001600160a01b031681565b806104d21461026457600080fd5b6001546001600160a01b03163314156100a957600280546001600160a01b0319166001600160a01b03848116919091179182905560408051630eaa789d60e41b81529051929091169163eaa789d09160048082019260009290919082900301818387803b1580156102d457600080fd5b505af11580156102e8573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031681565b6001546001600160a01b03163314156100a957600380546001600160a01b0319166001600160a01b038316179055610244565b6000805481906001600160a01b0316331461034c57600080fd5b6002546040805163c2baa78960e01b815290516000926001600160a01b03169163c2baa789916004808301926020929190829003018186803b15801561039157600080fd5b505afa1580156103a5573d6000803e3d6000fd5b505050506040513d60208110156103bb57600080fd5b5051600354604080516325d998bb60e01b81526001600160a01b0389811660048301529151939450849391909216916325d998bb916024808301926020929190829003018186803b15801561040f57600080fd5b505afa158015610423573d6000803e3d6000fd5b505050506040513d602081101561043957600080fd5b505110156104785760405162461bcd60e51b815260040180806020018281038252602e8152602001806125be602e913960400191505060405180910390fd5b6002546040805163d26980ad60e01b815290516000926001600160a01b03169163d26980ad916004808301926020929190829003018186803b1580156104bd57600080fd5b505afa1580156104d1573d6000803e3d6000fd5b505050506040513d60208110156104e757600080fd5b5051905060008082878114610543576040805162461bcd60e51b815260206004820152601d60248201527f2821285f6d736776616c7565203d3d20746f74616c546f53656e642929000000604482015290519081900360640190fd5b60008960405161055290610a91565b6001600160a01b03909116815260405190819003602001906000f08015801561057f573d6000803e3d6000fd5b506002546040805163045cbb9360e21b81526001600160a01b038e8116600483015280851660248301529151939450911691631172ee4c9160448082019260009290919082900301818387803b1580156105d857600080fd5b505af11580156105ec573d6000803e3d6000fd5b50506040516001600160a01b0380851693508d1691507faccab6f21368253d0a59267d673766b05cce40512fe834ac5dfb3c034b53a8ad90600090a36002546040805163b19a948b60e01b815290516001600160a01b039092169163adf1923c91839163b19a948b91600480820192602092909190829003018186803b15801561067557600080fd5b505afa158015610689573d6000803e3d6000fd5b505050506040513d602081101561069f57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b1580156106e157600080fd5b505af11580156106f5573d6000803e3d6000fd5b50979c929b50919950505050505050505050565b6000805481906001600160a01b0316331461072357600080fd5b6002546040805163c1e786d560e01b815290516000926001600160a01b03169163c1e786d5916004808301926020929190829003018186803b15801561076857600080fd5b505afa15801561077c573d6000803e3d6000fd5b505050506040513d602081101561079257600080fd5b5051600354604080516325d998bb60e01b81526001600160a01b0389811660048301529151939450849391909216916325d998bb916024808301926020929190829003018186803b1580156107e657600080fd5b505afa1580156107fa573d6000803e3d6000fd5b505050506040513d602081101561081057600080fd5b5051101561084f5760405162461bcd60e51b815260040180806020018281038252602e8152602001806125be602e913960400191505060405180910390fd5b6002546040805163217dd64560e01b815290516000926001600160a01b03169163217dd645916004808301926020929190829003018186803b15801561089457600080fd5b505afa1580156108a8573d6000803e3d6000fd5b505050506040513d60208110156108be57600080fd5b505190506000808287811461091a576040805162461bcd60e51b815260206004820152601d60248201527f2821285f6d736776616c7565203d3d20746f74616c546f53656e642929000000604482015290519081900360640190fd5b60008960405161092990610a9e565b6001600160a01b03909116815260405190819003602001906000f080158015610956573d6000803e3d6000fd5b506002546040805163824eca6f60e01b81526001600160a01b038e811660048301528085166024830152915193945091169163824eca6f9160448082019260009290919082900301818387803b1580156109af57600080fd5b505af11580156109c3573d6000803e3d6000fd5b50506040516001600160a01b0380851693508d1691507f1de1df184536fe176d3bab87fb15d6cf9d42f06a12e6a35b4611568bcb0d688e90600090a3600254604080516353ef781160e01b815290516001600160a01b0390921691638ffb7c529183916353ef781191600480820192602092909190829003018186803b15801561067557600080fd5b6001546001600160a01b03166100a957600180546001600160a01b03191633179055610213565b6002546001600160a01b031681565b6001546001600160a01b031681565b61116a80610aac83390190565b6109a880611c168339019056fe60a0604081905260006080819052620000199181620000e4565b506040805160208101918290526000908190526200003a91600191620000e4565b506000600281905560038190556004819055600581905560068190556007819055600880546001600160a01b0319908116909155600980549091169055600a80546001600160b81b0319169055600b553480156200009757600080fd5b506040516200116a3803806200116a83398181016040526020811015620000bd57600080fd5b5051600a80546001600160a01b0319166001600160a01b0390921691909117905562000189565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200012757805160ff191683800117855562000157565b8280016001018555821562000157579182015b82811115620001575782518255916020019190600101906200013a565b506200016592915062000169565b5090565b6200018691905b8082111562000165576000815560010162000170565b90565b610fd180620001996000396000f3fe6080604052600436106101a05760003560e01c80636a6b8077116100ec578063a9059cbb1161008a578063b67ddf2011610064578063b67ddf201461075d578063c21bbe5614610772578063d21ceba014610787578063dd62ed3e1461079c576102ad565b8063a9059cbb146106fa578063b4a99a4e14610733578063b597842a14610748576102ad565b806374c77b52116100c657806374c77b52146105565780637ed40602146106bb57806395878da6146106d057806395d89b41146106e5576102ad565b80636a6b8077146104f95780636eba68f91461050e57806370a0823114610523576102ad565b80632cd3fd701161015957806339bc91fa1161013357806339bc91fa146104895780633dbedbd41461049e5780634b2930d0146104b357806361b930ae146104c8576102ad565b80632cd3fd701461041f5780632f0dbae114610449578063313ce5671461045e576102ad565b806306fdde03146102b4578063095ea7b31461033e57806318160ddd1461038b5780631fd3dd97146103b25780632091f2d9146103c757806323b872dd146103dc576102ad565b366102ad57600a54600160a81b900460ff1680156101be5750600754155b806101ed5750600a54600160a81b900460ff1680156101df57506000600754115b80156101ed57506007544211155b156102ad576000670de0b6b3a764000060035434028161020957fe5b049050600454816006540111801561022357506000600454115b1561022d57600080fd5b6008546040516001600160a01b03909116903480156108fc02916000818181858888f1935050505061025e57600080fd5b6006805482019055336000818152600c60209081526040918290208054850190556002805485019055815184815291513092600080516020610f7c83398151915292908290030190a3506102b2565b600080fd5b005b3480156102c057600080fd5b506102c96107d7565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103035781810151838201526020016102eb565b50505050905090810190601f1680156103305780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561034a57600080fd5b506103776004803603604081101561036157600080fd5b506001600160a01b038135169060200135610864565b604080519115158252519081900360200190f35b34801561039757600080fd5b506103a06108cb565b60408051918252519081900360200190f35b3480156103be57600080fd5b506103a06108d2565b3480156103d357600080fd5b506103a06108d8565b3480156103e857600080fd5b50610377600480360360608110156103ff57600080fd5b506001600160a01b038135811691602081013590911690604001356108de565b34801561042b57600080fd5b506103776004803603602081101561044257600080fd5b50356109de565b34801561045557600080fd5b506103a0610a76565b34801561046a57600080fd5b50610473610a7c565b6040805160ff9092168252519081900360200190f35b34801561049557600080fd5b506103a0610a81565b3480156104aa57600080fd5b50610377610a87565b3480156104bf57600080fd5b50610377610b50565b3480156104d457600080fd5b506104dd610b60565b604080516001600160a01b039092168252519081900360200190f35b34801561050557600080fd5b50610377610b6f565b34801561051a57600080fd5b506102c9610bd7565b34801561052f57600080fd5b506103a06004803603602081101561054657600080fd5b50356001600160a01b0316610bf6565b34801561056257600080fd5b506102b2600480360361010081101561057a57600080fd5b81019060208101813564010000000081111561059557600080fd5b8201836020820111156105a757600080fd5b803590602001918460018302840111640100000000831117156105c957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561061c57600080fd5b82018360208201111561062e57600080fd5b8035906020019184600183028401116401000000008311171561065057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040810135906001600160a01b03606082013581169160808101359091169060a00135610c11565b3480156106c757600080fd5b50610377610d63565b3480156106dc57600080fd5b506103a0610d73565b3480156106f157600080fd5b506102c9610d79565b34801561070657600080fd5b506103776004803603604081101561071d57600080fd5b506001600160a01b038135169060200135610dd4565b34801561073f57600080fd5b506104dd610e80565b34801561075457600080fd5b506103a0610e8f565b34801561076957600080fd5b506103a0610e93565b34801561077e57600080fd5b50610377610e99565b34801561079357600080fd5b506104dd610ea9565b3480156107a857600080fd5b506103a0600480360360408110156107bf57600080fd5b506001600160a01b0381358116916020013516610eb8565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561085c5780601f106108315761010080835404028352916020019161085c565b820191906000526020600020905b81548152906001019060200180831161083f57829003601f168201915b505050505081565b336000818152600d602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6002545b90565b60035490565b600b5490565b6001600160a01b0383166000908152600c6020526040812054821180159061092957506001600160a01b0384166000908152600d602090815260408083203384529091529020548211155b80156109355750600082115b801561095a57506001600160a01b0383166000908152600c6020526040902054828101115b156109d3576001600160a01b038085166000818152600c6020818152604080842080548990039055600d825280842033855282528084208054899003905594881680845291815291849020805487019055835186815293519093600080516020610f7c83398151915292908290030190a35060016109d7565b5060005b9392505050565b336000908152600c602052604081205482116102ad57336000818152600c602090815260409182902080548690039055600280548690039055815185815291517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59281900390910190a26040805183815290516000913391600080516020610f7c8339815191529181900360200190a3506001919050565b60045490565b601281565b60055490565b600a546000906001600160a01b031633148015610aad5750600a54600160a81b900460ff165b156102ad576009546001600160a01b031615801590610ace57506000600454115b15610b3857600654600454038015610b3657600980546001600160a01b039081166000908152600c602090815260409182902080548601905560028054860190559254815185815291519216923092600080516020610f7c8339815191529281900390910190a35b505b600a805460ff60a81b1916905542600b555b50600190565b600a54600160a81b900460ff1690565b6008546001600160a01b031690565b600a546000906001600160a01b031633148015610b965750600a54600160b01b900460ff16155b8015610bab5750600a54600160a01b900460ff165b156102ad57600a805460ff60a81b1960ff60b01b19909116600160b01b1716600160a81b179055610b4a565b604051806040016040528060038152602001620312e360ec1b81525081565b6001600160a01b03166000908152600c602052604090205490565b600a546001600160a01b031633148015610c355750600a54600160a01b900460ff16155b15610d59578651610c4d9060009060208a0190610ee3565b508751610c619060019060208b0190610ee3565b506003869055670de0b6b3a764000085026004558315610cda57670de0b6b3a7640000840260058190556002819055600a80546001600160a01b039081166000908152600c60209081526040918290208590559254815194855290519116923092600080516020610f7c83398151915292918290030190a35b600880546001600160a01b0319166001600160a01b03848116919091179182905516610d2357600a54600880546001600160a01b0319166001600160a01b039092169190911790555b600980546001600160a01b0385166001600160a01b03199091161790556007819055600a805460ff60a01b1916600160a01b1790555b5050505050505050565b600a54600160b01b900460ff1690565b60065490565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561085c5780601f106108315761010080835404028352916020019161085c565b336000908152600c60205260408120548211801590610df35750600082115b8015610e1857506001600160a01b0383166000908152600c6020526040902054828101115b15610e7857336000818152600c60209081526040808320805487900390556001600160a01b0387168084529281902080548701905580518681529051929392600080516020610f7c833981519152929181900390910190a35060016108c5565b5060006108c5565b600a546001600160a01b031690565b4290565b60075490565b600a54600160a01b900460ff1690565b6009546001600160a01b031690565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f2457805160ff1916838001178555610f51565b82800160010185558215610f51579182015b82811115610f51578251825591602001919060010190610f36565b50610f5d929150610f61565b5090565b6108cf91905b80821115610f5d5760008155600101610f6756feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220ec566b9312d90f1e0bc33bcf20cc694729711abe25ceda5cd386913146c37bf564736f6c6343000601003360a060408190526000608081905261001791816100a1565b50604080516020810191829052600090819052610036916001916100a1565b506000600255600380546001600160a81b031916905534801561005857600080fd5b506040516109a83803806109a88339818101604052602081101561007b57600080fd5b5051600380546001600160a01b0319166001600160a01b0390921691909117905561013c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100e257805160ff191683800117855561010f565b8280016001018555821561010f579182015b8281111561010f5782518255916020019190600101906100f4565b5061011b92915061011f565b5090565b61013991905b8082111561011b5760008155600101610125565b90565b61085d8061014b6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a08231146101ce57806395d89b41146101f4578063a9059cbb146101fc578063b6d2a9b914610228578063dd62ed3e146103595761009e565b806306fdde03146100a3578063095ea7b31461012057806318160ddd1461016057806323b872dd1461017a578063313ce567146101b0575b600080fd5b6100ab610387565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100e55781810151838201526020016100cd565b50505050905090810190601f1680156101125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61014c6004803603604081101561013657600080fd5b506001600160a01b038135169060200135610414565b604080519115158252519081900360200190f35b61016861047b565b60408051918252519081900360200190f35b61014c6004803603606081101561019057600080fd5b506001600160a01b03813581169160208101359091169060400135610482565b6101b8610594565b6040805160ff9092168252519081900360200190f35b610168600480360360208110156101e457600080fd5b50356001600160a01b0316610599565b6100ab6105b4565b61014c6004803603604081101561021257600080fd5b506001600160a01b03813516906020013561060f565b6103576004803603606081101561023e57600080fd5b81019060208101813564010000000081111561025957600080fd5b82018360208201111561026b57600080fd5b8035906020019184600183028401116401000000008311171561028d57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156102e057600080fd5b8201836020820111156102f257600080fd5b8035906020019184600183028401116401000000008311171561031457600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506106cd915050565b005b6101686004803603604081101561036f57600080fd5b506001600160a01b0381358116916020013516610764565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561040c5780601f106103e15761010080835404028352916020019161040c565b820191906000526020600020905b8154815290600101906020018083116103ef57829003601f168201915b505050505081565b3360008181526005602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6002545b90565b6001600160a01b03831660009081526004602052604081205482118015906104cd57506001600160a01b03841660009081526005602090815260408083203384529091529020548211155b80156104d95750600082115b80156104fe57506001600160a01b038316600090815260046020526040902054828101115b15610589576001600160a01b0380851660008181526004602081815260408084208054899003905560058252808420338552825280842080548990039055948816808452918152918490208054870190558351868152935190937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a350600161058d565b5060005b9392505050565b601281565b6001600160a01b031660009081526004602052604090205490565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561040c5780601f106103e15761010080835404028352916020019161040c565b33600090815260046020526040812054821180159061062e5750600082115b801561065357506001600160a01b038316600090815260046020526040902054828101115b156106c557336000818152600460209081526040808320805487900390556001600160a01b03871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3506001610475565b506000610475565b6003546001600160a01b0316331480156106f15750600354600160a01b900460ff16155b1561075f57815161070990600090602085019061078f565b50825161071d90600190602086019061078f565b50670de0b6b3a764000081026002819055600380546001600160a01b0316600090815260046020526040902091909155805460ff60a01b1916600160a01b1790555b505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106107d057805160ff19168380011785556107fd565b828001600101855582156107fd579182015b828111156107fd5782518255916020019190600101906107e2565b5061080992915061080d565b5090565b61047f91905b80821115610809576000815560010161081356fea2646970667358221220d30252092212adac029040dc0fecb3d5cc1e7505b53299eb26d1a220fdcccffc64736f6c63430006010033282128676e2e617661696c61626c6542616c616e63654f66285f66726f6d29203e3d206d6e65546f4275726e2929a26469706673582212202503f2741d460db38e19f87b489853a7e3edb77a9e62cfeebb659ed2304d855e64736f6c6343000601003300000000000000000000000090e340e2d11e6eb1d99e34d122d6fe0fef3213fd000000000000000000000000a6be27538a28114fe03eb7ade9adfe53164f2a4c

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806393c63b9d1161007157806393c63b9d14610136578063a472591c1461015c578063b378e89b146101a9578063e2412630146101d5578063e69919ae146101dd578063fdbc6530146101e5576100a9565b806313b9f0c7146100ae57806327d4da0e146100b85780633118f543146100de5780637366881714610102578063919e0b791461012e575b600080fd5b6100b66101ed565b005b6100b6600480360360208110156100ce57600080fd5b50356001600160a01b0316610215565b6100e6610247565b604080516001600160a01b039092168252519081900360200190f35b6100b66004803603604081101561011857600080fd5b506001600160a01b038135169060200135610256565b6100e66102f0565b6100b66004803603602081101561014c57600080fd5b50356001600160a01b03166102ff565b6101886004803603604081101561017257600080fd5b506001600160a01b038135169060200135610332565b604080519283526001600160a01b0390911660208301528051918290030190f35b610188600480360360408110156101bf57600080fd5b506001600160a01b038135169060200135610709565b6100b6610a4c565b6100e6610a73565b6100e6610a82565b6001546001600160a01b03163214156100a957600080546001600160a01b031916331790555b565b6001546001600160a01b03163214156100a957600080546001600160a01b0319166001600160a01b0383161790555b50565b6003546001600160a01b031681565b806104d21461026457600080fd5b6001546001600160a01b03163314156100a957600280546001600160a01b0319166001600160a01b03848116919091179182905560408051630eaa789d60e41b81529051929091169163eaa789d09160048082019260009290919082900301818387803b1580156102d457600080fd5b505af11580156102e8573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031681565b6001546001600160a01b03163314156100a957600380546001600160a01b0319166001600160a01b038316179055610244565b6000805481906001600160a01b0316331461034c57600080fd5b6002546040805163c2baa78960e01b815290516000926001600160a01b03169163c2baa789916004808301926020929190829003018186803b15801561039157600080fd5b505afa1580156103a5573d6000803e3d6000fd5b505050506040513d60208110156103bb57600080fd5b5051600354604080516325d998bb60e01b81526001600160a01b0389811660048301529151939450849391909216916325d998bb916024808301926020929190829003018186803b15801561040f57600080fd5b505afa158015610423573d6000803e3d6000fd5b505050506040513d602081101561043957600080fd5b505110156104785760405162461bcd60e51b815260040180806020018281038252602e8152602001806125be602e913960400191505060405180910390fd5b6002546040805163d26980ad60e01b815290516000926001600160a01b03169163d26980ad916004808301926020929190829003018186803b1580156104bd57600080fd5b505afa1580156104d1573d6000803e3d6000fd5b505050506040513d60208110156104e757600080fd5b5051905060008082878114610543576040805162461bcd60e51b815260206004820152601d60248201527f2821285f6d736776616c7565203d3d20746f74616c546f53656e642929000000604482015290519081900360640190fd5b60008960405161055290610a91565b6001600160a01b03909116815260405190819003602001906000f08015801561057f573d6000803e3d6000fd5b506002546040805163045cbb9360e21b81526001600160a01b038e8116600483015280851660248301529151939450911691631172ee4c9160448082019260009290919082900301818387803b1580156105d857600080fd5b505af11580156105ec573d6000803e3d6000fd5b50506040516001600160a01b0380851693508d1691507faccab6f21368253d0a59267d673766b05cce40512fe834ac5dfb3c034b53a8ad90600090a36002546040805163b19a948b60e01b815290516001600160a01b039092169163adf1923c91839163b19a948b91600480820192602092909190829003018186803b15801561067557600080fd5b505afa158015610689573d6000803e3d6000fd5b505050506040513d602081101561069f57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b1580156106e157600080fd5b505af11580156106f5573d6000803e3d6000fd5b50979c929b50919950505050505050505050565b6000805481906001600160a01b0316331461072357600080fd5b6002546040805163c1e786d560e01b815290516000926001600160a01b03169163c1e786d5916004808301926020929190829003018186803b15801561076857600080fd5b505afa15801561077c573d6000803e3d6000fd5b505050506040513d602081101561079257600080fd5b5051600354604080516325d998bb60e01b81526001600160a01b0389811660048301529151939450849391909216916325d998bb916024808301926020929190829003018186803b1580156107e657600080fd5b505afa1580156107fa573d6000803e3d6000fd5b505050506040513d602081101561081057600080fd5b5051101561084f5760405162461bcd60e51b815260040180806020018281038252602e8152602001806125be602e913960400191505060405180910390fd5b6002546040805163217dd64560e01b815290516000926001600160a01b03169163217dd645916004808301926020929190829003018186803b15801561089457600080fd5b505afa1580156108a8573d6000803e3d6000fd5b505050506040513d60208110156108be57600080fd5b505190506000808287811461091a576040805162461bcd60e51b815260206004820152601d60248201527f2821285f6d736776616c7565203d3d20746f74616c546f53656e642929000000604482015290519081900360640190fd5b60008960405161092990610a9e565b6001600160a01b03909116815260405190819003602001906000f080158015610956573d6000803e3d6000fd5b506002546040805163824eca6f60e01b81526001600160a01b038e811660048301528085166024830152915193945091169163824eca6f9160448082019260009290919082900301818387803b1580156109af57600080fd5b505af11580156109c3573d6000803e3d6000fd5b50506040516001600160a01b0380851693508d1691507f1de1df184536fe176d3bab87fb15d6cf9d42f06a12e6a35b4611568bcb0d688e90600090a3600254604080516353ef781160e01b815290516001600160a01b0390921691638ffb7c529183916353ef781191600480820192602092909190829003018186803b15801561067557600080fd5b6001546001600160a01b03166100a957600180546001600160a01b03191633179055610213565b6002546001600160a01b031681565b6001546001600160a01b031681565b61116a80610aac83390190565b6109a880611c168339019056fe60a0604081905260006080819052620000199181620000e4565b506040805160208101918290526000908190526200003a91600191620000e4565b506000600281905560038190556004819055600581905560068190556007819055600880546001600160a01b0319908116909155600980549091169055600a80546001600160b81b0319169055600b553480156200009757600080fd5b506040516200116a3803806200116a83398181016040526020811015620000bd57600080fd5b5051600a80546001600160a01b0319166001600160a01b0390921691909117905562000189565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200012757805160ff191683800117855562000157565b8280016001018555821562000157579182015b82811115620001575782518255916020019190600101906200013a565b506200016592915062000169565b5090565b6200018691905b8082111562000165576000815560010162000170565b90565b610fd180620001996000396000f3fe6080604052600436106101a05760003560e01c80636a6b8077116100ec578063a9059cbb1161008a578063b67ddf2011610064578063b67ddf201461075d578063c21bbe5614610772578063d21ceba014610787578063dd62ed3e1461079c576102ad565b8063a9059cbb146106fa578063b4a99a4e14610733578063b597842a14610748576102ad565b806374c77b52116100c657806374c77b52146105565780637ed40602146106bb57806395878da6146106d057806395d89b41146106e5576102ad565b80636a6b8077146104f95780636eba68f91461050e57806370a0823114610523576102ad565b80632cd3fd701161015957806339bc91fa1161013357806339bc91fa146104895780633dbedbd41461049e5780634b2930d0146104b357806361b930ae146104c8576102ad565b80632cd3fd701461041f5780632f0dbae114610449578063313ce5671461045e576102ad565b806306fdde03146102b4578063095ea7b31461033e57806318160ddd1461038b5780631fd3dd97146103b25780632091f2d9146103c757806323b872dd146103dc576102ad565b366102ad57600a54600160a81b900460ff1680156101be5750600754155b806101ed5750600a54600160a81b900460ff1680156101df57506000600754115b80156101ed57506007544211155b156102ad576000670de0b6b3a764000060035434028161020957fe5b049050600454816006540111801561022357506000600454115b1561022d57600080fd5b6008546040516001600160a01b03909116903480156108fc02916000818181858888f1935050505061025e57600080fd5b6006805482019055336000818152600c60209081526040918290208054850190556002805485019055815184815291513092600080516020610f7c83398151915292908290030190a3506102b2565b600080fd5b005b3480156102c057600080fd5b506102c96107d7565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103035781810151838201526020016102eb565b50505050905090810190601f1680156103305780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561034a57600080fd5b506103776004803603604081101561036157600080fd5b506001600160a01b038135169060200135610864565b604080519115158252519081900360200190f35b34801561039757600080fd5b506103a06108cb565b60408051918252519081900360200190f35b3480156103be57600080fd5b506103a06108d2565b3480156103d357600080fd5b506103a06108d8565b3480156103e857600080fd5b50610377600480360360608110156103ff57600080fd5b506001600160a01b038135811691602081013590911690604001356108de565b34801561042b57600080fd5b506103776004803603602081101561044257600080fd5b50356109de565b34801561045557600080fd5b506103a0610a76565b34801561046a57600080fd5b50610473610a7c565b6040805160ff9092168252519081900360200190f35b34801561049557600080fd5b506103a0610a81565b3480156104aa57600080fd5b50610377610a87565b3480156104bf57600080fd5b50610377610b50565b3480156104d457600080fd5b506104dd610b60565b604080516001600160a01b039092168252519081900360200190f35b34801561050557600080fd5b50610377610b6f565b34801561051a57600080fd5b506102c9610bd7565b34801561052f57600080fd5b506103a06004803603602081101561054657600080fd5b50356001600160a01b0316610bf6565b34801561056257600080fd5b506102b2600480360361010081101561057a57600080fd5b81019060208101813564010000000081111561059557600080fd5b8201836020820111156105a757600080fd5b803590602001918460018302840111640100000000831117156105c957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561061c57600080fd5b82018360208201111561062e57600080fd5b8035906020019184600183028401116401000000008311171561065057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040810135906001600160a01b03606082013581169160808101359091169060a00135610c11565b3480156106c757600080fd5b50610377610d63565b3480156106dc57600080fd5b506103a0610d73565b3480156106f157600080fd5b506102c9610d79565b34801561070657600080fd5b506103776004803603604081101561071d57600080fd5b506001600160a01b038135169060200135610dd4565b34801561073f57600080fd5b506104dd610e80565b34801561075457600080fd5b506103a0610e8f565b34801561076957600080fd5b506103a0610e93565b34801561077e57600080fd5b50610377610e99565b34801561079357600080fd5b506104dd610ea9565b3480156107a857600080fd5b506103a0600480360360408110156107bf57600080fd5b506001600160a01b0381358116916020013516610eb8565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561085c5780601f106108315761010080835404028352916020019161085c565b820191906000526020600020905b81548152906001019060200180831161083f57829003601f168201915b505050505081565b336000818152600d602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6002545b90565b60035490565b600b5490565b6001600160a01b0383166000908152600c6020526040812054821180159061092957506001600160a01b0384166000908152600d602090815260408083203384529091529020548211155b80156109355750600082115b801561095a57506001600160a01b0383166000908152600c6020526040902054828101115b156109d3576001600160a01b038085166000818152600c6020818152604080842080548990039055600d825280842033855282528084208054899003905594881680845291815291849020805487019055835186815293519093600080516020610f7c83398151915292908290030190a35060016109d7565b5060005b9392505050565b336000908152600c602052604081205482116102ad57336000818152600c602090815260409182902080548690039055600280548690039055815185815291517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59281900390910190a26040805183815290516000913391600080516020610f7c8339815191529181900360200190a3506001919050565b60045490565b601281565b60055490565b600a546000906001600160a01b031633148015610aad5750600a54600160a81b900460ff165b156102ad576009546001600160a01b031615801590610ace57506000600454115b15610b3857600654600454038015610b3657600980546001600160a01b039081166000908152600c602090815260409182902080548601905560028054860190559254815185815291519216923092600080516020610f7c8339815191529281900390910190a35b505b600a805460ff60a81b1916905542600b555b50600190565b600a54600160a81b900460ff1690565b6008546001600160a01b031690565b600a546000906001600160a01b031633148015610b965750600a54600160b01b900460ff16155b8015610bab5750600a54600160a01b900460ff165b156102ad57600a805460ff60a81b1960ff60b01b19909116600160b01b1716600160a81b179055610b4a565b604051806040016040528060038152602001620312e360ec1b81525081565b6001600160a01b03166000908152600c602052604090205490565b600a546001600160a01b031633148015610c355750600a54600160a01b900460ff16155b15610d59578651610c4d9060009060208a0190610ee3565b508751610c619060019060208b0190610ee3565b506003869055670de0b6b3a764000085026004558315610cda57670de0b6b3a7640000840260058190556002819055600a80546001600160a01b039081166000908152600c60209081526040918290208590559254815194855290519116923092600080516020610f7c83398151915292918290030190a35b600880546001600160a01b0319166001600160a01b03848116919091179182905516610d2357600a54600880546001600160a01b0319166001600160a01b039092169190911790555b600980546001600160a01b0385166001600160a01b03199091161790556007819055600a805460ff60a01b1916600160a01b1790555b5050505050505050565b600a54600160b01b900460ff1690565b60065490565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561085c5780601f106108315761010080835404028352916020019161085c565b336000908152600c60205260408120548211801590610df35750600082115b8015610e1857506001600160a01b0383166000908152600c6020526040902054828101115b15610e7857336000818152600c60209081526040808320805487900390556001600160a01b0387168084529281902080548701905580518681529051929392600080516020610f7c833981519152929181900390910190a35060016108c5565b5060006108c5565b600a546001600160a01b031690565b4290565b60075490565b600a54600160a01b900460ff1690565b6009546001600160a01b031690565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f2457805160ff1916838001178555610f51565b82800160010185558215610f51579182015b82811115610f51578251825591602001919060010190610f36565b50610f5d929150610f61565b5090565b6108cf91905b80821115610f5d5760008155600101610f6756feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220ec566b9312d90f1e0bc33bcf20cc694729711abe25ceda5cd386913146c37bf564736f6c6343000601003360a060408190526000608081905261001791816100a1565b50604080516020810191829052600090819052610036916001916100a1565b506000600255600380546001600160a81b031916905534801561005857600080fd5b506040516109a83803806109a88339818101604052602081101561007b57600080fd5b5051600380546001600160a01b0319166001600160a01b0390921691909117905561013c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100e257805160ff191683800117855561010f565b8280016001018555821561010f579182015b8281111561010f5782518255916020019190600101906100f4565b5061011b92915061011f565b5090565b61013991905b8082111561011b5760008155600101610125565b90565b61085d8061014b6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a08231146101ce57806395d89b41146101f4578063a9059cbb146101fc578063b6d2a9b914610228578063dd62ed3e146103595761009e565b806306fdde03146100a3578063095ea7b31461012057806318160ddd1461016057806323b872dd1461017a578063313ce567146101b0575b600080fd5b6100ab610387565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100e55781810151838201526020016100cd565b50505050905090810190601f1680156101125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61014c6004803603604081101561013657600080fd5b506001600160a01b038135169060200135610414565b604080519115158252519081900360200190f35b61016861047b565b60408051918252519081900360200190f35b61014c6004803603606081101561019057600080fd5b506001600160a01b03813581169160208101359091169060400135610482565b6101b8610594565b6040805160ff9092168252519081900360200190f35b610168600480360360208110156101e457600080fd5b50356001600160a01b0316610599565b6100ab6105b4565b61014c6004803603604081101561021257600080fd5b506001600160a01b03813516906020013561060f565b6103576004803603606081101561023e57600080fd5b81019060208101813564010000000081111561025957600080fd5b82018360208201111561026b57600080fd5b8035906020019184600183028401116401000000008311171561028d57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156102e057600080fd5b8201836020820111156102f257600080fd5b8035906020019184600183028401116401000000008311171561031457600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506106cd915050565b005b6101686004803603604081101561036f57600080fd5b506001600160a01b0381358116916020013516610764565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561040c5780601f106103e15761010080835404028352916020019161040c565b820191906000526020600020905b8154815290600101906020018083116103ef57829003601f168201915b505050505081565b3360008181526005602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6002545b90565b6001600160a01b03831660009081526004602052604081205482118015906104cd57506001600160a01b03841660009081526005602090815260408083203384529091529020548211155b80156104d95750600082115b80156104fe57506001600160a01b038316600090815260046020526040902054828101115b15610589576001600160a01b0380851660008181526004602081815260408084208054899003905560058252808420338552825280842080548990039055948816808452918152918490208054870190558351868152935190937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a350600161058d565b5060005b9392505050565b601281565b6001600160a01b031660009081526004602052604090205490565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561040c5780601f106103e15761010080835404028352916020019161040c565b33600090815260046020526040812054821180159061062e5750600082115b801561065357506001600160a01b038316600090815260046020526040902054828101115b156106c557336000818152600460209081526040808320805487900390556001600160a01b03871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3506001610475565b506000610475565b6003546001600160a01b0316331480156106f15750600354600160a01b900460ff16155b1561075f57815161070990600090602085019061078f565b50825161071d90600190602086019061078f565b50670de0b6b3a764000081026002819055600380546001600160a01b0316600090815260046020526040902091909155805460ff60a01b1916600160a01b1790555b505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106107d057805160ff19168380011785556107fd565b828001600101855582156107fd579182015b828111156107fd5782518255916020019190600101906107e2565b5061080992915061080d565b5090565b61047f91905b80821115610809576000815560010161081356fea2646970667358221220d30252092212adac029040dc0fecb3d5cc1e7505b53299eb26d1a220fdcccffc64736f6c63430006010033282128676e2e617661696c61626c6542616c616e63654f66285f66726f6d29203e3d206d6e65546f4275726e2929a26469706673582212202503f2741d460db38e19f87b489853a7e3edb77a9e62cfeebb659ed2304d855e64736f6c63430006010033

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

00000000000000000000000090e340e2d11e6eb1d99e34d122d6fe0fef3213fd000000000000000000000000a6be27538a28114fe03eb7ade9adfe53164f2a4c

-----Decoded View---------------
Arg [0] : _publicCallsAddress (address): 0x90E340e2d11E6Eb1D99E34D122D6fE0fEF3213fd
Arg [1] : _genesisAddress (address): 0xa6be27538A28114Fe03EB7ADE9AdfE53164f2a4c

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000090e340e2d11e6eb1d99e34d122d6fe0fef3213fd
Arg [1] : 000000000000000000000000a6be27538a28114fe03eb7ade9adfe53164f2a4c


Deployed Bytecode Sourcemap

971:3163:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;971:3163:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1421:117;;;:::i;:::-;;1292:125;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1292:125:0;-1:-1:-1;;;;;1292:125:0;;:::i;1642:17::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1642:17:0;;;;;;;;;;;;;;2008:203;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2008:203:0;;;;;;;;:::i;1000:69::-;;;:::i;1861:143::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1861:143:0;-1:-1:-1;;;;;1861:143:0;;:::i;3247:884::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3247:884:0;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3247:884:0;;;;;;;;;;;;;;;;2374:869;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2374:869:0;;;;;;;;:::i;1150:140::-;;;:::i;1618:21::-;;;:::i;1073:74::-;;;:::i;1421:117::-;1473:14;;-1:-1:-1;;;;;1473:14:0;1460:9;:27;1456:78;;;1492:9;:22;;-1:-1:-1;;;;;;1492:22:0;1504:10;1492:22;;;1456:78;1421:117::o;1292:125::-;1364:14;;-1:-1:-1;;;;;1364:14:0;1351:9;:27;1347:68;;;1380:9;:20;;-1:-1:-1;;;;;;1380:20:0;-1:-1:-1;;;;;1380:20:0;;;;;1347:68;1292:125;:::o;1642:17::-;;;-1:-1:-1;;;;;1642:17:0;;:::o;2008:203::-;2079:4;2087;2079:12;2073:29;;2094:8;;;2073:29;2123:14;;-1:-1:-1;;;;;2123:14:0;2109:10;:28;2105:104;;;2140:2;:26;;-1:-1:-1;;;;;;2140:26:0;-1:-1:-1;;;;;2140:26:0;;;;;;;;;;;2168:25;;;-1:-1:-1;;;2168:25:0;;;;:2;;;;;:23;;:25;;;;;-1:-1:-1;;2168:25:0;;;;;;;;-1:-1:-1;2168:2:0;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;2168:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2168:25:0;;;;2008:203;;:::o;1000:69::-;;;-1:-1:-1;;;;;1000:69:0;;:::o;1861:143::-;1932:14;;-1:-1:-1;;;;;1932:14:0;1918:10;:28;1914:86;;;1955:2;:22;;-1:-1:-1;;;;;;1955:22:0;-1:-1:-1;;;;;1955:22:0;;;;;1914:86;;3247:884;3331:18;1591:9;;3331:18;;-1:-1:-1;;;;;1591:9:0;1577:10;:23;1569:32;;;;;;3393:2:::1;::::0;:27:::1;::::0;;-1:-1:-1;;;3393:27:0;;;;3373:17:::1;::::0;-1:-1:-1;;;;;3393:2:0::1;::::0;:25:::1;::::0;:27:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:2;:27;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;3393:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;3393:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;3393:27:0;3433:2:::1;::::0;:28:::1;::::0;;-1:-1:-1;;;3433:28:0;;-1:-1:-1;;;;;3433:28:0;;::::1;;::::0;::::1;::::0;;;3393:27;;-1:-1:-1;3393:27:0;;3433:2;;;::::1;::::0;:21:::1;::::0;:28;;;;;3393:27:::1;::::0;3433:28;;;;;;;:2;:28;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;3433:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;3433:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;3433:28:0;:41:::1;;3427:106;;3477:56;;-1:-1:-1::0;;;3477:56:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3427:106;3571:2;::::0;:22:::1;::::0;;-1:-1:-1;;;3571:22:0;;;;3541:27:::1;::::0;-1:-1:-1;;;;;3571:2:0::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:2;:22;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;3571:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;3571:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;3571:22:0;;-1:-1:-1;3597:25:0::1;::::0;3571:22;3823:24;;::::1;3817:72;;3850:39;::::0;;-1:-1:-1;;;3850:39:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;3817:72;3896:14;3934:5;3913:28;;;;;:::i;:::-;-1:-1:-1::0;;;;;3913:28:0;;::::1;::::0;;::::1;::::0;;;;;::::1;::::0;;::::1;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;3945:2:0::1;::::0;:44:::1;::::0;;-1:-1:-1;;;3945:44:0;;-1:-1:-1;;;;;3945:44:0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;3896:45;;-1:-1:-1;3945:2:0;::::1;::::0;:21:::1;::::0;:44;;;;;:2:::1;::::0;:44;;;;;;;;:2;;:44;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;3945:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;3998:44:0::1;::::0;-1:-1:-1;;;;;3998:44:0;;::::1;::::0;-1:-1:-1;3998:44:0;::::1;::::0;-1:-1:-1;3998:44:0::1;::::0;;;::::1;4046:2;::::0;4066:18:::1;::::0;;-1:-1:-1;;;4066:18:0;;;;-1:-1:-1;;;;;4046:2:0;;::::1;::::0;:19:::1;::::0;:2;;4066:16:::1;::::0;:18:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;4046:2;4066:18;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;4066:18:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;4066:18:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;4066:18:0;4046:43:::1;::::0;;-1:-1:-1;;;;;;4046:43:0::1;::::0;;;;;;4087:1:::1;4066:22:::0;;::::1;4046:43;::::0;::::1;::::0;;;;;;;-1:-1:-1;;4046:43:0;;;;;;;-1:-1:-1;4046:43:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;4046:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;4101:9:0;;4120:5;;-1:-1:-1;3247:884:0;;-1:-1:-1;;;;;;;;;;3247:884:0:o;2374:869::-;2455:18;1591:9;;2455:18;;-1:-1:-1;;;;;1591:9:0;1577:10;:23;1569:32;;;;;;2517:2:::1;::::0;:24:::1;::::0;;-1:-1:-1;;;2517:24:0;;;;2497:17:::1;::::0;-1:-1:-1;;;;;2517:2:0::1;::::0;:22:::1;::::0;:24:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:2;:24;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;2517:24:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;2517:24:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;2517:24:0;2555:2:::1;::::0;:28:::1;::::0;;-1:-1:-1;;;2555:28:0;;-1:-1:-1;;;;;2555:28:0;;::::1;;::::0;::::1;::::0;;;2517:24;;-1:-1:-1;2517:24:0;;2555:2;;;::::1;::::0;:21:::1;::::0;:28;;;;;2517:24:::1;::::0;2555:28;;;;;;;:2;:28;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;2555:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;2555:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;2555:28:0;:41:::1;;2549:106;;2599:56;;-1:-1:-1::0;;;2599:56:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2549:106;2693:2;::::0;:19:::1;::::0;;-1:-1:-1;;;2693:19:0;;;;2663:27:::1;::::0;-1:-1:-1;;;;;2693:2:0::1;::::0;:17:::1;::::0;:19:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:2;:19;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;2693:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;2693:19:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;2693:19:0;;-1:-1:-1;2716:25:0::1;::::0;2693:19;2942:24;;::::1;2936:72;;2969:39;::::0;;-1:-1:-1;;;2969:39:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;2936:72;3015:11;3039:5;3029:16;;;;;:::i;:::-;-1:-1:-1::0;;;;;3029:16:0;;::::1;::::0;;::::1;::::0;;;;;::::1;::::0;;::::1;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;3049:2:0::1;::::0;:41:::1;::::0;;-1:-1:-1;;;3049:41:0;;-1:-1:-1;;;;;3049:41:0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;3015:30;;-1:-1:-1;3049:2:0;::::1;::::0;:18:::1;::::0;:41;;;;;:2:::1;::::0;:41;;;;;;;;:2;;:41;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;3049:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;3099:41:0::1;::::0;-1:-1:-1;;;;;3099:41:0;;::::1;::::0;-1:-1:-1;3099:41:0;::::1;::::0;-1:-1:-1;3099:41:0::1;::::0;;;::::1;3144:2;::::0;3171:25:::1;::::0;;-1:-1:-1;;;3171:25:0;;;;-1:-1:-1;;;;;3144:2:0;;::::1;::::0;:26:::1;::::0;:2;;3171:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;3144:2;3171:25;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;1150:140:0::0;1184:14;;-1:-1:-1;;;;;1184:14:0;1180:108;;1246:14;:27;;-1:-1:-1;;;;;;1246:27:0;1263:10;1246:27;;;1180:108;;1618:21;;;-1:-1:-1;;;;;1618:21:0;;:::o;1073:74::-;;;-1:-1:-1;;;;;1073:74:0;;:::o;971:3163::-;;;;;;;;:::o;:::-;;;;;;;;:::o

Swarm Source

ipfs://2503f2741d460db38e19f87b489853a7e3edb77a9e62cfeebb659ed2304d855e

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

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